Commit Graph

237 Commits

Author SHA1 Message Date
Dave Cunningham 66336f577a Merge pull request #3643 from lwander/f-gcp-instance-scheduling
provider/google: Added scheduling block to compute_instance
2015-10-26 19:29:33 -04:00
Lars Wander 5a311dbd11 provider/google: Added scheduling block to compute_instance 2015-10-26 16:16:06 -04:00
Dave Cunningham c0bf7aecb3 Merge pull request #3554 from lwander/f-gcp-version
provider/google: Accurate Terraform Version
2015-10-26 02:59:51 -04:00
Dave Cunningham a4eee72c78 Merge pull request #3620 from lwander/b-gcp-large-instance-group-timeout
provider/google: Fixed timeout bug on large instance groups
2015-10-26 02:56:18 -04:00
Daniel Imfeld f23a8bfe4e Update list of GCE service scope short names 2015-10-23 17:58:04 -05:00
Lars Wander 0c81a9c108 provider/google: Fixed timeout bug on large instance groups 2015-10-23 15:12:53 -04:00
Lars Wander bba2c3221d Added oauth2 support for GCP 2015-10-20 15:08:04 -04:00
Lars Wander d4f7cdc877 GCP UserAgent now shows accurate Terraform version 2015-10-20 14:45:11 -04:00
Paul Hinze f6e525e531 provider/google: one more test that should skip predefined_acl
it was depreceted in https://github.com/hashicorp/terraform/pull/3272
2015-10-14 22:36:19 -05:00
Paul Hinze 0efffc67f0 provider/google: storage bucket tests shouldn't not check predefined_acl
it was depreceted in https://github.com/hashicorp/terraform/pull/3272
2015-10-14 22:17:34 -05:00
Paul Hinze b2b41192ac provider/google: container test needed bigger instance to pass 2015-10-14 22:16:58 -05:00
Paul Hinze 4f400a1944 provider/google: one more fix to GCE metadata
In #3501 @lwander got us almost all the way there, but we still had
tests failing. This seemed to be because GCE sets
`metadata.startup-script` to a blank string on instance creation, and if
a user specifies any `metadata` in their config this is seen as the
desired full contents of metadata, so we get a diff trying to remove
`startup-script`.

Here, to address this, we just proactively remove the "startup-script"
key from `Read`, and then we enforce that "metadata_startup_script"
is the only way to configure startup scripts on instances.
2015-10-14 21:34:33 -05:00
Lars Wander b7f7c7a731 Provider GCE, fixed metadata state update bug 2015-10-14 12:47:54 -05:00
Lars Wander 12625997c1 Added global address & tests 2015-10-14 12:47:53 -05:00
Panagiotis Moustafellos e4845f75cc removed extra parentheses 2015-10-08 15:48:04 +03:00
Radek Simko f9efede852 gofmt files from recently merged PRs 2015-10-07 13:35:06 -07:00
Dave Cunningham b816ed6c87 Merge pull request #3272 from lwander/f-gce-bucket-acls
provider/gce: Implemented bucket & object ACLs, as well as documentation and tests
2015-10-06 14:49:20 -04:00
Dave Cunningham f9fc89dfde Merge pull request #3258 from lwander/f-gce-optional-region
provider/gce: Make region optional for remaining GCE resources
2015-10-06 14:48:36 -04:00
Lars Wander d15acb042c Implemented bucket & object ACLs, as well as documentation and tests 2015-10-06 14:46:47 -04:00
Lars Wander 1be8e85d44 Implements optional region for remaining GCE resources 2015-10-06 14:44:40 -04:00
Radek Simko 9cbcb9a438 Remove no-op Updates from resource schemas 2015-10-03 14:29:19 -07:00
Dave Cunningham 2619b66e21 Merge pull request #3242 from lwander/b-gce-network-interface-name
provider/gce: Instance Template Network Interface Should be URL
2015-09-25 16:40:16 -04:00
Lars Wander 158af9d0d4 Refactored wait code to delete duplicated code & share functionality 2015-09-24 16:30:12 -04:00
Dave Cunningham 488738163b Merge pull request #3240 from lwander/f-gce-bucket-website
provider/gce: Implement "website features" for GCE buckets
2015-09-16 17:37:32 -04:00
Dave Cunningham 30c27362b1 Merge pull request #3213 from lwander/f-gce-vpn
provider/gce: VPN resources, documentation, tests and example
2015-09-15 16:29:41 -04:00
Lars Wander 6850786422 Documentation and tests written for GCE VPN config 2015-09-15 16:13:48 -04:00
Lars Wander 4fd5c72540 Fix "malformed url" bug in instance template when using network name 2015-09-15 15:59:26 -04:00
Lars Wander 53e7058dee Address issue #2292 2015-09-15 15:06:52 -04:00
Lars Wander b240628799 Refactored project/instance metadata to use same code whenever possible
Also added optimistic locking to instance metadata
2015-09-15 14:06:26 -04:00
Anthony Scalisi 198e1a5186 remove various typos 2015-09-11 11:56:20 -07:00
Lars Wander 602acadde8 Implemented GCS bucket objects 2015-09-08 16:57:18 -04:00
Dave Cunningham 455ba7bdb1 Merge pull request #3131 from lwander/gce-fix-metadata
Brought GCE project metadata code up to spec with GCE API change
2015-09-08 15:51:25 -04:00
Radek Simko 567c299a84 Use computed fingerprint 2015-09-08 12:00:22 +01:00
Radek Simko a36f893d7e Rename backend_service_test to compute_backend_service_test 2015-09-08 11:56:20 +01:00
Radek Simko 011b62974a google: Add acc. tests for google_compute_backend_service 2015-09-08 10:22:14 +01:00
Radek Simko 7d3976e7b6 google: Add new resource - google_compute_backend_service 2015-09-08 10:22:14 +01:00
Radek Simko cff26ea65a Add extra debugging for google OperationWaiter 2015-09-08 10:22:14 +01:00
Lars Wander 3f4c451fe8 Brought metadata code up to spec with GCE API change 2015-08-31 14:43:45 -04:00
Clint Shryock 5d7e156982 provider/google: Misc. cleanups for tests to pass 2015-08-31 09:06:25 -05:00
Lars Wander 2aad1f7bd2 Implemented CRUD project metadata operations
Common metadata state is now stored

