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   )artifacts_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$dDS )EArtifactsClientz
    API covering the Artifacts and [Registry](/iaas/Content/Registry/Concepts/registryoverview.htm) services.
    Use this API to manage resources such as generic artifacts and container images.
    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	/20160918z2https://artifacts.{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	artifacts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$   Busr/lib/python3.10/site-packages/oci/artifacts/artifacts_client.py__init__   s>   3





zArtifactsClient.__init__c                      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}|du rtj}|rt|tjs| j| | j| || j |j| jj|||
|||	d|||d
S | jj|||
|||	d|||d	S )a  
        Moves a container repository into a different compartment within the same tenancy. For information about moving
        resources between compartments, see
        `Moving Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes


        :param str repository_id: (required)
            The `OCID`__ of the container repository.

            Example: `ocid1.containerrepo.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.ChangeContainerRepositoryCompartmentDetails change_container_repository_compartment_details: (required)
            Change container repository compartment details.

        :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.
            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 None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/change_container_repository_compartment.py.html>`__ to see an example of how to use change_container_repository_compartment API.
        repositoryIdz@/container/repositories/{repositoryId}/actions/changeCompartmentPOST'change_container_repository_compartmentzphttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerRepository/ChangeContainerRepositoryCompartmentr   r   if_matchopc_request_idopc_retry_tokenc                       g | ]}| vr|qS r$   r$   .0_keyZexpected_kwargsr$   r%   
<listcomp>       zKArtifactsClient.change_container_repository_compartment.<locals>.<listcomp>z@change_container_repository_compartment got unknown kwargs: {!r}c                 S      i | ]\}}|t ur||qS r$   missingr1   kvr$   r$   r%   
<dictcomp>       zKArtifactsClient.change_container_repository_compartment.<locals>.<dictcomp>Nr   7Parameter {} cannot be None, whitespace or empty stringapplication/jsonr,   r-   r.   acceptcontent-typeif-match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_strategyr   	resource_pathmethodpath_paramsheader_paramsbodyr   operation_nameapi_reference_linkrequired_argumentsr   iterkeys
ValueErrorformat	iteritems
isinstancestring_typeslenstripr   r8   r    get_preferred_retry_strategyr   r   DEFAULT_RETRY_STRATEGYNoneRetryStrategyadd_opc_retry_token_if_neededadd_opc_client_retries_headeradd_circuit_breaker_callbackr   make_retrying_callcall_api)r!   repository_idZ/change_container_repository_compartment_detailsr#   rR   rK   rL   rP   rQ   extra_kwargsrM   r:   r;   rN   r   r$   r3   r%   r*   s   v   6$


z7ArtifactsClient.change_container_repository_compartmentc                    r'   )aP  
        Moves a repository into a different compartment within the same tenancy. For information about moving
        resources between compartments, see
        `Moving Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.ChangeRepositoryCompartmentDetails change_repository_compartment_details: (required)
            Moves a repository into a different compartment.

        :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.
            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 None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/change_repository_compartment.py.html>`__ to see an example of how to use change_repository_compartment API.
        r(   z6/repositories/{repositoryId}/actions/changeCompartmentr)   change_repository_compartmentz^https://docs.oracle.com/iaas/api/#/en/registry/20160918/Repository/ChangeRepositoryCompartmentr+   c                    r/   r$   r$   r0   r3   r$   r%   r4   6  r5   zAArtifactsClient.change_repository_compartment.<locals>.<listcomp>z6change_repository_compartment got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   ?  r=   zAArtifactsClient.change_repository_compartment.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r.   r@   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   L  rH   r   rI   r   rJ   rS   )r!   rd   Z%change_repository_compartment_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   rg      rf   z-ArtifactsClient.change_repository_compartmentc                    s(  g }d}d}d}d}g d  fddt |D }|r#td|d	d	|d
t|dt|dtd}	dd t |	D }	| jj|d| j	d}
|
du rTt
j}
|
rt|
t
jsn| j|	 | j|	 |
| j |
j| jj|||	|d|d|||d
S | jj|||	|d|d|||d	S )aw
  
        Upload a signature to an image.


        :param oci.artifacts.models.CreateContainerImageSignatureDetails create_container_image_signature_details: (required)
            Upload container image signature details

        :param str opc_request_id: (optional)
            Unique 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 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.artifacts.models.ContainerImageSignature`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/create_container_image_signature.py.html>`__ to see an example of how to use create_container_image_signature API.
        /container/imageSignaturesr)    create_container_image_signaturezmhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImageSignature/CreateContainerImageSignature)r   r   r-   r.   r,   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   zDArtifactsClient.create_container_image_signature.<locals>.<listcomp>z9create_container_image_signature got unknown kwargs: {!r}r?   r-   r.   r,   )rA   rB   rD   rE   rC   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   zDArtifactsClient.create_container_image_signature.<locals>.<dictcomp>r   rI   NContainerImageSignaturer   	rK   rL   rN   rO   response_typer   rP   rQ   rR   r   rT   rU   rV   r   r8   rW   r    r\   r   r   r]   rX   r^   r_   r`   ra   r   rb   rc   )r!   Z(create_container_image_signature_detailsr#   rR   rK   rL   rP   rQ   re   rN   r   r$   r3   r%   ri   q  sh   +


z0ArtifactsClient.create_container_image_signaturec                    s  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 )a	  
        Create a new empty container repository. Avoid entering confidential information.


        :param oci.artifacts.models.CreateContainerRepositoryDetails create_container_repository_details: (required)
            Create container repository details.

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.ContainerRepository`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/create_container_repository.py.html>`__ to see an example of how to use create_container_repository API.
        /container/repositoriesr)   create_container_repositoryzehttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerRepository/CreateContainerRepositoryr   r   r-   r.   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z?ArtifactsClient.create_container_repository.<locals>.<listcomp>z4create_container_repository got unknown kwargs: {!r}r?   r-   r.   rA   rB   rD   rE   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   z?ArtifactsClient.create_container_repository.<locals>.<dictcomp>r   rI   NContainerRepositoryr   rk   rm   )r!   Z#create_container_repository_detailsr#   rR   rK   rL   rP   rQ   re   rN   r   r$   r3   r%   ro     sf   &

