We don't need to set the ID to "" in read-modify-write helpers, because
once they're done, we read anyways to update state based on the changes.
And that read checks if the binding/member still exists, and does the
SetId("") if it doesn't.
This way, we stick with state only getting set based on the API state,
not by what we think the state will be.
Tests need to have unique names. Whoooops.
Also, the Elem property accepts an interface I guess, which means we
actually need the struct type repetition there.
* Vendor GCP Compute Beta client library.
* Refactor resource_compute_instance_group_manager for multi version support (#129)
* Refactor resource_compute_instance_group_manager for multi version support.
* Minor changes based on review.
* Removed type-specific API version conversion functions.
* Add support for Beta operations.
* Add v0beta support to google_compute_instance_group_manager.
* Renamed Key to Feature, added comments & updated some parameter names.
* Fix code and tests for version finder to match fields that don't have a change.
* Store non-v1 resources' self links as v1 so that dependent single-version resources don't see diffs.
* Fix weird change to vendor.json from merge.
* Add a note that Convert loses ForceSendFields, fix failing test.
* Moved nil type to a switch case in compute_shared_operation.go.
* Move base api version declaration above schema.
* Refactor compute_operation.go to duplicate less code.
* Determine what scope type an Operation is from it's Operation object.
* Inlined operation type switch statement into if/else methods.
Use the new projectIamPolicyReadModifyWrite helper to manage the RMW
loop for our policy member resource.
Handle the case of having a binding server-side that doesn't have the
member we expect more elegantly.
We were repeating that logic a lot, so this helper just reads a policy,
calls the passed modify function on the policy, then writes the policy
back and takes care of the optimistic concurrency logic for the caller.
So now all the caller has to do is the unique part, which is the modify
function.
* Revert "Add additional fingerprint error to check for when updating metadata (#221)"
This reverts commit 4c8f62edf6.
* Revert "Fix bug where range variable is improperly dereferenced (#217)"
This reverts commit 8f75c1c9a5.
* Revert "Add support for google_compute_project_metadata_item (#176)"
This reverts commit 236c0f5d24.