From 03c423357c004bc481c478568e3cba6d5100cb22 Mon Sep 17 00:00:00 2001 From: gitops_test Date: Mon, 10 Nov 2025 16:15:13 +0000 Subject: [PATCH] terraform: created terraform-configurations/30/configuration-30.tf --- .../30/configuration-30.tf | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 terraform-configurations/30/configuration-30.tf diff --git a/terraform-configurations/30/configuration-30.tf b/terraform-configurations/30/configuration-30.tf new file mode 100644 index 0000000..7c90d3e --- /dev/null +++ b/terraform-configurations/30/configuration-30.tf @@ -0,0 +1,74 @@ + +terraform { + required_providers { + ionoscloud = { + source = "registry.terraform.io/ionos-cloud/ionoscloud" + version = "6.7.0" + } + } +} + +data "ionoscloud_image" "simpl_vm" { + type = "HDD" + cloud_init = "V1" + image_alias = "ubuntu:22.04" + location = "de/fra" +} + +resource "ionoscloud_datacenter" "simpl_vm" { + name = "analysis-env-ionos" + location = "de/fra" + description = "var.simpl_datacenter_description" + sec_auth_protection = false +} + +resource "ionoscloud_lan" "simpl_vm" { + datacenter_id = ionoscloud_datacenter.simpl_vm.id + public = true + name = "simpl_vm_lan" +} + +resource "ionoscloud_ipblock" "simpl_vm" { + location = ionoscloud_datacenter.simpl_vm.location + size = 1 + name = "analysis-env-ionos" +} + +resource "ionoscloud_server" "simpl_vm" { + name = "simpl_vm_server" + datacenter_id = ionoscloud_datacenter.simpl_vm.id + cores = 4 + ram = 8192 + availability_zone = "AUTO" + image_name = data.ionoscloud_image.simpl_vm.name + image_password = "test1234" + type = "ENTERPRISE" + + volume { + name = "volume" + size = 100 + disk_type = "SSD Standard" + bus = "VIRTIO" + availability_zone = "AUTO" + user_data = "I2Nsb3VkLWNvbmZpZwojY2xvdWQtY29uZmlnCmhvc3RuYW1lOiBhcHAtc2VydmVyCm1hbmFnZV9ldGNfaG9zdHM6IHRydWUKCnBhY2thZ2VfdXBkYXRlOiB0cnVlCnBhY2thZ2VfdXBncmFkZTogdHJ1ZQpwYWNrYWdlczoKICAtIHB5dGhvbjMKICAtIHB5dGhvbjMtcGlwCiAgLSBweXRob24zLXZlbnYKICAtIGJ1aWxkLWVzc2VudGlhbAogIC0gbGlic3NsLWRldgogIC0gbGliZmZpLWRldgogIC0gcHl0aG9uMy1kZXYKICAtIGxpYnNxbGl0ZTMtZGV2CiAgLSBsaWJwcS1kZXYKICAtIHNxbGl0ZTMKICAtIHMzZnMKCndyaXRlX2ZpbGVzOgogIC0gcGF0aDogL2V0Yy9wYXNzd2QtczNmcwogICAgcGVybWlzc2lvbnM6ICcwNDAwJwogICAgY29udGVudDogfAogICAgICA3NDZjMGM5YWE4MzBjZWM1ZmFjNDpDYXp2UFRzQjlOSmwwclRneWJqZ003dFQ0WWRwbENBd3M2clZseXRDCiAgLSBwYXRoOiAvZXRjL3N5c3RlbWQvc3lzdGVtL3N1cGVyc2V0LnNlcnZpY2UKICAgIHBlcm1pc3Npb25zOiAnMDY0NCcKICAgIGNvbnRlbnQ6IHwKICAgICAgW1VuaXRdCiAgICAgIERlc2NyaXB0aW9uPUFwYWNoZSBTdXBlcnNldAogICAgICBBZnRlcj1uZXR3b3JrLnRhcmdldAoKICAgICAgW1NlcnZpY2VdCiAgICAgIFVzZXI9cm9vdAogICAgICBHcm91cD1yb290CiAgICAgIEVudmlyb25tZW50PUZMQVNLX0FQUD1zdXBlcnNldAogICAgICBFbnZpcm9ubWVudD1TVVBFUlNFVF9DT05GSUdfUEFUSD0vaG9tZS91YnVudHUvc3VwZXJzZXQvc3VwZXJzZXRfY29uZmlnLnB5CiAgICAgIFdvcmtpbmdEaXJlY3Rvcnk9L2hvbWUvdWJ1bnR1L3N1cGVyc2V0CiAgICAgIEV4ZWNTdGFydD0vaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL3N1cGVyc2V0IHJ1biAtaCAwLjAuMC4wIC1wIDgwODggLS13aXRoLXRocmVhZHMgLS1yZWxvYWQgLS1kZWJ1Z2dlcgogICAgICBSZXN0YXJ0PWFsd2F5cwoKICAgICAgW0luc3RhbGxdCiAgICAgIFdhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CiAgLSBwYXRoOiAvaG9tZS91YnVudHUvc3VwZXJzZXQvc3VwZXJzZXRfY29uZmlnLnB5CiAgICBwZXJtaXNzaW9uczogJzA2NDQnCiAgICBjb250ZW50OiB8CiAgICAgIGltcG9ydCBvcwogICAgICBmcm9tIGNhY2hlbGliLmZpbGUgaW1wb3J0IEZpbGVTeXN0ZW1DYWNoZQoKICAgICAgU0VDUkVUX0tFWSA9ICJyK1VwRitPRzcySkxxbFI4cndUSk5Ha2VqN01uSVZudWdlY3l5UVhtdUl2L3d3a2pCRWpiVEEzeSIKICAgICAgU1FMQUxDSEVNWV9EQVRBQkFTRV9VUkkgPSAnc3FsaXRlOi8vLy92YXIvbGliL3N1cGVyc2V0L3N1cGVyc2V0LmRiJwoKICAgICAgQ0FDSEVfQ09ORklHID0gewogICAgICAgICAgJ0NBQ0hFX1RZUEUnOiAnRmlsZVN5c3RlbUNhY2hlJywKICAgICAgICAgICdDQUNIRV9ESVInOiAnL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2NhY2hlJywKICAgICAgfQogICAgICBQUkVWRU5UX1VOU0FGRV9EQl9DT05ORUNUSU9OUyA9IEZhbHNlCgpydW5jbWQ6CiAgLSBta2RpciAtcCAvbW50L3MzYnVja2V0CiAgLSBjaG1vZCAwNzAwIC9tbnQvczNidWNrZXQKICAtIGVjaG8gInMzZnMjcHJvdmlkZXItZGF0YXNldCAvbW50L3MzYnVja2V0IGZ1c2UgX25ldGRldixhbGxvd19vdGhlcix1c2VfcGF0aF9yZXF1ZXN0X3N0eWxlLHVybD1odHRwczovL3MzLWV1LWNlbnRyYWwtMi5pb25vc2Nsb3VkLmNvbSAwIDAiID4+IC9ldGMvZnN0YWIKICAtIHMzZnMgcHJvdmlkZXItZGF0YXNldCAvbW50L3MzYnVja2V0IC1vIHBhc3N3ZF9maWxlPS9ldGMvcGFzc3dkLXMzZnMgLW8gdXJsPWh0dHBzOi8vczMtZXUtY2VudHJhbC0yLmlvbm9zY2xvdWQuY29tIC1vIHVzZV9wYXRoX3JlcXVlc3Rfc3R5bGUgLW8gYWxsb3dfb3RoZXIKICAtIHN1ZG8gbWtkaXIgL2hvbWUvdWJ1bnR1Ly5zdXBlcnNldAogIC0gc3VkbyBjaG93biAtUiB1YnVudHU6dWJ1bnR1IC9ob21lL3VidW50dS8uc3VwZXJzZXQKICAtIGNobW9kIC1SIDc1NSAvaG9tZS91YnVudHUvLnN1cGVyc2V0CiAgLSBzdWRvIG1rZGlyIC9ob21lL3VidW50dS9zdXBlcnNldC9jYWNoZQogIC0gc3VkbyBjaG93biAtUiB1YnVudHU6dWJ1bnR1IC9ob21lL3VidW50dS9zdXBlcnNldC9jYWNoZQogIC0gY2htb2QgLVIgNzU1IC9ob21lL3VidW50dS9zdXBlcnNldC9jYWNoZQogIC0gcHl0aG9uMyAtbSB2ZW52IC9ob21lL3VidW50dS9zdXBlcnNldAogIC0gL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2Jpbi9waXAgaW5zdGFsbCAtLXVwZ3JhZGUgcGlwIHNldHVwdG9vbHMgd2hlZWwKICAtIC9ob21lL3VidW50dS9zdXBlcnNldC9iaW4vcGlwIGluc3RhbGwgbWFyc2htYWxsb3c9PTMuMjYuMQogIC0gL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2Jpbi9waXAgaW5zdGFsbCBhcGFjaGUtc3VwZXJzZXQKICAtIG1rZGlyIC1wIC92YXIvbGliL3N1cGVyc2V0CiAgLSBleHBvcnQgRkxBU0tfQVBQPXN1cGVyc2V0CiAgLSBleHBvcnQgU1VQRVJTRVRfQ09ORklHX1BBVEg9L2hvbWUvdWJ1bnR1L3N1cGVyc2V0L3N1cGVyc2V0X2NvbmZpZy5weQogIC0gL2hvbWUvdWJ1bnR1L3N1cGVyc2V0L2Jpbi9zdXBlcnNldCBkYiB1cGdyYWRlCiAgLSAvaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL3N1cGVyc2V0IGZhYiBjcmVhdGUtYWRtaW4gLS11c2VybmFtZSBhZG1pbiAtLWZpcnN0bmFtZSBTdXBlcnNldCAtLWxhc3RuYW1lIEFkbWluIC0tZW1haWwgYWRtaW5AZXhhbXBsZS5jb20gLS1wYXNzd29yZCBhZG1pbgogIC0gc3FsaXRlMyAvcm9vdC8uc3VwZXJzZXQvZXhhbXBsZXMuZGIgPCAvbW50L3MzYnVja2V0L2NvdmlkX2RhdGEuc3FsCiAgLSAvaG9tZS91YnVudHUvc3VwZXJzZXQvYmluL3N1cGVyc2V0IGluaXQKICAtIC9ob21lL3VidW50dS9zdXBlcnNldC9iaW4vc3VwZXJzZXQgaW1wb3J0LWRhc2hib2FyZHMgLXAgL21udC9zM2J1Y2tldC9kYXNoYm9hcmRfY292aWQuemlwIC11IGFkbWluCiAgLSBjaG93biAtUiB1YnVudHU6dWJ1bnR1IC92YXIvbGliL3N1cGVyc2V0CiAgLSBzeXN0ZW1jdGwgZGFlbW9uLXJlbG9hZAogIC0gc3lzdGVtY3RsIGVuYWJsZSBzdXBlcnNldAogIC0gc3lzdGVtY3RsIHN0YXJ0IHN1cGVyc2V0CgpmaW5hbF9tZXNzYWdlOiAiU3VwZXJzZXQgaXMgZGVwbG95ZWQgYW5kIGFjY2Vzc2libGUgYXQgaHR0cDovLzxzZXJ2ZXItaXA+OjgwODgi" + } + + nic { + lan = ionoscloud_lan.simpl_vm.id + name = "nic" + dhcp = true + ips = [ionoscloud_ipblock.simpl_vm.ips[0]] + } +} + +output "vmIps" { + value = ionoscloud_server.simpl_vm.nic[0].ips +} + +output "datacenterId" { + value = ionoscloud_datacenter.simpl_vm.id +} + +output "volumeId" { + value = ionoscloud_server.simpl_vm.boot_volume +}