Coverage for ocp_resources/reclaim_space_job.py: 0%

24 statements  

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

1from __future__ import annotations 

2from typing import Any, Optional 

3from ocp_resources.resource import NamespacedResource, MissingRequiredArgumentError 

4 

5 

6class ReclaimSpaceJob(NamespacedResource): 

7 """ 

8 https://github.com/csi-addons/kubernetes-csi-addons/blob/main/apis/csiaddons/v1alpha1/reclaimspacejob_types.go 

9 """ 

10 

11 api_group = NamespacedResource.ApiGroup.CSIADDONS_OPENSHIFT_IO 

12 

13 def __init__( 

14 self, 

15 backoff_limit: Optional[int] = None, 

16 target: Optional[dict[str, Any]] = None, 

17 retry_deadline_seconds: Optional[int] = None, 

18 timeout_seconds_reclaim_job: int | None = None, 

19 **kwargs: Any, 

20 ) -> None: 

21 """ 

22 Args: 

23 backoff_limit (int, Optional): The number of retries for a reclaim space job. 

24 target (Optional, dict): Volume target on which the operation would be performed. 

25 retryDeadlineSeconds (int, Optional): Duration in seconds relative to the start time that the 

26 operation may be retried. 

27 timeout_seconds_reclaim_job (int, Optional): Specifies the timeout in seconds for the grpc request sent to 

28 the CSI driver. 

29 """ 

30 super().__init__( 

31 **kwargs, 

32 ) 

33 self.backoff_limit = backoff_limit 

34 self.target = target 

35 self.retry_deadline_seconds = retry_deadline_seconds 

36 self.timeout_seconds_reclaim_job = timeout_seconds_reclaim_job 

37 

38 def to_dict(self) -> None: 

39 super().to_dict() 

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

41 if not self.target: 

42 raise MissingRequiredArgumentError(argument="target") 

43 self.res["spec"] = {"target": self.target} 

44 spec_dict = self.res["spec"] 

45 if self.retry_deadline_seconds: 

46 spec_dict["retryDeadlineSeconds"] = self.retry_deadline_seconds 

47 if self.timeout_seconds_reclaim_job: 

48 spec_dict["timeout"] = self.timeout_seconds_reclaim_job 

49 if self.backoff_limit: 

50 spec_dict["backOffLimit"] = self.backoff_limit