-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix!: make datacenter
argument optional when creating a primary ip
#363
fix!: make datacenter
argument optional when creating a primary ip
#363
Conversation
This is a breaking change, but I'd argue it is a necessary bug fix. @apricote Should we release a v2, and try to pack a few breaking changes in addition to this one? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #363 +/- ##
=======================================
Coverage 92.96% 92.97%
=======================================
Files 64 64
Lines 2873 2874 +1
=======================================
+ Hits 2671 2672 +1
Misses 202 202 ☔ View full report in Codecov by Sentry. |
To be sure, this is breaking change for the reasons outlined in #223? Is it possible to just define the |
Sort of, adding the star in the argument list will help us to prevent this specific problem in the future indeed. But I am not sure if implementing #223 is a good idea right now, as it will break a LOT of functions.
Python does not allow having optional arguments before required arguments, we MUST move the required -client.primary_ips.create("ipv4", None, "my-ip", assignee_id=12345)
+client.primary_ips.create("ipv4", "my-ip", assignee_id=12345) -client.primary_ips.create("ipv4", datacenter, "my-ip")
+client.primary_ips.create("ipv4", "my-ip", datacenter) Using named arguments should be safe with the breaking change: client.primary_ips.create(type="ipv4", datacenter=None, name="my-ip", assignee_id=12345) |
This PR has been marked as stale because it has not had recent activity. The bot will close the PR if no further action occurs. |
8252f5c
to
3d34391
Compare
Create a primary ips assigned to a resource without having to pass the datacenter argument.
3d34391
to
ee62dea
Compare
🤖 I have created a release *beep* *boop* --- ## [2.0.0](v1.35.0...v2.0.0) (2024-07-03) ### ⚠ BREAKING CHANGES * return full rebuild response in `Client.servers.rebuild` ([#406](#406)) * make `datacenter` argument optional when creating a primary ip ([#363](#363)) * remove deprecated `include_wildcard_architecture` argument in `IsosClient.get_list` and `IsosClient.get_all` ([#402](#402)) * make `Client.request` `tries` a private argument ([#399](#399)) * make `Client.poll_interval` a private property ([#398](#398)) * return empty dict on empty responses in `Client.request` ([#400](#400)) * remove deprecated `hcloud.hcloud` module ([#401](#401)) * move `hcloud.__version__.VERSION` to `hcloud.__version__` ([#397](#397)) ### Features * add `trace_id` to API exceptions ([#404](#404)) ([8375261](8375261)) * allow using a custom poll_interval function ([#403](#403)) ([93eb56b](93eb56b)) * make `Client.poll_interval` a private property ([#398](#398)) ([d5f24db](d5f24db)) * make `Client.request` `tries` a private argument ([#399](#399)) ([428ea7e](428ea7e)) * move `hcloud.__version__.VERSION` to `hcloud.__version__` ([#397](#397)) ([4e3f638](4e3f638)), closes [#234](#234) * remove deprecated `hcloud.hcloud` module ([#401](#401)) ([db37e63](db37e63)) * remove deprecated `include_wildcard_architecture` argument in `IsosClient.get_list` and `IsosClient.get_all` ([#402](#402)) ([6b977e2](6b977e2)) * return empty dict on empty responses in `Client.request` ([#400](#400)) ([9f46adb](9f46adb)) * return full rebuild response in `Client.servers.rebuild` ([#406](#406)) ([1970d84](1970d84)) ### Bug Fixes * make `datacenter` argument optional when creating a primary ip ([#363](#363)) ([ebef774](ebef774)) ### Dependencies * update dependency coverage to >=7.5,<7.6 ([#386](#386)) ([5660691](5660691)) * update dependency mypy to >=1.10,<1.11 ([#387](#387)) ([35c933b](35c933b)) * update dependency myst-parser to v3 ([#385](#385)) ([9f18270](9f18270)) * update dependency pylint to >=3,<3.3 ([#391](#391)) ([4a6f005](4a6f005)) * update dependency pytest to >=8,<8.3 ([#390](#390)) ([584a36b](584a36b)) * update dependency sphinx to >=7.3.4,<7.4 ([#383](#383)) ([69c2e16](69c2e16)) * update pre-commit hook asottile/pyupgrade to v3.16.0 ([0ce5fbc](0ce5fbc)) * update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 ([5ef25ab](5ef25ab)) * update pre-commit hook psf/black-pre-commit-mirror to v24.4.0 ([0941fbf](0941fbf)) * update pre-commit hook psf/black-pre-commit-mirror to v24.4.1 ([fec08c5](fec08c5)) * update pre-commit hook psf/black-pre-commit-mirror to v24.4.2 ([#389](#389)) ([2b2e21f](2b2e21f)) * update pre-commit hook pycqa/flake8 to v7.1.0 ([3bc651d](3bc651d)) ### Documentation * add v2 upgrade notes ([#405](#405)) ([c77f771](c77f771)) * cx11 is name, not an id ([#381](#381)) ([b745d40](b745d40)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Create a primary ips assigned to a resource without having to pass the datacenter argument.