INNER CODE UNIT · Go

requireReplaceIfStateContainsPEMString

hashicorp/terraform-provider-tls · internal/provider/common.go:81

func requireReplaceIfStateContainsPEMString() planmodifier.String {
	description := "Attribute requires replacement if it contains a PEM string"

	return stringplanmodifier.RequiresReplaceIf(func(ctx context.Context, req planmodifier.StringRequest, resp *stringplanmodifier.RequiresReplaceIfFuncResponse) {
		// NOTE: If we reach this point, we know a change has been detected and that is known AND not-null

		// If the value is indeed a PEM, and
		if regexp.MustCompile(`^-----BEGIN [[:alpha:] ]+-----\n(.|\s)+\n-----END [[:alpha:] ]+-----\n?$`).MatchString(req.StateValue.ValueString()) {
			resp.RequiresReplace = true
			return
		}
	}, description, description)
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…