/*
Пример использования
Получение информации о группе воркеров кластера Kubernetes(k8s)
*/

#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
  required_providers {
    decort = {
      source = "basis/decort/decort"
      version = "<VERSION>"
    }
  }
}
*/

provider "decort" {
  authenticator = "decs3o"
  #controller_url = <DECORT_CONTROLLER_URL>
  controller_url = "https://ds1.digitalenergy.online"
  #oauth2_url = <DECORT_SSO_URL>
  oauth2_url           = "https://sso.digitalenergy.online"
  allow_unverified_ssl = true
}

resource "decort_cb_k8s_wg" "wg" {
  #id экземпляра k8s
  #обязательный параметр
  #это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
  #тип - целое число
  k8s_id = 1234

  #имя worker group
  #обязательный параметр
  #тип - строка
  name = "workers-2"

  #количество worker node для создания
  #опциональный параметр
  #тип - целое число
  #по умолчанию - 1
  num = 2

  #количество cpu для 1 worker node
  #опциональный параметр
  #тип - целое число
  #по умолчанию - 1
  cpu = 1

  #количество RAM для одной worker node в Мбайтах
  #опциональный параметр
  #тип - целое число
  #по умолчанию - 1024
  ram = 1024

  #размер загрузочного диска для worker node, в Гбайтах
  #опциональный параметр
  #по умолчанию - 0
  #если установлен параметр 0, то размер диска будет равен размеру образа
  #тип - целое число
  disk = 10

  #список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
  #опциональный параметр
  #тип - массив строк
  labels = ["label1=value1", "label2=value2"]

  #список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
  #опциональный параметр
  #тип - массив строк
  annotations = ["key1=value1", "key2=value2"]

  #список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
  #опциональный параметр
  #тип - массив строк
  taints = ["key1=value1", "key2=value2"]

  #id СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
  #опциональный параметр
  #тип - целое число
  worker_sep_id = 1

  #пул для хранения Workers. Если не заполнить, будет выбран системой
  #опциональный параметр
  #тип - целое число
  worker_sep_pool = "worker_pool"

  #перечень аргументов для cloud-init для виртуальных машин worker групп
  #опциональный параметр
  #тип - файл в формате YAML
  #используется при создании и обновлении ресурса
  cloud_init = file("initconfig.tftpl")

  #тип эмулируемой системы
  #опциональный параметр
  #тип - строка
  chipset = "i440fx"

}

output "test_wg" {
  value = decort_cb_k8s_wg.wg
}
