41 lines
1.1 KiB
Terraform
41 lines
1.1 KiB
Terraform
# Fetch billing subsidiary details from your OVH account profile
|
|
data "ovh_me" "myaccount" {}
|
|
|
|
# Provision the Classic VPS
|
|
resource "ovh_vps" "vps_1" {
|
|
display_name = "coolify"
|
|
|
|
ovh_subsidiary = data.ovh_me.myaccount.ovh_subsidiary # Country of billing entity (e.g. "CH", "DE")
|
|
plan = [
|
|
{
|
|
duration = "P1M" # Monthly subscription ("P1M")
|
|
plan_code = "vps-le-2-2-40" # Starter plan model (Adjust depending on current catalog)
|
|
pricing_mode = "default"
|
|
|
|
# Datacenter configuration
|
|
configuration = [
|
|
{
|
|
label = "vps_datacenter"
|
|
value = "LIM" # Limburg (DE)
|
|
},
|
|
{
|
|
label = "vps_os"
|
|
value = "ubuntu-22.04"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|
|
public_ssh_key = var.ssh_public_key
|
|
}
|
|
|
|
# The public IP of a classic VPS must be retrieved via a data source after delivery
|
|
data "ovh_vps" "vps_1" {
|
|
service_name = ovh_vps.vps_1.service_name
|
|
}
|
|
|
|
output "vps_public_ip" {
|
|
value = tolist(data.ovh_vps.vps_1.ips)[0]
|
|
description = "The public IP address of VPS-1"
|
|
}
|