Commit Graph

18 Commits

Author SHA1 Message Date
Raphael Randschau 98d84680b7 provider/scaleway server volume property (#9695)
* provider/scaleway: extract volume validation helpers

* provider/scaleway: add server volume property

fixes #9499

* provider/scaleway: update `scaleway_server` docu

* provider/scaleway: fix volume handling

this actually broken when merging the latest SDK update :(

* provider/scaleway: fix volume attachment

* provider/scaleway: fix volume expectation
2016-10-29 12:07:35 +01:00
Paul Stack e4ddf24b51 Merge pull request #9321 from Zhebr/patch-1
provider/scaleway: add missing information
2016-10-25 14:39:49 +01:00
IceBear 659f71734e Fix error
This is definitely scaleway_server instead of scaleway_volume, wouldn't make any sense otherwise.
2016-10-20 11:49:54 +02:00
James Nugent fc2d973e26 Merge pull request #9387 from nicolai86/feat/scaleway-import
provider/scaleway: add support for importing resources
2016-10-18 08:11:09 -05:00
James Nugent 4ef3ab70f9 Merge branch 'feat/provider-scaleway-bootscript' of https://github.com/nicolai86/terraform into nicolai86-feat/provider-scaleway-bootscript 2016-10-18 08:06:14 -05:00
Raphael Randschau fc4c848778
provider/scaleway: add importer support 2016-10-15 23:49:14 +02:00
Raphael Randschau 903170ddf3
provider/scaleway: add image data source 2016-10-15 19:32:08 +02:00
Raphael Randschau 1552c33033
provider/scaleway: add bootscript data source
bootscripts allow you to start Scaleway servers with a specific kernel version.
The `scaleway_server`  has always had a bootscript parameter, and the
`scaleway_bootscript` datasource allows you to lookup bootscripts to be used in
conjunction with the `scaleway_server` resource.
2016-10-15 19:32:01 +02:00
Raphael Randschau 5cba23bf7b
provider/scaleway: fix headline in docs 2016-10-15 14:29:11 +02:00
Kot Chaosu b2eebebad1 add vars explanation 2016-10-13 23:21:41 +02:00
Kot Chaosu 5f4c0de3f8 add missing information
It's important to note this env var needs to be organization ID, at least for individual users (organization name doesn't work).
2016-10-11 11:25:54 +02:00
James Nugent 276ff83b84 Merge pull request #9312 from nicolai86/chore/upgrade-scaleway-api
provider/scaleway: SDK upgrade
2016-10-10 22:44:15 -04:00
Kot Chaosu 78fd57273b are -> is 2016-10-11 00:00:07 +02:00
Raphael Randschau 5e107cd009
provider/scaleway: Update provider docs with new attribute 2016-10-10 20:05:26 +02:00
Louis-Paul Dareau 7adcac2d6c
provider/scaleway: Fix a documentation typo 2016-09-02 12:16:42 -04:00
Louis-Paul Dareau ab36c4299f
provider/scaleway: Document ports in security group rules properly 2016-09-02 12:10:52 -04:00
Raphael Randschau 9f314a3c29 provider/scaleway: Expose IPv6 support, improve documentation (#7784)
* provider/scaleway: update api version

* provider/scaleway: expose ipv6 support, rename ip attributes

since it can be both ipv4 and ipv6, choose a more generic name.

* provider/scaleway: allow servers in different SGs

* provider/scaleway: update documentation

* provider/scaleway: Update docs with security group

* provider/scaleway: add testcase for server security groups

* provider/scaleway: make deleting of security rules more resilient

* provider/scaleway: make deletion of security group more resilient

* provider/scaleway: guard against missing server
2016-07-25 12:49:09 +01:00
Raphael Randschau 9081cabd6e Add scaleway provider (#7331)
* Add scaleway provider

this PR allows the entire scaleway stack to be managed with terraform

example usage looks like this:

```
provider "scaleway" {
  api_key = "snap"
  organization = "snip"
}

resource "scaleway_ip" "base" {
  server = "${scaleway_server.base.id}"
}

resource "scaleway_server" "base" {
  name = "test"
  # ubuntu 14.04
  image = "aecaed73-51a5-4439-a127-6d8229847145"
  type = "C2S"
}

resource "scaleway_volume" "test" {
  name = "test"
  size_in_gb = 20
  type = "l_ssd"
}

resource "scaleway_volume_attachment" "test" {
  server = "${scaleway_server.base.id}"
  volume = "${scaleway_volume.test.id}"
}

resource "scaleway_security_group" "base" {
  name = "public"
  description = "public gateway"
}

resource "scaleway_security_group_rule" "http-ingress" {
  security_group = "${scaleway_security_group.base.id}"

  action = "accept"
  direction = "inbound"
  ip_range = "0.0.0.0/0"
  protocol = "TCP"
  port = 80
}

resource "scaleway_security_group_rule" "http-egress" {
  security_group = "${scaleway_security_group.base.id}"

  action = "accept"
  direction = "outbound"
  ip_range = "0.0.0.0/0"
  protocol = "TCP"
  port = 80
}
```

Note that volume attachments require the server to be stopped, which can lead to
downtimes of you attach new volumes to already used servers

* Update IP read to handle 404 gracefully

* Read back resource on update

* Ensure IP detachment works as expected

Sadly this is not part of the official scaleway api just yet

* Adjust detachIP helper

based on feedback from @QuentinPerez in
https://github.com/scaleway/scaleway-cli/pull/378

* Cleanup documentation

* Rename api_key to access_key

following @stack72 suggestion and rename the provider api_key for more clarity

* Make tests less chatty by using custom logger
2016-07-13 21:03:41 +01:00