z+ArtifactsClient.create_container_repositoryc                    s  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 repository for storing artifacts.


        :param oci.artifacts.models.CreateRepositoryDetails create_repository_details: (required)
            Creates a new repository for storing artifacts.

        :param str opc_request_id: (optional)
            Unique 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 will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

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

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/create_repository.py.html>`__ to see an example of how to use create_repository API.
        /repositoriesr)   create_repositoryzShttps://docs.oracle.com/iaas/api/#/en/registry/20160918/Repository/CreateRepositoryrp   c                    r/   r$   r$   r0   r3   r$   r%   r4   q  r5   z5ArtifactsClient.create_repository.<locals>.<listcomp>z*create_repository got unknown kwargs: {!r}r?   r-   r.   rq   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   |  rH   z5ArtifactsClient.create_repository.<locals>.<dictcomp>r   rI   
Repositoryr   rk   )r   rT   rU   rV   r   r8   rW   r    r\   r   rX   r   r^   r_   r`   ra   r   rb   rc   )r!   Zcreate_repository_detailsr#   rR   rK   rL   rP   rQ   re   rN   r   r$   r3   r%   rt   >  sb   &

z!ArtifactsClient.create_repositoryc                    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 )a~  
        Delete a container image.


        :param str image_id: (required)
            The `OCID`__ of the container image.

            Example: `ocid1.containerimage.oc1..exampleuniqueID`

            __ https://docs.cloud.oracle.com/iaas/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.
            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/artifacts/delete_container_image.py.html>`__ to see an example of how to use delete_container_image API.
        imageId/container/images/{imageId}DELETEdelete_container_imagez[https://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImage/DeleteContainerImager   r   r,   r-   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z:ArtifactsClient.delete_container_image.<locals>.<listcomp>z/delete_container_image got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z:ArtifactsClient.delete_container_image.<locals>.<dictcomp>Nr   r>   r?   r,   r-   rA   rB   rC   rD   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   rK   rL   rM   rN   r   rP   rQ   rR   r   rT   rU   rV   rW   rX   rY   rZ   r[   r   r8   r    r\   r   r   r]   r^   r`   ra   r   rb   rc   r!   image_idr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   rz     n   ($

z&ArtifactsClient.delete_container_imagec                    rv   )a  
        Delete a container image signature.


        :param str image_signature_id: (required)
            The `OCID`__ of the container image signature.

            Example: `ocid1.containersignature.oc1..exampleuniqueID`

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

        :param str opc_request_id: (optional)
            Unique 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/artifacts/delete_container_image_signature.py.html>`__ to see an example of how to use delete_container_image_signature API.
        imageSignatureId-/container/imageSignatures/{imageSignatureId}ry    delete_container_image_signaturezmhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImageSignature/DeleteContainerImageSignaturer   r   r-   r,   c                    r/   r$   r$   r0   r3   r$   r%   r4   @  r5   zDArtifactsClient.delete_container_image_signature.<locals>.<listcomp>z9delete_container_image_signature got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   I  r=   zDArtifactsClient.delete_container_image_signature.<locals>.<dictcomp>Nr   r>   r?   r-   r,   rA   rB   rD   rC   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   U  rH   r   rI   r   r}   r~   r!   image_signature_idr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     r   z0ArtifactsClient.delete_container_image_signaturec                    rv   )a  
        Delete container repository.


        :param str repository_id: (required)
            The `OCID`__ of the container repository.

            Example: `ocid1.containerrepo.oc1..exampleuniqueID`

            __ https://docs.cloud.oracle.com/iaas/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.
            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/artifacts/delete_container_repository.py.html>`__ to see an example of how to use delete_container_repository API.
        r(   &/container/repositories/{repositoryId}ry   delete_container_repositoryzehttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerRepository/DeleteContainerRepositoryr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z?ArtifactsClient.delete_container_repository.<locals>.<listcomp>z4delete_container_repository got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z?ArtifactsClient.delete_container_repository.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r}   r~   r!   rd   r#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r   w  r   z+ArtifactsClient.delete_container_repositoryc                    rv   )a  
        Deletes an artifact with a specified `OCID`__.

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


        :param str artifact_id: (required)
            The `OCID`__ of the artifact.

            Example: `ocid1.genericartifact.oc1..exampleuniqueID`

            __ https://docs.cloud.oracle.com/iaas/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.
            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/artifacts/delete_generic_artifact.py.html>`__ to see an example of how to use delete_generic_artifact API.
        
artifactId/generic/artifacts/{artifactId}ry   delete_generic_artifactz]https://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/DeleteGenericArtifactr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z;ArtifactsClient.delete_generic_artifact.<locals>.<listcomp>z0delete_generic_artifact got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   #  r=   z;ArtifactsClient.delete_generic_artifact.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   /  rH   r   rI   r   r}   r~   r!   artifact_idr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     sn   *$

z'ArtifactsClient.delete_generic_artifactc                    sx  g d}d}d}d}d}	g d  fddt |D }
|
r%td	|
|||d}d
d t |D }t |D ]\}}|du sPt|t jrWt| dkrWtd|q:d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 )a
  
        Deletes an artifact with a specified `artifactPath` and `version`.


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

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

        :param str artifact_path: (required)
            A user-defined path to describe the location of an artifact. You can use slashes to organize the repository, but slashes do not create a directory structure. An artifact path does not include an artifact version.

            Example: `project01/my-web-app/artifact-abc`

        :param str version: (required)
            A user-defined string to describe the artifact version.

            Example: `1.1.2` or `1.2-beta-2`

        :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.
            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/artifacts/delete_generic_artifact_by_path.py.html>`__ to see an example of how to use delete_generic_artifact_by_path API.
        r(   artifactPathversionT/generic/repositories/{repositoryId}/artifactPaths/{artifactPath}/versions/{version}ry   delete_generic_artifact_by_pathzchttps://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/DeleteGenericArtifactByPathr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   zCArtifactsClient.delete_generic_artifact_by_path.<locals>.<listcomp>z8delete_generic_artifact_by_path got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   zCArtifactsClient.delete_generic_artifact_by_path.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r}   r~   r!   rd   artifact_pathr   r#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r   Q  sr   2$

z/ArtifactsClient.delete_generic_artifact_by_pathc                    rv   )a	  
        Deletes the specified repository. This operation fails unless all associated artifacts are in a DELETED state. You must delete all associated artifacts before deleting a repository.


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

            __ https://docs.cloud.oracle.com/iaas/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.
            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/artifacts/delete_repository.py.html>`__ to see an example of how to use delete_repository API.
        r(   /repositories/{repositoryId}ry   delete_repositoryzShttps://docs.oracle.com/iaas/api/#/en/registry/20160918/Repository/DeleteRepositoryr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z5ArtifactsClient.delete_repository.<locals>.<listcomp>z*delete_repository got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z5ArtifactsClient.delete_repository.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r}   r~   r   r$   r3   r%   r     r   z!ArtifactsClient.delete_repositoryc                    s&  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	dd|dtd}
dd t |
D }
| jj|d| j	d}|du rYt
j}|rt|t
jsm| j|
 || j |j| jj|||	|
d|d|||d
S | jj|||	|
d|d|||d	S )a  
        Get container configuration.


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

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

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.ContainerConfiguration`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_container_configuration.py.html>`__ to see an example of how to use get_container_configuration API.
        compartmentId/container/configurationGETget_container_configurationzhhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerConfiguration/GetContainerConfigurationr   r   r-   c                    r/   r$   r$   r0   r3   r$   r%   r4   b  r5   z?ArtifactsClient.get_container_configuration.<locals>.<listcomp>z4get_container_configuration got unknown kwargs: {!r}c                 S   rF   rG   r7   r9   r$   r$   r%   r<   j  rH   z?ArtifactsClient.get_container_configuration.<locals>.<dictcomp>r?   r-   rA   rB   rD   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   q  rH   r   rI   NContainerConfigurationr   	rK   rL   query_paramsrN   rl   r   rP   rQ   rR   r   rT   rU   rV   rW   r   r8   r    r\   r   r   r]   rX   r^   r`   ra   r   rb   rc   )r!   compartment_idr#   rR   rK   rL   rP   rQ   re   r   rN   r   r$   r3   r%   r   5  sh   !
