|
25 | 25 |
|
26 | 26 | class ConfigProcessor(object): |
27 | 27 |
|
28 | | - def process(self, cwd=None, path=None, filters=(), exclude_keys=(), enclosing_key=None, output_format="yaml", |
| 28 | + def process(self, cwd=None, path=None, filters=(), exclude_keys=(), enclosing_key=None, remove_enclosing_key=None, output_format="yaml", |
29 | 29 | print_data=False, output_file=None, skip_interpolations=False, skip_interpolation_validation=False, skip_secrets=False): |
30 | 30 |
|
31 | 31 | path = self.get_relative_path(path) |
@@ -73,7 +73,14 @@ def process(self, cwd=None, path=None, filters=(), exclude_keys=(), enclosing_ke |
73 | 73 | if not skip_interpolation_validation: |
74 | 74 | generator.validate_interpolations() |
75 | 75 |
|
76 | | - data = generator.add_enclosing_key(enclosing_key) if enclosing_key else generator.generated_data |
| 76 | + if enclosing_key: |
| 77 | + logger.info("Adding enclosing key {}".format(enclosing_key)) |
| 78 | + data = generator.add_enclosing_key(enclosing_key) |
| 79 | + elif remove_enclosing_key: |
| 80 | + logger.info("Removing enclosing key {}".format(remove_enclosing_key)) |
| 81 | + data = generator.remove_enclosing_key(remove_enclosing_key) |
| 82 | + else: |
| 83 | + data = generator.generated_data |
77 | 84 |
|
78 | 85 | formatted_data = generator.output_data(data, output_format) |
79 | 86 |
|
@@ -228,6 +235,9 @@ def output_data(self, data, output_format): |
228 | 235 | def add_enclosing_key(self, key): |
229 | 236 | return {key: self.generated_data} |
230 | 237 |
|
| 238 | + def remove_enclosing_key(self, key): |
| 239 | + return self.generated_data[key] |
| 240 | + |
231 | 241 | def filter_data(self, keys): |
232 | 242 | self.generated_data = {key: self.generated_data[key] for key in keys if key in self.generated_data} |
233 | 243 |
|
|
0 commit comments