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-1.1.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octodns_edgecenter-1.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file octodns_edgecenter-1.1.0.tar.gz.

File metadata

  • Download URL: octodns_edgecenter-1.1.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for octodns_edgecenter-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c9ecc30959c01ab5b16bb928c8e37a5b4ddddd4c805a2c1918a00c9752bb57e3
MD5 95f078afbc15583c0668105827603e62
BLAKE2b-256 0637e267a0426e699692a1874df36e6590413aa343009c0d155eb1db5f7821e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for octodns_edgecenter-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 709b925e22bc727b7dfdb44196a7279cc9b959d87a4863c3d318b8a0de918006
MD5 38b31a04f48bacdee5a668fdc976abb5
BLAKE2b-256 884ba8542a8fe30d7e6326a73cb9d5db8080a0845daf9083347236435734b8de

See more details on using hashes here.

Supported by

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