terraform/builtin/bins
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
..
provider-atlas core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-aws core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-azure core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-azurerm provider/azurerm: Clean up work for base provider 2015-12-15 18:31:02 -05:00
provider-chef Entry point for chef provider. 2015-12-13 15:09:16 -08:00
provider-clc core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-cloudflare core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-cloudstack core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-cobbler provider/cobbler: Cobbler Provider 2016-04-16 08:54:59 -05:00
provider-consul core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-datadog core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-digitalocean core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-dme core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-dnsimple core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-docker core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-dyn core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-fastly core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-github core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-google core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-grafana Grafana Provider, with Data Source and Dashboard resources (#6206) 2016-05-20 10:20:17 +01:00
provider-heroku core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-influxdb core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-librato core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-logentries provider/logentries: Implementing logentries provider (#7067) 2016-07-12 14:14:39 +01:00
provider-mailgun core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-mysql core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-null core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-openstack crud for openstack servers v2 2015-03-31 09:54:45 -06:00
provider-packet Packet bare metal cloud hosting platform provider 2015-06-07 16:34:08 -04:00
provider-postgresql core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-powerdns core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-random core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-rundeck New provider for Rundeck, a runbook automation system. 2015-09-03 10:01:32 -07:00
provider-scaleway Add scaleway provider (#7331) 2016-07-13 21:03:41 +01:00
provider-softlayer core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-statuscake Created the initial scaffolding for the statuscake provider 2015-11-27 15:03:13 +00:00
provider-template providers: add template provider 2015-05-01 16:59:49 -07:00
provider-terraform core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provider-test provider/test: Add more variants of maps 2016-06-09 10:49:49 +01:00
provider-tls tls provider 2015-10-22 21:48:32 -07:00
provider-triton provider/triton: New provider for Joyent Triton 2016-03-20 20:15:17 +00:00
provider-ultradns UltraDNS Provider 2016-03-20 12:10:59 -05:00
provider-vcd Added vCloud Director provider with tests and provider documentation 2015-11-02 13:39:25 +00:00
provider-vsphere core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provisioner-chef core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provisioner-file core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provisioner-local-exec core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00
provisioner-remote-exec core: Remove tests from provider binaries 2016-06-03 13:47:58 -05:00