data-repo/terraform-configurations/22/configuration-22.tf

66 lines
5.4 KiB
HCL

terraform {
required_providers {
ovh = {
source = "ovh/ovh"
version = "2.3.0"
}
}
}
provider "ovh" {
endpoint = "ovh-eu"
}
variable project_id {
type = string
default = "5a08aa20856c4c549ed18d3fd5c7418a"
}
variable region {
type = string
default = "SBG5"
}
# Ubuntu 22.04
variable image_id {
type = string
default = "ecf71715-17f5-44f6-8511-624de05f3041"
}
data "ovh_cloud_project_flavors" "flavors" {
service_name = var.project_id
name_filter = "r3-16-flex"
region = var.region
}
resource "ovh_cloud_project_instance" "simpl_vm" {
service_name = var.project_id
region = var.region
billing_period = "hourly"
boot_from {
image_id = var.image_id
}
flavor {
flavor_id = tolist(data.ovh_cloud_project_flavors.flavors.flavors)[0].id
}
name = "offering-enterprise-server-22-terraform"
ssh_key_create {
name = "default-user-key"
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDjSFhpjNNDz3olIFuLdROifKJXekAu2CKQ7UyziJJOAPD2wP4eYEgTR6R12TnDHMDerNBLo8d/zIhkmmvF8zr4vBgB8nLHHV/hX6J8b1hg9o9ZtFY1czrdgEzjKtEEwqltQANWQqbg2i4cFDC96ZQRm8p/2XlKvdPkudHwnOqa6NtnE5vfBV0tk9uBbvr1mR8f9yMKpeTxyZUqOkhTZq8FIqS1h0n8Sh8CUYpTpsPilSspAs4xd/oR1FdINLGG4g9pJ/iRgsgMesQHb1qs8h/jws/XOE3Dg/+eDR5AsMz1DIuOjfVrT+xSFVtNxRQu5i6/mqad8NjeI+nR/TJjdnyS8k/JQEXWqOYIYOiozeueaP0fuulJuk0hf34dKrQqFp84Mqd7vE/Z4srdbyC1OfxCMhs3j7Ja9eujpAcp0aLl+mUGV9GKKANJlGmnt76YX5SPCKWEQb5plSXEbOkXPNCnJqF/x99AbPluSc3dYqBJmfhtu2w83jo6m+K50/F6eEU= cbeti@LXBU-2N877S3"
}
network {
public = true
}
user_data = "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogZGVmYXVsdC1zZXJ2ZXIKc3NoX3B3YXV0aDogdHJ1ZQpjaHBhc3N3ZDoKICBleHBpcmU6IGZhbHNlCgp1c2VyczoKICAtIG5hbWU6IGRlZmF1bHQKICAtIG5hbWU6IHZtdXNlcgogICAgcGFzc3dkOiAkNiRaVkJDNmJoeDZRWE1OdHM3JC82YTBhVFU2c3BDQmZWU1FPbHZCbWtKVzd0N0VtWDFJVnJZUEFtamluVlM3RFRRS0E5azBwM0MycDVNWk5zeWxjSjZyQ0VPeEV2bkdyeXQyV1AyTWgvCiAgICBzaGVsbDogL2Jpbi9iYXNoCiAgICBsb2NrX3Bhc3N3ZDogZmFsc2UKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIGdyb3VwczogdXNlcnMsIGFkbWluLCBzdWRvCgpydW5jbWQ6CiAgLSBlY2hvICJyZWdlbmVyYXRpbmcgaG9zdCBrZXlzIgogIC0gcm0gLWYgL2V0Yy9zc2gvc3NoX2hvc3RfKgogIC0gc3NoLWtleWdlbiAtQQogIC0gZWNobyAicmVzdGFydGluZyBzc2hkIgogIC0gc3lzdGVtY3RsIHJlc3RhcnQgc3NoZAoKb3V0cHV0OgogIGFsbDogInwgdGVlIC1hIC92YXIvbG9nL2Nsb3VkLWluaXQtZGVidWcubG9nIgpmaW5hbF9tZXNzYWdlOiAiRGVmYXVsdCBWTSBDbG91ZGluaXQgZG9uZSIKCndyaXRlX2ZpbGVzOgogIC0gcGF0aDogL2V0Yy9tZXRyaWNiZWF0L2NlcnRzL2NhLmNydAogICAgb3duZXI6IHJvb3Q6cm9vdAogICAgcGVybWlzc2lvbnM6ICIwNjAwIgogICAgY29udGVudDogfAogICAgICAKCiAgLSBwYXRoOiAvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5jcnQKICAgIG93bmVyOiByb290OnJvb3QKICAgIHBlcm1pc3Npb25zOiAiMDYwMCIKICAgIGNvbnRlbnQ6IHwKICAgICAgCgogIC0gcGF0aDogL2V0Yy9tZXRyaWNiZWF0L2NlcnRzL3VzZXIua2V5CiAgICBvd25lcjogcm9vdDpyb290CiAgICBwZXJtaXNzaW9uczogIjA2MDAiCiAgICBjb250ZW50OiB8CiAgICAgIAoKICAtIHBhdGg6IC92YXIvbGliL2Nsb3VkL21ldHJpY2JlYXQueW1sCiAgICBvd25lcjogcm9vdDpyb290CiAgICBwZXJtaXNzaW9uczogIjA2MDAiCiAgICBjb250ZW50OiB8CiAgICAgIG1ldHJpY2JlYXQubW9kdWxlczoKICAgICAgICAtIG1vZHVsZTogc3lzdGVtCiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBwZXJpb2Q6IDEwcwogICAgICAgICAgbWV0cmljc2V0czoKICAgICAgICAgICAgLSBjcHUKICAgICAgICAgICAgLSBsb2FkCiAgICAgICAgICAgIC0gbWVtb3J5CiAgICAgICAgICAgIC0gZmlsZXN5c3RlbQogICAgICAgICAgICAtIGZzc3RhdAogICAgICAgICAgICAtIGRpc2tpbwogICAgICAgICAgICAtIHByb2Nlc3MKICAgICAgICAgICAgLSBuZXR3b3JrCiAgICAgICAgICAgIC0gdXB0aW1lCgogICAgICBvdXRwdXQua2Fma2E6CiAgICAgICAgaG9zdHM6CiAgICAgICAgICAtICIiCiAgICAgICAgdG9waWM6ICIiCiAgICAgICAgc3NsOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgdmVyaWZpY2F0aW9uX21vZGU6IGZ1bGwKICAgICAgICAgIGNlcnRpZmljYXRlX2F1dGhvcml0aWVzOgogICAgICAgICAgICAtICIvZXRjL21ldHJpY2JlYXQvY2VydHMvY2EuY3J0IgogICAgICAgICAgY2VydGlmaWNhdGU6ICIvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5jcnQiCiAgICAgICAgICBrZXk6ICIvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5rZXkiCgogICAgICBwcm9jZXNzb3JzOgogICAgICAgIC0gYWRkX2ZpZWxkczoKICAgICAgICAgICAgdGFyZ2V0OiBmaWVsZHMKICAgICAgICAgICAgZmllbGRzOgogICAgICAgICAgICAgIGNvbnN1bWVyX2lkOiAiIgoKICAgICAgcXVldWUuZGlzazoKICAgICAgICBwYXRoOiAiL3Zhci9saWIvbWV0cmljYmVhdC9kaXNrcXVldWUiCiAgICAgICAgbWF4X3NpemU6IDEwR0IKICAgICAgICBzZWdtZW50X3NpemU6IDFHQgoKcnVuY21kOgogIC0gYXB0LWdldCB1cGRhdGUKICAtIERFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZSBhcHQtZ2V0IGluc3RhbGwgLXkgY2EtY2VydGlmaWNhdGVzIHdnZXQgZ251cGcgYXB0LXRyYW5zcG9ydC1odHRwcwogIC0gaW5zdGFsbCAtbSAwNzU1IC1kIC9ldGMvYXB0L2tleXJpbmdzCiAgLSB3Z2V0IC1xTy0gaHR0cHM6Ly9hcnRpZmFjdHMuZWxhc3RpYy5jby9HUEctS0VZLWVsYXN0aWNzZWFyY2ggfCBncGcgLS1kZWFybW9yIC0teWVzIC0tb3V0cHV0IC9ldGMvYXB0L2tleXJpbmdzL2VsYXN0aWMuZ3BnCiAgLSBjaG1vZCAwNjQ0IC9ldGMvYXB0L2tleXJpbmdzL2VsYXN0aWMuZ3BnCiAgLSBlY2hvICJkZWIgW3NpZ25lZC1ieT0vZXRjL2FwdC9rZXlyaW5ncy9lbGFzdGljLmdwZ10gaHR0cHM6Ly9hcnRpZmFjdHMuZWxhc3RpYy5jby9wYWNrYWdlcy84LngvYXB0IHN0YWJsZSBtYWluIiA+IC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kL2VsYXN0aWMtOC54Lmxpc3QKICAtIGFwdC1nZXQgdXBkYXRlCiAgLSBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUgYXB0LWdldCBpbnN0YWxsIC15IG1ldHJpY2JlYXQ9OC4xNS41CiAgLSBpbnN0YWxsIC1tIDA2MDAgLW8gcm9vdCAtZyByb290IC92YXIvbGliL2Nsb3VkL21ldHJpY2JlYXQueW1sIC9ldGMvbWV0cmljYmVhdC9tZXRyaWNiZWF0LnltbAogIC0gaW5zdGFsbCAtZCAtbSAwNzAwIC1vIHJvb3QgLWcgcm9vdCAvdmFyL2xpYi9tZXRyaWNiZWF0L2Rpc2txdWV1ZQogIC0gc3lzdGVtY3RsIGVuYWJsZSBtZXRyaWNiZWF0CiAgLSBzeXN0ZW1jdGwgc3RhcnQgbWV0cmljYmVhdA=="
}
output "vmIps" {
depends_on = [ovh_cloud_project_instance.simpl_vm]
value = tolist(ovh_cloud_project_instance.simpl_vm.addresses[*].ip)
}
# data ovh_cloud_project_images image{
# service_name = var.project_id
# region = "SBG5"
# }
#
# data ovh_cloud_project_regions regions {
# service_name = var.project_id
# }