Skip to content

Commit 061a4b6

Browse files
committed
Add retentionPolicy in storage migration plan
1 parent d5e07db commit 061a4b6

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,23 @@ 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:
2425
namespaces (list[Any]): The virtual machines to migrate.
26+
Each namespace item can contain:
27+
- name (str): Namespace name
28+
- retentionPolicy (str, optional): Namespace-level retention policy (e.g., 'keepSource' or 'deleteSource')
29+
- virtualMachines (list): VMs to migrate
30+
retention_policy (str, optional): Spec-level retention policy for source volumes (e.g., 'keepSource' or 'deleteSource').
2531
2632
"""
2733
super().__init__(**kwargs)
2834

2935
self.namespaces = namespaces
36+
self.retention_policy = retention_policy
3037

3138
def to_dict(self) -> None:
3239

@@ -41,4 +48,7 @@ def to_dict(self) -> None:
4148

4249
_spec["namespaces"] = self.namespaces
4350

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

ocp_resources/virtual_machine_storage_migration_plan.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,19 @@ class VirtualMachineStorageMigrationPlan(NamespacedResource):
1717
def __init__(
1818
self,
1919
virtual_machines: list[Any] | None = None,
20+
retention_policy: str | None = None,
2021
**kwargs: Any,
2122
) -> None:
2223
r"""
2324
Args:
2425
virtual_machines (list[Any]): The virtual machines to migrate.
26+
retention_policy (str, optional): Spec-level retention policy for source volumes (e.g., 'keepSource' or 'deleteSource').
2527
2628
"""
2729
super().__init__(**kwargs)
2830

2931
self.virtual_machines = virtual_machines
32+
self.retention_policy = retention_policy
3033

3134
def to_dict(self) -> None:
3235

@@ -41,4 +44,7 @@ def to_dict(self) -> None:
4144

4245
_spec["virtualMachines"] = self.virtual_machines
4346

47+
if self.retention_policy is not None:
48+
_spec["retentionPolicy"] = self.retention_policy
49+
4450
# End of generated code

0 commit comments

Comments
 (0)