mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-09-28 22:16:04 +00:00
check for done operations before waiting on them (#1632)
This commit is contained in:
parent
e5e7f05f7c
commit
d00e55f11b
@ -59,6 +59,13 @@ func appEngineOperationWait(client *appengine.APIService, op *appengine.Operatio
|
||||
}
|
||||
|
||||
func appEngineOperationWaitTime(client *appengine.APIService, op *appengine.Operation, appId, activity string, timeoutMin int) error {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return AppEngineOperationError(*op.Error)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &AppEngineOperationWaiter{
|
||||
Service: client,
|
||||
Op: op,
|
||||
|
@ -47,6 +47,13 @@ func cloudFunctionsOperationWait(client *cloudfunctions.Service,
|
||||
|
||||
func cloudFunctionsOperationWaitTime(client *cloudfunctions.Service, op *cloudfunctions.Operation,
|
||||
activity string, timeoutMin int) error {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return fmt.Errorf(op.Error.Message)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &CloudFunctionsOperationWaiter{
|
||||
Service: client,
|
||||
Op: op,
|
||||
|
@ -67,6 +67,13 @@ func computeOperationWait(client *compute.Service, op *compute.Operation, projec
|
||||
}
|
||||
|
||||
func computeOperationWaitTime(client *compute.Service, op *compute.Operation, project, activity string, timeoutMin int) error {
|
||||
if op.Status == "DONE" {
|
||||
if op.Error != nil {
|
||||
return ComputeOperationError(*op.Error)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &ComputeOperationWaiter{
|
||||
Service: client,
|
||||
Op: op,
|
||||
|
@ -80,6 +80,13 @@ func (w *ContainerBetaOperationWaiter) RefreshFunc() resource.StateRefreshFunc {
|
||||
}
|
||||
|
||||
func containerOperationWait(config *Config, op *container.Operation, project, zone, activity string, timeoutMinutes, minTimeoutSeconds int) error {
|
||||
if op.Status == "DONE" {
|
||||
if op.StatusMessage != "" {
|
||||
return fmt.Errorf(op.StatusMessage)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &ContainerOperationWaiter{
|
||||
Service: config.clientContainer,
|
||||
Op: op,
|
||||
@ -92,6 +99,13 @@ func containerOperationWait(config *Config, op *container.Operation, project, zo
|
||||
}
|
||||
|
||||
func containerBetaOperationWait(config *Config, op *containerBeta.Operation, project, location, activity string, timeoutMinutes, minTimeoutSeconds int) error {
|
||||
if op.Status == "DONE" {
|
||||
if op.StatusMessage != "" {
|
||||
return fmt.Errorf(op.StatusMessage)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &ContainerBetaOperationWaiter{
|
||||
Service: config.clientContainerBeta,
|
||||
Op: op,
|
||||
|
@ -37,6 +37,13 @@ func (w *DataprocClusterOperationWaiter) RefreshFunc() resource.StateRefreshFunc
|
||||
}
|
||||
|
||||
func dataprocClusterOperationWait(config *Config, op *dataproc.Operation, activity string, timeoutMinutes, minTimeoutSeconds int) error {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return fmt.Errorf("Error code %v, message: %s", op.Error.Code, op.Error.Message)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &DataprocClusterOperationWaiter{
|
||||
Service: config.clientDataproc,
|
||||
Op: op,
|
||||
|
@ -2,10 +2,11 @@ package google
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"google.golang.org/api/dns/v1beta2"
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/resource"
|
||||
"google.golang.org/api/dns/v1beta2"
|
||||
)
|
||||
|
||||
type DnsOperationWaiter struct {
|
||||
@ -48,6 +49,10 @@ func dnsOperationWait(service *dns.Service, op *dns.Operation, project, activity
|
||||
}
|
||||
|
||||
func dnsOperationWaitTime(service *dns.Service, op *dns.Operation, project, activity string, timeoutMin int) error {
|
||||
if op.Status == "done" {
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &DnsOperationWaiter{
|
||||
Service: service.ManagedZoneOperations,
|
||||
Op: op,
|
||||
|
@ -42,6 +42,13 @@ func resourceManagerOperationWait(service *cloudresourcemanager.Service, op *clo
|
||||
}
|
||||
|
||||
func resourceManagerOperationWaitTime(service *cloudresourcemanager.Service, op *cloudresourcemanager.Operation, activity string, timeoutMin int) error {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return fmt.Errorf("Error code %v, message: %s", op.Error.Code, op.Error.Message)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &ResourceManagerOperationWaiter{
|
||||
Service: service,
|
||||
Op: op,
|
||||
|
@ -45,6 +45,13 @@ func serviceManagementOperationWait(config *Config, op *servicemanagement.Operat
|
||||
}
|
||||
|
||||
func serviceManagementOperationWaitTime(config *Config, op *servicemanagement.Operation, activity string, timeoutMin int) (googleapi.RawMessage, error) {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return nil, fmt.Errorf("Error code %v, message: %s", op.Error.Code, op.Error.Message)
|
||||
}
|
||||
return op.Response, nil
|
||||
}
|
||||
|
||||
w := &ServiceManagementOperationWaiter{
|
||||
Service: config.clientServiceMan,
|
||||
Op: op,
|
||||
|
@ -45,6 +45,13 @@ func serviceUsageOperationWait(config *Config, op *serviceusage.Operation, activ
|
||||
}
|
||||
|
||||
func serviceUsageOperationWaitTime(config *Config, op *serviceusage.Operation, activity string, timeoutMin int) (googleapi.RawMessage, error) {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return nil, fmt.Errorf("Error code %v, message: %s", op.Error.Code, op.Error.Message)
|
||||
}
|
||||
return op.Response, nil
|
||||
}
|
||||
|
||||
w := &serviceUsageOperationWaiter{
|
||||
Service: config.clientServiceUsage,
|
||||
Op: op,
|
||||
|
@ -38,6 +38,13 @@ func (w *SpannerDatabaseOperationWaiter) RefreshFunc() resource.StateRefreshFunc
|
||||
}
|
||||
|
||||
func spannerDatabaseOperationWait(config *Config, op *spanner.Operation, activity string, timeoutMin int) error {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return fmt.Errorf("Error code %v, message: %s", op.Error.Code, op.Error.Message)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &SpannerDatabaseOperationWaiter{
|
||||
Service: config.clientSpanner,
|
||||
Op: op,
|
||||
|
@ -38,6 +38,13 @@ func (w *SpannerInstanceOperationWaiter) RefreshFunc() resource.StateRefreshFunc
|
||||
}
|
||||
|
||||
func spannerInstanceOperationWait(config *Config, op *spanner.Operation, activity string, timeoutMin int) error {
|
||||
if op.Done {
|
||||
if op.Error != nil {
|
||||
return fmt.Errorf("Error code %v, message: %s", op.Error.Code, op.Error.Message)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &SpannerInstanceOperationWaiter{
|
||||
Service: config.clientSpanner,
|
||||
Op: op,
|
||||
|
@ -61,6 +61,13 @@ func sqladminOperationWait(config *Config, op *sqladmin.Operation, project, acti
|
||||
}
|
||||
|
||||
func sqladminOperationWaitTime(config *Config, op *sqladmin.Operation, project, activity string, timeoutMinutes int) error {
|
||||
if op.Status == "DONE" {
|
||||
if op.Error != nil {
|
||||
return SqlAdminOperationError(*op.Error)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
w := &SqlAdminOperationWaiter{
|
||||
Service: config.clientSqlAdmin,
|
||||
Op: op,
|
||||
|
Loading…
Reference in New Issue
Block a user