l.d.b.DNSDriver(BaseDriver) : class documentation

Part of libcloud.dns.base View Source View In Hierarchy

Known subclasses: libcloud.dns.drivers.dummy.DummyDNSDriver, libcloud.dns.drivers.gandi.GandiDNSDriver, libcloud.dns.drivers.hostvirtual.HostVirtualDNSDriver, libcloud.dns.drivers.linode.LinodeDNSDriver, libcloud.dns.drivers.rackspace.RackspaceDNSDriver, libcloud.dns.drivers.route53.Route53DNSDriver, libcloud.dns.drivers.zerigo.ZerigoDNSDriver

DNS driver.
Method __init__ @param key: API key or username to used (required) @type key: C{str}
Method list_record_types Return a list of RecordType objects supported by the provider.
Method iterate_zones Return a generator to iterate over available zones.
Method list_zones Return a list of zones.
Method iterate_records Return a generator to iterate over records for the provided zone.
Method list_records Return a list of records for the provided zone.
Method get_zone Return a Zone instance.
Method get_record Return a Record instance.
Method create_zone Create a new zone.
Method update_zone Update en existing zone.
Method create_record Create a new record.
Method update_record Update an existing record.
Method delete_zone Delete a zone.
Method delete_record Delete a record.
Method _string_to_record_type Return a string representation of a DNS record type to a libcloud RecordType ENUM.

Inherited from BaseDriver:

Method _ex_connection_class_kwargs Return extra connection keyword arguments which are passed to the Connection class constructor.
def __init__(self, key, secret=None, secure=True, host=None, port=None, **kwargs): (source)
@param    key: API key or username to used (required)
@type     key: C{str}

@param    secret: Secret password to be used (required)
@type     secret: C{str}

@param    secure: Weither to use HTTPS or HTTP. Note: Some providers
        only support HTTPS, and it is on by default.
@type     secure: C{bool}

@param    host: Override hostname used for connections.
@type     host: C{str}

@param    port: Override port used for connections.
@type     port: C{int}

@rtype: C{None}
def list_record_types(self): (source)
Return a list of RecordType objects supported by the provider.

@rtype: C{list} of L{RecordType}
def iterate_zones(self): (source)
Return a generator to iterate over available zones.

@rtype: C{generator} of L{Zone}
def list_zones(self): (source)
Return a list of zones.

@rtype: C{list} of L{Zone}
def iterate_records(self, zone): (source)
Return a generator to iterate over records for the provided zone.

@param zone: Zone to list records for.
@type zone: L{Zone}

@rtype: C{generator} of L{Record}
def list_records(self, zone): (source)
Return a list of records for the provided zone.

@param zone: Zone to list records for.
@type zone: L{Zone}

@rtype: C{list} of L{Record}
def get_zone(self, zone_id): (source)
Return a Zone instance.

@param zone_id: ID of the required zone
@type  zone_id: C{str}

@rtype: L{Zone}
def get_record(self, zone_id, record_id): (source)
Return a Record instance.

@param zone_id: ID of the required zone
@type  zone_id: C{str}

@param record_id: ID of the required record
@type  record_id: C{str}

@rtype: L{Record}
def create_zone(self, domain, type='master', ttl=None, extra=None): (source)
Create a new zone.

@param domain: Zone domain name.
@type domain: C{str}

@param type: Zone type (master / slave).
@type  type: C{str}

@param ttl: (optional) TTL for new records.
@type  ttl: C{int}

@param extra: (optional) Extra attributes (driver specific).
@type extra: C{dict}

@rtype: L{Zone}
def update_zone(self, zone, domain, type='master', ttl=None, extra=None): (source)
Update en existing zone.

@param zone: Zone to update.
@type  zone: L{Zone}

@param domain: Zone domain name.
@type  domain: C{str}

@param type: Zone type (master / slave).
@type  type: C{str}

@param ttl: (optional) TTL for new records.
@type  ttl: C{int}

@param extra: (optional) Extra attributes (driver specific).
@type  extra: C{dict}

@rtype: L{Zone}
def create_record(self, name, zone, type, data, extra=None): (source)
Create a new record.

@param name: Hostname or FQDN.
@type  name: C{str}

@param zone: Zone where the requested record is created.
@type  zone: L{Zone}

@param type: DNS record type (A, AAAA, ...).
@type  type: L{RecordType}

@param data: Data for the record (depends on the record type).
@type  data: C{str}

@param extra: (optional) Extra attributes (driver specific).
@type extra: C{dict}

@rtype: L{Record}
def update_record(self, record, name, type, data, extra): (source)
Update an existing record.

@param record: Record to update.
@type  record: L{Record}

@param name: Hostname or FQDN.
@type  name: C{str}

@param type: DNS record type (A, AAAA, ...).
@type  type: L{RecordType}

@param data: Data for the record (depends on the record type).
@type  data: C{str}

@param extra: (optional) Extra attributes (driver specific).
@type  extra: C{dict}

@rtype: L{Record}
def delete_zone(self, zone): (source)
Delete a zone.

Note: This will delete all the records belonging to this zone.

@param zone: Zone to delete.
@type  zone: L{Zone}

@rtype: C{bool}
def delete_record(self, record): (source)
Delete a record.

@param record: Record to delete.
@type  record: L{Record}

@rtype: C{bool}
def _string_to_record_type(self, string): (source)
Return a string representation of a DNS record type to a
libcloud RecordType ENUM.
API Documentation for libcloud, generated by pydoctor at 2013-07-01 17:02:02.