Optimistic locking support added to common_metadata

Revisions to keys in project metadata are now reflected in the project state

Wrote tests for project metadata (all pass)

Relaxed test conditions to work on projects with extra keys

Added documentation for project metadata
2015-08-24 12:53:28 -04:00
Radek Simko 53499a9391 google: Add regression test for #2978 2015-08-20 21:40:57 +01:00
Radek Simko f27f64e8af Merge pull request #2978 from djworth/master
Convert int to int64 when building the cluster.NodeConfig struct
2015-08-20 21:34:54 +01:00
Radek Simko f27b0a0cf1 Merge pull request #3000 from TimeIncOSS/code-formatting
Format code via gofmt + fix whitespacing
2015-08-19 10:45:11 +01:00
Dave Cunningham aa45266fdb Fix #2901 2015-08-19 02:57:04 -04:00
Radek Simko 00ad41bf7d google: Code formatted via gofmt 2015-08-14 12:06:06 +01:00
djworth 75c1475cc1 Convert int to int64 when building the cluster.NodeConfig struct
related to issue https://github.com/hashicorp/terraform/issues/2901
2015-08-11 08:27:32 -04:00
Dave Cunningham 6e7c6122e9 Merge pull request #2894 from sparkprime/optional_target_pool
Make target_pools optional
2015-07-30 13:52:44 -04:00
Dave Cunningham 65ba4c1b06 Make target_pools optional 2015-07-30 10:46:16 -04:00
Justin Campbell 7884456c4b providers/google: Fix reading account_file path 2015-07-29 15:59:33 -04:00
Justin Campbell 4764a556c0 providers/google: Fix error appending 2015-07-29 15:59:33 -04:00
Clint Shryock 8faa111156 providers/google: Return if we could parse JSON 2015-07-29 15:59:32 -04:00
Justin Campbell 773852e2d5 providers/google: Change account_file to JSON
If JSON fails to parse, treat it as a file path
2015-07-29 15:59:32 -04:00
Justin Campbell 2a04708d66 providers/google: Default account_file* to empty
Prevents prompting for input
2015-07-29 15:59:32 -04:00
Justin Campbell a7ca7e0b36 providers/google: Add account_file/account_file_contents ConflictsWith 2015-07-29 15:59:32 -04:00
Justin Campbell 4ce776d252 providers/google: Use account_file_contents if provided 2015-07-29 15:59:32 -04:00
Justin Campbell a8d0a70c03 providers/google: Add account_file_contents to provider 2015-07-29 15:59:32 -04:00
Dave Cunningham e8e5495483 Increase timeout, IGM delete can be slow 2015-07-28 14:09:43 -04:00
Dave Cunningham 24167b1085 Make failure of "basic" test not interfere with success of "update" test 2015-07-28 14:09:29 -04:00
Dave Cunningham 1ec247ef37 Use new autoscaler / instance group manager APIs. 2015-07-27 20:47:10 -04:00
Dave Cunningham c6f0bf479b Merge branch 'master' into gce_autoscaling 2015-07-20 14:25:26 -04:00
Sander van Harmelen e1d5af8ccf Fixing the build...
The v0.beta is removed, so I also removed it from here. Strangely
enough I cannot find any code that actually used it other then in being
instantiated in the provider config func.
2015-07-16 18:44:09 +02:00
Radek Simko f5e22d0675 Add new resource - google_container_cluster 2015-07-11 18:56:24 +01:00
Dave Cunningham 447da2177e Add ForceNew metadata_startup_script field 2015-07-01 21:24:34 -04:00
Mitchell Hashimoto cddd54c3de fmt 2015-06-23 22:31:24 -07:00
Dave Cunningham b222499ee0 Add beta compute client 2015-06-10 00:14:13 -04:00
Paul Hinze 84afeb73b1 acc tests: ensure each resource has a _basic test
Helpful for breadth first acc test sweeps `-run '_basic$'`
2015-06-07 18:18:14 -05:00
Dan Hilton b909f7826b provider/google: Add support for Google Compute Stogare buckets.
Configure Google Compute Storage buckets using:
* name (compulsory attribute)
* predefined_acl (optional, default: `projectPrivate`)
* location (optional, default: `US`)
* force_destroy (optional, default: `false`)

