· 6 years ago · Aug 21, 2019, 05:30 PM
1# Configure the Scaleway Provider
2# Need to define the ENV vars TF_VAR_scw_organization_id and TF_VAR_scw_token
3provider "scaleway" {
4 project_id = "${var.scw_organization_id}"
5 secret_key = "${var.scw_token}"
6 region = "${var.scw_region}"
7 zone = "${var.scw_zone}"
8}
9
10data "scaleway_image" "debian-9-jmeter-server" {
11 architecture = "x86_64"
12 name_filter = "^debian-9-jmeter-server.*$"
13}
14
15resource "scaleway_compute_instance_security_group" "jmeter_sec_group" {
16 name = "jmeter"
17 description = "allow SSH and any TCP traffic from 10.0.0.0/8"
18 inbound_default_policy = "drop"
19 inbound_rule {
20 action = "accept"
21 # Replace IP by your public IP
22 ip = "IP"
23 protocol = "TCP"
24 port = 22
25 }
26 inbound_rule {
27 action = "accept"
28 ip_range = "10.0.0.0/8"
29 protocol = "TCP"
30 }
31}
32
33resource "scaleway_compute_instance_server" "jmeter" {
34 count = "${var.nb_servers}"
35 name = "${format("p-jmeter-%03d", count.index + 1)}"
36 security_group_id = "${scaleway_compute_instance_security_group.jmeter_sec_group.id}"
37 image_id = "${data.scaleway_image.debian-9-jmeter-server.id}"
38 enable_ipv6 = false
39 type = "${var.scw_instance_type}"
40}
41
42resource "scaleway_compute_instance_ip" "jmeter_ip" {
43 count = "${var.nb_servers}"
44 server_id = "${element("${scaleway_compute_instance_server.jmeter.*.id}", count.index)}"
45}