Ansible role to manage Gandi resources
|
||
---|---|---|
defaults | ||
library | ||
meta | ||
tasks | ||
test | ||
.drone.yml | ||
.gitignore | ||
LICENSE | ||
mypy.ini | ||
play.yml | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
tox.ini |
autonomic.gandi
Ansible libraries for managing Gandi resources.
Example
---
- hosts: localhost
gather_facts: false
connection: local
tasks:
- name: Create foobar.autonomic.zone
gandi_dns:
gandi_rest_token: abc...
domain: foobar.autonomic.zone
ipv4: 94.130.105.60
state: present
Features
- Create a new DNS entry
- Delete an existing DNS entry
- Update an existing DNS entry
Requirements
- Ansible >= 2.9.6
- dns-lexicon >= 3.3.19 (if using
gandi_dns
module)
$ pip install ansible==2.6.9 "dns-lexicon[gandi]==3.3.19"
These should be present on the localhost where you run Ansible.
Gandi DNS Setup
If you want to use the gandi_dns
module you need to prepare the environment.
export PROVIDER="gandi"
export LEXICON_GANDI_AUTH_TOKEN="${pass show users/decentral1se/gandi/api_key)"
export LEXICON_GANDI_API_PROTOCOL="rest"
You can test that everything is working by running the following.
$ lexicon gandi list autonomic.zone A
The gandi_dns
module will provide the PROVIDER
and
LEXICON_GANDI_API_PROTOCOL
environment variables internally so you only need
to pass LEXICON_GANDI_AUTH_TOKEN
as the gandi_rest_token
argument to the
task or expose it in the environment and it will be picked up.
Usage
Include an entry in your requirements.yml
like so.
- src: https://git.autonomic.zone/autonomic-cooperative/autonomic.gandi
version: 0.0.2
name: autonomic.gandi
See the releases for which is the latest version.
Then make sure to download the role with ansible-galaxy install -r requirements.yml
.