diff --git a/mmv1/products/compute/ForwardingRule.yaml b/mmv1/products/compute/ForwardingRule.yaml index 15acdafc7c78..138294268651 100644 --- a/mmv1/products/compute/ForwardingRule.yaml +++ b/mmv1/products/compute/ForwardingRule.yaml @@ -626,6 +626,10 @@ properties: This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region. send_empty_value: true + update_verb: :PATCH + update_url: projects/{{project}}/regions/{{region}}/forwardingRules/{{name}} + update_id: 'allowPscGlobalAccess' + fingerprint_name: 'fingerprint' - !ruby/object:Api::Type::Boolean name: noAutomateDnsZone description: diff --git a/mmv1/third_party/terraform/services/compute/resource_compute_forwarding_rule_test.go.erb b/mmv1/third_party/terraform/services/compute/resource_compute_forwarding_rule_test.go.erb index c8c34d473848..c1445b640f3c 100644 --- a/mmv1/third_party/terraform/services/compute/resource_compute_forwarding_rule_test.go.erb +++ b/mmv1/third_party/terraform/services/compute/resource_compute_forwarding_rule_test.go.erb @@ -183,10 +183,18 @@ func TestAccComputeForwardingRule_forwardingRuleVpcPscExampleUpdate(t *testing.T ImportState: true, ImportStateVerify: true, }, - resource.TestStep{ - Config: testAccComputeForwardingRule_forwardingRuleVpcPscExampleUpdate(context), + { + Config: testAccComputeForwardingRule_forwardingRuleVpcPscExampleUpdate(context, true), }, - resource.TestStep{ + { + ResourceName: "google_compute_forwarding_rule.default", + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccComputeForwardingRule_forwardingRuleVpcPscExampleUpdate(context, false), + }, + { ResourceName: "google_compute_forwarding_rule.default", ImportState: true, ImportStateVerify: true, @@ -549,7 +557,15 @@ resource "google_service_directory_service" "examplesvc" { } <% end -%> -func testAccComputeForwardingRule_forwardingRuleVpcPscExampleUpdate(context map[string]interface{}) string { +func testAccComputeForwardingRule_forwardingRuleVpcPscExampleUpdate(context map[string]interface{}, preventDestroy bool) string { + context["lifecycle_block"] = "" + if preventDestroy { + context["lifecycle_block"] = ` + lifecycle { + prevent_destroy = true + }` + } + return acctest.Nprintf(` // Forwarding rule for VPC private service connect resource "google_compute_forwarding_rule" "default" { @@ -560,6 +576,7 @@ resource "google_compute_forwarding_rule" "default" { network = google_compute_network.consumer_net.name ip_address = google_compute_address.consumer_address.id allow_psc_global_access = false + %{lifecycle_block} } // Consumer service endpoint