terraform/command
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
..
test-fixtures core: Add support for marking outputs as sensitive (#6559) 2016-05-09 15:46:07 -04:00
apply.go core: Use OutputState in JSON instead of map 2016-05-18 13:25:20 -05:00
apply_destroy_test.go remove various typos 2015-09-11 11:56:20 -07:00
apply_test.go Use -state-out option when applying from a plan 2016-07-01 14:18:51 -04:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
cli_ui_test.go command/*: colors on error messages (red) 2014-07-12 20:59:16 -07:00
command.go command: pull parallelism default up to CLI layer 2015-10-05 15:06:08 -05:00
command_test.go core: Add missing OutputStates in synthetic state 2016-06-22 17:06:41 +03:00
counthookaction_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05:00
flag_kv.go command: make error message clearer for invalid tfvars format [GH-1889] 2015-06-25 17:56:37 -07:00
flag_kv_test.go core: test coverage around map key regression 2015-11-24 16:00:02 -06:00
fmt.go command/fmt: Improve documentation for -diff and defaults (#6398) 2016-04-29 00:39:53 +01:00
fmt_test.go Update HCL to latest, unskip fmt tests 2016-04-27 07:37:47 -05:00
format_plan.go Fix plan output for data sources 2016-06-30 15:34:43 -04:00
format_plan_test.go Fix plan output for data sources 2016-06-30 15:34:43 -04:00
format_state.go core: Fix crash with tainted resource 2016-06-13 09:25:21 +02:00
get.go command/get: fix typo 2015-09-13 14:40:36 -07:00
get_test.go command: put the modules in ".terraform/modules" 2014-10-13 12:05:28 -07:00
graph.go command: Change module-depth default to -1 2016-01-20 13:58:02 -06:00
graph_test.go terraform: Graph returns *Graph for now 2015-02-19 12:08:32 -08:00
hook_count.go command: Do not count data sources in plan totals 2016-07-11 17:27:56 -05:00
hook_count_action.go terraform: orphans should call post-apply hook [GH-1938] 2015-06-25 20:11:29 -07:00
hook_count_test.go command: Do not count data sources in plan totals 2016-07-11 17:27:56 -05:00
hook_state.go command: StateHook for continous state updates 2015-02-23 21:57:17 -08:00
hook_state_test.go command: StateHook for continous state updates 2015-02-23 21:57:17 -08:00
hook_ui.go core: Adding Sensitive attribute to resource schema 2016-05-29 22:18:44 -07:00
import.go command: UI for import 2016-05-11 13:02:35 -07:00
import_test.go command/import: tests passing 2016-05-11 13:02:34 -07:00
init.go Fixes #5011 - Backend downcased for init 2016-02-05 06:26:12 -06:00
init_test.go Fixes #5011 - Backend downcased for init 2016-02-05 06:26:12 -06:00
internal_plugin.go Set a log prefix for each plugin and remove go-dynect global log prefix (#6336) 2016-05-10 14:49:13 -04:00
internal_plugin_core.go Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary 2016-05-10 14:40:11 -04:00
internal_plugin_list.go Add scaleway provider (#7331) 2016-07-13 21:03:41 +01:00
internal_plugin_test.go Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary 2016-05-10 14:40:11 -04:00
meta.go Use -state-out option when applying from a plan 2016-07-01 14:18:51 -04:00
meta_test.go command: Change module-depth default to -1 2016-01-20 13:58:02 -06:00
module_storage.go fix a bunch of tests from go-getter import 2015-10-15 13:48:58 -07:00
module_storage_test.go fix a bunch of tests from go-getter import 2015-10-15 13:48:58 -07:00
output.go core: Add -json flag to `terraform output` 2016-07-13 10:42:55 -06:00
output_test.go core: Add -json flag to `terraform output` 2016-07-13 10:42:55 -06:00
plan.go command/plan: remove -backup from help text 2016-06-10 18:05:28 -05:00
plan_test.go Add tests and fix last issues 2016-05-26 19:56:03 -05:00
push.go remove various typos 2015-09-11 11:56:20 -07:00
push_test.go command/push: update flag to -overwrite, update docs 2015-06-29 13:53:05 -07:00
refresh.go core: Fix issues from rebasing dev-0.7 onto master 2016-05-10 15:43:50 -04:00
refresh_test.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
remote.go Add -no-color to help text 2015-06-22 13:14:01 +01:00
remote_config.go Add basic implementation for remote state on azure (#7064) 2016-06-10 19:27:57 +02:00
remote_config_test.go remove various typos 2015-09-11 11:56:20 -07:00
remote_pull.go Add -no-color to help text 2015-06-22 13:14:01 +01:00
remote_pull_test.go command: when setting up state, only write back if local is newer 2015-03-26 17:16:54 -07:00
remote_push.go Add -no-color to help text 2015-06-22 13:14:01 +01:00
remote_push_test.go command: move remote configuration stuff 2015-03-04 16:17:30 -08:00
show.go command: Change module-depth default to -1 2016-01-20 13:58:02 -06:00
show_test.go core: fix `terraform show` with remote state 2015-06-16 12:26:04 -05:00
state.go Use -state-out option when applying from a plan 2016-07-01 14:18:51 -04:00
state_command.go Add `terraform state list` command 2016-05-10 14:14:47 -04:00
state_list.go Add `terraform state list` command 2016-05-10 14:49:14 -04:00
state_list_test.go Add `terraform state list` command 2016-05-10 14:14:47 -04:00
state_meta.go command/state meta: State func 2016-05-11 09:16:48 -07:00
state_mv.go cli: Fix registration of `state mv`. 2016-06-22 11:46:38 +03:00
state_mv_test.go command: test for moving into another state file 2016-05-10 13:25:04 -07:00
state_show.go command: compilation works 2016-05-10 17:03:58 -07:00
state_show_test.go add command/state show 2016-05-10 14:14:47 -04:00
state_test.go command: compilation works 2016-05-10 17:03:58 -07:00
taint.go command: Prevent data resources from being tainted 2016-05-14 08:26:37 -07:00
taint_test.go Add tests and fix last issues 2016-05-26 19:56:03 -05:00
ui_input.go helper/scheam: support UI defaults 2014-09-29 14:00:35 -07:00
ui_input_test.go command: UIInput implementation to ask via CLI 2014-09-29 10:56:01 -07:00
untaint.go Change taint behaviour to act as a normal resource 2016-05-26 19:55:26 -05:00
untaint_test.go Add tests and fix last issues 2016-05-26 19:56:03 -05:00
validate.go Fixing some golint issues on the new validate command 2016-02-08 22:04:24 +00:00
validate_test.go Fixing some golint issues on the new validate command 2016-02-08 22:04:24 +00:00
version.go fixing version numbers RCs should be labeled x.x.x-rcx 2015-02-07 16:56:56 +01:00
version_test.go Implement CLI, version command 2014-05-24 12:04:43 -07:00