[terraform-conversions] Use placeholder value when generating asset.name from fields empty va… (#3339)

<!-- This change is generated by MagicModules. -->
/cc @nstogner
This commit is contained in:
The Magician 2019-03-28 14:32:14 -07:00 committed by Chris Stephens
parent f9d9364275
commit 12a25f053b

View File

@ -121,31 +121,39 @@ func addQueryParams(rawurl string, params map[string]string) (string, error) {
func replaceVars(d TerraformResourceData, config *Config, linkTmpl string) (string, error) {
re := regexp.MustCompile("{{([[:word:]]+)}}")
f, err := buildReplacementFunc(re, d, config, linkTmpl)
if err != nil {
return "", err
}
return re.ReplaceAllStringFunc(linkTmpl, f), nil
}
func buildReplacementFunc(re *regexp.Regexp, d TerraformResourceData, config *Config, linkTmpl string) (func(string) string, error) {
var project, region, zone string
var err error
if strings.Contains(linkTmpl, "{{project}}") {
project, err = getProject(d, config)
if err != nil {
return "", err
return nil, err
}
}
if strings.Contains(linkTmpl, "{{region}}") {
region, err = getRegion(d, config)
if err != nil {
return "", err
return nil, err
}
}
if strings.Contains(linkTmpl, "{{zone}}") {
zone, err = getZone(d, config)
if err != nil {
return "", err
return nil, err
}
}
replaceFunc := func(s string) string {
f := func(s string) string {
m := re.FindStringSubmatch(s)[1]
if m == "project" {
return project
@ -163,5 +171,5 @@ func replaceVars(d TerraformResourceData, config *Config, linkTmpl string) (stri
return ""
}
return re.ReplaceAllStringFunc(linkTmpl, replaceFunc), nil
return f, nil
}