diff --git a/scaleway-async/scaleway_async/k8s/v1/marshalling.py b/scaleway-async/scaleway_async/k8s/v1/marshalling.py index 99b266f87..da45c3df3 100644 --- a/scaleway-async/scaleway_async/k8s/v1/marshalling.py +++ b/scaleway-async/scaleway_async/k8s/v1/marshalling.py @@ -1042,6 +1042,14 @@ def unmarshal_NodeMetadata(data: Any) -> NodeMetadata: else None ) + field = data.get("provider_id", None) + if field is not None: + args["provider_id"] = field + + field = data.get("resolvconf_path", None) + if field is not None: + args["resolvconf_path"] = field + field = data.get("has_gpu", None) if field is not None: args["has_gpu"] = field @@ -1054,6 +1062,22 @@ def unmarshal_NodeMetadata(data: Any) -> NodeMetadata: if field is not None: args["repo_uri"] = field + field = data.get("installer_tags", None) + if field is not None: + args["installer_tags"] = field + + field = data.get("updater_bin_url", None) + if field is not None: + args["updater_bin_url"] = field + + field = data.get("updater_bin_version", None) + if field is not None: + args["updater_bin_version"] = field + + field = data.get("updater_bin_path", None) + if field is not None: + args["updater_bin_path"] = field + return NodeMetadata(**args) diff --git a/scaleway-async/scaleway_async/k8s/v1/types.py b/scaleway-async/scaleway_async/k8s/v1/types.py index 226043722..3fd4adef2 100644 --- a/scaleway-async/scaleway_async/k8s/v1/types.py +++ b/scaleway-async/scaleway_async/k8s/v1/types.py @@ -1876,12 +1876,24 @@ class NodeMetadata: node_taints: List[NodeMetadataCoreV1Taint] + provider_id: str + + resolvconf_path: str + has_gpu: bool external_ip: str repo_uri: str + installer_tags: List[str] + + updater_bin_url: str + + updater_bin_version: str + + updater_bin_path: str + @dataclass class RebootNodeRequest: diff --git a/scaleway-core/scaleway_core/utils/resolve_one_of.py b/scaleway-core/scaleway_core/utils/resolve_one_of.py index 98ab293f5..a829d602f 100644 --- a/scaleway-core/scaleway_core/utils/resolve_one_of.py +++ b/scaleway-core/scaleway_core/utils/resolve_one_of.py @@ -28,6 +28,13 @@ def resolve_one_of( # Get the first non-empty default for possibility in possibilities: if possibility.default is not None: + if possibility.marshal_func is not None: + # When no actual value, call with None as value + return { + possibility.param: possibility.marshal_func( + None, possibility.default + ) + } return {possibility.param: possibility.default} # If required, raise an error diff --git a/scaleway/scaleway/k8s/v1/marshalling.py b/scaleway/scaleway/k8s/v1/marshalling.py index 99b266f87..da45c3df3 100644 --- a/scaleway/scaleway/k8s/v1/marshalling.py +++ b/scaleway/scaleway/k8s/v1/marshalling.py @@ -1042,6 +1042,14 @@ def unmarshal_NodeMetadata(data: Any) -> NodeMetadata: else None ) + field = data.get("provider_id", None) + if field is not None: + args["provider_id"] = field + + field = data.get("resolvconf_path", None) + if field is not None: + args["resolvconf_path"] = field + field = data.get("has_gpu", None) if field is not None: args["has_gpu"] = field @@ -1054,6 +1062,22 @@ def unmarshal_NodeMetadata(data: Any) -> NodeMetadata: if field is not None: args["repo_uri"] = field + field = data.get("installer_tags", None) + if field is not None: + args["installer_tags"] = field + + field = data.get("updater_bin_url", None) + if field is not None: + args["updater_bin_url"] = field + + field = data.get("updater_bin_version", None) + if field is not None: + args["updater_bin_version"] = field + + field = data.get("updater_bin_path", None) + if field is not None: + args["updater_bin_path"] = field + return NodeMetadata(**args) diff --git a/scaleway/scaleway/k8s/v1/types.py b/scaleway/scaleway/k8s/v1/types.py index 226043722..522209162 100644 --- a/scaleway/scaleway/k8s/v1/types.py +++ b/scaleway/scaleway/k8s/v1/types.py @@ -1876,12 +1876,23 @@ class NodeMetadata: node_taints: List[NodeMetadataCoreV1Taint] + provider_id: str + + resolvconf_path: str + has_gpu: bool external_ip: str repo_uri: str + installer_tags: List[str] + + updater_bin_url: str + + updater_bin_version: str + + updater_bin_path: str @dataclass class RebootNodeRequest: