Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/c7n/config.py: 43%
23 statements
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-08 06:51 +0000
« 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
3import os
4import logging
6log = logging.getLogger('custodian.config')
9class Bag(dict):
10 def __getattr__(self, k):
11 try:
12 return self[k]
13 except KeyError:
14 raise AttributeError(k)
16 def __setattr__(self, k, v):
17 self[k] = v
20class Config(Bag):
22 def copy(self, **kw):
23 d = {}
24 d.update(self)
25 d.update(**kw)
26 return Config(d)
28 @classmethod
29 def empty(cls, **kw):
30 d = {}
31 d.update({
32 'region': os.environ.get('AWS_DEFAULT_REGION', 'us-east-1'),
33 'regions': (),
34 'cache': '',
35 'profile': None,
36 'account_id': None,
37 'assume_role': None,
38 'external_id': None,
39 'log_group': None,
40 'tracer': 'default',
41 'metrics_enabled': False,
42 'metrics': None,
43 'output_dir': '',
44 'cache_period': 0,
45 'dryrun': False,
46 'authorization_file': None})
47 d.update(kw)
48 return cls(d)