Skip to content

Commit bffccc5

Browse files
committed
handle additionalProperties in pack config
1 parent 4f28540 commit bffccc5

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

st2common/st2common/util/config_loader.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
from __future__ import absolute_import
1717
import copy
1818

19+
from collections import defaultdict
20+
1921
import six
2022

2123
from oslo_config import cfg
@@ -130,8 +132,14 @@ def _assign_dynamic_config_values(self, schema, config, parent_keys=None):
130132
# Inspect nested object properties
131133
if is_dictionary:
132134
parent_keys += [str(config_item_key)]
135+
additional_properties = schema_item.get("additionalProperties", {})
136+
if isinstance(additional_properties, dict):
137+
property_schema = defaultdict(additional_properties)
138+
else:
139+
property_schema = {}
140+
property_schema.update(schema_item.get("properties", {}))
133141
self._assign_dynamic_config_values(
134-
schema=schema_item.get("properties", {}),
142+
schema=property_schema,
135143
config=config[config_item_key],
136144
parent_keys=parent_keys,
137145
)

0 commit comments

Comments
 (0)