Skip to content

Commit fae5aac

Browse files
committed
create more specific update method for typing
If we supply a patch, we expect to get a resource back and if not we do not expect to get a resource back. This makes it more clear typing wise when we'll have a resource or not. Change-Id: Ic3d104752fc7b1083f7b7d2029b4c69c7955a2f8 Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
1 parent 1db9382 commit fae5aac

11 files changed

Lines changed: 34 additions & 10 deletions

File tree

ironicclient/common/base.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,30 @@ def _list_primitives(
371371
global_request_id=global_request_id,
372372
)
373373

374+
@overload
375+
def _update(
376+
self,
377+
resource_id: str,
378+
patch: None,
379+
method: str = 'PATCH',
380+
os_ironic_api_version: str | None = None,
381+
global_request_id: str | None = None,
382+
params: dict[str, Any] | None = None,
383+
) -> None:
384+
...
385+
386+
@overload
387+
def _update(
388+
self,
389+
resource_id: str,
390+
patch: list[dict[str, Any]],
391+
method: str = 'PATCH',
392+
os_ironic_api_version: str | None = None,
393+
global_request_id: str | None = None,
394+
params: dict[str, Any] | None = None,
395+
) -> ResourceT:
396+
...
397+
374398
def _update(
375399
self,
376400
resource_id: str,

ironicclient/v1/allocation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def update(
151151
patch: list[dict[str, Any]],
152152
os_ironic_api_version: str | None = None,
153153
global_request_id: str | None = None,
154-
) -> base.Resource | None:
154+
) -> base.Resource:
155155
"""Updates the Allocation. Only 'name' and 'extra' field are allowed.
156156
157157
:param allocation_id: The UUID or name of an allocation.

ironicclient/v1/chassis.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def update(
6868
patch: list[dict[str, Any]],
6969
os_ironic_api_version: str | None = None,
7070
global_request_id: str | None = None,
71-
) -> base.Resource | None:
71+
) -> base.Resource:
7272
return self._update(
7373
resource_id=chassis_id,
7474
patch=patch,

ironicclient/v1/deploy_template.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def update(
6464
patch: list[dict[str, Any]],
6565
os_ironic_api_version: str | None = None,
6666
global_request_id: str | None = None,
67-
) -> base.Resource | None:
67+
) -> base.Resource:
6868
return self._update(
6969
resource_id=template_id,
7070
patch=patch,

ironicclient/v1/driver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def update(
5252
http_method: str = 'PATCH',
5353
os_ironic_api_version: str | None = None,
5454
global_request_id: str | None = None,
55-
) -> base.Resource | None:
55+
) -> base.Resource:
5656
return self._update(
5757
resource_id=driver_name,
5858
patch=patch,

ironicclient/v1/inspection_rule.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def update(
6565
patch: list[dict[str, Any]],
6666
os_ironic_api_version: str | None = None,
6767
global_request_id: str | None = None,
68-
) -> base.Resource | None:
68+
) -> base.Resource:
6969
return self._update(
7070
resource_id=rule_id,
7171
patch=patch,

ironicclient/v1/port.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def update(
9696
patch: list[dict[str, Any]],
9797
os_ironic_api_version: str | None = None,
9898
global_request_id: str | None = None,
99-
) -> Port | None:
99+
) -> Port:
100100
return self._update(
101101
resource_id=port_id,
102102
patch=patch,

ironicclient/v1/portgroup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def update(
130130
patch: list[dict[str, Any]],
131131
os_ironic_api_version: str | None = None,
132132
global_request_id: str | None = None,
133-
) -> Portgroup | None:
133+
) -> Portgroup:
134134
"""Update the Portgroup.
135135
136136
:param portgroup_id: The UUID or name of a portgroup.

ironicclient/v1/runbook.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def update(
6666
patch: list[dict[str, Any]],
6767
os_ironic_api_version: str | None = None,
6868
global_request_id: str | None = None,
69-
) -> base.Resource | None:
69+
) -> base.Resource:
7070
return self._update(
7171
resource_id=runbook_id,
7272
patch=patch,

ironicclient/v1/volume_connector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def update(
6666
patch: list[dict[str, Any]],
6767
os_ironic_api_version: str | None = None,
6868
global_request_id: str | None = None,
69-
) -> base.Resource | None:
69+
) -> base.Resource:
7070
return self._update(
7171
resource_id=volume_connector_id,
7272
patch=patch,

0 commit comments

Comments
 (0)