## Akamai Edge DNS provider for octoDNS
An [octoDNS](https://github.com/octodns/octodns/) provider that targets [Akamai Edge DNS](https://www.akamai.com/products/edge-dns).
### Installation
#### Command line
```
pip install octodns-edgedns
```
#### 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-edgedns==0.0.1
```
##### 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-edgedns.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_edgedns
```
### Configuration
```yaml
providers:
edgedns:
class: octodns_edgedns.AkamaiProvider
client_secret: env/AKAMAI_CLIENT_SECRET
host: env/AKAMAI_HOST
access_token: env/AKAMAI_ACCESS_TOKEN
client_token: env/AKAMAI_CLIENT_TOKEN
#contract_id: env/AKAMAI_CONTRACT_ID (optional)
```
The first four variables above can be hidden in environment variables and octoDNS will automatically search for them in the shell. It is possible to also hard-code into the config file: eg, contract_id.
The first four values can be found by generating credentials: https://control.akamai.com/
Configure > Organization > Manage APIs > New API Client for me
Select appropriate group, and fill relevant fields. For API Service Name, select DNS-Zone Record Management and then set appropriate Access level (Read-Write to make changes). Then select the "New Credential" button to generate values for above
The contract_id paramater is optional, and only required for creating a new zone. If the zone being managed already exists in Akamai for the user in question, then this paramater is not needed.
### Support Information
#### Records
AkamaiProvider supports A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, and TXT.
#### Dynamic
AkamaiProvider does not support dynamic records.
### Development
See the [/script/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-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.
Raw data
{
"_id": null,
"home_page": "https://github.com/octodns/octodns-edgedns",
"name": "octodns-edgedns",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Ross McFarland",
"author_email": "rwmcfa1@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/67/57/b444f39e86009b0899975f897c07751c2c4d45d06be0c3186e086e429e0b/octodns-edgedns-0.0.4.tar.gz",
"platform": null,
"description": "## Akamai Edge DNS provider for octoDNS\n\nAn [octoDNS](https://github.com/octodns/octodns/) provider that targets [Akamai Edge DNS](https://www.akamai.com/products/edge-dns).\n\n### Installation\n\n#### Command line\n\n```\npip install octodns-edgedns\n```\n\n#### requirements.txt/setup.py\n\nPinning specific versions or SHAs is recommended to avoid unplanned upgrades.\n\n##### Versions\n\n```\n# Start with the latest versions and don't just copy what's here\noctodns==0.9.14\noctodns-edgedns==0.0.1\n```\n\n##### SHAs\n\n```\n# Start with the latest/specific versions and don't just copy what's here\n-e git+https://git@github.com/octodns/octodns.git@9da19749e28f68407a1c246dfdf65663cdc1c422#egg=octodns\n-e git+https://git@github.com/octodns/octodns-edgedns.git@ec9661f8b335241ae4746eea467a8509205e6a30#egg=octodns_edgedns\n```\n\n### Configuration\n\n```yaml\nproviders:\n edgedns:\n class: octodns_edgedns.AkamaiProvider\n client_secret: env/AKAMAI_CLIENT_SECRET\n host: env/AKAMAI_HOST\n access_token: env/AKAMAI_ACCESS_TOKEN\n client_token: env/AKAMAI_CLIENT_TOKEN\n #contract_id: env/AKAMAI_CONTRACT_ID (optional)\n```\n\nThe first four variables above can be hidden in environment variables and octoDNS will automatically search for them in the shell. It is possible to also hard-code into the config file: eg, contract_id.\n\nThe first four values can be found by generating credentials: https://control.akamai.com/\n\nConfigure > Organization > Manage APIs > New API Client for me\n\nSelect appropriate group, and fill relevant fields. For API Service Name, select DNS-Zone Record Management and then set appropriate Access level (Read-Write to make changes). Then select the \"New Credential\" button to generate values for above\n\nThe contract_id paramater is optional, and only required for creating a new zone. If the zone being managed already exists in Akamai for the user in question, then this paramater is not needed.\n\n### Support Information\n\n#### Records\n\nAkamaiProvider supports A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SPF, SRV, SSHFP, and TXT.\n\n#### Dynamic\n\nAkamaiProvider does not support dynamic records.\n\n### Development\n\nSee the [/script/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-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.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Akamai Edge DNS provider for octoDNS",
"version": "0.0.4",
"project_urls": {
"Homepage": "https://github.com/octodns/octodns-edgedns"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "19ad74113a99214474b3788b2bcd60c15217dfa38ea0546430e3d4092ede5deb",
"md5": "31c7800fdeb0cef677cf7ea7b19cff05",
"sha256": "e2da502cf862044fe19e8fd50151fe5c4a4481316af936e1e9bbf572fdfa8e3c"
},
"downloads": -1,
"filename": "octodns_edgedns-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "31c7800fdeb0cef677cf7ea7b19cff05",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 7165,
"upload_time": "2024-01-27T23:51:28",
"upload_time_iso_8601": "2024-01-27T23:51:28.063836Z",
"url": "https://files.pythonhosted.org/packages/19/ad/74113a99214474b3788b2bcd60c15217dfa38ea0546430e3d4092ede5deb/octodns_edgedns-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6757b444f39e86009b0899975f897c07751c2c4d45d06be0c3186e086e429e0b",
"md5": "7e75588e504d5f3913924fb9b6707f57",
"sha256": "7e9a6f2cf51f0855ab5ccedc5c186889e563cc7f5d9b9c77ac59fb1bb8fd7d95"
},
"downloads": -1,
"filename": "octodns-edgedns-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "7e75588e504d5f3913924fb9b6707f57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 9097,
"upload_time": "2024-01-27T23:51:29",
"upload_time_iso_8601": "2024-01-27T23:51:29.354388Z",
"url": "https://files.pythonhosted.org/packages/67/57/b444f39e86009b0899975f897c07751c2c4d45d06be0c3186e086e429e0b/octodns-edgedns-0.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-27 23:51:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "octodns",
"github_project": "octodns-edgedns",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "octodns-edgedns"
}