func()

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,
		},
	}
}