Resource nubes_vc_vm_v3 · Service ID: 28 · Service Name: Виртуальная машина¶
Manual · Create params · Modify params · Output params · Operations · Example
Copy-ready manifest (vc_vm_v3_main.tf)¶
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes-test/nubes"
version = "5.0.8"
}
}
}
# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
api_token = "token_***"
api_endpoint = "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
}
resource "nubes_vc_vm_v3" "baza" {
resource_name = "TODO"
vapp_uid = "TODO"
ip_space_name = "TODO"
image_vm = "TODO"
user_public_key = "TODO" # Публичная часть SSH-Ключа для пользователя ``` $ ssh-keygen $ cat ~/.ssh/id_ed25519.pub ```
# Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте
vm_name = "web01"
vm_cpu = 1 # шт
vm_ram = 1 # Gb
access_ip_list = ["0.0.0.0/0"] # Формат массива Каким адресам будет предоставлен доступ до вм Требует выделенного внешнего IP Если ничего не передано, то выставлено ["0.0.0.0/0"]
user_login = "myuser" # Учётка SSH
access_port_list {
port = 22
type = "all"
}
same_snat = false # Если выставить **false**, приложение будет опубликовано за общим SNAT Если выставить **true**, приложение будет опубликовано за внешним IP, который будет создан в процессе разворачивания услуги Если выставить **true** - общий SNAT становится необязательным
}
Outputs usage¶
# Выходные параметры можно использовать как
nubes_vc_vm_v3.baza.state_params["имя_ключа"]
nubes_vc_vm_v3.baza.state_out["имя_ключа"]
nubes_vc_vm_v3.baza.state_params_flat["имя_ключа"]
nubes_vc_vm_v3.baza.state_out_flat["имя_ключа"]
nubes_vc_vm_v3.baza.vault_secrets["имя_ключа"]
nubes_vc_vm_v3.baza.vault_url
nubes_vc_vm_v3.baza.vault_user_path
nubes_vc_vm_v3.baza.vault_fields