Ë
    9ài  ã                   óÐ   — d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ  G d„ d«      Zej8                  Zy)é   )Ú	APIClient)ÚDEFAULT_MAX_POOL_SIZEÚDEFAULT_TIMEOUT_SECONDS©ÚConfigCollection©ÚContainerCollection©ÚImageCollection©ÚNetworkCollection©ÚNodeCollection©ÚPluginCollection©ÚSecretCollection©ÚServiceCollection©ÚSwarm©ÚVolumeCollection)Úkwargs_from_envc                   óp  — e Zd ZdZd„ Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
ed„ «       Zed„ «       Zed	„ «       Zed
„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Zej$                  j                  e_        d„ Zej(                  j                  e_        d„ Zej*                  j                  e_        d„ Zej,                  j                  e_        d„ Zej.                  j                  e_        d„ Zej0                  j                  e_        d„ Zej2                  j                  e_        d„ Zy)ÚDockerClientaì  
    A client for communicating with a Docker server.

    Example:

        >>> import docker
        >>> client = docker.DockerClient(base_url='unix://var/run/docker.sock')

    Args:
        base_url (str): URL to the Docker server. For example,
            ``unix:///var/run/docker.sock`` or ``tcp://127.0.0.1:1234``.
        version (str): The version of the API to use. Set to ``auto`` to
            automatically detect the server's version. Default: ``1.35``
        timeout (int): Default timeout for API calls, in seconds.
        tls (bool or :py:class:`~docker.tls.TLSConfig`): Enable TLS. Pass
            ``True`` to enable it with default options, or pass a
            :py:class:`~docker.tls.TLSConfig` object to use custom
            configuration.
        user_agent (str): Set a custom user agent for requests to the server.
        credstore_env (dict): Override environment variables when calling the
            credential store process.
        use_ssh_client (bool): If set to `True`, an ssh connection is made
            via shelling out to the ssh client. Ensure the ssh client is
            installed and configured on the host.
        max_pool_size (int): The maximum number of connections
            to save in the pool.
    c                 ó$   — t        |i |¤Ž| _        y ©N)r   Úapi©ÚselfÚargsÚkwargss      úN/home/factor_ks/STREAMA2026/venv/lib/python3.12/site-packages/docker/client.pyÚ__init__zDockerClient.__init__,   s   € Ü˜dÐ- fÑ-ˆ�ó    c           	      óÎ   — |j                  dt        «      }|j                  dt        «      }|j                  dd«      }|j                  dd«      } | d||||dœt        di |¤Ž¤ŽS )	aö  
        Return a client configured from environment variables.

        The environment variables used are the same as those used by the
        Docker command-line client. They are:

        .. envvar:: DOCKER_HOST

            The URL to the Docker host.

        .. envvar:: DOCKER_TLS_VERIFY

            Verify the host against a CA certificate.

        .. envvar:: DOCKER_CERT_PATH

            A path to a directory containing TLS certificates to use when
            connecting to the Docker host.

        Args:
            version (str): The version of the API to use. Set to ``auto`` to
                automatically detect the server's version. Default: ``auto``
            timeout (int): Default timeout for API calls, in seconds.
            max_pool_size (int): The maximum number of connections
                to save in the pool.
            environment (dict): The environment to read environment variables
                from. Default: the value of ``os.environ``
            credstore_env (dict): Override environment variables when calling
                the credential store process.
            use_ssh_client (bool): If set to `True`, an ssh connection is
                made via shelling out to the ssh client. Ensure the ssh
                client is installed and configured on the host.

        Example:

            >>> import docker
            >>> client = docker.from_env()

        .. _`SSL version`:
            https://docs.python.org/3.5/library/ssl.html#ssl.PROTOCOL_TLSv1
        ÚtimeoutÚmax_pool_sizeÚversionNÚuse_ssh_clientF)r(   r)   r*   r+   © )Úpopr   r   r   )Úclsr#   r(   r)   r*   r+   s         r$   Úfrom_envzDockerClient.from_env/   sx   € ðV —*‘*˜YÔ(?Ó@ˆØŸ
™
 ?Ô4IÓJˆØ—*‘*˜Y¨Ó-ˆØŸ™Ð$4°eÓ<ˆÙð 
ØØ'ØØ)ñ	
ô
 Ñ' Ñ'ñ
ð 	
r&   c                 ó   — t        | ¬«      S )zˆ
        An object for managing configs on the server. See the
        :doc:`configs documentation <configs>` for full details.
        ©Úclientr   ©r!   s    r$   ÚconfigszDockerClient.configsg   ó   € ô   tÔ,Ð,r&   c                 ó   — t        | ¬«      S )z‘
        An object for managing containers on the server. See the
        :doc:`containers documentation <containers>` for full details.
        r1   r   r3   s    r$   Ú
containerszDockerClient.containerso   s   € ô #¨$Ô/Ð/r&   c                 ó   — t        | ¬«      S )z…
        An object for managing images on the server. See the
        :doc:`images documentation <images>` for full details.
        r1   r
   r3   s    r$   ÚimageszDockerClient.imagesw   s   € ô  dÔ+Ð+r&   c                 ó   — t        | ¬«      S )z‹
        An object for managing networks on the server. See the
        :doc:`networks documentation <networks>` for full details.
        r1   r   r3   s    r$   ÚnetworkszDockerClient.networks   ó   € ô !¨Ô-Ð-r&   c                 ó   — t        | ¬«      S )z‚
        An object for managing nodes on the server. See the
        :doc:`nodes documentation <nodes>` for full details.
        r1   r   r3   s    r$   ÚnodeszDockerClient.nodes‡   s   € ô  TÔ*Ð*r&   c                 ó   — t        | ¬«      S )zˆ
        An object for managing plugins on the server. See the
        :doc:`plugins documentation <plugins>` for full details.
        r1   r   r3   s    r$   ÚpluginszDockerClient.plugins�   r5   r&   c                 ó   — t        | ¬«      S )zˆ
        An object for managing secrets on the server. See the
        :doc:`secrets documentation <secrets>` for full details.
        r1   r   r3   s    r$   ÚsecretszDockerClient.secrets—   r5   r&   c                 ó   — t        | ¬«      S )z‹
        An object for managing services on the server. See the
        :doc:`services documentation <services>` for full details.
        r1   r   r3   s    r$   ÚserviceszDockerClient.servicesŸ   r<   r&   c                 ó   — t        | ¬«      S )z„
        An object for managing a swarm on the server. See the
        :doc:`swarm documentation <swarm>` for full details.
        r1   r   r3   s    r$   ÚswarmzDockerClient.swarm§   s   € ô ˜DÔ!Ð!r&   c                 ó   — t        | ¬«      S )zˆ
        An object for managing volumes on the server. See the
        :doc:`volumes documentation <volumes>` for full details.
        r1   r   r3   s    r$   ÚvolumeszDockerClient.volumes¯   r5   r&   c                 ó:   —  | j                   j                  |i |¤ŽS r   )r   Úeventsr    s      r$   rJ   zDockerClient.events¸   s   € Øˆt�x‰x�‰ Ð/¨Ñ/Ð/r&   c                 ó6   — | j                   j                  «       S r   )r   Údfr3   s    r$   rL   zDockerClient.df¼   s   € Ø�x‰x�{‰{‹}Ðr&   c                 ó:   —  | j                   j                  |i |¤ŽS r   )r   Úinfor    s      r$   rN   zDockerClient.infoÀ   ó   € Øˆt�x‰x�}‰}˜dÐ- fÑ-Ð-r&   c                 ó:   —  | j                   j                  |i |¤ŽS r   )r   Úloginr    s      r$   rQ   zDockerClient.loginÄ   s   € Øˆt�x‰x�~‰~˜tÐ. vÑ.Ð.r&   c                 ó:   —  | j                   j                  |i |¤ŽS r   )r   Úpingr    s      r$   rS   zDockerClient.pingÈ   rO   r&   c                 ó:   —  | j                   j                  |i |¤ŽS r   )r   r*   r    s      r$   r*   zDockerClient.versionÌ   s   € Øˆt�x‰x×Ñ Ð0¨Ñ0Ð0r&   c                 ó6   — | j                   j                  «       S r   )r   Úcloser3   s    r$   rV   zDockerClient.closeÐ   s   € Ø�x‰x�~‰~ÓÐr&   c                 ó†   — d|› d�g}t        t        |«      r|j                  d«       t        dj	                  |«      «      ‚)Nz('DockerClient' object has no attribute 'ú'zŽIn Docker SDK for Python 2.0, this method is now on the object APIClient. See the low-level API section of the documentation for more details.ú )Úhasattrr   ÚappendÚAttributeErrorÚjoin)r!   ÚnameÚss      r$   Ú__getattr__zDockerClient.__getattr__Ô   sC   € Ø7¸°v¸QÐ?Ð@ˆä”9˜dÔ#Ø�H‰Hð 7ô 8ô ˜SŸX™X a›[Ó)Ð)r&   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   Úclassmethodr/   Úpropertyr4   r7   r9   r;   r>   r@   rB   rD   rF   rH   rJ   r   rL   rN   rQ   rS   r*   rV   r`   r,   r&   r$   r   r      sŒ  „ ñò6.ð ñ4
ó ð4
ðn ñ-ó ð-ð ñ0ó ð0ð ñ,ó ð,ð ñ.ó ð.ð ñ+ó ð+ð ñ-ó ð-ð ñ-ó ð-ð ñ.ó ð.ð ñ"ó ð"ð ñ-ó ð-ò0à×%Ñ%×-Ñ-€F„Nòà—‘×%Ñ%€B„Jò.à—>‘>×)Ñ)€D„Lò/à—O‘O×+Ñ+€E„Mò.à—>‘>×)Ñ)€D„Lò1à×'Ñ'×/Ñ/€G„Oò à—O‘O×+Ñ+€E„Mó*r&   r   N)Ú
api.clientr   Ú	constantsr   r   Úmodels.configsr   Úmodels.containersr	   Úmodels.imagesr   Úmodels.networksr   Úmodels.nodesr   Úmodels.pluginsr   Úmodels.secretsr   Úmodels.servicesr   Úmodels.swarmr   Úmodels.volumesr   Úutilsr   r   r/   r,   r&   r$   ú<module>rt      sF   ðÝ !ß EÝ ,Ý 2Ý *Ý .Ý (Ý ,Ý ,Ý .Ý Ý ,Ý "÷K*ñ K*ð\ × Ñ �r&   