• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H07-Jul-2020-5637

gridscale/H07-Jul-2020-11,0729,814

scripts/H07-Jul-2020-8248

vendor/H03-May-2022-652,210491,245

website/H07-Jul-2020-2,4801,905

.gitignoreH A D07-Jul-2020399 3431

.travis.ymlH A D07-Jul-20202.7 KiB3632

CHANGELOG.mdH A D07-Jul-20202.5 KiB10465

GNUmakefileH A D07-Jul-20203.2 KiB8468

LICENSEH A D07-Jul-202016.3 KiB374293

README.mdH A D07-Jul-20204.3 KiB11583

go.modH A D07-Jul-2020295 118

go.sumH A D07-Jul-202032.2 KiB341340

main.goH A D07-Jul-2020237 129

README.md

1Terraform gridscale Provider
2[![Build Status](https://travis-ci.org/terraform-providers/terraform-provider-gridscale.svg?branch=master)](https://travis-ci.org/terraform-providers/terraform-provider-gridscale)
3[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/terraform-providers/terraform-provider-gridscale?label=release)](https://github.com/terraform-providers/terraform-provider-gridscale/releases)
4[![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)
5==================
6
7Website: https://www.terraform.io
8
9Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)
10
11<img src="https://cdn.rawgit.com/hashicorp/terraform-website/master/content/source/assets/images/logo-hashicorp.svg" width="600px">
12
13Maintainers
14-----------
15
16This provider plugin is maintained by the Terraform team at [gridscale](https://www.gridscale.io/).
17
18Requirements
19------------
20
21- [Terraform](https://www.terraform.io/downloads.html) 0.12.x
22- [Go](https://golang.org/doc/install) ≥ 1.13 (to build the provider plugin)
23
24Building the Provider
25---------------------
26
27Clone repository to: `$GOPATH/src/github.com/gridscale/terraform-provider-gridscale`
28
29```sh
30$ mkdir -p $GOPATH/src/github.com/gridscale; cd $GOPATH/src/github.com/gridscale
31$ git clone git@github.com:gridscale/terraform-provider-gridscale.git
32```
33
34Enter the provider directory and build the provider
35
36```sh
37$ cd $GOPATH/src/github.com/gridscale/terraform-provider-gridscale
38$ make build
39```
40
41Using the Provider
42------------------
43
44See the [gridscale provider documentation](https://www.terraform.io/docs/providers/gridscale) to get started on using the gridscale provider.
45
46Alternatively, this documentation can also be found within this repository. Check out [`website/docs/index.html.markdown`](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`](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`](website/docs/d).
47
48Available Features
49---------------------------
50
51| Feature | Availability |
52|---|:---:|
53| Server (CRUD) | :heavy_check_mark: |
54| Server dependency (link/unlink) | :heavy_check_mark: |
55| Load balancer (CRUD) | :heavy_check_mark: |
56| PaaS (CRUD) | :heavy_check_mark: |
57| Storage (CRUD) | :heavy_check_mark: |
58| Object storage (CRUD) | :heavy_check_mark: |
59| IP address (CRUD) | :heavy_check_mark: |
60| Network (CRUD) | :heavy_check_mark: |
61| Security zone (PaaS) (CRUD) | :heavy_check_mark: |
62| Firewall (CRUD) | :heavy_check_mark: |
63| SSH key (CRUD) | :heavy_check_mark: |
64| ISO Image (CRUD) | :heavy_check_mark: |
65| Snapshot (CRUD) | :heavy_check_mark: |
66| Snapshot rollback | :heavy_check_mark: |
67| Snapshot to S3 | :heavy_check_mark: |
68| Snapshot schedule (CRUD) | :heavy_check_mark: |
69| Template (CRUD) | :heavy_check_mark: |
70| Multiple project support ([Workaround](https://github.com/gridscale/terraform-examples/tree/master/multi-project)) | :x: |
71| Marketplace | :x: |
72
73Developing the Provider
74---------------------------
75
76If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version 1.8+ is *required*). You'll also need to correctly setup a [GOPATH](http://golang.org/doc/code.html#GOPATH), as well as adding `$GOPATH/bin` to your `$PATH`.
77
78To compile the provider, run `make build`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory.
79
80```sh
81$ make build
8283$ $GOPATH/bin/terraform-provider-gridscale
8485```
86
87In order to test the provider, you can simply run `make test`.
88
89```sh
90$ make test
91```
92
93In order to run the full suite of Acceptance tests, run `make testacc`.
94
95*Note:* Acceptance tests create real resources, and often cost money to run.
96
97```sh
98$ make testacc
99```
100
101In order to run a specific Acceptance test.
102
103```sh
104$ make testacc TEST=./gridscale/ TESTARGS='-run=TestAccResourceGridscaleLoadBalancerBasic'
105```
106
107Known Issues
108---------------------------
109
110The following issues are known to us:
111
112- Changing the name attribute in a template datasource will not trigger storages using this template to be recreated.
113- If a storage has snapshots, terraform can not delete it.
114- The autorecovery value of a server can't be changed with Terraform.
115