libcloud.dns.drivers.nfsn module

NFSN DNS Driver

class libcloud.dns.drivers.nfsn.NFSNDNSDriver(key: str, secret: str | None = None, secure: bool = True, host: str | None = None, port: int | None = None, **kwargs: Any | None)[source]

Bases: DNSDriver

Parameters:
  • key (str) – API key or username to used (required)

  • secret (str) – Secret password to be used (required)

  • secure (bool) – Whether to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default.

  • host (str) – Override hostname used for connections.

  • port (int) – Override port used for connections.

Returns:

None

RECORD_TYPE_MAP: Dict[RecordType, str] = {'A': 'A', 'AAAA': 'AAAA', 'CNAME': 'CNAME', 'MX': 'MX', 'NS': 'NS', 'PTR': 'PTR', 'SRV': 'SRV', 'TXT': 'TXT'}
connectionCls

alias of NFSNConnection

create_record(name, zone, type, data, extra=None)[source]

Create a new record.

Parameters:
  • name (str) – Record name without the domain name (e.g. www). Note: If you want to create a record for a base domain name, you should specify empty string (‘’) for this argument.

  • zone (Zone) – Zone where the requested record is created.

  • type (RecordType) – DNS record type (A, MX, TXT).

  • data (str) – Data for the record (depends on the record type).

  • extra (dict) – Extra attributes (driver specific, e.g. ‘ttl’). (optional)

Return type:

Record

delete_record(record)[source]

Use this method to delete a record.

Parameters:

record (Record) – record to delete

Return type:

Bool

ex_get_records_by(zone, name=None, type=None)[source]

Return a list of records for the provided zone, filtered by name and/or type.

Parameters:
  • zone (Zone) – Zone to list records for.

  • zone – Zone where the requested records are found.

  • name (str) – name of the records, for example “www”. (optional)

  • type (RecordType) – DNS record type (A, MX, TXT). (optional)

Returns:

list of Record

get_zone(zone_id)[source]

Return a Zone instance.

Parameters:

zone_id (str) – name of the required zone, for example “example.com”.

Return type:

Zone

Raises:

ZoneDoesNotExistError: If no zone could be found.

list_records(zone)[source]

Return a list of all records for the provided zone.

Parameters:

zone (Zone) – Zone to list records for.

Returns:

list of Record

name: str = 'NFSN DNS'
type = 'nfsn'
website: str = 'https://www.nearlyfreespeech.net'