From 82f0251ce163bad2f5f1e6722054f20621fa205c Mon Sep 17 00:00:00 2001 From: The Magician Date: Thu, 21 Feb 2019 17:53:27 -0800 Subject: [PATCH] timeout is now passed to operation wait (#3082) Signed-off-by: Modular Magician --- google/cloudfunctions_operation.go | 4 ++-- google/resource_cloudfunctions_function.go | 10 ++++++---- website/docs/r/cloudfunctions_function.html.markdown | 9 +++++++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/google/cloudfunctions_operation.go b/google/cloudfunctions_operation.go index ba39814c..af38980c 100644 --- a/google/cloudfunctions_operation.go +++ b/google/cloudfunctions_operation.go @@ -18,12 +18,12 @@ func (w *CloudFunctionsOperationWaiter) QueryOp() (interface{}, error) { return w.Service.Operations.Get(w.Op.Name).Do() } -func cloudFunctionsOperationWait(service *cloudfunctions.Service, op *cloudfunctions.Operation, activity string) error { +func cloudFunctionsOperationWait(service *cloudfunctions.Service, op *cloudfunctions.Operation, activity string, timeoutMin int) error { w := &CloudFunctionsOperationWaiter{ Service: service, } if err := w.SetOp(op); err != nil { return err } - return OperationWait(w, activity, 4) + return OperationWait(w, activity, timeoutMin) } diff --git a/google/resource_cloudfunctions_function.go b/google/resource_cloudfunctions_function.go index 980f2e6f..2affed6b 100644 --- a/google/resource_cloudfunctions_function.go +++ b/google/resource_cloudfunctions_function.go @@ -381,7 +381,8 @@ func resourceCloudFunctionsCreate(d *schema.ResourceData, meta interface{}) erro // Name of function should be unique d.SetId(cloudFuncId.terraformId()) - err = cloudFunctionsOperationWait(config.clientCloudFunctions, op, "Creating CloudFunctions Function") + err = cloudFunctionsOperationWait(config.clientCloudFunctions, op, "Creating CloudFunctions Function", + int(d.Timeout(schema.TimeoutCreate).Minutes())) if err != nil { return err } @@ -522,8 +523,8 @@ func resourceCloudFunctionsUpdate(d *schema.ResourceData, meta interface{}) erro return fmt.Errorf("Error while updating cloudfunction configuration: %s", err) } - err = cloudFunctionsOperationWait(config.clientCloudFunctions, op, - "Updating CloudFunctions Function") + err = cloudFunctionsOperationWait(config.clientCloudFunctions, op, "Updating CloudFunctions Function", + int(d.Timeout(schema.TimeoutUpdate).Minutes())) if err != nil { return err } @@ -545,7 +546,8 @@ func resourceCloudFunctionsDestroy(d *schema.ResourceData, meta interface{}) err if err != nil { return err } - err = cloudFunctionsOperationWait(config.clientCloudFunctions, op, "Deleting CloudFunctions Function") + err = cloudFunctionsOperationWait(config.clientCloudFunctions, op, "Deleting CloudFunctions Function", + int(d.Timeout(schema.TimeoutDelete).Minutes())) if err != nil { return err } diff --git a/website/docs/r/cloudfunctions_function.html.markdown b/website/docs/r/cloudfunctions_function.html.markdown index 88818565..2774fa30 100644 --- a/website/docs/r/cloudfunctions_function.html.markdown +++ b/website/docs/r/cloudfunctions_function.html.markdown @@ -117,6 +117,15 @@ exported: * `region` - Region of function. Currently can be only "us-central1". If it is not provided, the provider region is used. +## Timeouts + +This resource provides the following +[Timeouts](/docs/configuration/resources.html#timeouts) configuration options: + +- `create` - Default is 5 minutes. +- `update` - Default is 5 minutes. +- `delete` - Default is 5 minutes. + ## Import Functions can be imported using the `name`, e.g.