Coverage for ocp_resources/restore.py: 0%

16 statements  

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

1# -*- coding: utf-8 -*- 

2 

3from ocp_resources.resource import MissingRequiredArgumentError, NamespacedResource 

4 

5 

6class Restore(NamespacedResource): 

7 """ 

8 Restore object. 

9 """ 

10 

11 api_group = NamespacedResource.ApiGroup.VELERO_IO 

12 

13 def __init__( 

14 self, 

15 name=None, 

16 namespace=None, 

17 included_namespaces=None, 

18 backup_name=None, 

19 client=None, 

20 teardown=False, 

21 yaml_file=None, 

22 **kwargs, 

23 ): 

24 super().__init__( 

25 name=name, 

26 namespace=namespace, 

27 client=client, 

28 teardown=teardown, 

29 yaml_file=yaml_file, 

30 **kwargs, 

31 ) 

32 

33 self.included_namespaces = included_namespaces 

34 self.backup_name = backup_name 

35 

36 def to_dict(self) -> None: 

37 super().to_dict() 

38 

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

40 if not self.backup_name: 

41 raise MissingRequiredArgumentError(argument="backup_name") 

42 

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

44 self.res.update({ 

45 "spec": { 

46 "backupName": self.backup_name, 

47 } 

48 }) 

49 if self.included_namespaces: 

50 self.res["spec"]["includedNamespaces"] = self.included_namespaces