o
    2.a5                     @   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   )Model
Collectionc                   @   s0   e Zd ZdZdZdd Zedd Zdd Zd	S )
Secretz	A secret.ZIDc                 C   s   d| j j d| j dS )N<z: 'z'>)	__class____name__nameself r   7/usr/lib/python3/dist-packages/docker/models/secrets.py__repr__	   s   zSecret.__repr__c                 C   s   | j d d S )NSpecName)Z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   Zrespr   r   r   list7   s   zSecretCollection.listN)r	   r   r   r   r   Zmodelr!   r   r   r   r$   r   r   r   r   r      s    
r   N)r   r   Zresourcer   r   r   r   r   r   r   r   <module>   s    