Coverage for ocp_resources/controller_revision.py: 0%

18 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-30 10:48 +0200

1from ocp_resources.resource import MissingRequiredArgumentError, NamespacedResource 

2 

3 

4class ControllerRevision(NamespacedResource): 

5 """ 

6 https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/controller-revision-v1/ 

7 """ 

8 

9 api_group = NamespacedResource.ApiGroup.APPS 

10 

11 def __init__( 

12 self, 

13 owner_references=None, 

14 revision_object=None, 

15 revision=None, 

16 **kwargs, 

17 ): 

18 """ 

19 Args: 

20 owner_references (list, optional): List of objects depended on this object. 

21 revision_object (object, optional): the Data Object representing the state. 

22 revision (int64): indicates the revision of the state represented by Data. 

23 """ 

24 super().__init__(**kwargs) 

25 self.owner_references = owner_references 

26 self.revision_object = revision_object 

27 self.revision = revision 

28 

29 def to_dict(self) -> None: 

30 super().to_dict() 

31 if not self.kind_dict and not self.yaml_file: 

32 if not self.revision: 

33 raise MissingRequiredArgumentError(argument="revision") 

34 self.res.update({"revision": self.revision}) 

35 

36 if self.owner_references: 

37 self.res.setdefault("metadata", {}).update({"ownerReference": self.owner_references}) 

38 if self.revision_object: 

39 self.res.update({"data": self.revision_object.res})