Currently supporting only `predefined_acl`s. Bucket attribute updates happen via re-creation. force_destroy will cause bucket objects to be purged, enabling bucket destruction.
2015-06-01 11:36:50 +01:00
Dave Cunningham 419b4f02d2 Merge autoscaler & instance group PR from dwatson
Additionally:
Update CHANGELOG
Make cooldown period optional for autoscaler
Refactor autoscaler and add more error checking
Instance template now supports image aliases
Replace instance group manager 'size' -- use target_size (now writeable)
Add documentation for autoscaler
Add beta warnings to docs
2015-05-16 20:14:38 -04:00
Clint Shryock f7b6b6b2b5 Strip 'sdk' suffix from methods; it's a remnant 2015-05-12 14:58:10 -05:00
Dave Cunningham 372908cc6f Merge pull request #980 from BashtonLtd/gce_instance_template_network_update
Update Instance Template network definition to match changes to Instance.
2015-05-12 15:46:04 -04:00
Dave Cunningham e27393af41 Merge pull request #1894 from dcarley/gce_health_check_defaults
provider/gce: Fix updates for http_health_check (set defaults)
2015-05-12 12:29:40 -04:00
Dave Cunningham 5f15a9d26a Allow local SSDs, Fix #1088 2015-05-11 21:40:37 -04:00
Dan Carley 579c37cd74 provider/gce: Set defaults for http_health_check
In order to fix the failing test in the preceding commit when optional
params are changed from their default "computed" values.

These weren't working well with `HttpHealthCheck.Patch()` because it was
attempting to set all unspecified params to Go's type defaults (eg. 0 for
int64) which the API rejected.

Changing the call to `HttpHealthCheck.Update()` seemed to fix this but it
still didn't allow you to reset a param back to it's default by no longer
specifying it.

Settings defaults like this, which match the Terraform docs, seems like the
best all round solution. Includes two additional tests for the acceptance
tests which verify the params are really getting set correctly.
2015-05-10 21:20:40 +01:00
Dan Carley 13e9e6f51d provider/gce: Test updates to http_health_check
By first creating a very simple resource that mostly uses the default
values and then changing the two thresholds from their computed defaults.

This currently fails with the following error and will be fixed in a
subsequent commit:

    --- FAIL: TestAccComputeHttpHealthCheck_update (5.58s)
            testing.go:131: Step 1 error: Error applying: 1 error(s) occurred:

                    * 1 error(s) occurred:

                    * 1 error(s) occurred:

                    * Error patching HttpHealthCheck: googleapi: Error 400: Invalid value for field 'resource.port': '0'.  Must be greater than or equal to 1
                    More details:
                    Reason: invalid, Message: Invalid value for field 'resource.port': '0'.  Must be greater than or equal to 1
                    Reason: invalid, Message: Invalid value for field 'resource.checkIntervalSec': '0'.  Must be greater than or equal to 1
                    Reason: invalid, Message: Invalid value for field 'resource.timeoutSec': '0'.  Must be greater than or equal to 1
2015-05-10 21:20:32 +01:00
Dan Carley 88f4df28ac provider/gce: Fix whitespace in test fixture
Mixture of hard and soft tabs, which isn't picked up by `go fmt` because
it's inside a string. Standardise on hard-tabs since that is what's used
in the rest of the code.
2015-05-10 21:06:33 +01:00
Paul Hinze 75c8396f7a provider/google: compute template metadata to map
Needs to match instance, since shared processing helper functions are
used.