z+ArtifactsClient.get_container_configurationc                    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,  
        Get container image metadata.


        :param str image_id: (required)
            The `OCID`__ of the container image.

            Example: `ocid1.containerimage.oc1..exampleuniqueID`

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

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.ContainerImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_container_image.py.html>`__ to see an example of how to use get_container_image API.
        rw   rx   r   get_container_imagezXhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImage/GetContainerImager   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z7ArtifactsClient.get_container_image.<locals>.<listcomp>z,get_container_image got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z7ArtifactsClient.get_container_image.<locals>.<dictcomp>Nr   r>   r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   ContainerImager   	rK   rL   rM   rN   rl   r   rP   rQ   rR   r~   r   r$   r3   r%   r     p   #$
z#ArtifactsClient.get_container_imagec                    r   )ak  
        Get container image signature metadata.


        :param str image_signature_id: (required)
            The `OCID`__ of the container image signature.

            Example: `ocid1.containersignature.oc1..exampleuniqueID`

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

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.ContainerImageSignature`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_container_image_signature.py.html>`__ to see an example of how to use get_container_image_signature API.
        r   r   r   get_container_image_signaturezjhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImageSignature/GetContainerImageSignaturer   c                    r/   r$   r$   r0   r3   r$   r%   r4   +  r5   zAArtifactsClient.get_container_image_signature.<locals>.<listcomp>z6get_container_image_signature got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   4  r=   zAArtifactsClient.get_container_image_signature.<locals>.<dictcomp>Nr   r>   r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   ?  rH   r   rI   rj   r   r   r~   r   r$   r3   r%   r     r   z-ArtifactsClient.get_container_image_signaturec                    r   )a@  
        Get container repository.


        :param str repository_id: (required)
            The `OCID`__ of the container repository.

            Example: `ocid1.containerrepo.oc1..exampleuniqueID`

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

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.ContainerRepository`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_container_repository.py.html>`__ to see an example of how to use get_container_repository API.
        r(   r   r   get_container_repositoryzbhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerRepository/GetContainerRepositoryr   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z<ArtifactsClient.get_container_repository.<locals>.<listcomp>z1get_container_repository got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z<ArtifactsClient.get_container_repository.<locals>.<dictcomp>Nr   r>   r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   rr   r   r   r~   r   r$   r3   r%   r   c  r   z(ArtifactsClient.get_container_repositoryc                    r   )a  
        Gets information about an artifact with a specified `OCID`__.

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


        :param str artifact_id: (required)
            The `OCID`__ of the artifact.

            Example: `ocid1.genericartifact.oc1..exampleuniqueID`

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

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.GenericArtifact`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_generic_artifact.py.html>`__ to see an example of how to use get_generic_artifact API.
        r   r   r   get_generic_artifactzZhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/GetGenericArtifactr   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z8ArtifactsClient.get_generic_artifact.<locals>.<listcomp>z-get_generic_artifact got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z8ArtifactsClient.get_generic_artifact.<locals>.<dictcomp>Nr   r>   r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   GenericArtifactr   r   r~   r   r$   r3   r%   r     sp   %$
z$ArtifactsClient.get_generic_artifactc                    sr  g d}d}d}d}d}	g d  fddt |D }
|
r%td	|
|||d}d
d t |D }t |D ]\}}|du sPt|t jrWt| dkrWtd|q:d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 )aZ	  
        Gets information about an artifact with a specified `artifactPath` and `version`.


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

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

        :param str artifact_path: (required)
            A user-defined path to describe the location of an artifact. You can use slashes to organize the repository, but slashes do not create a directory structure. An artifact path does not include an artifact version.

            Example: `project01/my-web-app/artifact-abc`

        :param str version: (required)
            A user-defined string to describe the artifact version.

            Example: `1.1.2` or `1.2-beta-2`

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.GenericArtifact`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_generic_artifact_by_path.py.html>`__ to see an example of how to use get_generic_artifact_by_path API.
        r   r   r   get_generic_artifact_by_pathz`https://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/GetGenericArtifactByPathr   c                    r/   r$   r$   r0   r3   r$   r%   r4   l  r5   z@ArtifactsClient.get_generic_artifact_by_path.<locals>.<listcomp>z5get_generic_artifact_by_path got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   w  r=   z@ArtifactsClient.get_generic_artifact_by_path.<locals>.<dictcomp>Nr   r>   r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r   r   r~   r   r$   r3   r%   r   3  st   -$
