in rostran/providers/terraform/template.py [0:0]
def _transform_prop_or_attr(self, value) -> (Any, bool):
if isinstance(value, list):
data = []
resolved = True
for v in value:
val, resolved_ = self._transform_prop_or_attr(v)
if resolved_ is False:
resolved = False
data.append(val)
return data, resolved
elif isinstance(value, dict):
if self.PROP_TYPE not in value:
data = {}
resolved = True
for k, v in value.items():
val, resolved_ = self._transform_prop_or_attr(v)
if resolved_ is False:
resolved = False
data[k] = val
return data, resolved
prop_type = value.get(self.PROP_TYPE)
if prop_type == self.PROP_TYPE_FUNC:
prop_args = value.get(self.PROP_ARGS)
prop_value = value.get(self.PROP_VALUE)
if prop_value == self.FUNC_GET_ATT:
return (
self._transform_func_get_att(prop_args[0], prop_args[1]),
False,
)
return None, True
return value, True