From 1f25762668f36971adda9e09947637aa84a499c3 Mon Sep 17 00:00:00 2001 From: jerome Date: Sun, 11 Sep 2022 18:51:14 +0200 Subject: commit initial --- main.tf | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 main.tf (limited to 'main.tf') diff --git a/main.tf b/main.tf new file mode 100644 index 0000000..606e79f --- /dev/null +++ b/main.tf @@ -0,0 +1,54 @@ +terraform { + required_providers { + virtualbox = { + source = "terra-farm/virtualbox" + version = "0.2.2-alpha.1" + } + } +} + +resource "virtualbox_vm" "node" { +# count = 1 +# name = format("ubuntu%01d", count.index + 3) +# remplacement par des variables : voir variables.tf + count = var.nb + name = format("ubuntu%01d", count.index + var.start) + image = "https://app.vagrantup.com/ubuntu/boxes/focal64/versions/20220905.0.0/providers/virtualbox.box" + cpus = 2 + memory = "2048 mib" + + network_adapter { + type = "bridged" + host_interface = "ens160" + } +} + +output "ip_addresses" { + value = { + for vm in virtualbox_vm.node.*: + vm.name => vm.network_adapter.0.ipv4_address + } +} + +######################### +# Principales commandes # +######################### + +# pour valider notre script de configuration HCL +# -> terraform validate +# pour initaliser terraform (et le provider): +# -> terraform init +# pour voir ce qui va se passer : +# -> terraform plan +# pour appliquer le plan: +# -> terraform apply +# pour voir le déploiment réalisé +# -> terraform show +# ou encore +# -> terraform state list +# -> terraform state show virtualbox_vm.node[0] +# Pour retrouver les adresses ip à tout moment (voir bloc output plus haut): +# -> terraform output +# Pour supprimer les machines: +# -> terraform destroy + -- cgit v1.2.3