Jonas L.
c665629f7e
refactor: reuse exponential_backoff_function from hcloud-python ( #535 )
...
Replace the local function with the exponential_backoff_function from
hcloud-python
2024-07-25 16:20:23 +02:00
Jonas L
19e586fa22
feat: use exponential backoff algorithm when polling actions ( #524 )
...
##### SUMMARY
Replace the constant poll interval of 1 second, with a truncated
exponential back off algorithm with jitter.
Below is a suite of poll interval (in seconds) generated by the new
algorithm:
```
1.49
2.14
5.46
6.51
6.57
5.57
5.98
7.13
6.59
7.10
5.54
5.03
6.56
5.96
6.72
7.21
7.05
5.31
5.60
6.33
6.82
5.42
6.08
6.60
TOTAL: 140.77
```
2024-07-04 15:07:05 +02:00
renovate[bot]
9adb8b3981
chore(deps): update dependency hcloud to v2 ( #523 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hcloud](https://togithub.com/hetznercloud/hcloud-python )
([changelog](https://togithub.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md ))
| `1.35.0` -> `2.0.1` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>
###
[`v2.0.1`](https://togithub.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#201-2024-07-03 )
[Compare
Source](https://togithub.com/hetznercloud/hcloud-python/compare/v2.0.0...v2.0.1 )
##### Bug Fixes
- `assignee_type` is required when creating a primary ip
([#​409](https://togithub.com/hetznercloud/hcloud-python/issues/409 ))
([bce5e94](bce5e940e2 ))
- clean unused arguments in the `Client.servers.rebuild` method
([#​407](https://togithub.com/hetznercloud/hcloud-python/issues/407 ))
([6d33c3c](6d33c3cff5 ))
- details are optional in API errors
([#​411](https://togithub.com/hetznercloud/hcloud-python/issues/411 ))
([f1c6594](f1c6594dee ))
- rename `trace_id` variable to `correlation_id`
([#​408](https://togithub.com/hetznercloud/hcloud-python/issues/408 ))
([66a0f54](66a0f54699 ))
###
[`v2.0.0`](https://togithub.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#200-2024-07-03 )
[Compare
Source](https://togithub.com/hetznercloud/hcloud-python/compare/v1.35.0...v2.0.0 )
##### ⚠ BREAKING CHANGES
- return full rebuild response in `Client.servers.rebuild`
([#​406](https://togithub.com/hetznercloud/hcloud-python/issues/406 ))
- make `datacenter` argument optional when creating a primary ip
([#​363](https://togithub.com/hetznercloud/hcloud-python/issues/363 ))
- remove deprecated `include_wildcard_architecture` argument in
`IsosClient.get_list` and `IsosClient.get_all`
([#​402](https://togithub.com/hetznercloud/hcloud-python/issues/402 ))
- make `Client.request` `tries` a private argument
([#​399](https://togithub.com/hetznercloud/hcloud-python/issues/399 ))
- make `Client.poll_interval` a private property
([#​398](https://togithub.com/hetznercloud/hcloud-python/issues/398 ))
- return empty dict on empty responses in `Client.request`
([#​400](https://togithub.com/hetznercloud/hcloud-python/issues/400 ))
- remove deprecated `hcloud.hcloud` module
([#​401](https://togithub.com/hetznercloud/hcloud-python/issues/401 ))
- move `hcloud.__version__.VERSION` to `hcloud.__version__`
([#​397](https://togithub.com/hetznercloud/hcloud-python/issues/397 ))
##### Features
- add `trace_id` to API exceptions
([#​404](https://togithub.com/hetznercloud/hcloud-python/issues/404 ))
([8375261](8375261da3 ))
- allow using a custom poll_interval function
([#​403](https://togithub.com/hetznercloud/hcloud-python/issues/403 ))
([93eb56b](93eb56ba4d ))
- make `Client.poll_interval` a private property
([#​398](https://togithub.com/hetznercloud/hcloud-python/issues/398 ))
([d5f24db](d5f24db281 ))
- make `Client.request` `tries` a private argument
([#​399](https://togithub.com/hetznercloud/hcloud-python/issues/399 ))
([428ea7e](428ea7e3be ))
- move `hcloud.__version__.VERSION` to `hcloud.__version__`
([#​397](https://togithub.com/hetznercloud/hcloud-python/issues/397 ))
([4e3f638](4e3f638862 )),
closes
[#​234](https://togithub.com/hetznercloud/hcloud-python/issues/234 )
- remove deprecated `hcloud.hcloud` module
([#​401](https://togithub.com/hetznercloud/hcloud-python/issues/401 ))
([db37e63](db37e633eb ))
- remove deprecated `include_wildcard_architecture` argument in
`IsosClient.get_list` and `IsosClient.get_all`
([#​402](https://togithub.com/hetznercloud/hcloud-python/issues/402 ))
([6b977e2](6b977e2da5 ))
- return empty dict on empty responses in `Client.request`
([#​400](https://togithub.com/hetznercloud/hcloud-python/issues/400 ))
([9f46adb](9f46adb946 ))
- return full rebuild response in `Client.servers.rebuild`
([#​406](https://togithub.com/hetznercloud/hcloud-python/issues/406 ))
([1970d84](1970d84bec ))
##### Bug Fixes
- make `datacenter` argument optional when creating a primary ip
([#​363](https://togithub.com/hetznercloud/hcloud-python/issues/363 ))
([ebef774](ebef77464c ))
##### Dependencies
- update dependency coverage to >=7.5,<7.6
([#​386](https://togithub.com/hetznercloud/hcloud-python/issues/386 ))
([5660691](5660691ebd ))
- update dependency mypy to >=1.10,<1.11
([#​387](https://togithub.com/hetznercloud/hcloud-python/issues/387 ))
([35c933b](35c933bd21 ))
- update dependency myst-parser to v3
([#​385](https://togithub.com/hetznercloud/hcloud-python/issues/385 ))
([9f18270](9f18270489 ))
- update dependency pylint to >=3,<3.3
([#​391](https://togithub.com/hetznercloud/hcloud-python/issues/391 ))
([4a6f005](4a6f005cb0 ))
- update dependency pytest to >=8,<8.3
([#​390](https://togithub.com/hetznercloud/hcloud-python/issues/390 ))
([584a36b](584a36b658 ))
- update dependency sphinx to >=7.3.4,<7.4
([#​383](https://togithub.com/hetznercloud/hcloud-python/issues/383 ))
([69c2e16](69c2e16073 ))
- update pre-commit hook asottile/pyupgrade to v3.16.0
([0ce5fbc](0ce5fbccba ))
- update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0
([5ef25ab](5ef25ab396 ))
- update pre-commit hook psf/black-pre-commit-mirror to v24.4.0
([0941fbf](0941fbfab2 ))
- update pre-commit hook psf/black-pre-commit-mirror to v24.4.1
([fec08c5](fec08c5323 ))
- update pre-commit hook psf/black-pre-commit-mirror to v24.4.2
([#​389](https://togithub.com/hetznercloud/hcloud-python/issues/389 ))
([2b2e21f](2b2e21f613 ))
- update pre-commit hook pycqa/flake8 to v7.1.0
([3bc651d](3bc651d50d ))
##### Documentation
- add v2 upgrade notes
([#​405](https://togithub.com/hetznercloud/hcloud-python/issues/405 ))
([c77f771](c77f771e2b ))
- cx11 is name, not an id
([#​381](https://togithub.com/hetznercloud/hcloud-python/issues/381 ))
([b745d40](b745d4049f ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View
repository job log
[here](https://developer.mend.io/github/ansible-collections/hetzner.hcloud ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuOSIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2024-07-03 15:05:12 +02:00
Jonas L
e781f48f15
chore: add fail_on_invalid_params helper ( #470 )
...
##### SUMMARY
Add a small helper to validate parameters while executing the module.
---------
Co-authored-by: Justin Jeffery <justin.jeffery@ipfabric.io>
2024-03-11 18:03:26 +01:00
Jonas L
df8c3b6a59
refactor: add future annotations imports ( #398 )
...
##### SUMMARY
This adds future annotations imports to benefit from the modern python
typing system.
2023-11-23 14:53:10 +01:00
Jonas L
7c9fbf85a7
feat: rename api_endpoint module argument ( #395 )
...
##### SUMMARY
Make the api endpoint module argument consistent with the api token.
- Renamed the `endpoint` module argument to `api_endpoint`, backward
compatibility is maintained using an alias.
- Allow to configure it using the `HCLOUD_ENDPOINT` env var.
This makes the inventory config and the modules config a bit more
consistent.
##### ISSUE TYPE
- Feature Pull Request
2023-11-21 10:13:21 +01:00
Jonas L
f47e49c132
test: fix AnsibleHCloud module unit tests ( #337 )
...
##### SUMMARY
We had a race condition between 2 Pull Requests (#336 and #325 ) and
everything didn't go through the test pipeline. Fixing it now.
2023-09-26 15:44:49 +02:00
Jonas L
94190ae6cb
refactor: move module vars out of __init__ ( #336 )
...
##### SUMMARY
- move module vars out of `__init__`
- add modules type hints
- catch hcloud exception for api calls
2023-09-26 09:41:01 +02:00
Jonas L
a0e91d942a
refactor: rename ansible module classes ( #284 )
...
* refactor: rename Hcloud class to AnsibleHCloud
* refactor: rename AnsibleHCloud* modules
* refactor: remove Hcloud deprecation wrapper
2023-08-04 09:24:14 +02:00
Jonas L
c15377c672
feat: improve hcloud library exceptions handling ( #243 )
2023-07-20 14:34:48 +02:00