in dev/import-beats/policy_templates.go [29:70]
func (ptc policyTemplateContent) toMetadataPolicyTemplates() []packages.PolicyTemplate {
var inputTypes []string
var packageTypes []string
for k, input := range ptc.inputs {
inputTypes = append(inputTypes, k)
packageTypes = append(packageTypes, input.packageType)
}
packageTypes = uniqueStringValues(packageTypes)
sort.Strings(packageTypes)
var title, description string
if len(packageTypes) == 2 {
title = toPolicyTemplateTitleForTwoTypes(ptc.moduleTitle, packageTypes[0], packageTypes[1])
description = toPolicyTemplateDescriptionForTwoTypes(ptc.moduleTitle, packageTypes[0], packageTypes[1])
} else {
title = toPolicyTemplateTitle(ptc.moduleTitle, packageTypes[0])
description = toPolicyTemplateDescription(ptc.moduleTitle, packageTypes[0])
}
var inputs []packages.Input
for _, packageType := range packageTypes {
for inputType, input := range ptc.inputs {
if input.packageType == packageType {
inputs = append(inputs, packages.Input{
Type: input.inputType,
Title: toPolicyTemplateInputTitle(ptc.moduleTitle, packageType, ptc.inputs[inputType].dataStreamNames, inputType),
Description: toPolicyTemplateInputDescription(ptc.moduleTitle, packageType, ptc.inputs[inputType].dataStreamNames, inputType),
Vars: input.vars,
})
}
}
}
return []packages.PolicyTemplate{
{
Name: ptc.moduleName,
Title: title,
Description: description,
Inputs: inputs,
},
}
}