No description
Find a file
Jonas L 98022020a1
feat: add hcloud_iso_info module (#237)
* Added new command hcloud_isos_info.py to get informations from all ISOs on HETZNER cloud.

* continue iso_info implementation

* add changelog

* fixes and improvements

* remove return docs choices for ansible 2.12 support

* rebase changes

* fix wording

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>

* run tests in group3

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>

* docs: returned architecture field might be null

* unused/invalid community.general.ipfilter collection in tests

* update wording relevant -> supported

* apply rebase changes

---------

Co-authored-by: patlegu <3754859+patlegu@users.noreply.github.com>
Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
2023-07-04 09:54:53 +02:00
.azure-pipelines chore: setup pre-commit (#234) 2023-06-27 11:50:13 +02:00
.github/workflows chore: add antsibull-changelog lint pre-commit hook (#247) 2023-07-04 09:30:37 +02:00
changelogs feat: add hcloud_iso_info module (#237) 2023-07-04 09:54:53 +02:00
meta refactor: prefer true/false over yes/no (#226) 2023-06-21 10:49:54 +02:00
plugins feat: add hcloud_iso_info module (#237) 2023-07-04 09:54:53 +02:00
tests feat: add hcloud_iso_info module (#237) 2023-07-04 09:54:53 +02:00
.gitignore Implement Firewall Support (#63) 2021-03-11 11:07:41 +01:00
.gitlab-ci.yml chore: setup pre-commit (#234) 2023-06-27 11:50:13 +02:00
.pre-commit-config.yaml chore: add antsibull-changelog lint pre-commit hook (#247) 2023-07-04 09:30:37 +02:00
CHANGELOG.rst chore: prepare v1.14.0 (#233) 2023-06-22 14:17:50 +02:00
COPYING refactor: prefer true/false over yes/no (#226) 2023-06-21 10:49:54 +02:00
galaxy.yml chore: prepare v1.14.0 (#233) 2023-06-22 14:17:50 +02:00
pyproject.toml chore: setup pre-commit (#234) 2023-06-27 11:50:13 +02:00
README.md docs: add note about python compatibility (#230) 2023-06-21 10:38:46 +02:00

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.7 or greater.

Release notes

See here.

Documentation

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

Sample: ansible-doc hetzner.hcloud.hcloud_server shows the documentation for the hcloud_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 hcloud_server // Executed all integration tests for hcloud_server module

Releasing a new version

Generating changelog from fragments

  1. Check if the changelog fragments are available (there should be files in changelogs/fragments)
  2. Run antsibull-changelog release --version <version>, it should remove all fragments and change the changelogs/changlog.yaml and CHANGELOG.rst
  3. Push the changes to the main branch
  4. Tag the release through the Github UI, after this the Github Actions will run and publish the collection to Ansible Galaxy