// SubstituteParameters loops over all values defined in structured // and unstructured types that are children of item. // // Example of Parameter expression: // - ${PARAMETER_NAME} // func (p *Processor) SubstituteParameters(params []api.Parameter, item runtime.Object) (runtime.Object, error) { // Make searching for given parameter name/value more effective paramMap := make(map[string]string, len(params)) for _, param := range params { paramMap[param.Name] = param.Value } stringreplace.VisitObjectStrings(item, func(in string) string { for _, match := range parameterExp.FindAllStringSubmatch(in, -1) { if len(match) > 1 { if paramValue, found := paramMap[match[1]]; found { in = strings.Replace(in, match[0], paramValue, 1) } } } return in }) return item, nil }
// SubstituteParameters loops over all values defined in structured // and unstructured types that are children of item. // // Example of Parameter expression: // - ${PARAMETER_NAME} // func (p *Processor) SubstituteParameters(params map[string]api.Parameter, item runtime.Object) (runtime.Object, error) { stringreplace.VisitObjectStrings(item, func(in string) string { return p.EvaluateParameterSubstitution(params, in) }) return item, nil }