Package dns :: Module update :: Class Update
[show private | hide private]
[frames | no frames]

Type Update

object --+    
         |    
   Message --+
             |
            Update


Method Summary
  __init__(self, zone, rdclass, keyring, keyname)
Initialize a new DNS Update object.
  absent(self, name, rdtype)
Require that an owner name (and optionally an rdata type) does not exist as a prerequisite to the execution of the update.
  add(self, name, *args)
Add records.
  delete(self, name, *args)
Delete records.
  present(self, name, *args)
Require that an owner name (and optionally an rdata type, or specific rdataset) exists as a prerequisite to the execution of the update.
  replace(self, name, *args)
Replace records.
string to_wire(self, origin, max_size)
Return a string containing the update in DNS compressed wire format.
    Inherited from Message
bool __eq__(self, other)
Two messages are equal if they have the same content in the header, question, answer, and authority sections.
bool __ne__(self, other)
Are two messages not equal?
  __repr__(self)
  __str__(self)
dns.rrset.RRset object find_rrset(self, section, name, rdclass, rdtype, covers, deleting, create, force_unique)
Find the RRset with the given attributes in the specified section.
dns.rrset.RRset object or None get_rrset(self, section, name, rdclass, rdtype, covers, deleting, create, force_unique)
Get the RRset with the given attributes in the specified section.
bool is_response(self, other)
Is other a response to self?
int rcode(self)
Return the rcode.
  set_rcode(self, rcode)
Set the rcode.
string to_text(self, origin, relativize, **kw)
Convert the message to text.
  use_edns(self, edns, ednsflags, payload)
Configure EDNS behavior.
  use_tsig(self, keyring, keyname, fudge, original_id, tsig_error, other_data)
When sending, a TSIG signature using the specified keyring and keyname should be added.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Instance Variable Summary
    Inherited from Message
list of dns.rrset.RRset objects additional: The additional data section.
list of dns.rrset.RRset objects answer: The answer section.
list of dns.rrset.RRset objects authority: The authority section.
int edns: The EDNS level to use.
long ednsflags: The EDNS flags
bool first: Is this message standalone, or the first of a multi message sequence? This variable is used when validating TSIG signatures on messages which are part of a zone transfer.
int flags: The DNS flags of the message.
int fudge: TSIG time fudge; default is 300 seconds.
bool had_tsig: Did the message decoded from wire format have a TSIG signature?
int id: The query id; the default is a randomly chosen id.
dns.name.Name object keyname: The TSIG keyname to use.
dict keyring: The TSIG keyring to use.
string mac: The TSIG MAC for this message.
bool multi: Is this message part of a multi-message sequence? The default is false.
dns.name.Name object origin: The origin of the zone in messages which are used for zone transfers or for DNS dynamic updates.
int original_id: TSIG original id; defaults to the message's id
string other_data: TSIG other data.
int payload: The EDNS payload size.
list of dns.rrset.RRset objects question: The question section.
string request_mac: The TSIG MAC of the request message associated with this message; used when validating TSIG signatures.
hmac.HMAC object tsig_ctx: The TSIG signature context associated with this message.
int tsig_error: TSIG error code; default is 0.
bool xfr: Is the message being used to contain the results of a DNS zone transfer? The default is False.

Method Details

__init__(self, zone, rdclass=1, keyring=None, keyname=None)
(Constructor)

Initialize a new DNS Update object.
Parameters:
zone - The zone which is being updated.
           (type=A dns.name.Name or string)
rdclass - The class of the zone; defaults to dns.rdataclass.IN.
           (type=An int designating the class, or a string whose value is the name of a class.)
keyring - The TSIG keyring to use; defaults to None.
           (type=dict)
keyname - The name of the TSIG key to use; defaults to None. The key must be defined in the keyring. If a keyring is specified but a keyname is not, then the key used will be the first key in the keyring. Note that the order of keys in a dictionary is not defined, so applications should supply a keyname when a keyring is used, unless they know the keyring contains only one key.
           (type=dns.name.Name or string)
Overrides:
dns.message.Message.__init__

absent(self, name, rdtype=None)

Require that an owner name (and optionally an rdata type) does not exist as a prerequisite to the execution of the update.

add(self, name, *args)

Add records. The first argument is always a name. The other arguments can be:
  • rdataset...
  • ttl, rdata...
  • ttl, rdtype, string...

delete(self, name, *args)

Delete records. The first argument is always a name. The other arguments can be:
  • nothing
  • rdataset...
  • rdata...
  • rdtype, [string...]

present(self, name, *args)

Require that an owner name (and optionally an rdata type, or specific rdataset) exists as a prerequisite to the execution of the update. The first argument is always a name. The other arguments can be:
  • rdataset...
  • rdata...
  • rdtype, string...

replace(self, name, *args)

Replace records. The first argument is always a name. The other arguments can be:
  • rdataset...
  • ttl, rdata...
  • ttl, rdtype, string...
Note that if you want to replace the entire node, you should do a delete of the name followed by one or more calls to add.

to_wire(self, origin=None, max_size=65535)

Return a string containing the update in DNS compressed wire format.
Returns:
string
Overrides:
dns.message.Message.to_wire

Generated by Epydoc 2.1 on Thu Apr 1 12:10:11 2004 http://epydoc.sf.net