diff --git a/.gitignore b/.gitignore index 5623a1c6b..330001808 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,11 @@ test.tf *.test *.iml .vscode +.terraform.tfstate.lock.info +.terraform.lock.hcl + +# generated for examples tests +examples/**/provider.tf website/vendor diff --git a/examples/instance-servers/README.md b/examples/instance-servers/README.md new file mode 100644 index 000000000..07648058d --- /dev/null +++ b/examples/instance-servers/README.md @@ -0,0 +1,3 @@ +# Example: Instance Servers + +This example provisions a customizable number of servers in a private network. diff --git a/examples/instance-servers/main.tf b/examples/instance-servers/main.tf new file mode 100644 index 000000000..90b41d6af --- /dev/null +++ b/examples/instance-servers/main.tf @@ -0,0 +1,18 @@ +provider "scaleway" {} + +resource "scaleway_vpc" "vpc" {} + +resource "scaleway_vpc_private_network" "pn" { + vpc_id = scaleway_vpc.vpc.id +} + +resource "scaleway_instance_ip" "ip" { + count = var.server_count +} + +resource "scaleway_instance_server" "server" { + count = var.server_count + type = "PLAY2-MICRO" + image = "ubuntu_jammy" + ip_ids = [scaleway_instance_ip.ip[count.index].id] +} diff --git a/examples/instance-servers/outputs.tf b/examples/instance-servers/outputs.tf new file mode 100644 index 000000000..6f4a32ab8 --- /dev/null +++ b/examples/instance-servers/outputs.tf @@ -0,0 +1,4 @@ +output "ips_v4" { + description = "The public IPv4 addresses of the created instance servers" + value = scaleway_instance_server.server[*].public_ip +} diff --git a/examples/instance-servers/variables.tf b/examples/instance-servers/variables.tf new file mode 100644 index 000000000..9e1effa9f --- /dev/null +++ b/examples/instance-servers/variables.tf @@ -0,0 +1,5 @@ +variable "server_count" { + description = "The number of servers and IPs to provision" + type = number + default = 3 +}