terraform: created terraform-configurations/42/configuration-42.tf
This commit is contained in:
parent
61e7907291
commit
b9cdc00247
68
terraform-configurations/42/configuration-42.tf
Normal file
68
terraform-configurations/42/configuration-42.tf
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
ovh = {
|
||||||
|
source = "ovh/ovh"
|
||||||
|
version = "2.3.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "ovh" {
|
||||||
|
endpoint = "ovh-eu"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable local_project_id {
|
||||||
|
type = string
|
||||||
|
default = "xxx"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable local_region {
|
||||||
|
type = string
|
||||||
|
default = "xx"
|
||||||
|
}
|
||||||
|
|
||||||
|
// The flavor can be selected directly, name_filter in DS does strict equality
|
||||||
|
data "ovh_cloud_project_flavors" "flavors" {
|
||||||
|
service_name = var.local_project_id
|
||||||
|
name_filter = "xx"
|
||||||
|
region = var.local_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.local_project_id
|
||||||
|
region = var.local_region
|
||||||
|
}
|
||||||
|
|
||||||
|
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.local_project_id
|
||||||
|
region = var.local_region
|
||||||
|
billing_period = "hourly"
|
||||||
|
boot_from {
|
||||||
|
image_id = local.selected_image.id
|
||||||
|
}
|
||||||
|
flavor {
|
||||||
|
flavor_id = local.selected_flavor.id
|
||||||
|
}
|
||||||
|
name = "offering-enterprise-server-42-terraform"
|
||||||
|
ssh_key_create {
|
||||||
|
name = "default-user-key"
|
||||||
|
public_key = "var.simpl_ssh_public_key"
|
||||||
|
}
|
||||||
|
network {
|
||||||
|
public = true
|
||||||
|
}
|
||||||
|
user_data = "I2Nsb3VkLWNvbmZpZwojY2xvdWQtY29uZmlnCmhvc3RuYW1lOiBjbG91ZC1pbml0LTE3ODk2MDA3NDI1NDIKcGFja2FnZV91cGRhdGU6IHRydWUKcGFja2FnZXM6CiAgLSBjdXJsCiAgLSBqcQoKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL21ldHJpY2JlYXQvY2VydHMvY2EuY3J0CiAgICBvd25lcjogcm9vdDpyb290CiAgICBwZXJtaXNzaW9uczogIjA2MDAiCiAgICBjb250ZW50OiB8CiAgICAgIAoKICAtIHBhdGg6IC9ldGMvbWV0cmljYmVhdC9jZXJ0cy91c2VyLmNydAogICAgb3duZXI6IHJvb3Q6cm9vdAogICAgcGVybWlzc2lvbnM6ICIwNjAwIgogICAgY29udGVudDogfAogICAgICAKCiAgLSBwYXRoOiAvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5rZXkKICAgIG93bmVyOiByb290OnJvb3QKICAgIHBlcm1pc3Npb25zOiAiMDYwMCIKICAgIGNvbnRlbnQ6IHwKICAgICAgCgogIC0gcGF0aDogL3Zhci9saWIvY2xvdWQvbWV0cmljYmVhdC55bWwKICAgIG93bmVyOiByb290OnJvb3QKICAgIHBlcm1pc3Npb25zOiAiMDYwMCIKICAgIGNvbnRlbnQ6IHwKICAgICAgbWV0cmljYmVhdC5tb2R1bGVzOgogICAgICAgIC0gbW9kdWxlOiBzeXN0ZW0KICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgIHBlcmlvZDogMTBzCiAgICAgICAgICBtZXRyaWNzZXRzOgogICAgICAgICAgICAtIGNwdQogICAgICAgICAgICAtIGxvYWQKICAgICAgICAgICAgLSBtZW1vcnkKICAgICAgICAgICAgLSBmaWxlc3lzdGVtCiAgICAgICAgICAgIC0gZnNzdGF0CiAgICAgICAgICAgIC0gZGlza2lvCiAgICAgICAgICAgIC0gcHJvY2VzcwogICAgICAgICAgICAtIG5ldHdvcmsKICAgICAgICAgICAgLSB1cHRpbWUKCiAgICAgIG91dHB1dC5rYWZrYToKICAgICAgICBob3N0czoKICAgICAgICAgIC0gIiIKICAgICAgICB0b3BpYzogIiIKICAgICAgICBzc2w6CiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICB2ZXJpZmljYXRpb25fbW9kZTogZnVsbAogICAgICAgICAgY2VydGlmaWNhdGVfYXV0aG9yaXRpZXM6CiAgICAgICAgICAgIC0gIi9ldGMvbWV0cmljYmVhdC9jZXJ0cy9jYS5jcnQiCiAgICAgICAgICBjZXJ0aWZpY2F0ZTogIi9ldGMvbWV0cmljYmVhdC9jZXJ0cy91c2VyLmNydCIKICAgICAgICAgIGtleTogIi9ldGMvbWV0cmljYmVhdC9jZXJ0cy91c2VyLmtleSIKCiAgICAgIHByb2Nlc3NvcnM6CiAgICAgICAgLSBhZGRfZmllbGRzOgogICAgICAgICAgICB0YXJnZXQ6IGZpZWxkcwogICAgICAgICAgICBmaWVsZHM6CiAgICAgICAgICAgICAgY29uc3VtZXJfaWQ6ICIiCgogICAgICBxdWV1ZS5kaXNrOgogICAgICAgIHBhdGg6ICIvdmFyL2xpYi9tZXRyaWNiZWF0L2Rpc2txdWV1ZSIKICAgICAgICBtYXhfc2l6ZTogMTBHQgogICAgICAgIHNlZ21lbnRfc2l6ZTogMUdCCgpydW5jbWQ6CiAgLSBhcHQtZ2V0IHVwZGF0ZQogIC0gREVCSUFOX0ZST05URU5EPW5vbmludGVyYWN0aXZlIGFwdC1nZXQgaW5zdGFsbCAteSBjYS1jZXJ0aWZpY2F0ZXMgd2dldCBnbnVwZyBhcHQtdHJhbnNwb3J0LWh0dHBzCiAgLSBpbnN0YWxsIC1tIDA3NTUgLWQgL2V0Yy9hcHQva2V5cmluZ3MKICAtIHdnZXQgLXFPLSBodHRwczovL2FydGlmYWN0cy5lbGFzdGljLmNvL0dQRy1LRVktZWxhc3RpY3NlYXJjaCB8IGdwZyAtLWRlYXJtb3IgLS15ZXMgLS1vdXRwdXQgL2V0Yy9hcHQva2V5cmluZ3MvZWxhc3RpYy5ncGcKICAtIGNobW9kIDA2NDQgL2V0Yy9hcHQva2V5cmluZ3MvZWxhc3RpYy5ncGcKICAtIGVjaG8gImRlYiBbc2lnbmVkLWJ5PS9ldGMvYXB0L2tleXJpbmdzL2VsYXN0aWMuZ3BnXSBodHRwczovL2FydGlmYWN0cy5lbGFzdGljLmNvL3BhY2thZ2VzLzgueC9hcHQgc3RhYmxlIG1haW4iID4gL2V0Yy9hcHQvc291cmNlcy5saXN0LmQvZWxhc3RpYy04LngubGlzdAogIC0gYXB0LWdldCB1cGRhdGUKICAtIERFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZSBhcHQtZ2V0IGluc3RhbGwgLXkgbWV0cmljYmVhdD04LjE1LjUKICAtIGluc3RhbGwgLW0gMDYwMCAtbyByb290IC1nIHJvb3QgL3Zhci9saWIvY2xvdWQvbWV0cmljYmVhdC55bWwgL2V0Yy9tZXRyaWNiZWF0L21ldHJpY2JlYXQueW1sCiAgLSBpbnN0YWxsIC1kIC1tIDA3MDAgLW8gcm9vdCAtZyByb290IC92YXIvbGliL21ldHJpY2JlYXQvZGlza3F1ZXVlCiAgLSBzeXN0ZW1jdGwgZW5hYmxlIG1ldHJpY2JlYXQKICAtIHN5c3RlbWN0bCBzdGFydCBtZXRyaWNiZWF0"
|
||||||
|
}
|
||||||
|
|
||||||
|
output "vmIps" {
|
||||||
|
depends_on = [ovh_cloud_project_instance.simpl_vm]
|
||||||
|
value = tolist(ovh_cloud_project_instance.simpl_vm.addresses[*].ip)
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user