Skip to content

Commit 664affc

Browse files
committed
Add retentionPolicy in storage migration plan
1 parent d5e07db commit 664affc

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,25 @@ class MultiNamespaceVirtualMachineStorageMigrationPlan(NamespacedResource):
1717
def __init__(
1818
self,
1919
namespaces: list[Any] | None = None,
20+
retention_policy: str | None = None,
2021
**kwargs: Any,
2122
) -> None:
2223
r"""
2324
Args:
24-
namespaces (list[Any]): The virtual machines to migrate.
25+
namespaces (list[Any]): The virtual machines to migrate per namespace.
26+
27+
retention_policy (str): RetentionPolicy indicates whether to keep or delete the source
28+
DataVolume/PVC after each VM migration completes in each created
29+
namespace plan. When set to "deleteSource", every created
30+
VirtualMachineStorageMigrationPlan will have retentionPolicy set
31+
to deleteSource. When "keepSource" or unset, child plans keep
32+
their per-namespace spec or default to keepSource.
2533
2634
"""
2735
super().__init__(**kwargs)
2836

2937
self.namespaces = namespaces
38+
self.retention_policy = retention_policy
3039

3140
def to_dict(self) -> None:
3241

@@ -41,4 +50,7 @@ def to_dict(self) -> None:
4150

4251
_spec["namespaces"] = self.namespaces
4352

53+
if self.retention_policy is not None:
54+
_spec["retentionPolicy"] = self.retention_policy
55+
4456
# End of generated code

ocp_resources/virtual_machine_storage_migration_plan.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,24 @@ class VirtualMachineStorageMigrationPlan(NamespacedResource):
1616

1717
def __init__(
1818
self,
19+
retention_policy: str | None = None,
1920
virtual_machines: list[Any] | None = None,
2021
**kwargs: Any,
2122
) -> None:
2223
r"""
2324
Args:
25+
retention_policy (str): RetentionPolicy indicates whether to keep or delete the source
26+
DataVolume/PVC after each VM migration completes. When
27+
"keepSource" (default), the source is preserved. When
28+
"deleteSource", the source DataVolume is deleted if it exists,
29+
otherwise the source PVC is deleted.
30+
2431
virtual_machines (list[Any]): The virtual machines to migrate.
2532
2633
"""
2734
super().__init__(**kwargs)
2835

36+
self.retention_policy = retention_policy
2937
self.virtual_machines = virtual_machines
3038

3139
def to_dict(self) -> None:
@@ -41,4 +49,7 @@ def to_dict(self) -> None:
4149

4250
_spec["virtualMachines"] = self.virtual_machines
4351

52+
if self.retention_policy is not None:
53+
_spec["retentionPolicy"] = self.retention_policy
54+
4455
# End of generated code

0 commit comments

Comments
 (0)