z,ArtifactsClient.get_generic_artifact_by_pathc                    r   )a1  
        Gets the specified repository's information.


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

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

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.Repository`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/get_repository.py.html>`__ to see an example of how to use get_repository API.
        r(   r   r   get_repositoryzPhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/Repository/GetRepositoryr   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z2ArtifactsClient.get_repository.<locals>.<listcomp>z'get_repository got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z2ArtifactsClient.get_repository.<locals>.<dictcomp>Nr   r>   r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   ru   r   r   r~   r   r$   r3   r%   r     r   zArtifactsClient.get_repositoryc                    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|v rcddg}|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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}|rt|t
js| j| || j |j| jj||||d)|d*|||d+
S | jj||||d)|d*|||d+	S ),a  
        List container image signatures in an image.


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

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

        :param bool compartment_id_in_subtree: (optional)
            When set to true, the hierarchy of compartments is traversed
            and all compartments and subcompartments in the tenancy are
            inspected depending on the the setting of `accessLevel`.
            Default is false. Can only be set to true when calling the API
            on the tenancy (root compartment).

        :param str image_id: (optional)
            A filter to return a container image summary only for the specified container image OCID.

        :param str repository_id: (optional)
            A filter to return container images only for the specified container repository OCID.

        :param str repository_name: (optional)
            A filter to return container images or container image signatures that match the repository name.

            Example: `foo` or `foo*`

        :param str image_digest: (optional)
            The digest of the container image.

            Example: `sha256:e7d38b3517548a1c71e41bffe9c8ae6d6d29546ce46bf62159837aad072c90aa`

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

        :param str kms_key_id: (optional)
            The `OCID`__ of the kmsKeyVersionId used to sign the container image.

            Example: `ocid1.keyversion.oc1..exampleuniqueID`

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

        :param str kms_key_version_id: (optional)
            The `OCID`__ of the kmsKeyVersionId used to sign the container image.

            Example: `ocid1.keyversion.oc1..exampleuniqueID`

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

        :param str signing_algorithm: (optional)
            The algorithm to be used for signing. These are the only supported signing algorithms for container images.

            Allowed values are: "SHA_224_RSA_PKCS_PSS", "SHA_256_RSA_PKCS_PSS", "SHA_384_RSA_PKCS_PSS", "SHA_512_RSA_PKCS_PSS"

        :param int limit: (optional)
            For list pagination. The maximum number of results per page, or items to return in a paginated
            "List" call. For important details about how pagination works, see
            `List Pagination`__.

            Example: `50`

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

        :param str page: (optional)
            For list pagination. The value of the `opc-next-page` response header from the previous "List"
            call. For important details about how pagination works, see
            `List Pagination`__.

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

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

        :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:** In general, some "List" operations (for example, `ListInstances`) let you
            optionally filter by availability domain if the scope of the resource type is within a
            single availability domain. If you call one of these "List" operations without specifying
            an availability domain, 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`). The DISPLAYNAME sort order
            is case sensitive.

            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 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.artifacts.models.ContainerImageSignatureCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/list_container_image_signatures.py.html>`__ to see an example of how to use list_container_image_signatures API.
        r   rh   r   list_container_image_signatureszshttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImageSignatureSummary/ListContainerImageSignatures)r   r   compartment_id_in_subtreer   rd   repository_nameimage_digestdisplay_name
