in src/TemplateRefGenerator/Generators/CodeSampleGenerator.cs [303:321]
private static GenerateResult GenerateTerraform(MarkdownGenerator.ResourceMetadata resource, ImmutableArray<MarkdownGenerator.NamedType> namedTypes)
{
var mainSample = GetStringBuilderResult(sb => GenerateTerraform(resource, sb, 0, resource.Type, "", new()));
var discriminatedSamples = new Dictionary<DiscriminatedObjectType, ImmutableArray<DiscriminatedObjectSample>>();
foreach (var discriminatedObject in namedTypes.Select(x => x.Type).OfType<DiscriminatedObjectType>())
{
var samples = new List<DiscriminatedObjectSample>();
foreach (var element in discriminatedObject.Elements)
{
var discSample = GetStringBuilderResult(sb => GenerateTerraform(resource, sb, 0, element.Value.Type, null, new()));
samples.Add(new(discSample, element.Key));
}
discriminatedSamples[discriminatedObject] = [.. samples];
}
return new(mainSample, discriminatedSamples.ToImmutableDictionary());
}