Skip to content

Commit

Permalink
[Terraform] Autogen resource manager operations (#448)
Browse files Browse the repository at this point in the history
<!-- This change is generated by MagicModules. -->
/cc @rambleraptor
  • Loading branch information
modular-magician authored and rileykarson committed Mar 11, 2019
1 parent 91b3d21 commit 9c2d04e
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 51 deletions.
16 changes: 14 additions & 2 deletions google-beta/resource_google_folder.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,13 @@ func resourceGoogleFolderCreate(d *schema.ResourceData, meta interface{}) error
return fmt.Errorf("Error creating folder '%s' in '%s': %s", displayName, parent, err)
}

err = resourceManagerV2Beta1OperationWait(config.clientResourceManager, op, "creating folder")
opV1 := make(map[string]interface{})
waitErr := Convert(op, opV1)
if waitErr != nil {
return waitErr
}

err = resourceManagerOperationWaitTime(config, opV1, "", "creating folder", int(d.Timeout(schema.TimeoutCreate).Minutes()))

if err != nil {
return fmt.Errorf("Error creating folder '%s' in '%s': %s", displayName, parent, err)
Expand Down Expand Up @@ -132,7 +138,13 @@ func resourceGoogleFolderUpdate(d *schema.ResourceData, meta interface{}) error
return fmt.Errorf("Error moving folder '%s' to '%s': %s", displayName, newParent, err)
}

err = resourceManagerV2Beta1OperationWait(config.clientResourceManager, op, "move folder")
opV1 := make(map[string]interface{})
waitErr := Convert(op, opV1)
if waitErr != nil {
return waitErr
}

err = resourceManagerOperationWaitTime(config, opV1, "", "move folder", int(d.Timeout(schema.TimeoutCreate).Minutes()))
if err != nil {
return fmt.Errorf("Error moving folder '%s' to '%s': %s", displayName, newParent, err)
}
Expand Down
8 changes: 7 additions & 1 deletion google-beta/resource_google_project.go
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,13 @@ func resourceGoogleProjectCreate(d *schema.ResourceData, meta interface{}) error
d.SetId(pid)

// Wait for the operation to complete
waitErr := resourceManagerOperationWait(config.clientResourceManager, op, "project to create")
opV1 := make(map[string]interface{})
waitErr := Convert(op, opV1)
if waitErr != nil {
return waitErr
}

waitErr = resourceManagerOperationWaitTime(config, opV1, "", "creating folder", int(d.Timeout(schema.TimeoutCreate).Minutes()))
if waitErr != nil {
// The resource wasn't actually created
d.SetId("")
Expand Down
46 changes: 46 additions & 0 deletions google-beta/resource_manager_operation.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Magic Modules and manual
// changes will be clobbered when the file is regenerated.
//
// Please read more about how to change this file in
// .github/CONTRIBUTING.md.
//
// ----------------------------------------------------------------------------
package google

import (
"fmt"
)

type ResourceManagerOperationWaiter struct {
Config *Config
CommonOperationWaiter
}

func (w *ResourceManagerOperationWaiter) QueryOp() (interface{}, error) {
if w == nil {
return nil, fmt.Errorf("Cannot query operation, it's unset or nil.")
}
// Returns the proper get.
url := fmt.Sprintf("https://cloudresourcemanager.googleapis.com/v1/%s", w.CommonOperationWaiter.Op.Name)
return sendRequest(w.Config, "GET", url, nil)
}

func resourceManagerOperationWaitTime(config *Config, op map[string]interface{}, project, activity string, timeoutMinutes int) error {
if val, ok := op["name"]; !ok || val == "" {
// This was a synchronous call - there is no operation to wait for.
return nil
}
w := &ResourceManagerOperationWaiter{
Config: config,
}
if err := w.CommonOperationWaiter.SetOp(op); err != nil {
return err
}
return OperationWait(w, activity, timeoutMinutes)
}
48 changes: 0 additions & 48 deletions google-beta/resourcemanager_operation.go

This file was deleted.

0 comments on commit 9c2d04e

Please sign in to comment.