2023-08-22 12:47:51 +00:00
[![Galaxy version ](https://img.shields.io/badge/dynamic/json?label=galaxy&prefix=v&url=https://galaxy.ansible.com/api/v2/collections/hetzner/hcloud/&query=latest_version.version )](https://galaxy.ansible.com/hetzner/hcloud)
[![GitHub version ](https://img.shields.io/github/v/release/ansible-collections/hetzner.hcloud )](https://github.com/ansible-collections/hetzner.hcloud/releases)
[![Build Status ](https://dev.azure.com/ansible/hetzner.hcloud/_apis/build/status/ci?branchName=main )](https://dev.azure.com/ansible/hetzner.hcloud/_build?definitionId=35)
2021-03-05 16:01:25 +00:00
[![Codecov ](https://img.shields.io/codecov/c/github/ansible-collections/hetzner.hcloud )](https://codecov.io/gh/ansible-collections/hetzner.hcloud)
2020-03-09 13:36:01 +00:00
2023-06-21 08:38:46 +00:00
# Ansible Collection: hetzner.hcloud
2020-04-14 06:34:22 +00:00
Ansible Hetzner Cloud Collection for controlling your Hetzner Cloud Resources.
2020-06-29 11:53:01 +00:00
2023-06-21 08:38:46 +00:00
### Python version compatibility
2023-07-19 12:28:21 +00:00
This collection depends on the [hcloud ](https://github.com/hetznercloud/hcloud-python ) library. Due to the [hcloud ](https://github.com/hetznercloud/hcloud-python ) Python Support Policy this collection requires Python 3.8 or greater.
2023-06-21 08:38:46 +00:00
2020-06-29 11:53:01 +00:00
## Release notes
See [here ](https://github.com/ansible-collections/hetzner.hcloud/tree/master/CHANGELOG.rst ).
2023-07-11 11:23:22 +00:00
### 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.
2021-03-18 10:04:05 +00:00
## 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:
2020-06-29 11:53:01 +00:00
2021-03-18 10:04:05 +00:00
```
ansible-test integration --color --local -vvv hcloud_server // Executed all integration tests for hcloud_server module
```
2020-06-29 11:53:01 +00:00
2021-03-18 10:04:05 +00:00
## Releasing a new version
2020-06-29 11:53:01 +00:00
2023-09-05 12:49:05 +00:00
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.