terraform: created terraform-configurations/20/configuration-20.tf
This commit is contained in:
parent
5ff78b83df
commit
6c94c72e91
69
terraform-configurations/20/configuration-20.tf
Normal file
69
terraform-configurations/20/configuration-20.tf
Normal file
@ -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 = "625a3295ce6649b1aa5e63303de213c4"
|
||||||
|
}
|
||||||
|
|
||||||
|
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-20-terraform"
|
||||||
|
ssh_key_create {
|
||||||
|
name = "default-user-key-d11c4205-a370-4512-96bd-da325c98b743_1789466398942"
|
||||||
|
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBl7f7sBjbquOUI9+lHr9iGxkZCOqsc22e0u9HfmTvisL11z6y1yvO7HiJKRoQe6Ii09N1MNV37WUAkxuV20ndOTPJhaXuOrIK4ZZUjoym4px+8OU+knW2DHWWK2O3um9soua/dHcsuC2aOLSeBrcD5o3YXdfzOt3sAkKi7azqB6Y+d9n6knlcs9Eb2HjEss/sJRtR6uOEULlCbWeupC8bXZLyJNHxkQSxUrBSyKN/h5mgsH3WQ3w7zhUUOS753QX608KJyTSuyI9YbQx6D0Nj88CtyoWP6SqqnSjKHxBh4JY71CD+fOxlANTPsFw+fG/MZpmy1Vpsj8IPwRu4YHjJ"
|
||||||
|
}
|
||||||
|
network {
|
||||||
|
public = true
|
||||||
|
}
|
||||||
|
user_data = "I2Nsb3VkLWNvbmZpZwojY2xvdWQtY29uZmlnCmhvc3RuYW1lOiBkZWZhdWx0LXNlcnZlciAKc3NoX3B3YXV0aDogdHJ1ZQpjaHBhc3N3ZDoKICAgIGV4cGlyZTogZmFsc2UKdXNlcnM6Ci0gZGVmYXVsdAotIG5hbWU6IGhmNzFLNXdRMDQKICBwYXNzd2Q6ICQ2JHJvdW5kcz00MDk2JGI2Mk0zYUxHNzhRcFB3MEskY3h3VWp5aHdvclFnZk9idzg0UGZxUUVLOGtjb2dyOERjeHQ4N1haR0QwQzhTVERIRHdXNXJPdWVpOHA4UVJCUzQvRzBnRllpQjlBQU44ekpJUHpvSi4KICBzaGVsbDogL2Jpbi9iYXNoCiAgbG9ja19wYXNzd2Q6IGZhbHNlCiAgc3VkbzogQUxMPShBTEwpIE5PUEFTU1dEOkFMTAogIGdyb3VwczogdXNlcnMsIGFkbWluLCBzdWRvCi0gbmFtZTogYWRtaW4KICBrZXk6IHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRREJsN2Y3c0JqYnF1T1VJOStsSHI5aUd4a1pDT3FzYzIyZTB1OUhmbVR2aXNMMTF6NnkxeXZPN0hpSktSb1FlNklpMDlOMU1OVjM3V1VBa3h1VjIwbmRPVFBKaGFYdU9ySUs0WlpVam95bTRweCs4T1Ura25XMkRIV1dLMk8zdW05c291YS9kSGNzdUMyYU9MU2VCcmNENW8zWVhkZnpPdDNzQWtLaTdhenFCNlkrZDluNmtubGNzOUViMkhqRXNzL3NKUnRSNnVPRVVMbENiV2V1cEM4YlhaTHlKTkh4a1FTeFVyQlN5S04vaDVtZ3NIM1dRM3c3emhVVU9TNzUzUVg2MDhLSnlUU3V5STlZYlF4NkQwTmo4OEN0eW9XUDZTcXFuU2pLSHhCaDRKWTcxQ0QrZk94bEFOVFBzRncrZkcvTVpwbXkxVnBzajhJUHdSdTRZSGpKCiAgc2hlbGw6IC9iaW4vYmFzaAogIGxvY2tfcGFzc3dkOiBmYWxzZQogIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICBncm91cHM6IHVzZXJzLCBhZG1pbiwgc3VkbwpydW5jbWQ6Ci0gZWNobyAicmVnZW5lcmF0aW5nIGhvc3Qga2V5cyIKLSBybSAtZiAvZXRjL3NzaC9zc2hfaG9zdF8qCi0gc3NoLWtleWdlbiAtQQotIGVjaG8gInJlc3RhcnRpbmcgc3NoZCIKLSBzeXN0ZW1jdGwgcmVzdGFydCBzc2hkCi0gcGFzc3dkIC1lIGhmNzFLNXdRMDQKZGVidWc6IHRydWUKb3V0cHV0OgogIGFsbDogInwgdGVlIC1hIC92YXIvbG9nL2Nsb3VkLWluaXQtZGVidWcubG9nIgpmaW5hbF9tZXNzYWdlOiAiRGVmYXVsdCBWTSBDbG91ZGluaXQgZG9uZSIKCndyaXRlX2ZpbGVzOgogIC0gcGF0aDogL2V0Yy9tZXRyaWNiZWF0L2NlcnRzL2NhLmNydAogICAgb3duZXI6IHJvb3Q6cm9vdAogICAgcGVybWlzc2lvbnM6ICIwNjAwIgogICAgY29udGVudDogfAogICAgICAKCiAgLSBwYXRoOiAvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5jcnQKICAgIG93bmVyOiByb290OnJvb3QKICAgIHBlcm1pc3Npb25zOiAiMDYwMCIKICAgIGNvbnRlbnQ6IHwKICAgICAgCgogIC0gcGF0aDogL2V0Yy9tZXRyaWNiZWF0L2NlcnRzL3VzZXIua2V5CiAgICBvd25lcjogcm9vdDpyb290CiAgICBwZXJtaXNzaW9uczogIjA2MDAiCiAgICBjb250ZW50OiB8CiAgICAgIAoKICAtIHBhdGg6IC92YXIvbGliL2Nsb3VkL21ldHJpY2JlYXQueW1sCiAgICBvd25lcjogcm9vdDpyb290CiAgICBwZXJtaXNzaW9uczogIjA2MDAiCiAgICBjb250ZW50OiB8CiAgICAgIG1ldHJpY2JlYXQubW9kdWxlczoKICAgICAgICAtIG1vZHVsZTogc3lzdGVtCiAgICAgICAgICBlbmFibGVkOiB0cnVlCiAgICAgICAgICBwZXJpb2Q6IDEwcwogICAgICAgICAgbWV0cmljc2V0czoKICAgICAgICAgICAgLSBjcHUKICAgICAgICAgICAgLSBsb2FkCiAgICAgICAgICAgIC0gbWVtb3J5CiAgICAgICAgICAgIC0gZmlsZXN5c3RlbQogICAgICAgICAgICAtIGZzc3RhdAogICAgICAgICAgICAtIGRpc2tpbwogICAgICAgICAgICAtIHByb2Nlc3MKICAgICAgICAgICAgLSBuZXR3b3JrCiAgICAgICAgICAgIC0gdXB0aW1lCgogICAgICBvdXRwdXQua2Fma2E6CiAgICAgICAgaG9zdHM6CiAgICAgICAgICAtICIiCiAgICAgICAgdG9waWM6ICIiCiAgICAgICAgc3NsOgogICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgICAgdmVyaWZpY2F0aW9uX21vZGU6IGZ1bGwKICAgICAgICAgIGNlcnRpZmljYXRlX2F1dGhvcml0aWVzOgogICAgICAgICAgICAtICIvZXRjL21ldHJpY2JlYXQvY2VydHMvY2EuY3J0IgogICAgICAgICAgY2VydGlmaWNhdGU6ICIvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5jcnQiCiAgICAgICAgICBrZXk6ICIvZXRjL21ldHJpY2JlYXQvY2VydHMvdXNlci5rZXkiCgogICAgICBwcm9jZXNzb3JzOgogICAgICAgIC0gYWRkX2ZpZWxkczoKICAgICAgICAgICAgdGFyZ2V0OiBmaWVsZHMKICAgICAgICAgICAgZmllbGRzOgogICAgICAgICAgICAgIGNvbnN1bWVyX2lkOiAiIgoKICAgICAgcXVldWUuZGlzazoKICAgICAgICBwYXRoOiAiL3Zhci9saWIvbWV0cmljYmVhdC9kaXNrcXVldWUiCiAgICAgICAgbWF4X3NpemU6IDEwR0IKICAgICAgICBzZWdtZW50X3NpemU6IDFHQgoKcnVuY21kOgogIC0gYXB0LWdldCB1cGRhdGUKICAtIERFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZSBhcHQtZ2V0IGluc3RhbGwgLXkgY2EtY2VydGlmaWNhdGVzIHdnZXQgZ251cGcgYXB0LXRyYW5zcG9ydC1odHRwcwogIC0gaW5zdGFsbCAtbSAwNzU1IC1kIC9ldGMvYXB0L2tleXJpbmdzCiAgLSB3Z2V0IC1xTy0gaHR0cHM6Ly9hcnRpZmFjdHMuZWxhc3RpYy5jby9HUEctS0VZLWVsYXN0aWNzZWFyY2ggfCBncGcgLS1kZWFybW9yIC0teWVzIC0tb3V0cHV0IC9ldGMvYXB0L2tleXJpbmdzL2VsYXN0aWMuZ3BnCiAgLSBjaG1vZCAwNjQ0IC9ldGMvYXB0L2tleXJpbmdzL2VsYXN0aWMuZ3BnCiAgLSBlY2hvICJkZWIgW3NpZ25lZC1ieT0vZXRjL2FwdC9rZXlyaW5ncy9lbGFzdGljLmdwZ10gaHR0cHM6Ly9hcnRpZmFjdHMuZWxhc3RpYy5jby9wYWNrYWdlcy84LngvYXB0IHN0YWJsZSBtYWluIiA+IC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kL2VsYXN0aWMtOC54Lmxpc3QKICAtIGFwdC1nZXQgdXBkYXRlCiAgLSBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUgYXB0LWdldCBpbnN0YWxsIC15IG1ldHJpY2JlYXQ9OC4xNS41CiAgLSBpbnN0YWxsIC1tIDA2MDAgLW8gcm9vdCAtZyByb290IC92YXIvbGliL2Nsb3VkL21ldHJpY2JlYXQueW1sIC9ldGMvbWV0cmljYmVhdC9tZXRyaWNiZWF0LnltbAogIC0gaW5zdGFsbCAtZCAtbSAwNzAwIC1vIHJvb3QgLWcgcm9vdCAvdmFyL2xpYi9tZXRyaWNiZWF0L2Rpc2txdWV1ZQogIC0gc3lzdGVtY3RsIGVuYWJsZSBtZXRyaWNiZWF0CiAgLSBzeXN0ZW1jdGwgc3RhcnQgbWV0cmljYmVhdA=="
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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)
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user