mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-03 01:01:06 +00:00
Remove google_compute_global_forwarding_rule.labels (#2399)
<!-- This change is generated by MagicModules. --> /cc @rileykarson
This commit is contained in:
parent
0170e67e67
commit
3b9a419089
@ -56,7 +56,7 @@ func resourceComputeGlobalForwardingRule() *schema.Resource {
|
||||
},
|
||||
|
||||
"labels": &schema.Schema{
|
||||
Deprecated: "This field is in beta and will be removed from this provider. Use it in the the google-beta provider instead. See https://terraform.io/docs/providers/google/provider_versions.html for more details.",
|
||||
Removed: "This field is in beta. Use it in the the google-beta provider instead. See https://terraform.io/docs/providers/google/provider_versions.html for more details.",
|
||||
Type: schema.TypeMap,
|
||||
Optional: true,
|
||||
Elem: &schema.Schema{Type: schema.TypeString},
|
||||
@ -64,6 +64,7 @@ func resourceComputeGlobalForwardingRule() *schema.Resource {
|
||||
},
|
||||
|
||||
"label_fingerprint": &schema.Schema{
|
||||
Removed: "This field is in beta. Use it in the the google-beta provider instead. See https://terraform.io/docs/providers/google/provider_versions.html for more details.",
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
@ -135,21 +136,6 @@ func resourceComputeGlobalForwardingRuleCreate(d *schema.ResourceData, meta inte
|
||||
return err
|
||||
}
|
||||
|
||||
// If we have labels to set, try to set those too
|
||||
if _, ok := d.GetOk("labels"); ok {
|
||||
labels := expandLabels(d)
|
||||
// Do a read to get the fingerprint value so we can update
|
||||
fingerprint, err := resourceComputeGlobalForwardingRuleReadLabelFingerprint(config, project, frule.Name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = resourceComputeGlobalForwardingRuleSetLabels(config, project, frule.Name, labels, fingerprint)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return resourceComputeGlobalForwardingRuleRead(d, meta)
|
||||
}
|
||||
|
||||
@ -180,17 +166,6 @@ func resourceComputeGlobalForwardingRuleUpdate(d *schema.ResourceData, meta inte
|
||||
|
||||
d.SetPartial("target")
|
||||
}
|
||||
if d.HasChange("labels") {
|
||||
labels := expandLabels(d)
|
||||
fingerprint := d.Get("label_fingerprint").(string)
|
||||
|
||||
err = resourceComputeGlobalForwardingRuleSetLabels(config, project, d.Get("name").(string), labels, fingerprint)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
d.SetPartial("labels")
|
||||
}
|
||||
|
||||
d.Partial(false)
|
||||
|
||||
@ -218,8 +193,8 @@ func resourceComputeGlobalForwardingRuleRead(d *schema.ResourceData, meta interf
|
||||
d.Set("ip_protocol", frule.IPProtocol)
|
||||
d.Set("ip_version", frule.IpVersion)
|
||||
d.Set("self_link", ConvertSelfLinkToV1(frule.SelfLink))
|
||||
d.Set("labels", frule.Labels)
|
||||
d.Set("label_fingerprint", frule.LabelFingerprint)
|
||||
// removed lists need something set
|
||||
d.Set("labels", nil)
|
||||
d.Set("project", project)
|
||||
|
||||
return nil
|
||||
@ -247,33 +222,3 @@ func resourceComputeGlobalForwardingRuleDelete(d *schema.ResourceData, meta inte
|
||||
d.SetId("")
|
||||
return nil
|
||||
}
|
||||
|
||||
// resourceComputeGlobalForwardingRuleReadLabelFingerprint performs a read on the remote resource and returns only the
|
||||
// fingerprint. Used on create when setting labels as we don't know the label fingerprint initially.
|
||||
func resourceComputeGlobalForwardingRuleReadLabelFingerprint(config *Config, project, name string) (string, error) {
|
||||
frule, err := config.clientComputeBeta.GlobalForwardingRules.Get(project, name).Do()
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("Unable to read global forwarding rule to update labels: %s", err)
|
||||
}
|
||||
|
||||
return frule.LabelFingerprint, nil
|
||||
}
|
||||
|
||||
// resourceComputeGlobalForwardingRuleSetLabels sets the Labels attribute on a forwarding rule.
|
||||
func resourceComputeGlobalForwardingRuleSetLabels(config *Config, project, name string, labels map[string]string, fingerprint string) error {
|
||||
setLabels := computeBeta.GlobalSetLabelsRequest{
|
||||
Labels: labels,
|
||||
LabelFingerprint: fingerprint,
|
||||
}
|
||||
op, err := config.clientComputeBeta.GlobalForwardingRules.SetLabels(project, name, &setLabels).Do()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeSharedOperationWait(config.clientCompute, op, project, "Setting labels on Global Forwarding Rule")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -113,47 +113,6 @@ func TestAccComputeGlobalForwardingRule_ipv6(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestAccComputeGlobalForwardingRule_labels(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
var frule computeBeta.ForwardingRule
|
||||
|
||||
fr := fmt.Sprintf("forwardrule-test-%s", acctest.RandString(10))
|
||||
proxy1 := fmt.Sprintf("forwardrule-test-%s", acctest.RandString(10))
|
||||
proxy2 := fmt.Sprintf("forwardrule-test-%s", acctest.RandString(10))
|
||||
backend := fmt.Sprintf("forwardrule-test-%s", acctest.RandString(10))
|
||||
hc := fmt.Sprintf("forwardrule-test-%s", acctest.RandString(10))
|
||||
urlmap := fmt.Sprintf("forwardrule-test-%s", acctest.RandString(10))
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
Providers: testAccProviders,
|
||||
CheckDestroy: testAccCheckComputeGlobalForwardingRuleDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
resource.TestStep{
|
||||
Config: testAccComputeGlobalForwardingRule_labels(fr, proxy1, proxy2, backend, hc, urlmap),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckComputeBetaGlobalForwardingRuleExists(
|
||||
"google_compute_global_forwarding_rule.foobar", &frule),
|
||||
testAccCheckComputeBetaGlobalForwardingRuleHasLabel(&frule, "my-label", "my-label-value"),
|
||||
testAccCheckComputeBetaGlobalForwardingRuleHasLabel(&frule, "my-second-label", "my-second-label-value"),
|
||||
testAccCheckComputeBetaGlobalForwardingRuleHasCorrectLabelFingerprint(&frule, "google_compute_global_forwarding_rule.foobar"),
|
||||
),
|
||||
},
|
||||
resource.TestStep{
|
||||
Config: testAccComputeGlobalForwardingRule_labelsUpdated(fr, proxy1, proxy2, backend, hc, urlmap),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckComputeBetaGlobalForwardingRuleExists(
|
||||
"google_compute_global_forwarding_rule.foobar", &frule),
|
||||
testAccCheckComputeBetaGlobalForwardingRuleHasLabel(&frule, "my-label", "my-label-value"),
|
||||
testAccCheckComputeBetaGlobalForwardingRuleHasLabel(&frule, "my-third-label", "my-third-label-value"),
|
||||
testAccCheckComputeBetaGlobalForwardingRuleHasCorrectLabelFingerprint(&frule, "google_compute_global_forwarding_rule.foobar"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func testAccCheckComputeGlobalForwardingRuleDestroy(s *terraform.State) error {
|
||||
config := testAccProvider.Meta().(*Config)
|
||||
|
||||
@ -254,34 +213,6 @@ func testAccCheckComputeBetaGlobalForwardingRuleIpVersion(n, version string) res
|
||||
}
|
||||
}
|
||||
|
||||
func testAccCheckComputeBetaGlobalForwardingRuleHasLabel(frule *computeBeta.ForwardingRule, key, value string) resource.TestCheckFunc {
|
||||
return func(s *terraform.State) error {
|
||||
val, ok := frule.Labels[key]
|
||||
if !ok {
|
||||
return fmt.Errorf("label with key %s not found", key)
|
||||
}
|
||||
|
||||
if val != value {
|
||||
return fmt.Errorf("label value did not match for key %s: expected %s but found %s", key, value, val)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func testAccCheckComputeBetaGlobalForwardingRuleHasCorrectLabelFingerprint(
|
||||
frule *computeBeta.ForwardingRule, resourceName string) resource.TestCheckFunc {
|
||||
return func(s *terraform.State) error {
|
||||
tfLabelFingerprint := s.RootModule().Resources[resourceName].Primary.Attributes["label_fingerprint"]
|
||||
remoteLabelFingerprint := frule.LabelFingerprint
|
||||
|
||||
if tfLabelFingerprint != remoteLabelFingerprint {
|
||||
return fmt.Errorf("Label fingerprint mismatch: remote has %#v but terraform has %#v",
|
||||
remoteLabelFingerprint, tfLabelFingerprint)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func testAccComputeGlobalForwardingRule_basic1(fr, proxy1, proxy2, backend, hc, urlmap string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "google_compute_global_forwarding_rule" "foobar" {
|
||||
@ -339,130 +270,6 @@ func testAccComputeGlobalForwardingRule_basic1(fr, proxy1, proxy2, backend, hc,
|
||||
}`, fr, proxy1, proxy2, backend, hc, urlmap)
|
||||
}
|
||||
|
||||
func testAccComputeGlobalForwardingRule_labels(fr, proxy1, proxy2, backend, hc, urlmap string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "google_compute_global_forwarding_rule" "foobar" {
|
||||
description = "Resource created for Terraform acceptance testing"
|
||||
ip_protocol = "TCP"
|
||||
name = "%s"
|
||||
port_range = "80"
|
||||
target = "${google_compute_target_http_proxy.foobar1.self_link}"
|
||||
|
||||
labels {
|
||||
my-label = "my-label-value"
|
||||
my-second-label = "my-second-label-value"
|
||||
}
|
||||
}
|
||||
|
||||
resource "google_compute_target_http_proxy" "foobar1" {
|
||||
description = "Resource created for Terraform acceptance testing"
|
||||
name = "%s"
|
||||
url_map = "${google_compute_url_map.foobar.self_link}"
|
||||
}
|
||||
|
||||
resource "google_compute_target_http_proxy" "foobar2" {
|
||||
description = "Resource created for Terraform acceptance testing"
|
||||
name = "%s"
|
||||
url_map = "${google_compute_url_map.foobar.self_link}"
|
||||
}
|
||||
|
||||
resource "google_compute_backend_service" "foobar" {
|
||||
name = "%s"
|
||||
health_checks = ["${google_compute_http_health_check.zero.self_link}"]
|
||||
}
|
||||
|
||||
resource "google_compute_http_health_check" "zero" {
|
||||
name = "%s"
|
||||
request_path = "/"
|
||||
check_interval_sec = 1
|
||||
timeout_sec = 1
|
||||
}
|
||||
|
||||
resource "google_compute_url_map" "foobar" {
|
||||
name = "%s"
|
||||
default_service = "${google_compute_backend_service.foobar.self_link}"
|
||||
host_rule {
|
||||
hosts = ["mysite.com", "myothersite.com"]
|
||||
path_matcher = "boop"
|
||||
}
|
||||
path_matcher {
|
||||
default_service = "${google_compute_backend_service.foobar.self_link}"
|
||||
name = "boop"
|
||||
path_rule {
|
||||
paths = ["/*"]
|
||||
service = "${google_compute_backend_service.foobar.self_link}"
|
||||
}
|
||||
}
|
||||
test {
|
||||
host = "mysite.com"
|
||||
path = "/*"
|
||||
service = "${google_compute_backend_service.foobar.self_link}"
|
||||
}
|
||||
}`, fr, proxy1, proxy2, backend, hc, urlmap)
|
||||
}
|
||||
|
||||
func testAccComputeGlobalForwardingRule_labelsUpdated(fr, proxy1, proxy2, backend, hc, urlmap string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "google_compute_global_forwarding_rule" "foobar" {
|
||||
description = "Resource created for Terraform acceptance testing"
|
||||
ip_protocol = "TCP"
|
||||
name = "%s"
|
||||
port_range = "80"
|
||||
target = "${google_compute_target_http_proxy.foobar1.self_link}"
|
||||
|
||||
labels {
|
||||
my-label = "my-label-value"
|
||||
my-third-label = "my-third-label-value"
|
||||
}
|
||||
}
|
||||
|
||||
resource "google_compute_target_http_proxy" "foobar1" {
|
||||
description = "Resource created for Terraform acceptance testing"
|
||||
name = "%s"
|
||||
url_map = "${google_compute_url_map.foobar.self_link}"
|
||||
}
|
||||
|
||||
resource "google_compute_target_http_proxy" "foobar2" {
|
||||
description = "Resource created for Terraform acceptance testing"
|
||||
name = "%s"
|
||||
url_map = "${google_compute_url_map.foobar.self_link}"
|
||||
}
|
||||
|
||||
resource "google_compute_backend_service" "foobar" {
|
||||
name = "%s"
|
||||
health_checks = ["${google_compute_http_health_check.zero.self_link}"]
|
||||
}
|
||||
|
||||
resource "google_compute_http_health_check" "zero" {
|
||||
name = "%s"
|
||||
request_path = "/"
|
||||
check_interval_sec = 1
|
||||
timeout_sec = 1
|
||||
}
|
||||
|
||||
resource "google_compute_url_map" "foobar" {
|
||||
name = "%s"
|
||||
default_service = "${google_compute_backend_service.foobar.self_link}"
|
||||
host_rule {
|
||||
hosts = ["mysite.com", "myothersite.com"]
|
||||
path_matcher = "boop"
|
||||
}
|
||||
path_matcher {
|
||||
default_service = "${google_compute_backend_service.foobar.self_link}"
|
||||
name = "boop"
|
||||
path_rule {
|
||||
paths = ["/*"]
|
||||
service = "${google_compute_backend_service.foobar.self_link}"
|
||||
}
|
||||
}
|
||||
test {
|
||||
host = "mysite.com"
|
||||
path = "/*"
|
||||
service = "${google_compute_backend_service.foobar.self_link}"
|
||||
}
|
||||
}`, fr, proxy1, proxy2, backend, hc, urlmap)
|
||||
}
|
||||
|
||||
func testAccComputeGlobalForwardingRule_basic2(fr, proxy1, proxy2, backend, hc, urlmap string) string {
|
||||
return fmt.Sprintf(`
|
||||
resource "google_compute_global_forwarding_rule" "foobar" {
|
||||
|
Loading…
Reference in New Issue
Block a user