Skip to content

Commit c11d844

Browse files
authored
feat(k8s): add versions deprecation+eol dates (#1280)
1 parent 0f9f59e commit c11d844

File tree

4 files changed

+52
-0
lines changed

4 files changed

+52
-0
lines changed

scaleway-async/scaleway_async/k8s/v1/marshalling.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,22 @@ def unmarshal_Version(data: Any) -> Version:
313313
else:
314314
args["available_kubelet_args"] = {}
315315

316+
field = data.get("deprecated_at", None)
317+
if field is not None:
318+
args["deprecated_at"] = (
319+
parser.isoparse(field) if isinstance(field, str) else field
320+
)
321+
else:
322+
args["deprecated_at"] = None
323+
324+
field = data.get("end_of_life_at", None)
325+
if field is not None:
326+
args["end_of_life_at"] = (
327+
parser.isoparse(field) if isinstance(field, str) else field
328+
)
329+
else:
330+
args["end_of_life_at"] = None
331+
316332
return Version(**args)
317333

318334

scaleway-async/scaleway_async/k8s/v1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,16 @@ class Version:
796796
Supported kubelet arguments for this version.
797797
"""
798798

799+
deprecated_at: Optional[datetime] = None
800+
"""
801+
Date from which this version will no longer be available for provisioning.
802+
"""
803+
804+
end_of_life_at: Optional[datetime] = None
805+
"""
806+
Date from which any remaining clusters on this version will begin to be forcibly upgraded to the next minor version.
807+
"""
808+
799809

800810
@dataclass
801811
class Cluster:

scaleway/scaleway/k8s/v1/marshalling.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,22 @@ def unmarshal_Version(data: Any) -> Version:
313313
else:
314314
args["available_kubelet_args"] = {}
315315

316+
field = data.get("deprecated_at", None)
317+
if field is not None:
318+
args["deprecated_at"] = (
319+
parser.isoparse(field) if isinstance(field, str) else field
320+
)
321+
else:
322+
args["deprecated_at"] = None
323+
324+
field = data.get("end_of_life_at", None)
325+
if field is not None:
326+
args["end_of_life_at"] = (
327+
parser.isoparse(field) if isinstance(field, str) else field
328+
)
329+
else:
330+
args["end_of_life_at"] = None
331+
316332
return Version(**args)
317333

318334

scaleway/scaleway/k8s/v1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,16 @@ class Version:
796796
Supported kubelet arguments for this version.
797797
"""
798798

799+
deprecated_at: Optional[datetime] = None
800+
"""
801+
Date from which this version will no longer be available for provisioning.
802+
"""
803+
804+
end_of_life_at: Optional[datetime] = None
805+
"""
806+
Date from which any remaining clusters on this version will begin to be forcibly upgraded to the next minor version.
807+
"""
808+
799809

800810
@dataclass
801811
class Cluster:

0 commit comments

Comments
 (0)