##### SUMMARY
When managing a tcp/udp firewall rule, provide a clear error message
when the port is missing from the rule.
Closes#344
##### ISSUE TYPE
- Bugfix Pull Request
##### COMPONENT NAME
hcloud_firewall
##### SUMMARY
In the `hcloud_load_balancer_service` return data, the
`health_check.http.certificates` field must be named
`health_check.http.status_codes`.
https://docs.hetzner.cloud/#load-balancers-get-a-load-balancerFixes#332
##### ISSUE TYPE
- Bugfix Pull Request
##### COMPONENT NAME
hcloud_load_balancer_service
##### SUMMARY
The current release process for this project requires multiple manual
local steps to prepare and then tag the release. This introduces the
standard release-please workflow we have in most of our integrations.
Release-please will open a new PR whenever there is a releasable change
and it updates the CHANGELOG & other files automatically in this PR.
Once the PR is merged a new tag is created.
This repository has some additional complexity as it uses
`antsibull-changelog` to maintain the user-facing changelog. This is
implemented ina second job in the `release-please` workflow which
executes when the release-please PR is updated and then runs
`antsibull-changelog release` against the version. The resulting changes
are pushed as a second commit to the same PR.
##### SUMMARY
Prepare v2.1.1 release.
This should also trigger a new publish process, since 2.1.0 never had
the change to be published to ansible-galaxy.
##### SUMMARY
after deprecating "server type" warning should be shown but due to error
in string message there is crash.
```
File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 942, in <module>
File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 925, in main
File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 858, in present_server
File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 405, in _create_server
File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 541, in _get_server_type
File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 558, in _check_and_warn_deprecated_server
TypeError: %i format: a real number is required, not str
```
##### ISSUE TYPE
- Bugfix Pull Request
##### COMPONENT NAME
hcloud_server
---------
Co-authored-by: jo <ljonas@riseup.net>
##### SUMMARY
Fixes#302
The feature was missing, this make the floating_ip_info module consistent with what is expected to be implemented.
##### ISSUE TYPE
- Feature Pull Request
##### COMPONENT NAME
floating_ip_info
* 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>
* feat(server_type_info): return deprecation info
Co-authored-by: jo <ljonas@riseup.net>
* feat(server): show warning if server-type is deprecated
Co-authored-by: jo <ljonas@riseup.net>
---------
Co-authored-by: jo <ljonas@riseup.net>
When using a deprecated image with the "allow_deprecated_image" flag,
the script would crash because the string interpolation was not done
correctly. The brackes were in the wrong place.
Error would look like this:
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: unsupported operand type(s) for %: 'NoneType' and 'str'
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/home/julian/.ansible/tmp/ansible-tmp-1686564668.6136558-165294-192879183382787/AnsiballZ_hcloud_server.py\", line 107, in <module>\n _ansiballz_main()\n File \"/home/julian/.ansible/tmp/ansible-tmp-1686564668.6136558-165294-192879183382787/AnsiballZ_hcloud_server.py\", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/julian/.ansible/tmp/ansible-tmp-1686564668.6136558-165294-192879183382787/AnsiballZ_hcloud_server.py\", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.hetzner.hcloud.plugins.modules.hcloud_server', init_globals=dict(_module_fqn='ansible_collections.hetzner.hcloud.plugins.modules.hcloud_server', _modlib_path=modlib_path),\n File \"/nix/store/95cxzy2hpizr23343b8bskl4yacf4b3l-python3-3.10.11/lib/python3.10/runpy.py\", line 224, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/nix/store/95cxzy2hpizr23343b8bskl4yacf4b3l-python3-3.10.11/lib/python3.10/runpy.py\", line 96, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/nix/store/95cxzy2hpizr23343b8bskl4yacf4b3l-python3-3.10.11/lib/python3.10/runpy.py\", line 86, in _run_code\n exec(code, run_globals)\n File \"/run/user/1000/ansible_hcloud_server_payload_1g2rf66q/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py\", line 927, in <module>\n File \"/run/user/1000/ansible_hcloud_server_payload_1g2rf66q/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py\", line 908, in main\n File \"/run/user/1000/ansible_hcloud_server_payload_1g2rf66q/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py\", line 843, in present_server\n File \"/run/user/1000/ansible_hcloud_server_payload_1g2rf66q/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py\", line 411, in _create_server\n File \"/run/user/1000/ansible_hcloud_server_payload_1g2rf66q/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py\", line 518, in _get_image\nTypeError: unsupported operand type(s) for %: 'NoneType' and 'str'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
Make sure that we only log the deprecation warning if force_upgrade was actually
set. Right now it also logs because a default value for the field is set.
* feat: add architecture fields for image & server type
* feat: filter images by architecture
* feat: select right image by arch on server create & rebuild
* feat(inventory): add architecture field to returned servers
* docs: add changelog for arm features
* chore: prepare v1.11.0
* fix(server): prevent backups from being disabled when undefined
With an existing server with backups enabled and the state being either
present, started, stopped, restarted or rebuild and the backups module
parameter not set, the module would disable backups and in turn delete
all existing backups.
The correct behaviour (leave backups untouched when parameter not set)
is implemented by this commit. Strong typing would have prevented this.
* test: verify fix works
---------
Co-authored-by: Julian Tölle <julian.toelle@hetzner-cloud.de>