Commit Graph

327 Commits

Author SHA1 Message Date
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
stungtoat 1ae50a18f8 add network field to the network_interface 2015-03-06 22:13:07 -08:00
David Watson 84bf1220db Tests for GCE autoscaler resource. 2015-03-04 10:15:26 +00:00
David Watson c706081dd4 Initial commit of autoscaler resource. 2015-03-04 10:14:59 +00:00
Mitchell Hashimoto 1c2d19dc00 providers/google: set only top-level configs for lists [GH-929] 2015-03-02 10:00:24 -08:00
Dave Cunningham 04cbbe6a01 Remove unnecessary ; 2015-02-23 13:35:07 -05:00
Dave Cunningham 3e0e7753c9 Fix argument order 2015-02-23 13:30:41 -05:00
Mitchell Hashimoto 523639b5cd fmt 2015-02-20 10:22:26 -08:00
David Watson de9d052445 Remove debugging log lines. 2015-02-19 16:31:11 +00:00
David Watson fa6d945e08 Update tests to include updated network definition for instance templates from #980. 2015-02-19 11:47:53 +00:00
David Watson 4418cb7e2d Remove old todo comment. 2015-02-19 11:43:18 +00:00
David Watson c3d22ec068 Update Instance Template network definition to match changes to Instances. 2015-02-16 17:04:56 +00:00
David Watson 07b44a816a Add InstanceGroupManager to GCE. 2015-02-16 16:06:23 +00:00
Dave Cunningham b7f5f491e2 Make Google Instance disk attribute all ForceNew. Fix #608. 2015-02-13 14:23:49 -05:00
Dave Cunningham 4d280f0931 Use new oauth2 golang library 2015-02-11 21:21:24 -05:00
Dave Cunningham 106a1c62f5 Revert to upstream oauth2 2015-02-11 01:46:40 -05:00
Dave Cunningham 66ad26f19a Merge branch 'master' into oauth2 2015-02-11 00:37:13 -05:00
Paul Hinze 448edd1a83 Merge pull request #959 from BashtonLtd/gce_instance_template
GCE instance template support
2015-02-10 08:57:45 -06:00
David Watson 418bf2a692 Remove leftover todo comment. 2015-02-10 14:31:43 +00:00
Paul Hinze 24a9559365 Merge pull request #960 from BashtonLtd/gce_self_links
Add SelfLink fields to all GCE resources
2015-02-10 08:10:20 -06:00
David Watson a3ca34ac88 Add SelfLink field to GCE route resource. 2015-02-10 11:15:07 +00:00
David Watson 91b000fd31 Add SelfLink field to GCE network resource. 2015-02-10 11:14:37 +00:00
David Watson 4e1a421652 Add SelfLink field to GCE firewall resource. 2015-02-10 11:14:15 +00:00
David Watson 2b26177903 Add SelfLink field to GCE disk resource. 2015-02-10 11:13:55 +00:00
David Watson 006b98cdae Add optional to disk_name field. 2015-02-10 10:49:20 +00:00
David Watson ec1f874bdc Add tests for Instance Template support to google provider. 2015-02-10 10:29:49 +00:00
David Watson dfa97dfc17 Add Instance Template support to google provider. 2015-02-10 10:29:27 +00:00
Dave Cunningham 26b90c10a0 Merge branch 'master' into gcp_image 2015-02-10 03:25:45 -05:00
Dave Cunningham e898daf573 Merge branch 'master' into oauth2 2015-02-09 20:07:36 -05:00
Paul Hinze e81c995301 Merge pull request #951 from sparkprime/fix_health_check
Fix a number of healthcheck bugs
2015-02-09 18:50:14 -06:00
Paul Hinze 6e27da8c47 Merge pull request #937 from sparkprime/pr_network_interface
Deprecated 'network', introduce 'network_interface'
2015-02-09 18:49:56 -06:00
Dave Cunningham fbe99605e6 Fix whitespace 2015-02-07 19:05:19 -05:00
Dave Cunningham 4e4dcac276 Fix a number of healthcheck bugs 2015-02-07 19:03:18 -05:00
Julien Vey 33eebbed51 provider/gce: Add description in firewall resource 2015-02-06 13:33:02 +01:00
Dave Cunningham b385093502 Deprecated 'network', introduce 'network_interface' 2015-02-06 03:21:22 -05:00
Paul Hinze c6ab3b1711 Merge pull request #906 from BashtonLtd/gce_instance_selflink
Expose SelfLink field for GCE instances.
2015-02-03 15:46:46 -06:00
Dave Cunningham a07ff4bacb Remove service_accounts (legacy dupe of service_account) 2015-02-03 16:16:41 -05:00
David Watson 4ec0c34794 Expose SelfLink for GCE instances to allow other resources to reference instances. 2015-02-02 09:46:35 +00:00
Dave Cunningham aa009516b7 Port to oauth2, fix #606 2015-01-30 14:53:09 -05:00
Dave Cunningham 6046647f38 Multiple gcp improvements and new resources 2015-01-30 10:32:35 -06:00
Dave Cunningham e85c7113fa Allow specifying project or full URL when specifying image 2015-01-29 20:00:02 -05:00
Paul Hinze 9fff0b1729 providers/google: fix instance creation
with this commit, the google compute instance acceptance tests are
passing

 - remove GOOGLE_CLIENT_FILE requirement from provider tests to finish
   out #452
 - skip extra "#" key that shows up in metadata maps, fixes #757 and
   sprouts #883 to figure out core issue
 - more verbose variablenames in metadata parsing, since it took me
   awhile to grok and i thought there might have been a shadowing bug in
   there for a minute. maybe someday when i'm a golang master i'll be
   smart enough to be comfortable with one-char varnames. :)
