in internal/doc/doc.go [91:128]
func alzlibReadmeMdArchetypes(md *markdown.Markdown, az *alzlib.AlzLib) *markdown.Markdown {
archetypes := az.Archetypes()
if len(archetypes) == 0 {
return md
}
md = md.H2("Archetypes").LF()
for _, a := range archetypes {
archetype := az.Archetype(a)
pds := archetype.PolicyDefinitions.ToSlice()
slices.Sort(pds)
psds := archetype.PolicySetDefinitions.ToSlice()
slices.Sort(psds)
rds := archetype.RoleDefinitions.ToSlice()
slices.Sort(rds)
pas := archetype.PolicyAssignments.ToSlice()
slices.Sort(pas)
if len(pds) > 0 || len(psds) > 0 || len(pas) > 0 || len(rds) > 0 {
md = md.H3("archetype `" + archetype.Name() + "`").LF()
if len(pds) > 0 {
md.H4(a+" policy definitions").LF().
Details(fmt.Sprintf("%d policy definitions", archetype.PolicyDefinitions.Cardinality()), "\n- "+strings.Join(pds, "\n- ")).LF()
}
if len(psds) > 0 {
md = md.H4(a+" policy set definitions").LF().
Details(fmt.Sprintf("%d policy set definitions", archetype.PolicySetDefinitions.Cardinality()), "\n- "+strings.Join(psds, "\n- ")).LF()
}
if len(pas) > 0 {
md = md.H4(a+" policy assignments").LF().
Details(fmt.Sprintf("%d policy assignments", archetype.PolicyAssignments.Cardinality()), "\n- "+strings.Join(pas, "\n- ")).LF()
}
if len(rds) > 0 {
md = md.H4(a+" role definitions").LF().
Details(fmt.Sprintf("%d role definitions", archetype.RoleDefinitions.Cardinality()), "\n- "+strings.Join(rds, "\n- ")).LF()
}
}
}
return md
}