Skip to content

Commit a7d7057

Browse files
feat(apple_silicon): adapt public API for automatic server deletion (#621)
Co-authored-by: Laure-di <[email protected]>
1 parent 60e4e39 commit a7d7057

File tree

6 files changed

+42
-2
lines changed

6 files changed

+42
-2
lines changed

scaleway-async/scaleway_async/applesilicon/v1alpha1/api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,13 +425,15 @@ async def update_server(
425425
server_id: str,
426426
zone: Optional[Zone] = None,
427427
name: Optional[str] = None,
428+
schedule_deletion: Optional[bool] = None,
428429
) -> Server:
429430
"""
430431
Update a server.
431432
Update the parameters of an existing Apple silicon server, specified by its server ID.
432433
:param server_id: UUID of the server you want to update.
433434
:param zone: Zone to target. If none is passed will use default zone from the config.
434435
:param name: Updated name for your server.
436+
:param schedule_deletion: Specify whether the server should be flagged for automatic deletion.
435437
:return: :class:`Server <Server>`
436438
437439
Usage:
@@ -453,6 +455,7 @@ async def update_server(
453455
server_id=server_id,
454456
zone=zone,
455457
name=name,
458+
schedule_deletion=schedule_deletion,
456459
),
457460
self.client,
458461
),

scaleway-async/scaleway_async/applesilicon/v1alpha1/marshalling.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ def unmarshal_Server(data: Any) -> Server:
270270
if field is not None:
271271
args["status"] = field
272272

273+
field = data.get("deletion_scheduled", None)
274+
if field is not None:
275+
args["deletion_scheduled"] = field
276+
273277
field = data.get("zone", None)
274278
if field is not None:
275279
args["zone"] = field
@@ -402,4 +406,7 @@ def marshal_UpdateServerRequest(
402406
if request.name is not None:
403407
output["name"] = request.name
404408

409+
if request.schedule_deletion is not None:
410+
output["schedule_deletion"] = request.schedule_deletion
411+
405412
return output

scaleway-async/scaleway_async/applesilicon/v1alpha1/types.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,11 @@ class Server:
230230
Current status of the server.
231231
"""
232232

233+
deletion_scheduled: bool
234+
"""
235+
Set to true to mark the server for automatic deletion depending on `deletable_at` date. Set to false to cancel an existing deletion schedule. Leave unset otherwise.
236+
"""
237+
233238
zone: Zone
234239
"""
235240
Zone of the server.
@@ -252,7 +257,7 @@ class Server:
252257

253258
deletable_at: Optional[datetime]
254259
"""
255-
Date on which the server was last deleted.
260+
Date from which the server can be deleted.
256261
"""
257262

258263

@@ -486,3 +491,8 @@ class UpdateServerRequest:
486491
"""
487492
Updated name for your server.
488493
"""
494+
495+
schedule_deletion: Optional[bool]
496+
"""
497+
Specify whether the server should be flagged for automatic deletion.
498+
"""

scaleway/scaleway/applesilicon/v1alpha1/api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,13 +425,15 @@ def update_server(
425425
server_id: str,
426426
zone: Optional[Zone] = None,
427427
name: Optional[str] = None,
428+
schedule_deletion: Optional[bool] = None,
428429
) -> Server:
429430
"""
430431
Update a server.
431432
Update the parameters of an existing Apple silicon server, specified by its server ID.
432433
:param server_id: UUID of the server you want to update.
433434
:param zone: Zone to target. If none is passed will use default zone from the config.
434435
:param name: Updated name for your server.
436+
:param schedule_deletion: Specify whether the server should be flagged for automatic deletion.
435437
:return: :class:`Server <Server>`
436438
437439
Usage:
@@ -453,6 +455,7 @@ def update_server(
453455
server_id=server_id,
454456
zone=zone,
455457
name=name,
458+
schedule_deletion=schedule_deletion,
456459
),
457460
self.client,
458461
),

scaleway/scaleway/applesilicon/v1alpha1/marshalling.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ def unmarshal_Server(data: Any) -> Server:
270270
if field is not None:
271271
args["status"] = field
272272

273+
field = data.get("deletion_scheduled", None)
274+
if field is not None:
275+
args["deletion_scheduled"] = field
276+
273277
field = data.get("zone", None)
274278
if field is not None:
275279
args["zone"] = field
@@ -402,4 +406,7 @@ def marshal_UpdateServerRequest(
402406
if request.name is not None:
403407
output["name"] = request.name
404408

409+
if request.schedule_deletion is not None:
410+
output["schedule_deletion"] = request.schedule_deletion
411+
405412
return output

scaleway/scaleway/applesilicon/v1alpha1/types.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,11 @@ class Server:
230230
Current status of the server.
231231
"""
232232

233+
deletion_scheduled: bool
234+
"""
235+
Set to true to mark the server for automatic deletion depending on `deletable_at` date. Set to false to cancel an existing deletion schedule. Leave unset otherwise.
236+
"""
237+
233238
zone: Zone
234239
"""
235240
Zone of the server.
@@ -252,7 +257,7 @@ class Server:
252257

253258
deletable_at: Optional[datetime]
254259
"""
255-
Date on which the server was last deleted.
260+
Date from which the server can be deleted.
256261
"""
257262

258263

@@ -486,3 +491,8 @@ class UpdateServerRequest:
486491
"""
487492
Updated name for your server.
488493
"""
494+
495+
schedule_deletion: Optional[bool]
496+
"""
497+
Specify whether the server should be flagged for automatic deletion.
498+
"""

0 commit comments

Comments
 (0)