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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ab37d739484bf2bdb8f4850f28f8380b2eb6e6561e03d44aa293d9d5ec5d98 |
|
MD5 | bd0b5454a5e554c0cb30440b5ff4df75 |
|
BLAKE2b-256 | ed1a53f20c4121913dfd4e778249d84711c81c64b13067e1f495e78396cfd120 |
File details
Details for the file octodns_edgecenter-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: octodns_edgecenter-0.0.2-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cb8df59a8d84d38199cc74e7be3a693436d0d608d90dcbdfa172c3ba090b4bd |
|
MD5 | 6257ca4e62193f55fa14bd844243788e |
|
BLAKE2b-256 | 03738d9b6c7ae4f3f81f619ace01ab1aef47585d24f089d8c971bad23d138797 |