[sdk/python] Translate property dep keys.
The map of property dependencies the Python SDK receives from the
engine uses `camelCase` property keys, but the SDK performs lookups
using `snake_case` property keys. Fix this by translating the map's keys
from `camelCase` to `snake_case` prior to performing any lookups.
@@ -768,6 +768,10 @@ def resolve_outputs(res: 'Resource',
all_properties[translated_key] = translated_value
+ translated_deps = {}
+ for key, property_deps in deps.items():
+ translated_deps[translate(key)] = property_deps
+
if not settings.is_dry_run() or settings.is_legacy_apply_enabled():
for key, value in list(serialized_props.items()):
translated_key = translate(key)
@@ -781,7 +785,7 @@ def resolve_outputs(res: 'Resource',
path=_Path(translated_key,
resource=f'{res._name}'))
- resolve_properties(resolvers, all_properties, deps)
+ resolve_properties(resolvers, all_properties, translated_deps)
def resolve_properties(resolvers: Dict[str, Resolver], all_properties: Dict[str, Any], deps: Mapping[str, Set['Resource']]):
