File: //opt/alt/python37/lib/python3.7/site-packages/dns/__pycache__/update.cpython-37.pyc
B
��f�/ � @ s� d Z ddlmZmZmZmZ ddlZddlZddl Zddl
ZddlZddlZddl
ZddlZG dd� dejj�ZG dd� dejj�ZeZejZejZejZejZdS )zDNS Dynamic Update Support� )�Any�List�Optional�UnionNc @ s, e Zd ZdZdZdZdZdZedd� �Z dS ) �
UpdateSectionzUpdate sectionsr � � � c C s dS )Nr � )�clsr
r
�;/opt/alt/python37/lib/python3.7/site-packages/dns/update.py�_maximum( s zUpdateSection._maximumN)
�__name__�
__module__�__qualname__�__doc__�ZONE�PREREQ�UPDATE�
ADDITIONAL�classmethodr
r
r
r
r r s r c s� e Zd ZeZdejjddejj dfe
eejj
ef ejje
e e
ejj
eejj
ef e
e d�� fdd�
Zeeejj d�dd��Zejdd� �Zeeejj d�d d
��Zejdd
� �Zeeejj d�dd
��Zejdd
� �Zd#dd�Zdd� Zeejj
ef edd�dd�Zeejj
ef edd�dd�Zeejj
ef edd�dd�Zeejj
ef edd�dd�Z d$eejj
ef e
eej!j"ef dd�dd�Z#dd � Z$d!d"� Z%� Z&S )%�
UpdateMessageN)�zone�rdclass�keyring�keyname�keyalgorithm�idc s� t � j|d� | jtj�tjj�O _t|t�r>tj �
|�}|| _tjj
�|�}|| _| jr|| j| j| j|tjjddd� |dk r�| j|||d� dS )ax Initialize a new DNS Update object.
See the documentation of the Message class for a complete
description of the keyring dictionary.
*zone*, a ``dns.name.Name``, ``str``, or ``None``, the zone
which is being updated. ``None`` should only be used by dnspython's
message constructors, as a zone is required for the convenience
methods like ``add()``, ``replace()``, etc.
*rdclass*, an ``int`` or ``str``, the class of the zone.
The *keyring*, *keyname*, and *keyalgorithm* parameters are passed to
``use_tsig()``; see its documentation for details.
)r T)�createZforce_uniqueN)� algorithm)�super�__init__�flags�dns�opcodeZto_flagsr �
isinstance�str�name� from_text�origin�
rdataclass�
RdataClass�make�zone_rdclass�
find_rrsetr � rdatatype�SOAZuse_tsig)�selfr r r r r r )� __class__r
r r! 2 s"