in src/TemplateRefGenerator/Generators/MarkdownGenerator.cs [43:70]
public record GenerateResult(
GroupedTypes GroupedTypes,
ImmutableDictionary<string, string> FilesByPath);
public record ResourceMetadata(
string Provider,
string ResourceType,
string UnqualifiedResourceType,
string ApiVersion,
ResourceType Type);
public record NamedType(string Name, TypeBase Type);
public IEnumerable<GroupedTypes> GetGroupedTypes()
{
var resourceTypesByProvider = typeProvider.GetResourceTypes()
.GroupBy(x => Utils.GetProviderNamespace(x.resourceType), StringComparer.OrdinalIgnoreCase);
foreach (var providerGroup in resourceTypesByProvider)
{
var providerNamespace = providerGroup.Key;
var typesByApiVersion = providerGroup
.GroupBy(x => x.apiVersion, StringComparer.OrdinalIgnoreCase)
.ToImmutableDictionary(x => x.Key, x => x.Select(y => y.resourceType).ToImmutableArray(), StringComparer.OrdinalIgnoreCase);
yield return new(providerNamespace, typesByApiVersion);
}
}