Skip to content

Commit e03ce1d

Browse files
authored
Merge pull request #188 from sarahbx/pod_disruption_budget
Add PodDisruptionBudget class
2 parents 438938c + 2e8ac98 commit e03ce1d

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from ocp_resources.resource import NamespacedResource
2+
3+
4+
class PodDisruptionBudget(NamespacedResource):
5+
"""
6+
PodDisruptionBudget object
7+
"""
8+
9+
api_group = NamespacedResource.ApiGroup.POLICY
10+
11+
def __init__(
12+
self,
13+
name=None,
14+
namespace=None,
15+
client=None,
16+
min_available=None,
17+
max_unavailable=None,
18+
selector=None,
19+
teardown=True,
20+
yaml_file=None,
21+
):
22+
super().__init__(
23+
name=name,
24+
namespace=namespace,
25+
client=client,
26+
teardown=teardown,
27+
yaml_file=yaml_file,
28+
)
29+
self.min_available = min_available
30+
self.max_unavailable = max_unavailable
31+
self.selector = selector
32+
33+
def to_dict(self):
34+
res = super().to_dict()
35+
if self.yaml_file:
36+
return res
37+
38+
update_dict = {
39+
"spec": {
40+
"selector": self.selector,
41+
},
42+
}
43+
44+
if self.min_available is not None:
45+
update_dict["spec"]["minAvailable"] = self.min_available
46+
47+
if self.max_unavailable is not None:
48+
update_dict["spec"]["maxUnavailable"] = self.max_unavailable
49+
50+
res.update(update_dict)
51+
52+
return res

ocp_resources/resource.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ class ApiGroup:
300300
OPERATORS_COREOS_COM = "operators.coreos.com"
301301
OS_TEMPLATE_KUBEVIRT_IO = "os.template.kubevirt.io"
302302
PACKAGES_OPERATORS_COREOS_COM = "packages.operators.coreos.com"
303+
POLICY = "policy"
303304
PROJECT_OPENSHIFT_IO = "project.openshift.io"
304305
RBAC_AUTHORIZATION_K8S_IO = "rbac.authorization.k8s.io"
305306
RIPSAW_CLOUDBULLDOZER_IO = "ripsaw.cloudbulldozer.io"

0 commit comments

Comments
 (0)