2015-01-28 15:50:56 -06:00
stungtoat d3814d6180 providers/google: remove secrets file
fixes #452
2015-01-28 15:47:49 -06:00
Jeff Mitchell f2bd1f45ab Move duplicated envDefaultFunc out of each provider and into Schema. 2015-01-16 17:25:39 +00:00
Armon Dadgar 34d5464c63 Merge pull request #725 from jgoldschrafe/feature-google-compute-service-accounts
Support service accounts on GCE instances
2015-01-05 11:30:38 -08:00
Jeff Goldschrafe d3081e0da8 Support service accounts on GCE instances
Update the Google Compute Engine provider to add support for service
accounts on `google_compute_instance`. Both gcloud shorthand (`compute-ro`,
`storage-ro`, etc.) and OAuth2 API endpoints are supported.

This feature is currently limited to a single service account (supporting
multiple scopes) and an automatically-generated service account email.
2015-01-02 01:25:19 -05:00
Ferran Rodenas fc0902d230 provider/google: Add Ubuntu images
Ubuntu images are now GA, so add them to the list of available public images
2014-12-31 03:16:52 -08:00
Sander van Harmelen 36ed95c86d Fixing the acc tests
I do wonder when these tests where last run successfully… Must be quite
some time ago considering what I needed to fix in here 😉
2014-11-20 14:30:02 +01:00
Sander van Harmelen bed36cc86a Refactoring the resourceInstanceTags func just a little
My eye caught this somewhat un-logic mixed use of ‘vs’ and
‘v.(*schema.Set)’, so thought to make it a little cleaner…
2014-11-20 11:32:15 +01:00
Sander van Harmelen 144ceb8003 providers/google: update schema to use a DefaultFunc
This makes testing easier and gives you a way to configure the provider
using env variables. It also makes the provider more inline following
the TF 0.2 approach.
2014-11-20 11:25:23 +01:00
stungtoat afa1666cad set default host on connection info 2014-10-19 00:04:17 -07:00
stungtoat fe4e89bef7 consistent spacing 2014-10-18 23:17:14 -07:00
stungtoat 6cc10998ec go fmt 2014-10-18 23:15:43 -07:00
stungtoat fd979d0a8e providers/google: add external_address; needed for connection 2014-10-18 23:03:37 -07:00
Mitchell Hashimoto 36f225dea0 fmt 2014-10-10 14:50:35 -07:00
Mitchell Hashimoto 9e953c9908 Merge pull request #372 from jgoldschrafe/feature-google-compute-disk-types
Configurable disk types for GCE
2014-10-08 10:50:38 -07:00
Jeff Goldschrafe 88a020e0b5 Support IP forwarding on GCE instances
This change exposes the CanIpForward property of the Instance, allowing
users to create instances that are allowed to function as NAT or VPN
gateways.
2014-10-07 12:28:20 -04:00
Jeff Goldschrafe ddfdfebcc5 Configurable disk types for GCE
Supports configuring the disk type for Google Compute Engine disk
resources. Both `google_compute_disk` and `google_compute_instance`
disk types are supported.

