Website: https://www.terraform.io
Mailing list: Google Groups
This provider plugin is maintained by the Terraform team at gridscale.
Clone repository to: $GOPATH/src/github.com/gridscale/terraform-provider-gridscale
$ mkdir -p $GOPATH/src/github.com/gridscale; cd $GOPATH/src/github.com/gridscale
$ git clone git@github.com:gridscale/terraform-provider-gridscale.git
Enter the provider directory and build the provider
$ cd $GOPATH/src/github.com/gridscale/terraform-provider-gridscale
$ make build
See the gridscale provider documentation to get started on using the gridscale provider.
Alternatively, this documentation can also be found within this repository. Check out website/docs/index.html.markdown
to get started. Documentation on how to create resources like servers, storages and networks can be found in website/docs/r
. Documentation on how to add resources like storages, networks and IP addresses to servers, check out the documentation on datasources found in website/docs/d
.
Feature | Availability |
---|---|
Server (CRUD) | ✔️ |
Server dependency (link/unlink) | ✔️ |
Load balancer (CRUD) | ✔️ |
PaaS (CRUD) | ✔️ |
Storage (CRUD) | ✔️ |
Object storage (CRUD) | ✔️ |
IP address (CRUD) | ✔️ |
Network (CRUD) | ✔️ |
Security zone (PaaS) (CRUD) | ✔️ |
Firewall (CRUD) | ✔️ |
SSH key (CRUD) | ✔️ |
ISO Image (CRUD) | ✔️ |
Snapshot (CRUD) | ✔️ |
Snapshot rollback | ✔️ |
Snapshot to S3 | ✔️ |
Snapshot schedule (CRUD) | ✔️ |
Template (CRUD) | ✔️ |
Multiple project support (Workaround) | ❌ |
Marketplace | ❌ |
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.8+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
$ make build
…
$ $GOPATH/bin/terraform-provider-gridscale
…
In order to test the provider, you can simply run make test
.
$ make test
In order to run the full suite of Acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and often cost money to run.
$ make testacc
In order to run a specific Acceptance test.
$ make testacc TEST=./gridscale/ TESTARGS='-run=TestAccResourceGridscaleLoadBalancerBasic'
The following issues are known to us:
- Changing the name attribute in a template datasource will not trigger storages using this template to be recreated.
- If a storage has snapshots, terraform can not delete it.
- The autorecovery value of a server can't be changed with Terraform.