kms_key_idkms_key_version_idsigning_algorithmlimitpager-   sort_by
sort_orderc                    r/   r$   r$   r0   r3   r$   r%   r4     r5   zCArtifactsClient.list_container_image_signatures.<locals>.<listcomp>z8list_container_image_signatures got unknown kwargs: {!r}r   )ZSHA_224_RSA_PKCS_PSSZSHA_256_RSA_PKCS_PSSZSHA_384_RSA_PKCS_PSSZSHA_512_RSA_PKCS_PSSz9Invalid value for `signing_algorithm`, must be one of {0}r   TIMECREATEDDISPLAYNAME/Invalid value for `sort_by`, must be one of {0}r   ASCDESC2Invalid value for `sort_order`, must be one of {0}r   r   rd   r   r   r   r   r   r   r   )compartmentIdInSubtreer   rw   r(   repositoryNameZimageDigestdisplayNameZkmsKeyIdZkmsKeyVersionIdZsigningAlgorithmr   r   sortBy	sortOrderc                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   zCArtifactsClient.list_container_image_signatures.<locals>.<dictcomp>r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   NZ!ContainerImageSignatureCollectionr   r   r   rT   rU   rV   r   r8   rW   r    r\   r   r   r]   rX   r^   r`   ra   r   rb   rc   )r!   r   r#   rR   rK   rL   rP   rQ   re   Z signing_algorithm_allowed_valuessort_by_allowed_valuessort_order_allowed_valuesr   rN   r   r$   r3   r%   r     s   p













z/ArtifactsClient.list_container_image_signaturesc                    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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$}|d%u rt
j}|rt|t
js| j| || j |j| jj||||d&|d'|||d(
S | jj||||d&|d'|||d(	S ))a?  
        List container images in a compartment.


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

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

        :param bool compartment_id_in_subtree: (optional)
            When set to true, the hierarchy of compartments is traversed
            and all compartments and subcompartments in the tenancy are
            inspected depending on the the setting of `accessLevel`.
            Default is false. Can only be set to true when calling the API
            on the tenancy (root compartment).

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

        :param str image_id: (optional)
            A filter to return a container image summary only for the specified container image OCID.

        :param bool is_versioned: (optional)
            A filter to return container images based on whether there are any associated versions.

        :param str repository_id: (optional)
            A filter to return container images only for the specified container repository OCID.

        :param str repository_name: (optional)
            A filter to return container images or container image signatures that match the repository name.

            Example: `foo` or `foo*`

        :param str version: (optional)
            A filter to return container images that match the version.

            Example: `foo` or `foo*`

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

        :param int limit: (optional)
            For list pagination. The maximum number of results per page, or items to return in a paginated
            "List" call. For important details about how pagination works, see
            `List Pagination`__.

            Example: `50`

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

        :param str page: (optional)
            For list pagination. The value of the `opc-next-page` response header from the previous "List"
            call. For important details about how pagination works, see
            `List Pagination`__.

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

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

        :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:** In general, some "List" operations (for example, `ListInstances`) let you
            optionally filter by availability domain if the scope of the resource type is within a
            single availability domain. If you call one of these "List" operations without specifying
            an availability domain, 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`). The DISPLAYNAME sort order
            is case sensitive.

            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 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.artifacts.models.ContainerImageCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/list_container_images.py.html>`__ to see an example of how to use list_container_images API.
        r   z/container/imagesr   list_container_imageszahttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImageSummary/ListContainerImages)r   r   r   r   r   is_versionedrd   r   r   lifecycle_stater   r   r-   r   r   c                    r/   r$   r$   r0   r3   r$   r%   r4   f	  r5   z9ArtifactsClient.list_container_images.<locals>.<listcomp>z.list_container_images got unknown kwargs: {!r}r   r   r   r   r   r   r   r   r   r   r   r   rd   r   r   r   r   r   )r   r   r   rw   ZisVersionedr(   r   r   lifecycleStater   r   r   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   	  rH   z9ArtifactsClient.list_container_images.<locals>.<dictcomp>r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   	  rH   r   rI   NZContainerImageCollectionr   r   r   r!   r   r#   rR   rK   rL   rP   rQ   re   r   r   r   rN   r   r$   r3   r%   r     s   c












z%ArtifactsClient.list_container_imagesc                    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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 )&aN  
        List container repositories in a compartment.


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

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

        :param bool compartment_id_in_subtree: (optional)
            When set to true, the hierarchy of compartments is traversed
            and all compartments and subcompartments in the tenancy are
            inspected depending on the the setting of `accessLevel`.
            Default is false. Can only be set to true when calling the API
            on the tenancy (root compartment).

        :param str repository_id: (optional)
            A filter to return container images only for the specified container repository OCID.

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

        :param bool is_public: (optional)
            A filter to return resources that match the isPublic value.

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

        :param int limit: (optional)
            For list pagination. The maximum number of results per page, or items to return in a paginated
            "List" call. For important details about how pagination works, see
            `List Pagination`__.

            Example: `50`

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

        :param str page: (optional)
            For list pagination. The value of the `opc-next-page` response header from the previous "List"
            call. For important details about how pagination works, see
            `List Pagination`__.

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

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

        :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:** In general, some "List" operations (for example, `ListInstances`) let you
            optionally filter by availability domain if the scope of the resource type is within a
            single availability domain. If you call one of these "List" operations without specifying
            an availability domain, 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`). The DISPLAYNAME sort order
            is case sensitive.

            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 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.artifacts.models.ContainerRepositoryCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/list_container_repositories.py.html>`__ to see an example of how to use list_container_repositories API.
        r   rn   r   list_container_repositorieszehttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerRepository/ListContainerRepositories)r   r   r   rd   r   	is_publicr   r   r   r-   r   r   c                    r/   r$   r$   r0   r3   r$   r%   r4   
  r5   z?ArtifactsClient.list_container_repositories.<locals>.<listcomp>z4list_container_repositories got unknown kwargs: {!r}r   r   r   r   r   r   r   r   r   rd   r   r   r   r   r   )
r   r   r(   r   ZisPublicr   r   r   r   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   =
  rH   z?ArtifactsClient.list_container_repositories.<locals>.<dictcomp>r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   D
  rH   r   rI   NZContainerRepositoryCollectionr   r   r   r   r$   r3   r%   r   	  s   V









z+ArtifactsClient.list_container_repositoriesc                    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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#}|d$u rt
j}|rt|t
js| j| || j |j| jj||||d%|d&|||d'
S | jj||||d%|d&|||d'	S )(at  
        Lists artifacts in the specified repository.


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

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

        :param str repository_id: (required)
            A filter to return the artifacts only for the specified repository OCID.

        :param str id: (optional)
            A filter to return the resources for the specified OCID.

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

        :param str artifact_path: (optional)
            Filter results by a prefix for the `artifactPath` and and return artifacts that begin with the specified prefix in their path.

        :param str version: (optional)
            Filter results by a prefix for `version` and return artifacts that that begin with the specified prefix in their version.

        :param str sha256: (optional)
            Filter results by a specified SHA256 digest for the artifact.

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

        :param int limit: (optional)
            For list pagination. The maximum number of results per page, or items to return in a paginated
            "List" call. For important details about how pagination works, see
            `List Pagination`__.

            Example: `50`

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

        :param str page: (optional)
            For list pagination. The value of the `opc-next-page` response header from the previous "List"
            call. For important details about how pagination works, see
            `List Pagination`__.

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

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

        :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:** In general, some "List" operations (for example, `ListInstances`) let you
            optionally filter by availability domain if the scope of the resource type is within a
            single availability domain. If you call one of these "List" operations without specifying
            an availability domain, 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`). The DISPLAYNAME sort order
            is case sensitive.

            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 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.artifacts.models.GenericArtifactCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/list_generic_artifacts.py.html>`__ to see an example of how to use list_generic_artifacts API.
        r   r(   z/generic/artifactsr   list_generic_artifactsz\https://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/ListGenericArtifacts)r   r   idr   r   r   sha256r   r   r   r-   r   r   c                    r/   r$   r$   r0   r3   r$   r%   r4   
  r5   z:ArtifactsClient.list_generic_artifacts.<locals>.<listcomp>z/list_generic_artifacts got unknown kwargs: {!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   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   
  rH   z:ArtifactsClient.list_generic_artifacts.<locals>.<dictcomp>r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   
  rH   r   rI   NZGenericArtifactCollectionr   r   r   )r!   r   rd   r#   rR   rK   rL   rP   rQ   re   r   r   r   rN   r   r$   r3   r%   r   h
  s   X










z&ArtifactsClient.list_generic_artifactsc                    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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 )%a  
        Lists repositories in the specified compartment.


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

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

        :param str id: (optional)
            A filter to return the resources for the specified OCID.

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

        :param bool is_immutable: (optional)
            A filter to return resources that match the isImmutable value.

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

        :param int limit: (optional)
            For list pagination. The maximum number of results per page, or items to return in a paginated
            "List" call. For important details about how pagination works, see
            `List Pagination`__.

            Example: `50`

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

        :param str page: (optional)
            For list pagination. The value of the `opc-next-page` response header from the previous "List"
            call. For important details about how pagination works, see
            `List Pagination`__.

            __ https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine

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

        :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:** In general, some "List" operations (for example, `ListInstances`) let you
            optionally filter by availability domain if the scope of the resource type is within a
            single availability domain. If you call one of these "List" operations without specifying
            an availability domain, 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`). The DISPLAYNAME sort order
            is case sensitive.

            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 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.artifacts.models.RepositoryCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/list_repositories.py.html>`__ to see an example of how to use list_repositories API.
        r   rs   r   list_repositorieszShttps://docs.oracle.com/iaas/api/#/en/registry/20160918/Repository/ListRepositories)r   r   r   r   is_immutabler   r   r   r-   r   r   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z5ArtifactsClient.list_repositories.<locals>.<listcomp>z*list_repositories got unknown kwargs: {!r}r   r   r   r   r   r   r   r   r   r   r   r   r   r   )	r   r   r   ZisImmutabler   r   r   r   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   z5ArtifactsClient.list_repositories.<locals>.<dictcomp>r?   r-   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   NZRepositoryCollectionr   r   r   r   r$   r3   r%   r   "  s   O








z!ArtifactsClient.list_repositoriesc                      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}|du rtj}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a;  
        Remove version from container image.


        :param str image_id: (required)
            The `OCID`__ of the container image.

            Example: `ocid1.containerimage.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.RemoveContainerVersionDetails remove_container_version_details: (required)
            Remove version details.

        :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.
            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.artifacts.models.ContainerImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/remove_container_version.py.html>`__ to see an example of how to use remove_container_version API.
        rw   z1/container/images/{imageId}/actions/removeVersionr)   remove_container_versionz]https://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImage/RemoveContainerVersionr+   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z<ArtifactsClient.remove_container_version.<locals>.<listcomp>z1remove_container_version got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z<ArtifactsClient.remove_container_version.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r.   r@   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   $  rH   r   rI   r   r   
rK   rL   rM   rN   rO   rl   r   rP   rQ   rR   rS   )r!   r   Z remove_container_version_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     z   2$


z(ArtifactsClient.remove_container_versionc                    r   )a6  
        Restore a container image.


        :param str image_id: (required)
            The `OCID`__ of the container image.

            Example: `ocid1.containerimage.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.RestoreContainerImageDetails restore_container_image_details: (required)
            Restore container image details.

        :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.
            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.artifacts.models.ContainerImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/restore_container_image.py.html>`__ to see an example of how to use restore_container_image API.
        rw   z+/container/images/{imageId}/actions/restorer)   restore_container_imagez\https://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImage/RestoreContainerImager+   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z;ArtifactsClient.restore_container_image.<locals>.<listcomp>z0restore_container_image got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z;ArtifactsClient.restore_container_image.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r.   r@   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r   r   rS   )r!   r   Zrestore_container_image_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r   K  r   z'ArtifactsClient.restore_container_imagec                    s4  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
dd|dt|dtd}dd t |D }| jj|d| j	d}|du r^t
j}|rt|t
jsr| j| || j |j| jj|||
||d|d|||dS | jj|||
||d|d|||d
S )a0	  
        Update container configuration.


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

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

        :param oci.artifacts.models.UpdateContainerConfigurationDetails update_container_configuration_details: (required)
            Update container configuration details.

        :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.
            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.artifacts.models.ContainerConfiguration`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_container_configuration.py.html>`__ to see an example of how to use update_container_configuration API.
        r   r   PUTupdate_container_configurationzkhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerConfiguration/UpdateContainerConfigurationr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   zBArtifactsClient.update_container_configuration.<locals>.<listcomp>z7update_container_configuration got unknown kwargs: {!r}c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   zBArtifactsClient.update_container_configuration.<locals>.<dictcomp>r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   Nr   r   )
rK   rL   r   rN   rO   rl   r   rP   rQ   rR   r   )r!   r   Z&update_container_configuration_detailsr#   rR   rK   rL   rP   rQ   re   r   rN   r   r$   r3   r%   r     sn   )

z.ArtifactsClient.update_container_configurationc                    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 )az	  
        Modify the properties of a container image. Avoid entering confidential information.


        :param str image_id: (required)
            The `OCID`__ of the container image.

            Example: `ocid1.containerimage.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.UpdateContainerImageDetails update_container_image_details: (required)
            Update container image details.

        :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.
            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.artifacts.models.ContainerImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_container_image.py.html>`__ to see an example of how to use update_container_image API.
        rw   rx   r   update_container_imagez[https://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImage/UpdateContainerImager{   c                    r/   r$   r$   r0   r3   r$   r%   r4   l  r5   z:ArtifactsClient.update_container_image.<locals>.<listcomp>z/update_container_image got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   u  r=   z:ArtifactsClient.update_container_image.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r   r   r~   )r!   r   Zupdate_container_image_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r   4  v   +$

z&ArtifactsClient.update_container_imagec                    r   )a	  
        Modify the properties of a container image signature. Avoid entering confidential information.


        :param str image_signature_id: (required)
            The `OCID`__ of the container image signature.

            Example: `ocid1.containersignature.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.UpdateContainerImageSignatureDetails update_container_image_signature_details: (required)
            Update container image signature details.

        :param str opc_request_id: (optional)
            Unique 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.artifacts.models.ContainerImageSignature`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_container_image_signature.py.html>`__ to see an example of how to use update_container_image_signature API.
        r   r   r    update_container_image_signaturezmhttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerImageSignature/UpdateContainerImageSignaturer   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   zDArtifactsClient.update_container_image_signature.<locals>.<listcomp>z9update_container_image_signature got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   zDArtifactsClient.update_container_image_signature.<locals>.<dictcomp>Nr   r>   r?   r-   r,   r   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   rj   r   r   r~   )r!   r   Z(update_container_image_signature_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     r   z0ArtifactsClient.update_container_image_signaturec                    r   )a	  
        Modify the properties of a container repository. Avoid entering confidential information.


        :param str repository_id: (required)
            The `OCID`__ of the container repository.

            Example: `ocid1.containerrepo.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.UpdateContainerRepositoryDetails update_container_repository_details: (required)
            Update container repository details.

        :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.
            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.artifacts.models.ContainerRepository`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_container_repository.py.html>`__ to see an example of how to use update_container_repository API.
        r(   r   r   update_container_repositoryzehttps://docs.oracle.com/iaas/api/#/en/registry/20160918/ContainerRepository/UpdateContainerRepositoryr{   c                    r/   r$   r$   r0   r3   r$   r%   r4   R  r5   z?ArtifactsClient.update_container_repository.<locals>.<listcomp>z4update_container_repository got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   [  r=   z?ArtifactsClient.update_container_repository.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   g  rH   r   rI   rr   r   r   r~   )r!   rd   Z#update_container_repository_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     r   z+ArtifactsClient.update_container_repositoryc                    r   )ay
  
        Updates the artifact with the specified `OCID`__. You can only update the tags of an artifact.

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


        :param str artifact_id: (required)
            The `OCID`__ of the artifact.

            Example: `ocid1.genericartifact.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.UpdateGenericArtifactDetails update_generic_artifact_details: (required)
            Updates the artifact with the specified `OCID`__. You can only update the tags of an artifact.

            __ https://docs.cloud.oracle.com/iaas/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.
            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.artifacts.models.GenericArtifact`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_generic_artifact.py.html>`__ to see an example of how to use update_generic_artifact API.
        r   r   r   update_generic_artifactz]https://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/UpdateGenericArtifactr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z;ArtifactsClient.update_generic_artifact.<locals>.<listcomp>z0update_generic_artifact got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z;ArtifactsClient.update_generic_artifact.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   r   r   r   r~   )r!   r   Zupdate_generic_artifact_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     sv   /$

