Coverage for ocp_resources/role_binding.py: 0%
34 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
1# -*- coding: utf-8 -*-
2from ocp_resources.utils.constants import TIMEOUT_4MINUTES
3from ocp_resources.resource import NamespacedResource
6class RoleBinding(NamespacedResource):
7 """
8 RoleBinding object
9 """
11 api_group = NamespacedResource.ApiGroup.RBAC_AUTHORIZATION_K8S_IO
13 def __init__(
14 self,
15 name=None,
16 namespace=None,
17 client=None,
18 subjects_kind=None,
19 subjects_name=None,
20 subjects_namespace=None,
21 subjects_api_group=None,
22 role_ref_kind=None,
23 role_ref_name=None,
24 teardown=True,
25 yaml_file=None,
26 delete_timeout=TIMEOUT_4MINUTES,
27 **kwargs,
28 ):
29 super().__init__(
30 name=name,
31 namespace=namespace,
32 client=client,
33 teardown=teardown,
34 yaml_file=yaml_file,
35 delete_timeout=delete_timeout,
36 **kwargs,
37 )
38 self.subjects_kind = subjects_kind
39 self.subjects_name = subjects_name
40 self.subjects_namespace = subjects_namespace
41 self.subjects_api_group = subjects_api_group
42 self.role_ref_kind = role_ref_kind
43 self.role_ref_name = role_ref_name
45 def to_dict(self) -> None:
46 super().to_dict()
47 if not self.kind_dict and not self.yaml_file:
48 subjects = {}
49 if self.subjects_kind:
50 subjects["kind"] = self.subjects_kind
51 if self.subjects_name:
52 subjects["name"] = self.subjects_name
53 if self.subjects_namespace:
54 subjects["namespace"] = self.subjects_namespace
55 if self.subjects_api_group:
56 subjects["apiGroup"] = self.subjects_api_group
57 if subjects:
58 self.res["subjects"] = [subjects]
60 roleref = {}
61 if self.role_ref_kind:
62 roleref["kind"] = self.role_ref_kind
63 if self.role_ref_name:
64 roleref["name"] = self.role_ref_name
65 if roleref:
66 roleref["apiGroup"] = self.api_group
67 self.res["roleRef"] = roleref