SoftLayer.dns¶
DNS Manager/helpers
- license
MIT, see LICENSE for more details.
- class SoftLayer.managers.dns.DNSManager(client)[source]¶
Manage SoftLayer DNS.
See product information here: https://www.ibm.com/cloud/dns
- Parameters
client (SoftLayer.API.BaseClient) – the client instance
- create_record(zone_id, record, record_type, data, ttl=60)[source]¶
Create a resource record on a domain.
- Parameters
id (integer) – the zone’s ID
record – the name of the record to add
record_type – the type of record (A, AAAA, CNAME, TXT, etc.)
data – the record’s value
ttl (integer) – the TTL or time-to-live value (default: 60)
- create_record_mx(zone_id, record, data, ttl=60, priority=10)[source]¶
Create a mx resource record on a domain.
- Parameters
id (integer) – the zone’s ID
record – the name of the record to add
data – the record’s value
ttl (integer) – the TTL or time-to-live value (default: 60)
priority (integer) – the priority of the target host
- create_record_ptr(record, data, ttl=60)[source]¶
Create a reverse record.
- Parameters
record – the public ip address of device for which you would like to manage reverse DNS.
data – the record’s value
ttl (integer) – the TTL or time-to-live value (default: 60)
- create_record_srv(zone_id, record, data, protocol, port, service, ttl=60, priority=20, weight=10)[source]¶
Create a resource record on a domain.
- Parameters
id (integer) – the zone’s ID
record – the name of the record to add
data – the record’s value
protocol (string) – the protocol of the service, usually either TCP or UDP.
port (integer) – the TCP or UDP port on which the service is to be found.
service (string) – the symbolic name of the desired service.
ttl (integer) – the TTL or time-to-live value (default: 60)
priority (integer) – the priority of the target host (default: 20)
weight (integer) – relative weight for records with same priority (default: 10)
- create_zone(zone, serial=None)[source]¶
Create a zone for the specified zone.
- Parameters
zone – the zone name to create
serial – serial value on the zone (default: strftime(%Y%m%d01))
- delete_record(record_id)[source]¶
Delete a resource record by its ID.
- Parameters
id (integer) – the record’s ID
- delete_zone(zone_id)[source]¶
Delete a zone by its ID.
- Parameters
zone_id (integer) – the zone ID to delete
- dump_zone(zone_id)[source]¶
Retrieve a zone dump in BIND format.
- Parameters
id (integer) – The zone ID to dump
- edit_record(record)[source]¶
Update an existing record with the options provided.
The provided dict must include an ‘id’ key and value corresponding to the record that should be updated.
- Parameters
record (dict) – the record to update
- edit_zone(zone)[source]¶
Update an existing zone with the options provided.
The provided dict must include an ‘id’ key and value corresponding to the zone that should be updated.
- Parameters
zone (dict) – the zone to update
- get_records(zone_id, ttl=None, data=None, host=None, record_type=None)[source]¶
List, and optionally filter, records within a zone.
- Parameters
zone – the zone name in which to search.
ttl (int) – time in seconds
data (str) – the records data
host (str) – record’s host
record_type (str) – the type of record
- Returns
A list of dictionaries representing the matching records within the specified zone.
- get_zone(zone_id, records=True)[source]¶
Get a zone and its records.
- Parameters
zone – the zone name
- Returns
A dictionary containing a large amount of information about the specified zone.
- list_zones(**kwargs)[source]¶
Retrieve a list of all DNS zones.
- Parameters
**kwargs (dict) – response-level options (mask, limit, etc.)
- Returns
A list of dictionaries representing the matching zones.
- resolve_ids(identifier)¶
Takes a string and tries to resolve to a list of matching ids.
What exactly ‘identifier’ can be depends on the resolvers
- Parameters
identifier (string) – identifying string
- Returns list
- sync_host_record(zone_id, hostname, ip_address, record_type='a', ttl=7200)[source]¶
For a given zone_id, will set hostname’s A record to ip_address
- Parameters
zone_id (integer) – The zone id for the domain
hostname (string) – host part of the record
ip_address (string) – data part of the record
ttl (integer) – TTL for the record
record_type (string) – ‘a’ or ‘aaaa’
- sync_ptr_record(ptr_domains, ip_address, fqdn, ttl=7200)[source]¶
Sync PTR record.
- Parameters
ptr_domains (dict) – result from SoftLayer_Virtual_Guest.getReverseDomainRecords or SoftLayer_Hardware_Server.getReverseDomainRecords
ip_address (string) – ip address to sync with
fqdn (string) – Fully Qualified Domain Name
ttl (integer) – TTL for the record