Coverage for ocp_resources/network_map.py: 0%
18 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
1from ocp_resources.utils.constants import TIMEOUT_4MINUTES
2from ocp_resources.resource import NamespacedResource
5class NetworkMap(NamespacedResource):
6 """
7 Migration Toolkit For Virtualization (MTV) NetworkMap object.
9 Args:
10 source_provider_name (str): MTV Source Provider CR name.
11 source_provider_namespace (str): MTV Source Provider CR namespace.
12 destination_provider_name (str): MTV Destination Provider CR name.
13 destination_provider_namespace (str): MTV Destination Provider CR namespace.
14 mapping (dict): Storage Resources Mapping
15 Exaple:
16 [ { "destination" : { "type": "pod",
17 "source" : { "id": "network-13" }},
19 { "destination" : { "name": "nad_cr_name",
20 "namespace": "nad_cr_namespace",
21 "type": "multus"},
22 "source" : { "name": "VM Netowrk" }},
24 ]
25 """
27 api_group = NamespacedResource.ApiGroup.FORKLIFT_KONVEYOR_IO
29 def __init__(
30 self,
31 name=None,
32 namespace=None,
33 mapping=None,
34 source_provider_name=None,
35 source_provider_namespace=None,
36 destination_provider_name=None,
37 destination_provider_namespace=None,
38 client=None,
39 teardown=True,
40 yaml_file=None,
41 delete_timeout=TIMEOUT_4MINUTES,
42 **kwargs,
43 ):
44 super().__init__(
45 name=name,
46 namespace=namespace,
47 client=client,
48 teardown=teardown,
49 yaml_file=yaml_file,
50 delete_timeout=delete_timeout,
51 **kwargs,
52 )
53 self.mapping = mapping
54 self.source_provider_name = source_provider_name
55 self.source_provider_namespace = source_provider_namespace
56 self.destination_provider_name = destination_provider_name
57 self.destination_provider_namespace = destination_provider_namespace
59 @property
60 def map_to_dict(self):
61 return {
62 "spec": {
63 "map": self.mapping,
64 "provider": {
65 "source": {
66 "name": self.source_provider_name,
67 "namespace": self.source_provider_namespace,
68 },
69 "destination": {
70 "name": self.destination_provider_name,
71 "namespace": self.destination_provider_namespace,
72 },
73 },
74 }
75 }
77 def to_dict(self) -> None:
78 super().to_dict()
79 if not self.kind_dict and not self.yaml_file:
80 self.res.update(self.map_to_dict)