Resource nubes_vc_vm_v3 · v1.0.0 · Service ID: 28 · Service Name: Виртуальная машина¶
Manual · Create params · Modify params · Output params · Operations · Example
Минимальный пример (только обязательные параметры)¶
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes"
version = "1.0.0"
}
}
}
provider "nubes" {
api_token = "***"
api_endpoint = "https://lk-api-gateway.ngcloud.ru/api/v1/svc"
}
resource "nubes_vc_vm_v3" "baza" {
resource_name = "my-vc_vm_v3"
vapp_uid = "TODO"
ip_space_name = "TODO"
image_vm = "TODO"
user_public_key = "TODO" # Публичная часть SSH-Ключа для пользователя ``` $ ssh-keygen $ cat ~/.ssh/id_ed25519.pub ```
access_port_list {
port = 22
type = "all"
}
}
Полный пример (все параметры, включая значения по умолчанию)
terraform {
required_providers {
nubes = {
source = "tf-registry.containerk8s.services.ngcloud.ru/nubes/nubes"
version = "1.0.0"
}
}
}
# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
api_token = "token_***"
api_endpoint = "https://lk-api-gateway.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 ```
access_port_list {
port = 22
type = "all"
}
# Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте
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
same_snat = false # Если выставить **false**, приложение будет опубликовано за общим SNAT Если выставить **true**, приложение будет опубликовано за внешним IP, который будет создан в процессе разворачивания услуги Если выставить **true** - общий SNAT становится необязательным
}
Использование выходных данных¶
# Выходные параметры можно использовать как
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