From 2affca1451f52e9ab1e1fae0bffb217b306bb28c Mon Sep 17 00:00:00 2001 From: Sarah French <15078782+SarahFrench@users.noreply.github.com> Date: Thu, 11 May 2023 12:43:56 +0100 Subject: [PATCH] Add `status` output field to google_cloudfunctions_function, update tests for resource and data source. (#7913) --- .../resources/resource_cloudfunctions_function.go | 9 +++++++++ .../data_source_google_cloudfunctions_function_test.go | 2 ++ .../tests/resource_cloudfunctions_function_test.go.erb | 9 +++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go b/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go index edc30e7c8975..07d206e694d0 100644 --- a/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go +++ b/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go @@ -461,6 +461,11 @@ func ResourceCloudFunctionsFunction() *schema.Resource { }, }, }, + "status": { + Type: schema.TypeString, + Computed: true, + Description: `Describes the current stage of a deployment.`, + }, }, UseJSONNumber: true, } @@ -707,6 +712,10 @@ func resourceCloudFunctionsRead(d *schema.ResourceData, meta interface{}) error return fmt.Errorf("Error setting secret_volumes: %s", err) } + if err := d.Set("status", function.Status); err != nil { + return fmt.Errorf("Error setting status: %s", err) + } + if function.HttpsTrigger != nil { if err := d.Set("trigger_http", true); err != nil { return fmt.Errorf("Error setting trigger_http: %s", err) diff --git a/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go b/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go index d994d92a07b6..dad4b468b6e8 100644 --- a/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go +++ b/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go @@ -30,6 +30,8 @@ func TestAccDataSourceGoogleCloudFunctionsFunction_basic(t *testing.T) { Check: resource.ComposeTestCheckFunc( acctest.CheckDataSourceStateMatchesResourceState(funcDataNameHttp, "google_cloudfunctions_function.function_http"), + resource.TestCheckResourceAttr(funcDataNameHttp, + "status", "ACTIVE"), ), }, }, diff --git a/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb b/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb index 019d891f55a0..4d0a0d44895b 100644 --- a/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb +++ b/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb @@ -285,6 +285,8 @@ func TestAccCloudFunctionsFunction_basic(t *testing.T) { "min_instances", "3"), resource.TestCheckResourceAttr(funcResourceName, "ingress_settings", "ALLOW_INTERNAL_ONLY"), + resource.TestCheckResourceAttr(funcResourceName, + "status", "ACTIVE"), testAccCloudFunctionsFunctionSource(fmt.Sprintf("gs://%s/index.zip", bucketName), &function), testAccCloudFunctionsFunctionTrigger(FUNCTION_TRIGGER_HTTP, &function), resource.TestCheckResourceAttr(funcResourceName, @@ -390,7 +392,6 @@ func TestAccCloudFunctionsFunction_buildworkerpool(t *testing.T) { zipFilePath := createZIPArchiveForCloudFunctionSource(t, testHTTPTriggerPath) proj := acctest.GetTestProjectFromEnv() - defer os.Remove(zipFilePath) // clean up VcrTest(t, resource.TestCase{ @@ -438,9 +439,9 @@ func TestAccCloudFunctionsFunction_pubsub(t *testing.T) { Config: testAccCloudFunctionsFunction_pubsub(functionName, bucketName, topicName, zipFilePath), Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr(funcResourceName, - "max_instances", "3000"), - ), + resource.TestCheckResourceAttr(funcResourceName, + "max_instances", "3000"), + ), }, { ResourceName: funcResourceName,