Resolves #351.
2014-10-07 01:40:20 -04:00
Mitchell Hashimoto 2f681c4bcc providers: fix tests 2014-09-28 17:32:39 -07:00
Mitchell Hashimoto 3941dbac5d fmt 2014-09-28 11:51:49 -07:00
Mitchell Hashimoto e2534e4210 builtin: fix all compilation 2014-09-28 11:51:39 -07:00
Jeff Goldschrafe 0598f2fdb0 google_compute_firewall: Support target tags 2014-09-26 01:15:31 -04:00
Mitchell Hashimoto ecc10616ba providers/google: tests passing, compiling 2014-09-16 17:17:09 -07:00
Mitchell Hashimoto a5c884f5aa fmt 2014-09-09 13:43:03 -07:00
Dainis Tillers 0ba2194503 Added - flag to set whether disk needs to be delete or not when instance terminates 2014-09-02 16:52:49 +03:00
Dainis Tillers 47ee01b7ce Fixed - allow to attach already existing disks 2014-09-02 16:52:21 +03:00
Dainis Tillers ebdceac770 Require project id as otherwise it will fail with cryptic error 2014-09-02 16:49:16 +03:00
Mitchell Hashimoto 3e4b7b862a providers/google: compute_firewall partial state 2014-08-26 20:33:53 -07:00
Mitchell Hashimoto bfbb9201c4 providers/google: partial updates with compute_instance 2014-08-26 20:31:35 -07:00
Mitchell Hashimoto ea585a5950 providers/google: compute_instance supports updating tags 2014-08-26 13:52:18 -07:00
Mitchell Hashimoto a451be0140 providers/google: compute_instance supports updating metadata 2014-08-26 13:48:49 -07:00
Mitchell Hashimoto 69a9619924 providers/google: compute_firewall update 2014-08-26 12:50:08 -07:00
Mitchell Hashimoto f2d7900e63 providers/google: on refresh, treat 404 as resource gone 2014-08-25 22:49:14 -07:00
Mitchell Hashimoto 673b62db96 providers/google: check operations for errors 2014-08-25 22:44:27 -07:00
Mitchell Hashimoto bf6df9420f providers/google: compute_route 2014-08-25 22:39:29 -07:00
Mitchell Hashimoto 0c2a0aeeba providers/google: proper resource type in error message 2014-08-25 22:13:37 -07:00
Mitchell Hashimoto 8639c104a2 providers/google: compute_firewall 2014-08-25 22:09:38 -07:00
Mitchell Hashimoto 7ad39614fa providers/google: compute_network 2014-08-25 21:41:15 -07:00
Mitchell Hashimoto 99918bde2e providers/google: support disks coming from other disks 2014-08-25 21:35:23 -07:00
Mitchell Hashimoto 81c9b695a1 fmt 2014-08-25 16:23:38 -07:00
Mitchell Hashimoto efe9b53a05 providers/google: compute_disk 2014-08-25 16:23:28 -07:00
Mitchell Hashimoto f5d4b605c2 providers/google: can assign IP to instance 2014-08-25 15:47:21 -07:00
Mitchell Hashimoto 7f3bb1a45a providers/google: compute_instance supports metadata 2014-08-25 15:25:45 -07:00
Mitchell Hashimoto da03be8941 providers/google: support tags on compute_instance 2014-08-25 15:10:30 -07:00
Mitchell Hashimoto 5bf258809f providers/google: compute_instance 2014-08-25 14:57:17 -07:00
Mitchell Hashimoto 043a7d516e providers/google: compute_address tests 2014-08-25 13:56:40 -07:00
Mitchell Hashimoto a80222bbe4 providers/google: google_compute_address 2014-08-25 12:55:08 -07:00
Mitchell Hashimoto f346964fca providers/google: first pass 2014-08-25 11:48:20 -07:00