z'ArtifactsClient.update_generic_artifactc                    s  g d}d}d}d}	d}
g d  fddt |D }|r%td	||||d}d
d t |D }t |D ]\}}|du sPt|t jrWt| dkrWtd|q:d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 an artifact with a specified `artifactPath` and `version`. You can only update the tags of an artifact.


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

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

        :param str artifact_path: (required)
            A user-defined path to describe the location of an artifact. You can use slashes to organize the repository, but slashes do not create a directory structure. An artifact path does not include an artifact version.

            Example: `project01/my-web-app/artifact-abc`

        :param str version: (required)
            A user-defined string to describe the artifact version.

            Example: `1.1.2` or `1.2-beta-2`

        :param oci.artifacts.models.UpdateGenericArtifactByPathDetails update_generic_artifact_by_path_details: (required)
            Updates an artifact with a specified `artifactPath` and `version`. You can only update the tags of an artifact.

        :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.
            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.artifacts.models.GenericArtifact`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_generic_artifact_by_path.py.html>`__ to see an example of how to use update_generic_artifact_by_path API.
        r   r   r   update_generic_artifact_by_pathzchttps://docs.oracle.com/iaas/api/#/en/registry/20160918/GenericArtifact/UpdateGenericArtifactByPathr{   c                    r/   r$   r$   r0   r3   r$   r%   r4   F  r5   zCArtifactsClient.update_generic_artifact_by_path.<locals>.<listcomp>z8update_generic_artifact_by_path got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<   Q  r=   zCArtifactsClient.update_generic_artifact_by_path.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<   ]  rH   r   rI   r   r   r   r~   )r!   rd   r   r   Z'update_generic_artifact_by_path_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     sz   5$

