2 Commits
0.0.4 ... show

Author SHA1 Message Date
767316125d Pass in the right env var too
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-29 14:46:16 +02:00
995592a555 Add example and drop non-existant extra
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-29 14:41:47 +02:00
3 changed files with 20 additions and 13 deletions

View File

@ -12,6 +12,18 @@ Ansible libraries for managing Gandi resources.
gather_facts: false gather_facts: false
connection: local connection: local
tasks: tasks:
- name: Prepare Python dependencies
become: true
apt:
name: python3-pip
state: present
- name: Install dns-lexicon system wide
become: true
pip:
name: dns-lexicon==3.3.19
executable: /usr/bin/pip3
- name: Create foobar.autonomic.zone - name: Create foobar.autonomic.zone
gandi_dns: gandi_dns:
gandi_rest_token: abc... gandi_rest_token: abc...
@ -32,17 +44,11 @@ Ansible libraries for managing Gandi resources.
- [dns-lexicon >= 3.3.19](https://pypi.org/project/dns-lexicon/) (if using `gandi_dns` module) - [dns-lexicon >= 3.3.19](https://pypi.org/project/dns-lexicon/) (if using `gandi_dns` module)
```bash ```bash
$ pip install ansible==2.6.9 "dns-lexicon[gandi]==3.3.19" $ pip install ansible==2.6.9 dns-lexicon==3.3.19
``` ```
These should be present on the localhost where you run Ansible. These should be present on the localhost where you run Ansible.
You can also get `dns-lexicon` via `apt`.
```bash
$ apt install -y python3-lexicon
```
## Gandi DNS Setup ## Gandi DNS Setup
If you want to use the `gandi_dns` module you need to prepare the environment. If you want to use the `gandi_dns` module you need to prepare the environment.
@ -69,7 +75,7 @@ task or expose it in the environment and it will be picked up.
Include an entry in your `requirements.yml` like so. Include an entry in your `requirements.yml` like so.
```yaml ```yaml
- src: https://git.autonomic.zone/autonomic-cooperative/autonomic.gandi/archive/0.0.4.tar.gz - src: https://git.autonomic.zone/autonomic-cooperative/autonomic.gandi/archive/0.0.5.tar.gz
name: autonomic.gandi name: autonomic.gandi
``` ```

View File

@ -70,18 +70,19 @@ def error_msg(domain):
).format(domain=domain) ).format(domain=domain)
def get_env(): def get_env(module):
"""Build environment for running command-line commands.""" """Build environment for running command-line commands."""
env = os.environ.copy() env = os.environ.copy()
env["PROVIDER"] = "gandi" env["PROVIDER"] = "gandi"
env["LEXICON_GANDI_API_PROTOCOL"] = "rest" env["LEXICON_GANDI_API_PROTOCOL"] = "rest"
env["LEXICON_GANDI_AUTH_TOKEN"] = module.params["gandi_rest_token"]
return env return env
def retrieve_domain_info(module): def retrieve_domain_info(module):
"""Retrieve all information about a specific domain.""" """Retrieve all information about a specific domain."""
domain = module.params["domain"] domain = module.params["domain"]
env = get_env() env = get_env(module)
try: try:
return json.loads( return json.loads(
@ -98,7 +99,7 @@ def create_domain(module):
"""Create a new DNS entry.""" """Create a new DNS entry."""
domain = module.params["domain"] domain = module.params["domain"]
ipv4 = module.params["ipv4"] ipv4 = module.params["ipv4"]
env = get_env() env = get_env(module)
try: try:
return json.loads( return json.loads(
@ -127,7 +128,7 @@ def delete_domain(module):
"""Delete an existing DNS entry.""" """Delete an existing DNS entry."""
domain = module.params["domain"] domain = module.params["domain"]
ipv4 = module.params["ipv4"] ipv4 = module.params["ipv4"]
env = get_env() env = get_env(module)
try: try:
return json.loads( return json.loads(

View File

@ -13,7 +13,7 @@ include_trailing_comma = True
[metadata] [metadata]
name = autonomic.gandi name = autonomic.gandi
author = decentral1se author = decentral1se
version = 0.0.4 version = 0.0.5
[options] [options]
packages = find: packages = find: