Skip to content

Resource nubes_vc_vm_v3 · v2.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-dev/nubes"
      version = "2.0.0"
    }
  }
}

provider "nubes" {
  api_token    = "***"
  api_endpoint = "https://lk-api-gateway-dev.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 ```
}
Полный пример (все параметры, включая значения по умолчанию)
terraform {
  required_providers {
    nubes = {
      source  = "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes"
      version = "2.0.0"
    }
  }
}

# Токен доступа api_token к Nubes API — замените на реальный.
provider "nubes" {
  api_token    = "token_***"
  api_endpoint = "https://lk-api-gateway-dev.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 становится необязательным
}

Использование выходных данных

# Выходные параметры можно использовать как
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