twindb_cloudflare package

Submodules

twindb_cloudflare.twindb_cloudflare module

class twindb_cloudflare.twindb_cloudflare.CloudFlare(email, auth_key, api_endpoint='https://api.cloudflare.com/client/v4')[source]

Bases: object

Class to work with CloudFlare API https://api.cloudflare.com/

auth_key

See “API Key” on https://www.cloudflare.com/a/account/my-account

Returns:CloudFlare email
create_dns_record(name, zone, content, data=None, record_type='A', ttl=1)[source]

Create a new DNS record for a zone.

Parameters:
  • name – DNS record name - “example.com”
  • zone – zone name
  • content – DNS record content - “127.0.0.1”
  • data

    Optional parameters for DNS record. For example, an SRV record for etcd server needs this:

    {
        "name": "twindb.com",
        "port": 2380,
        "priority": 0,
        "proto": "_tcp",
        "service": "_etcd-server",
        "target": "node0.twindb.com",
        "weight": 0
    }
    
  • record_type – DNS record type - “A”.
  • ttl – Time to live for DNS record. Value of 1 is ‘automatic’
Raise:

CloudFlareException if error

delete_dns_record(name, zone)[source]

Delete DNS record

Parameters:
  • name – DNS record name
  • zone – zone name
Raise:

CloudFlareException if error

email

See “API Key” on https://www.cloudflare.com/a/account/my-account

Returns:CloudFlare authentication key
get_record_id(domain_name, zone_id)[source]

Get record id by its name

Parameters:
  • domain_name – DNS record name “example.com”
  • zone_id – zone identified (returned by get_zone_id())
Returns:

id of the record

Raise:

CloudFlareException if record is not found or other error

get_zone_id(name)[source]

Get zone id of a given zone

Parameters:name – zone name
Returns:id of the zone
Raise:CloudFlareException if zone is not found or other error
update_dns_record(name, zone, content, record_type='A', ttl=1)[source]

Update DNS record

Parameters:
  • name – domain name
  • zone – zone identifier
  • content – content of DNS record. For A records that would be IP address
  • record_type – DNS record type. “A” by default
  • ttl – TTL of DNS record. 1 by default
Raise:

CloudFlareException if record is not found or other error

exception twindb_cloudflare.twindb_cloudflare.CloudFlareException[source]

Bases: exceptions.Exception

Exception for CloudFlare errors

Module contents