in src/PSRule.Rules.Azure/Data/Template/TemplateVisitor.cs [557:608]
internal bool TryParameterDefault(string parameterName, ParameterType type, out JToken value)
{
value = default;
if (ParameterDefaults == null)
return false;
switch (type.Type)
{
case TypePrimitive.String:
case TypePrimitive.SecureString:
if (ParameterDefaults.TryGetString(parameterName, out var s))
{
value = new JValue(s);
return true;
}
break;
case TypePrimitive.Bool:
if (ParameterDefaults.TryGetBool(parameterName, out var b))
{
value = new JValue(b);
return true;
}
break;
case TypePrimitive.Int:
if (ParameterDefaults.TryGetLong(parameterName, out var i))
{
value = new JValue(i);
return true;
}
break;
case TypePrimitive.Array:
if (ParameterDefaults.TryGetArray(parameterName, out var a))
{
value = a;
return true;
}
break;
case TypePrimitive.Object:
case TypePrimitive.SecureObject:
if (ParameterDefaults.TryGetObject(parameterName, out var o))
{
value = o;
return true;
}
break;
}
return false;
}