The adjustment was made after I spent a few minutes scratching my head, I have done the following: * Updated the 'provider' block in the first example code to be 'token' instead of 'access_key' - Didn't work previously. * Clarified locations of both 'access_key' and 'token' within the Scaleway panel, and appropriate naming. * Removed "empty" section in example block at the bottom, as this fails with an error when attempted. Overall I think this increases readability. I have tested this against my own Scaleway account.
2.5 KiB
layout, page_title, sidebar_current, description
| layout | page_title | sidebar_current | description |
|---|---|---|---|
| scaleway | Provider: Scaleway | docs-scaleway-index | The Scaleway provider is used to interact with Scaleway bare metal & VPS provider. |
Scaleway Provider
The Scaleway provider is used to manage Scaleway resources.
Use the navigation to the left to read about the available resources.
Example Usage
Here is an example that will setup the following:
- An ARM Server.
- An IP Address.
- A security group.
(create this as sl.tf and run terraform commands from this directory):
provider "scaleway" {
organization = "<YOUR-ACCESS-KEY>"
token = "<YOUR-GENERATED-TOKEN>"
region = "par1"
}
resource "scaleway_ip" "ip" {
server = "${scaleway_server.test.id}"
}
resource "scaleway_server" "test" {
name = "test"
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.test.id}"
volume = "${scaleway_volume.test.id}"
}
resource "scaleway_security_group" "http" {
name = "http"
description = "allow HTTP and HTTPS traffic"
}
resource "scaleway_security_group_rule" "http_accept" {
security_group = "${scaleway_security_group.http.id}"
action = "accept"
direction = "inbound"
ip_range = "0.0.0.0/0"
protocol = "TCP"
port = 80
}
resource "scaleway_security_group_rule" "https_accept" {
security_group = "${scaleway_security_group.http.id}"
action = "accept"
direction = "inbound"
ip_range = "0.0.0.0/0"
protocol = "TCP"
port = 443
}
You'll need to provide your Scaleway organization access key and token.
Your access key can be found on your Scaleway control panel, in the Credentials tab of the management panes. It is under the Tokens subsection, but is labelled seperately as access key.
Your token can be generated by selecting to "Create new token" under the same subsection as above. This does not require further input, but giving each token a friendly-name is suggested.
If you do not want to put credentials in your configuration file, you can leave them out:
provider "scaleway" {
region = "par1"
}
...and instead set these environment variables:
- SCALEWAY_ORGANIZATION: Your Scaleway
organizationaccess key - SCALEWAY_TOKEN: Your API access
token, generated by you - SCALEWAY_REGION: The Scaleway region