examples/DEVfromGround: add Terraform manifests (nubes_vc_org, DEV endpoint)
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
// 2026-03-26 — main.tf: провайдер Nubes для DEV-стенда.
|
||||||
|
// DEV API endpoint: https://deck-api-dev.ngcloud.ru/api/v1
|
||||||
|
// Токен: secrets/dev.token (tazet@narod.ru)
|
||||||
|
|
||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
nubes = {
|
||||||
|
source = "terra.k8c.ru/nubes/nubes"
|
||||||
|
version = "5.0.31"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "api_token" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
description = "Nubes API токен (DEV-стенд). Значение — в terraform.tfvars."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "resource_realm" {
|
||||||
|
type = string
|
||||||
|
description = "Платформа развёртывания (например k8s-3.ext.nubes.ru). Уточнить у сервис-менеджера."
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "nubes" {
|
||||||
|
api_token = var.api_token
|
||||||
|
api_endpoint = "https://deck-api-dev.ngcloud.ru/api/v1"
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
// 2026-03-26 — vc_org.tf: ресурс «Организация в Cloud Director» для DEV-стенда.
|
||||||
|
// nubes_vc_org — тенант vCloud Director (organization_type = "iaas").
|
||||||
|
// resource_realm задаётся через переменную (terraform.tfvars или -var).
|
||||||
|
|
||||||
|
resource "nubes_vc_org" "dev_org" {
|
||||||
|
resource_realm = var.resource_realm
|
||||||
|
|
||||||
|
# organization_type "iaas" — единственный вариант с доступом к организации.
|
||||||
|
# Значение по умолчанию "iaas", явно прописано для читаемости.
|
||||||
|
organization_type = "iaas"
|
||||||
|
|
||||||
|
# adopt_existing_on_create = true позволяет взять существующий инстанс под управление.
|
||||||
|
# Для DEV-стенда оставляем false — при apply создаётся новый; ошибка если уже есть.
|
||||||
|
adopt_existing_on_create = false
|
||||||
|
|
||||||
|
# suspend_on_destroy = true (по умолчанию) — при destroy инстанс уходит в Suspend, не удаляется.
|
||||||
|
suspend_on_destroy = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# ─── Outputs ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
output "dev_org_id" {
|
||||||
|
description = "ID созданной организации (используется в зависимых ресурсах)"
|
||||||
|
value = nubes_vc_org.dev_org.id
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dev_org_state_flat" {
|
||||||
|
description = "Плоский state организации — endpoints, статусы"
|
||||||
|
value = nubes_vc_org.dev_org.state_out_flat
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user