File: //lib/python3/dist-packages/certbot/__pycache__/configuration.cpython-310.pyc
o
6��a�( � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ dd lm
Z
dd
lmZ G dd� d�Zd
d� ZdS )z$Certbot user-supplied configuration.� N)�List)�Optional)�parse)�errors)�util)� constants)�misc)�osc @ sf e Zd ZdZdd� Zdd� Zdd� Zedefd d
��Z ede
e fdd��Zedefd
d��Z
e
jdeddfdd��Z
edefdd��Zejdeddfdd��Zedefdd��Zejdeddfdd��Zedefdd��Zedefdd��Zedefdd��Zed d!� �Zed"d#� �Zed$d%� �Zed&d'� �Zed(d)� �Zed*d+� �Zedefd,d-��Zedefd.d/��Zedefd0d1��Zedefd2d3��Zedee fd4d5��Z edefd6d7��Z!edefd8d9��Z"edefd:d;��Z#ede
e fd<d=��Z$ed>d?� �Z%d@dA� Z&edBdC� �Z'edDdE� �Z(edFdG� �Z)edHdI� �Z*edJdK� �Z+edLdM� �Z,edNdO� �Z-dPdQ� Z.dS )R�NamespaceConfiga4 Configuration wrapper around :class:`argparse.Namespace`.
Please note that the following attributes are dynamically resolved using
:attr:`~certbot.configuration.NamespaceConfig.work_dir` and relative
paths defined in :py:mod:`certbot._internal.constants`:
- `accounts_dir`
- `csr_dir`
- `in_progress_dir`
- `key_dir`
- `temp_checkpoint_dir`
And the following paths are dynamically resolved using
:attr:`~certbot.configuration.NamespaceConfig.config_dir` and relative
paths defined in :py:mod:`certbot._internal.constants`:
- `default_archive_dir`
- `live_dir`
- `renewal_configs_dir`
:ivar namespace: Namespace typically produced by
:meth:`argparse.ArgumentParser.parse_args`.
:type namespace: :class:`argparse.Namespace`
c C sV t �| d|� tj�| jj�| j_tj�| jj�| j_tj�| jj�| j_t | � d S )N� namespace)
�object�__setattr__r �path�abspathr �
config_dir�work_dir�logs_dir�_check_config_sanity)�selfr � r �7/usr/lib/python3/dist-packages/certbot/configuration.py�__init__) s
zNamespaceConfig.__init__c C s t | j|�S �N)�getattrr )r �namer r r �__getattr__5 s zNamespaceConfig.__getattr__c C s t | j||� d S r )�setattrr )r r �valuer r r r
8 s zNamespaceConfig.__setattr__�returnc C � | j jS )zACME Directory Resource URI.)r �server�r r r r r ; � zNamespaceConfig.serverc C r )z�Email used for registration and recovery contact.
Use comma to register multiple emails,
ex: u1@example.com,u2@example.com. (default: Ask).
)r �emailr! r r r r# @ � zNamespaceConfig.emailc C r )zSize of the RSA key.�r �rsa_key_sizer! r r r r&