Closes #1665
2015-05-06 12:33:35 -05:00
Dave Cunningham 85cc4ec0c1 Use a set for service account scopes. Fix #1759 2015-04-30 21:21:21 -04:00
Dave Cunningham f6554fb4a9 Support Google Cloud DNS, Fix #1148 2015-04-30 01:32:34 -04:00
Dainis Tillers 2fa8403673 Fix - typo in healthcheck names 2015-04-27 11:42:50 +03:00
Mitchell Hashimoto 9037a3a4bc Merge pull request #1426 from dainis/master
provider/google: add additional options to google provider
2015-04-22 08:50:22 +02:00
Mitchell Hashimoto d02abb7a8c Merge pull request #1484 from sparkprime/deprecate-network
deprecate google instance 'network' attribute in favor of network_interface
2015-04-22 08:49:04 +02:00
Dave Cunningham e0905d89f8 Add a UserAgent with version temporarily set to 0.0.0 2015-04-15 18:17:21 -04:00
Paul Hinze 76701884cd Merge pull request #1517 from hashicorp/f-simplify-google-instance
google: simplify instance metadata schema
2015-04-15 11:48:37 -05:00
Paul Hinze 01e75e0fc3 google: simplify instance metadata schema
It doesn't need to be a List of Maps, it can just be a Map.

We're also safe to remove a previous workaround I stuck in there.

The config parsing is equivalent between a list of maps and a plain map,
so we just need a state migration to make this backwards compatible.
2015-04-15 11:01:35 -05:00
Paul Hinze 64f0897c82 core: avoid diff mismatch on NewRemoved fields during -/+
fixes #1508

In a DESTROY/CREATE scenario, the plan diff will be run against the
state of the old instance, while the apply diff will be run against an
empty state (because the state is cleared when the destroy node does its
thing.)

For complex attributes, this can result in keys that seem to disappear
between the two diffs, when in reality everything is working just fine.

Same() needs to take into account this scenario by analyzing NewRemoved
and treating as "Same" a diff that does indeed have that key removed.
2015-04-14 17:23:30 -05:00
Dave Cunningham c08d69a509 deprecate google instance 'network' attribute in favor of network_interface 2015-04-10 17:03:51 -04:00
Dave Cunningham d149db41d6 Avoid 'source' being undefined in legacy network Read 2015-04-09 13:29:59 -04:00
Dainis Tillers ab71de8650 Just removing network refresh wont cut it, value from config must be used 2015-04-08 15:38:07 +03:00
Dainis Tillers 8f717c3e60 Fix #1394, network value for network_interface isn't a computed value and there is no need to refresh it each time instance data is read 2015-04-08 15:29:46 +03:00
Dainis Tillers 22616764fc Added - disk device name 2015-04-08 14:34:37 +03:00
Dainis Tillers 8ee3bb2d16 Added - create disk from snapshot 2015-04-08 14:21:39 +03:00
Paul Hinze 66dbf91ffd helper/schema: ensure ForceNew set when Update is not
If a given resource does not define an `Update` function, then all of
its attributes must be specified as `ForceNew`, lest Applys fail with
"doesn't support update" like #1367.

This is something we can detect automatically, so this adds a check for
it when we validate provider implementations.
2015-04-03 09:57:30 -05:00
Mitchell Hashimoto 5e7007e38f Merge pull request #1239 from BashtonLtd/gce_fix_false_bools
providers/google: Updates to GCE Instances and Instance Templates to allow for false bools.
2015-03-26 10:20:52 -07:00
Mitchell Hashimoto 591376f88d Merge pull request #1238 from BashtonLtd/gce_update_instance_template_disk_tests
providers/google: Update GCE Instance Template tests now that existing disk must exist first.
2015-03-26 10:20:29 -07:00
Mitchell Hashimoto 266670c1a1 Merge pull request #1154 from stuntgoat/gce-add-network
providers/google: add network field to the network_interface
2015-03-26 10:19:00 -07:00
Mitchell Hashimoto d21c112593 Merge pull request #1236 from BashtonLtd/gce_update_imports
Update Google API import to point to the new location.
2015-03-26 10:14:33 -07:00
Nolan Darilek 9d75fa72ab Add disk size to google_compute_instance disk blocks. 2015-03-24 11:45:20 -05:00
David Watson 988da2f90b Updates to GCE Instances and Instance Templates to allow for false values to be set for the auto_delete setting. 2015-03-18 17:50:03 +00:00
David Watson c675c20a48 Update GCE Instance Template tests now that existing disk must exist prior to template creation. 2015-03-18 17:42:03 +00:00
David Watson 33496eeaf8 Update Google API import to point to the new location. 2015-03-18 17:10:39 +00:00