From 02df543c99dc4571d931b2add9c27ac0a7f81455 Mon Sep 17 00:00:00 2001 From: gitops_test Date: Fri, 19 Dec 2025 13:29:19 +0000 Subject: [PATCH] Add vmexample_testInt_SuperSet_19Dec_20251219_132918.tf --- ..._testInt_SuperSet_19Dec_20251219_132918.tf | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 vmexample_testInt_SuperSet_19Dec_20251219_132918.tf diff --git a/vmexample_testInt_SuperSet_19Dec_20251219_132918.tf b/vmexample_testInt_SuperSet_19Dec_20251219_132918.tf new file mode 100644 index 0000000..62e0e8f --- /dev/null +++ b/vmexample_testInt_SuperSet_19Dec_20251219_132918.tf @@ -0,0 +1,69 @@ +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" +} + +// The flavor can be selected directly, name_filter in DS does strict equality +data "ovh_cloud_project_flavors" "flavors" { + service_name = var.project_id + name_filter = "r3-16-flex" + region = var.region +} + +// The image must be selected from it's region based list using name filtering, DS does not support direct selection +data ovh_cloud_project_images image{ + service_name = var.project_id + region = "SBG5" +} + +locals { + selected_image = one([ + for m in data.ovh_cloud_project_images.image.images : m if m.name == "Ubuntu 22.04" + ]) + selected_flavor = one(data.ovh_cloud_project_flavors.flavors.flavors) +} + +resource "ovh_cloud_project_instance" "simpl_vm" { + service_name = var.project_id + region = var.region + billing_period = "hourly" + boot_from { + image_id = local.selected_image.id + } + flavor { + flavor_id = local.selected_flavor.id + } + name = "offering-enterprise-server-{UUID}-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 = "aG9zdG5hbWU6IGFwcC1zZXJ2ZXIKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQoKcGFja2FnZV91cGRhdGU6IHRydWUKcGFja2FnZV91cGdyYWRlOiB0cnVlCnBhY2thZ2VzOgogIC0gcHl0aG9uMwogIC0gcHl0aG9uMy1waXAKICAtIHB5dGhvbjMtdmVudgogIC0gYnVpbGQtZXNzZW50aWFsCiAgLSBsaWJzc2wtZGV2CiAgLSBsaWJmZmktZGV2CiAgLSBweXRob24zLWRldgogIC0gbGlic3FsaXRlMy1kZXYKICAtIGxpYnBxLWRldgogIC0gc3FsaXRlMwogIC0gczNmcwoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL3Bhc3N3ZC1zM2ZzCiAgICBwZXJtaXNzaW9uczogJzA0MDAnCiAgICBjb250ZW50OiB8CiAgICAgIDc0NmMwYzlhYTgzMGNlYzVmYWM0OkNhenZQVHNCOU5KbDByVGd5YmpnTTd0VDRZZHBsQ0F3czZyVmx5dEMKICAjIFN5c3RlbWQgc2VydmljZSBmb3IgU3VwZXJzZXQKICAtIHBhdGg6IC9ldGMvc3lzdGVtZC9zeXN0ZW0vc3VwZXJzZXQuc2VydmljZQogICAgcGVybWlzc2lvbnM6ICcwNjQ0JwogICAgY29udGVudDogfAogICAgICBbVW5pdF0KICAgICAgRGVzY3JpcHRpb249QXBhY2hlIFN1cGVyc2V0CiAgICAgIEFmdGVyPW5ldHdvcmsudGFyZ2V0CgogICAgICBbU2VydmljZV0KICAgICAgVXNlcj1yb290CiAgICAgIEdyb3VwPXJvb3QKICAgICAgRW52aXJvbm1lbnQ9RkxBU0tfQVBQPXN1cGVyc2V0CiAgICAgIEVudmlyb25tZW50PVNVUEVSU0VUX0NPTkZJR19QQVRIPS9ob21lL3VidW50dS9zdXBlcnNldC9zdXBlcnNldF9jb25maWcucHkKICAgICAgV29ya2luZ0RpcmVjdG9yeT0vaG9tZS91YnVudHUvc3VwZXJzZXQKICAgICAgI0V4ZWNTdGFydD0vaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL2d1bmljb3JuIC0td29ya2VycyAzIC0tdGltZW91dCAxMjAgLWIgMC4wLjAuMDo4MDg4ICJzdXBlcnNldC5hcHA6Y3JlYXRlX2FwcCgpIgogICAgICBFeGVjU3RhcnQ9L2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2Jpbi9zdXBlcnNldCBydW4gLWggMC4wLjAuMCAtcCA4MDg4IC0td2l0aC10aHJlYWRzIC0tcmVsb2FkIC0tZGVidWdnZXIKICAgICAgUmVzdGFydD1hbHdheXMKCiAgICAgIFtJbnN0YWxsXQogICAgICBXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAogIC0gcGF0aDogL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L3N1cGVyc2V0X2NvbmZpZy5weQogICAgcGVybWlzc2lvbnM6ICcwNjQ0JwogICAgY29udGVudDogfAogICAgICBpbXBvcnQgb3MKICAgICAgZnJvbSBjYWNoZWxpYi5maWxlIGltcG9ydCBGaWxlU3lzdGVtQ2FjaGUKCiAgICAgICMgQSByYW5kb20sIGNvbXBsZXggc2VjcmV0IGtleSBmb3IgQ1NSRiBhbmQgc2Vzc2lvbiBjb29raWVzCiAgICAgIFNFQ1JFVF9LRVkgPSAicitVcEYrT0c3MkpMcWxSOHJ3VEpOR2tlajdNbklWbnVnZWN5eVFYbXVJdi93d2tqQkVqYlRBM3kiCiAgICAgIFNRTEFMQ0hFTVlfREFUQUJBU0VfVVJJID0gJ3NxbGl0ZTovLy8vdmFyL2xpYi9zdXBlcnNldC9zdXBlcnNldC5kYicKCiAgICAgICMgT3B0aW9uYWw6IENhY2hlIGNvbmZpZ3VyYXRpb24KICAgICAgQ0FDSEVfQ09ORklHID0gewogICAgICAgICAgJ0NBQ0hFX1RZUEUnOiAnRmlsZVN5c3RlbUNhY2hlJywKICAgICAgICAgICdDQUNIRV9ESVInOiAnL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2NhY2hlJywKICAgICAgfQogICAgICBQUkVWRU5UX1VOU0FGRV9EQl9DT05ORUNUSU9OUyA9IEZhbHNlCgpydW5jbWQ6CiAgLSBta2RpciAtcCAvbW50L3MzYnVja2V0CiAgLSBjaG1vZCAwNzAwIC9tbnQvczNidWNrZXQKICAtIGVjaG8gInMzZnMjcHJvdmlkZXItZGF0YXNldCAvbW50L3MzYnVja2V0IGZ1c2UgX25ldGRldixhbGxvd19vdGhlcix1c2VfcGF0aF9yZXF1ZXN0X3N0eWxlLHVybD1odHRwczovL3MzLWV1LWNlbnRyYWwtMi5pb25vc2Nsb3VkLmNvbSAwIDAiID4+IC9ldGMvZnN0YWIKICAtIHMzZnMgcHJvdmlkZXItZGF0YXNldCAvbW50L3MzYnVja2V0IC1vIHBhc3N3ZF9maWxlPS9ldGMvcGFzc3dkLXMzZnMgLW8gdXJsPWh0dHBzOi8vczMtZXUtY2VudHJhbC0yLmlvbm9zY2xvdWQuY29tIC1vIHVzZV9wYXRoX3JlcXVlc3Rfc3R5bGUgLW8gYWxsb3dfb3RoZXIKICAjIFN1cGVyc2V0IHNldHVwCiAgLSBzdWRvIG1rZGlyIC9ob21lL3VidW50dS8uc3VwZXJzZXQKICAtIHN1ZG8gY2hvd24gLVIgdWJ1bnR1OnVidW50dSAvaG9tZS91YnVudHUvLnN1cGVyc2V0CiAgLSBjaG1vZCAtUiA3NTUgL2hvbWUvdWJ1bnR1Ly5zdXBlcnNldAogIC0gc3VkbyBta2RpciAvaG9tZS91YnVudHUvc3VwZXJzZXQvY2FjaGUKICAtIHN1ZG8gY2hvd24gLVIgdWJ1bnR1OnVidW50dSAvaG9tZS91YnVudHUvc3VwZXJzZXQvY2FjaGUKICAtIGNobW9kIC1SIDc1NSAvaG9tZS91YnVudHUvc3VwZXJzZXQvY2FjaGUKCiAgLSBweXRob24zIC1tIHZlbnYgL2hvbWUvdWJ1bnR1L3N1cGVyc2V0CiAgLSAvaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL3BpcCBpbnN0YWxsIC0tdXBncmFkZSBwaXAgc2V0dXB0b29scyB3aGVlbAogIC0gL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2Jpbi9waXAgaW5zdGFsbCBtYXJzaG1hbGxvdz09My4yNi4xCiAgLSAvaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL3BpcCBpbnN0YWxsIGFwYWNoZS1zdXBlcnNldAogIC0gbWtkaXIgLXAgL3Zhci9saWIvc3VwZXJzZXQKCiAgIyBTdGVwIDM6IEluaXRpYWxpemUgU3VwZXJzZXQKICAtIGV4cG9ydCBGTEFTS19BUFA9c3VwZXJzZXQKICAtIGV4cG9ydCBTVVBFUlNFVF9DT05GSUdfUEFUSD0vaG9tZS91YnVudHUvc3VwZXJzZXQvc3VwZXJzZXRfY29uZmlnLnB5CiAgLSAvaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL3N1cGVyc2V0IGRiIHVwZ3JhZGUKICAtIC9ob21lL3VidW50dS9zdXBlcnNldC9iaW4vc3VwZXJzZXQgZmFiIGNyZWF0ZS1hZG1pbiAtLXVzZXJuYW1lIGFkbWluIC0tZmlyc3RuYW1lIFN1cGVyc2V0IC0tbGFzdG5hbWUgQWRtaW4gLS1lbWFpbCBhZG1pbkBleGFtcGxlLmNvbSAtLXBhc3N3b3JkIGFkbWluCiAgLSBzcWxpdGUzIC9yb290Ly5zdXBlcnNldC9leGFtcGxlcy5kYiA8IC9tbnQvczNidWNrZXQvY292aWRfZGF0YS5zcWwKICAtIC9ob21lL3VidW50dS9zdXBlcnNldC9iaW4vc3VwZXJzZXQgaW5pdAogIC0gL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2Jpbi9zdXBlcnNldCBpbXBvcnQtZGFzaGJvYXJkcyAtcCAvbW50L3MzYnVja2V0L2Rhc2hib2FyZF9jb3ZpZC56aXAgLXUgYWRtaW4KICAtIGNob3duIC1SIHVidW50dTp1YnVudHUgL3Zhci9saWIvc3VwZXJzZXQKCiAgIyBTdGVwIDU6IEVuYWJsZSBhbmQgc3RhcnQgdGhlIFN1cGVyc2V0IHNlcnZpY2UKICAtIHN5c3RlbWN0bCBkYWVtb24tcmVsb2FkCiAgLSBzeXN0ZW1jdGwgZW5hYmxlIHN1cGVyc2V0CiAgLSBzeXN0ZW1jdGwgc3RhcnQgc3VwZXJzZXQKCmZpbmFsX21lc3NhZ2U6ICJTdXBlcnNldCBpcyBkZXBsb3llZCBhbmQgYWNjZXNzaWJsZSBhdCBodHRwOi8vPHNlcnZlci1pcD46ODA4OCI=" +} + +// Values defined in outputs are placed in infrastructureDetails +output "vmIps" { + depends_on = [ovh_cloud_project_instance.simpl_vm] + value = tolist(ovh_cloud_project_instance.simpl_vm.addresses[*].ip) +} \ No newline at end of file