diff --git a/google-beta/resource_compute_managed_ssl_certificate.go b/google-beta/resource_compute_managed_ssl_certificate.go index e220510e69..a86c75dea6 100644 --- a/google-beta/resource_compute_managed_ssl_certificate.go +++ b/google-beta/resource_compute_managed_ssl_certificate.go @@ -55,10 +55,11 @@ func resourceComputeManagedSslCertificate() *schema.Resource { Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "domains": { - Type: schema.TypeList, - Required: true, - ForceNew: true, - MaxItems: 1, + Type: schema.TypeList, + Required: true, + ForceNew: true, + DiffSuppressFunc: absoluteDomainSuppress, + MaxItems: 1, Elem: &schema.Schema{ Type: schema.TypeString, }, diff --git a/google-beta/resource_compute_managed_ssl_certificate_generated_test.go b/google-beta/resource_compute_managed_ssl_certificate_generated_test.go index 32ca03ee17..fd7ea62e64 100644 --- a/google-beta/resource_compute_managed_ssl_certificate_generated_test.go +++ b/google-beta/resource_compute_managed_ssl_certificate_generated_test.go @@ -51,7 +51,7 @@ resource "google_compute_managed_ssl_certificate" "default" { name = "test-cert-%{random_suffix}" managed { - domains = ["sslcert.tf-test.club"] + domains = ["sslcert.tf-test.club."] } } diff --git a/google-beta/utils.go b/google-beta/utils.go index a9a2404b2f..5544ea98d3 100644 --- a/google-beta/utils.go +++ b/google-beta/utils.go @@ -466,3 +466,11 @@ func paginatedListRequest(baseUrl string, config *Config, flattener func(map[str return ls, nil } + +// For managed SSL certs, if new is an absolute FQDN (trailing '.') but old isn't, treat them as equals. +func absoluteDomainSuppress(k, old, new string, _ *schema.ResourceData) bool { + if k == "managed.0.domains.0" { + return old == strings.TrimRight(new, ".") + } + return old == new +} diff --git a/website/docs/r/compute_managed_ssl_certificate.html.markdown b/website/docs/r/compute_managed_ssl_certificate.html.markdown index b2e424584c..30f41637f7 100644 --- a/website/docs/r/compute_managed_ssl_certificate.html.markdown +++ b/website/docs/r/compute_managed_ssl_certificate.html.markdown @@ -65,7 +65,7 @@ resource "google_compute_managed_ssl_certificate" "default" { name = "test-cert" managed { - domains = ["sslcert.tf-test.club"] + domains = ["sslcert.tf-test.club."] } }