z/ArtifactsClient.update_generic_artifact_by_pathc                    r   )a	  
        Updates the properties of a repository. You can update the `displayName` and  `description` properties.


        :param str repository_id: (required)
            The `OCID`__ of the repository.

            Example: `ocid1.artifactrepository.oc1..exampleuniqueID`

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

        :param oci.artifacts.models.UpdateRepositoryDetails update_repository_details: (required)
            Updates the properties of a repository.

        :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.
            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.artifacts.models.Repository`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/artifacts/update_repository.py.html>`__ to see an example of how to use update_repository API.
        r(   r   r   update_repositoryzShttps://docs.oracle.com/iaas/api/#/en/registry/20160918/Repository/UpdateRepositoryr{   c                    r/   r$   r$   r0   r3   r$   r%   r4     r5   z5ArtifactsClient.update_repository.<locals>.<listcomp>z*update_repository got unknown kwargs: {!r}c                 S   r6   r$   r7   r9   r$   r$   r%   r<     r=   z5ArtifactsClient.update_repository.<locals>.<dictcomp>Nr   r>   r?   r,   r-   r|   c                 S   rF   rG   r7   r9   r$   r$   r%   r<     rH   r   rI   ru   r   r   r~   )r!   rd   Zupdate_repository_detailsr#   rR   rK   rL   rP   rQ   re   rM   r:   r;   rN   r   r$   r3   r%   r     r   z!ArtifactsClient.update_repositoryN)%__name__
__module____qualname____doc__r&   r*   rg   ri   ro   rt   rz   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      sP    Xjcalllnxl`gggisg _ I 6 ; -}}lssswr   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   