in src/AWS.Deploy.Common/Recipes/OptionSettingItem.ValueOverride.cs [23:61]
public object GetValue(IDictionary<string, object> replacementTokens, IDictionary<string, bool>? displayableOptionSettings = null)
{
if (_value != null)
{
return _value;
}
if (Type == OptionSettingValueType.Object)
{
var objectValue = new Dictionary<string, object>();
foreach (var childOptionSetting in ChildOptionSettings)
{
var childValue = childOptionSetting.GetValue(replacementTokens);
if (
displayableOptionSettings != null &&
displayableOptionSettings.TryGetValue(childOptionSetting.Id, out bool isDisplayable))
{
if (!isDisplayable)
continue;
}
objectValue[childOptionSetting.Id] = childValue;
}
return objectValue;
}
if (DefaultValue == null)
{
return string.Empty;
}
if (DefaultValue is string defaultValueString)
{
return ApplyReplacementTokens(replacementTokens, defaultValueString);
}
return DefaultValue;
}