Coverage for ocp_resources/pod_disruption_budget.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 PodDisruptionBudget(NamespacedResource):
6 """
7 PodDisruptionBudget object
8 """
10 api_group = NamespacedResource.ApiGroup.POLICY
12 def __init__(
13 self,
14 name=None,
15 namespace=None,
16 client=None,
17 min_available=None,
18 max_unavailable=None,
19 selector=None,
20 teardown=True,
21 yaml_file=None,
22 delete_timeout=TIMEOUT_4MINUTES,
23 **kwargs,
24 ):
25 super().__init__(
26 name=name,
27 namespace=namespace,
28 client=client,
29 teardown=teardown,
30 yaml_file=yaml_file,
31 delete_timeout=delete_timeout,
32 **kwargs,
33 )
34 self.min_available = min_available
35 self.max_unavailable = max_unavailable
36 self.selector = selector
38 def to_dict(self) -> None:
39 super().to_dict()
40 if not self.kind_dict and not self.yaml_file:
41 update_dict = {
42 "spec": {
43 "selector": self.selector,
44 },
45 }
47 if self.min_available is not None:
48 update_dict["spec"]["minAvailable"] = self.min_available
50 if self.max_unavailable is not None:
51 update_dict["spec"]["maxUnavailable"] = self.max_unavailable
53 self.res.update(update_dict)