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.
* Add support for google_compute_project_metadata_item
This allows terraform users to manage single key/value items within the
project metadata map, rather than the entire map itself.
* Update CHANGELOG.md
* Add details about import
* Add charset and collation to google_sql_database.
* Add documentation for charset, collation attributes.
* Extend the existing acceptance test to also cover charset and collation.
* Charset and collation always have a value present. Also inline.
* Move charset and collation to optional arguments.
* Add charset and collection to the example.
* Document charset and collation defaults.
* Keep TestAccGoogleSqlDatabase_basic as is, add TestAccGoogleSqlDatabase_update.
* Add import support for google_compute_image.
* Added comment explaning why we set the create_timeout in the import state method
* Don't ForceNew for create_timeout field
* Update image name in import documentation
* update compute instance docs to use new boot and scratch disk attributes, document attached_disk
* Update compute instance tests to mostly use new boot and scratch disk attributes
* Fix encryption test by setting values in state from what was there before
* Allow unlinking of billing account. Closes#133
* Add acceptance test for unlinking the billing account.
* Just apply the resource definition without the billing account instead of setting an empty billing account.
* Used standard validation functions where possible, added a GCP name validation function.
* Add tests for GCP name, factor out a ValidateRegexp function.
* make fmt
This change adds another option for supplying authentication credentials
to acceptance tests: If GOOGLE_USE_DEFAULT_CREDENTIALS is set, the default
credentials are used. When run from a compute engine instance, the compute
engine default credentials are used. When run from the user's workstation,
the user's credentials are used, if the user has authenticated with the
GCloud CLI beforehand.
Adds the google_project_iam_member resource, which just ensures that a
single member has a single role.
google_project_iam_member should not be used to grant permissions to a
role controlled by google_project_iam_binding or to a policy controlled
by google_project_iam_policy, as they'll fight for control.
Changing the role is ForceNew, because the role is part of the ID.
Make reads go through to the Binding functions, not the Policy
functions. That's embarrassing.
Add a resource that manages just a single binding within a Google
project's IAM Policy.
Note that this resource should not be used when
google_project_iam_policy is used, or they will fight over which is
correct.
This also required wrapping the error returned from setProjectIamPolicy,
as we need to test to see if it's a 409 error and retry, which can't be
done if we just use fmt.Errorf.
* Add scratch_disk property to google_compute_instance
* docs for scratch_disk
* limit scope of scratchDisks array by using bool, test formatting
* add slash back to disk check
* Add boot_disk property to google_compute_instance
* docs for boot_disk
* limit scope of bootDisk, use bool instead
* test formatting
* make device_name forcenew, add sha256 encryption key
* compute_disk: update image in test
* disk_image: add default type, make size computed
* compute_dis: wait on disk size operations to complete before moving on
* update docks on the image
* Add compute_backend_service import support
* Fixed the nit
* Made example names a bit more intuitive
* Use underscores wherever possible instead of dashes