관리-도구
편집 파일: update.cpython-38.pyc
U /?�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 �8/opt/hc_python/lib/python3.8/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! 1 s$ �zUpdateMessage.__init__)�returnc C s | j d S )zThe zone section.r ��sections�r1 r r r r \ s zUpdateMessage.zonec C s || j d<