dyndns package¶
Module contents¶
Set version.
Submodules¶
dyndns.cli module¶
Command line interface for the command dyndns-debug
dyndns.config module¶
Load and validate the configuration.
dyndns.dns_updates module¶
Interface for DNS updates.
- dyndns.dns_updates.update_dns_record(secret=None, fqdn=None, zone_name=None, record_name=None, ip_1=None, ip_2=None, ipv4=None, ipv6=None, ttl=None, config=None)[source]¶
Update a DNS record.
- Parameters
secret (str) – A password like secret string. The secret string has to be at least 8 characters long and only alphnumeric characters are allowed.
fqdn (str) – The Fully-Qualified Domain Name (e. g.
www.example.com
). If you specify the argumentfqdn
, you don’t have to specify the argumentszone_name
andrecord_name
.zone_name (str) – The zone name (e. g.
example.com
). You have to specify the argumentrecord_name
.record_name (str) – The record name (e. g.
www
). You have to specify the argumentzone_name
.ip_1 (str) – A IP address, can be version 4 or version 6.
ip_2 (str) – A second IP address, can be version 4 or version 6. Must be a different version than
ip_1
.ipv4 (str) – A IP address version 4.
ipv6 (str) – A IP address version 6.
ttl (int) – Time to live.
config (dict) – The configuration in the Python dictionary format (as returned by the function
validate_config()
).
dyndns.dns module¶
Query the DSN server using the package “dnspython”.
dyndns.exceptions module¶
A collection of exceptions.
- exception dyndns.exceptions.ConfigurationError[source]¶
Bases:
DyndnsError
dyndns configuration error.
- exception dyndns.exceptions.DNSServerError[source]¶
Bases:
DyndnsError
Communicating with the external DNS server.
- exception dyndns.exceptions.DyndnsError[source]¶
Bases:
Exception
Base exception of the package
dyndns
.
- exception dyndns.exceptions.IpAddressesError[source]¶
Bases:
DyndnsError
This error gets thrown by invalid IP addresses.
- exception dyndns.exceptions.NamesError[source]¶
Bases:
DyndnsError
This error gets thrown by invalid DNS names.
- exception dyndns.exceptions.ParameterError[source]¶
Bases:
DyndnsError
Client side parameter error.
dyndns.html_template module¶
A collection of HTML template functions.
dyndns.ipaddresses module¶
Deal with ipv4 and ipv6 IP addresses.
- class dyndns.ipaddresses.IpAddressContainer(ip_1=None, ip_2=None, ipv4=None, ipv6=None, request=None)[source]¶
Bases:
object
A container class to store and detect IP addresses in both versions (ipv4 and ipv6).
- Parameters
ip_1 (str) – Am IP address of unkown version.
ip_2 (str) – An IP address of unkown version.
ipv4 (str) – An ipv4 IP address.
ipv6 (str) – An ipv6 IP address.
- ipv4¶
The ipv4 address to update the DNS record with.
- ipv6¶
The ipv6 address to update the DNS record with.
dyndns.log module¶
Bundle the logging functionality.
- class dyndns.log.Message[source]¶
Bases:
object
- log_levels = {'CONFIGURATION_ERROR': 51, 'DNS_SERVER_ERROR': 51, 'PARAMETER_ERROR': 41, 'UNCHANGED': 11, 'UPDATED': 21}¶
- dyndns.log.msg(msg, log_level)¶
dyndns.names module¶
Deal with different kind of names (FQDNs (Fully Qualified Domain Names), record and zone names)
record_name
+ zone_name
= fqdn
- class dyndns.names.Names(zones, fqdn=None, zone_name=None, record_name=None)[source]¶
Bases:
object
- fqdn¶
The Fully Qualified Domain Name (e. g.
www.example.com.
)
- record_name¶
The name resource record (e. g.
www.
)
- tsig_key¶
The twig key (e. g.
tPyvZA==
)
- zone_name¶
The zone name (e. g.
example.com.
)
dyndns.webapp module¶
Initialize the Flask app.