Skip to main content

EdgeCenter DNS v2 API provider for octoDNS

Project description

EdgeCenter DNS v2 API provider for octoDNS

An octoDNS provider that targets EdgeCenter DNS.

Installation

Command line

pip install octodns-edgecenter

requirements.txt/setup.py

Pinning specific versions or SHAs is recommended to avoid unplanned upgrades.

Versions
# Start with the latest versions and don't just copy what's here
octodns==0.9.14
octodns-edgecenter==0.0.2
SHAs
# Start with the latest/specific versions and don't just copy what's here
-e git+https://git@github.com/octodns/octodns.git@9da19749e28f68407a1c246dfdf65663cdc1c422#egg=octodns
-e git+https://git@github.com/octodns/octodns-edgecenter.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_edgecenter

Configuration

EdgeCenterProvider

providers:
  ec:
    class: octodns_edgecenter.EdgeCenterProvider
    # Your API key
    token: env/EC_TOKEN
    token_type: APIKey
    # or login + password
    #login: env/EC_LOGIN
    #password: env/EC_PASSWORD
    #auth_url: https://api.edgecenter.ru/iam
    #url: https://api.edgecenter.ru/dns/v2
    #records_per_response: 1

Support Information

Records

Supports A, AAAA, NS, MX, TXT, SRV, CNAME, and PTR

Dynamic

Supports dynamic records.

Filters

Supports filter weight of records type A, AAAA, and CNAME (weighted_shuffle)

You need to use the weight pool:

---
'':
  # This is a dynamic record when used with providers that support it
  dynamic:
    # These are the pools of records that can be referenced and thus used by rules
    pools:
      weight:
        # Implicit weight to the weight pool (below)
        values:
        - value: 5.5.5.5
          weight: 25
        - value: 6.6.6.6
        - value: 7.7.7.7
          weight: 75
    # Rules that assign queries to pools
    rules:
    # No geos means match all queries
    - pool: weight
  ttl: 60
  type: A
  # These values become a non-healthchecked default pool
  values:
  - 5.5.5.5
  - 6.6.6.6
  - 7.7.7.7
{
    "rrsets": [
        {
            "name": "your.zone.",
            "type": "A",
            "ttl": 60,
            "filters": [
                {
                    "type": "weighted_shuffle"
                },
                {
                    "limit": 1,
                    "type": "first_n"
                }
            ],
            "resource_records": [
                {
                    "content": [
                        "7.7.7.7"
                    ],
                    "meta": {
                        "weight": 75
                    }
                },
                {
                    "content": [
                        "6.6.6.6"
                    ],
                    "meta": {
                        "weight": 1
                    }
                },
                {
                    "content": [
                        "5.5.5.5"
                    ],
                    "meta": {
                        "weight": 25
                    }
                }
            ]
        }
     ]
}

Development

See the /script/ directory for some tools to help with the development process. They generally follow the Script to rule them all pattern. Most useful is ./script/bootstrap which will create a venv and install both the runtime and development related requirements. It will also hook up a pre-commit hook that covers most of what's run by CI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octodns-edgecenter-0.0.2.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

octodns_edgecenter-0.0.2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file octodns-edgecenter-0.0.2.tar.gz.

File metadata

  • Download URL: octodns-edgecenter-0.0.2.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for octodns-edgecenter-0.0.2.tar.gz
Algorithm Hash digest
SHA256 47ab37d739484bf2bdb8f4850f28f8380b2eb6e6561e03d44aa293d9d5ec5d98
MD5 bd0b5454a5e554c0cb30440b5ff4df75
BLAKE2b-256 ed1a53f20c4121913dfd4e778249d84711c81c64b13067e1f495e78396cfd120

See more details on using hashes here.

File details

Details for the file octodns_edgecenter-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for octodns_edgecenter-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0cb8df59a8d84d38199cc74e7be3a693436d0d608d90dcbdfa172c3ba090b4bd
MD5 6257ca4e62193f55fa14bd844243788e
BLAKE2b-256 03738d9b6c7ae4f3f81f619ace01ab1aef47585d24f089d8c971bad23d138797

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page