Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/c7n/exceptions.py: 58%

19 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-12-08 06:51 +0000

1# Copyright The Cloud Custodian Authors. 

2# SPDX-License-Identifier: Apache-2.0 

3 

4try: 

5 from botocore.exceptions import ClientError 

6except ImportError: 

7 class ClientError(Exception): 

8 """dummy boto api error""" 

9 

10 

11class CustodianError(Exception): 

12 """Custodian Exception Base Class 

13 """ 

14 

15 

16class InvalidOutputConfig(CustodianError): 

17 """Invalid configuration for an output""" 

18 

19 

20class PolicySyntaxError(CustodianError): 

21 """Policy Syntax Error 

22 """ 

23 

24 

25class PolicyYamlError(PolicySyntaxError): 

26 """Policy Yaml Structural Error 

27 """ 

28 

29 

30class PolicyValidationError(PolicySyntaxError): 

31 """Policy Validation Error 

32 """ 

33 

34 

35class DeprecationError(PolicySyntaxError): 

36 """Policy using deprecated syntax 

37 """ 

38 

39 

40class PolicyExecutionError(CustodianError): 

41 """Error running a Policy. 

42 """ 

43 

44 

45class ResourceLimitExceeded(PolicyExecutionError): 

46 """The policy would have affected more resources than its limit. 

47 """ 

48 def __init__(self, msg, limit_type, limit, selection_count, population_count): 

49 msg = msg.format( 

50 limit=limit, 

51 selection_count=selection_count, 

52 population_count=population_count) 

53 super(ResourceLimitExceeded, self).__init__(msg) 

54 self.limit = limit 

55 self.limit_type = limit 

56 self.selection_count = selection_count 

57 self.population_count = population_count