No description
Find a file
Jonas L 9905bd0e01
feat(inventory): improve api options (#397)
##### SUMMARY

- Rename the inventory `token` option to `api_token`, use aliases for
backward compatibility.
- Rename the inventory `token_env` option to `api_token_env`, use
aliases for backward compatibility.
- Deprecate the inventory `api_token_env` option, suggest using a lookup
plugin (`{{ lookup('ansible.builtin.env', 'YOUR_ENV_VAR') }}`) or use
the well-known `HCLOUD_TOKEN` environment variable name.
- Let ansible parse the options, remove homemade options parsing.
- Improve and document the existing `api_endpoint` option.

##### ISSUE TYPE

- Feature Pull Request

##### COMPONENT NAME

hcloud inventory
2023-11-23 14:29:27 +01:00
.azure-pipelines ci: reduce usage when pushing release-please updates (#362) 2023-10-18 10:27:13 +02:00
.github/workflows ci: pin python version to 3.11 (#378) 2023-10-30 17:30:11 +01:00
changelogs feat(inventory): improve api options (#397) 2023-11-23 14:29:27 +01:00
docs/docsite feat: add hetzner.hcloud.all action group (#396) 2023-11-23 14:16:05 +01:00
examples feat: add hetzner.hcloud.all action group (#396) 2023-11-23 14:16:05 +01:00
meta feat: add hetzner.hcloud.all action group (#396) 2023-11-23 14:16:05 +01:00
plugins feat(inventory): improve api options (#397) 2023-11-23 14:29:27 +01:00
scripts feat: remove hcloud_ prefix from all modules names (#390) 2023-11-20 13:21:23 +01:00
tests feat: rename api_endpoint module argument (#395) 2023-11-21 10:13:21 +01:00
.ansible-lint feat: add hetzner.hcloud.all action group (#396) 2023-11-23 14:16:05 +01:00
.flake8 refactor: use f-strings (#310) 2023-08-24 11:27:40 +02:00
.gitignore feat: vendor hcloud python dependency (#244) 2023-07-11 11:15:08 +02:00
.gitlab-ci.yml ci: explicitly declare pre-commit job (#313) 2023-08-25 16:12:47 +02:00
.pre-commit-config.yaml deps: update pre-commit hook pre-commit/mirrors-prettier to v3.1.0 (#387) 2023-11-13 12:29:49 +01:00
CHANGELOG.rst chore(main): release 2.3.0 (#382) 2023-11-07 12:59:43 +01:00
COPYING refactor: prefer true/false over yes/no (#226) 2023-06-21 10:49:54 +02:00
galaxy.yml chore(main): release 2.3.0 (#382) 2023-11-07 12:59:43 +01:00
Makefile chore: add venv dependency to lint-docs target (#350) 2023-10-09 13:42:59 +02:00
pyproject.toml chore: add dev config (#326) 2023-09-15 10:25:22 +02:00
README.md refactor: start using new modules names (#393) 2023-11-21 09:40:11 +01:00
renovate.json chore: update renovate bot config (#355) 2023-10-12 10:16:48 +02:00
requirements.txt chore: pre-commit improvements (#348) 2023-10-06 16:02:46 +02:00

Galaxy version GitHub version Build Status Codecov

Ansible Collection: hetzner.hcloud

Ansible Hetzner Cloud Collection for controlling your Hetzner Cloud Resources.

Python version compatibility

This collection depends on the hcloud library. Due to the hcloud Python Support Policy this collection requires Python 3.8 or greater.

Release notes

See here.

Release policy

The main branch is used for the development of the latest versions of the collections, and may contain breaking changes. The stable-* branches (e.g. stable-1 for the 1.x.y releases) are used to cut additional minor or patch releases if needed, but we do not provide official support for multiple versions of the collection.

Documentation

The documentation for all modules are available through ansible-doc.

Sample: ansible-doc hetzner.hcloud.server shows the documentation for the server module.

For all modules that were part of Ansible directly (before Ansible 2.11) we also have the documentation published in the Ansible documentation: https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/

Development

Requirements

You should place the collection (clone the repository) into the Ansible collection path. Normally this is ~/.ansible/collections/ansible_collections/<namespace>/<collection, so for our collection it would be: ~/.ansible/collections/ansible_collections/hetzner/hcloud.

git clone git@github.com:ansible-collections/hetzner.hcloud.git ~/.ansible/collections/ansible_collections/hetzner/hcloud

After this you just need ansible installed.

Testing

Testing is done via ansible-test. Make sure to have a cloud-config-hcloud.ini file in tests/integration which contains the hcloud API token:

[default]
hcloud_api_token=<token>

After this you should be able to use ansible-test integration to perform the integration tests for a specific module. Sample:

ansible-test integration --color --local  -vvv hetzner.hcloud.server // Executed all integration tests for server module

Releasing a new version

If there are releasable changes, release-please will open a PR on GitHub with the proposed version. When this PR is merged, release-please will tag the release.