o
    Nrf5                     @   s@   d dl mZ ddlmZmZ G dd deZG dd deZdS )	   )	APIClient   )
CollectionModelc                   @   s0   e Zd ZdZdZdd Zedd Zdd Zd	S )
Secretz	A secret.IDc                 C   s   d| j j d| j dS )N<z: 'z'>)	__class____name__nameself r   ^/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/docker/models/secrets.py__repr__	   s   zSecret.__repr__c                 C   s   | j d d S )NSpecName)attrsr   r   r   r   r      s   zSecret.namec                 C   s   | j j| jS )z
        Remove this secret.

        Raises:
            :py:class:`docker.errors.APIError`
                If secret failed to remove.
        )clientapiZremove_secretidr   r   r   r   remove   s   zSecret.removeN)	r
   
__module____qualname____doc__Zid_attributer   propertyr   r   r   r   r   r   r      s    
r   c                   @   s6   e Zd ZdZeZdd Zejje_dd Z	dd Z
dS )	SecretCollectionzSecrets on the Docker server.c                 K   s4   | j jjdi |}|d|di d< | |S )Nr   r   r   r   )r   r   create_secretget
setdefaultprepare_model)r   kwargsobjr   r   r   create   s   
zSecretCollection.createc                 C   s   |  | jj|S )ac  
        Get a secret.

        Args:
            secret_id (str): Secret ID.

        Returns:
            (:py:class:`Secret`): The secret.

        Raises:
            :py:class:`docker.errors.NotFound`
                If the secret does not exist.
            :py:class:`docker.errors.APIError`
                If the server returns an error.
        )r    r   r   Zinspect_secret)r   Z	secret_idr   r   r   r   %   s   zSecretCollection.getc                    s&    j jjdi |} fdd|D S )aT  
        List secrets. Similar to the ``docker secret ls`` command.

        Args:
            filters (dict): Server-side list filtering options.

        Returns:
            (list of :py:class:`Secret`): The secrets.

        Raises:
            :py:class:`docker.errors.APIError`
                If the server returns an error.
        c                    s   g | ]}  |qS r   )r    ).0r"   r   r   r   
<listcomp>F   s    z)SecretCollection.list.<locals>.<listcomp>Nr   )r   r   Zsecrets)r   r!   respr   r   r   list7   s   zSecretCollection.listN)r
   r   r   r   r   modelr#   r   r   r   r'   r   r   r   r   r      s    
r   N)r   r   resourcer   r   r   r   r   r   r   r   <module>   s    