File: //usr/lib/python3/dist-packages/docker/models/__pycache__/plugins.cpython-310.pyc
o
�2.a� � @ s@ d dl mZ ddlmZmZ G dd� de�ZG dd� de�ZdS ) � )�errors� )�
Collection�Modelc @ sr e Zd ZdZdd� Zedd� �Zedd� �Zedd � �Zd
d� Z dd
� Z
ddd�Zdd� Zddd�Z
ddd�ZdS )�Pluginz!
A plugin on the server.
c 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/plugins.py�__repr__ s zPlugin.__repr__c C � | j �d�S )z$
The plugin's name.
�Name��attrs�getr r
r
r r
� zPlugin.namec C r )z0
Whether the plugin is enabled.
�Enabledr r r
r
r �enabled r zPlugin.enabledc C r )zG
A dictionary representing the plugin's configuration.
�Settingsr r r
r
r �settings r zPlugin.settingsc C � | j j�| j|� | �� dS )a
Update the plugin's settings.
Args:
options (dict): A key-value mapping of options.
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
N)�client�api�configure_pluginr
�reload)r �optionsr
r
r � configure! � zPlugin.configurec C s | j j�| j� | �� dS )z�
Disable the plugin.
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
N)r r �disable_pluginr
r r r
r
r �disable/ s zPlugin.disable� c C r )z�
Enable the plugin.
Args:
timeout (int): Timeout in seconds. Default: 0
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
N)r r �
enable_pluginr
r )r �timeoutr
r
r �enable; r! z
Plugin.enablec C s | j j�| j�S )a
Push the plugin to a remote registry.
Returns:
A dict iterator streaming the status of the upload.
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
)r r �push_pluginr
r r
r
r �pushI s zPlugin.pushFc C s | j jj| j|d�S )a.
Remove the plugin from the server.
Args:
force (bool): Remove even if the plugin is enabled.
Default: False
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
)�force)r r �
remove_pluginr
)r r* r
r
r �removeV s z
Plugin.removeNc c sT � | j r t�d��|du r| j}| jj�|�}| jj�| j||�E dH | �� dS )aR
Upgrade the plugin.
Args:
remote (string): Remote reference to upgrade to. The
``:latest`` tag is optional and is the default if omitted.
Default: this plugin's name.
Returns:
A generator streaming the decoded API logs
z)Plugin must be disabled before upgrading.N) r r �DockerErrorr
r r �plugin_privileges�upgrade_pluginr )r �remote�
privilegesr
r
r �upgraded s ��zPlugin.upgrade)r$ �F�N)r �
__module__�__qualname__�__doc__r �propertyr
r r r r# r'