/*
Пример использования
Ресурса bservice
Ресурс позволяет:
1. Создавать basic service
2. Редактировать basic service
3. Удалять basic service
4. Создавать снимки состояний basic service
5. Совершать восстановление по снимкам состояний
6. Удалять снимки состояний
*/

#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_bservice" "b" {
  #имя basic service
  #обязательный параметр
  #тип - строка
  #используется при создании
  service_name = "my_test_bservice_sn"

  #id ресурсной группы
  #обязательный параметр
  #тип - целое число
  #используется при создании
  rg_id = 11111

  #доступность сервиса
  #опциональный параметр
  #тип - булев
  #используется при создании и обновлении
  #по умолчанию - false
  #enable = true

  #снимок состояния
  #опциональный параметр
  #тип - объект
  #используется при обновлении
  #может быть несколько в ресурсе
  #snapshots {
    #имя снимка состояния
    #обязательный параметр
    #тип - строка
    #label = "test_snapshot"

    #восстановление сервиса из снимка состояния
    #опциональный параметр
    #тип - булев
    #по умолчанию - false
    #восстановление происходит только при переключении с false на true
    #rollback = false
  #}

  #старт сервиса
  #опциональный параметр
  #тип - булев
  #используется при создании и обновлении
  #по умолчанию - false
  #start        = false

  #восстановление сервиса после удаления
  #опциональный параметр
  #тип - булев
  #используется при обновлении
  #по умолчанию - false
  #restore = true

  #мгновенное удаление сервиса без права восстановления
  #опциональный параметр
  #тип - булев
  #используется при удалении
  #по умолчанию - false
  #permanently  = true

  #id сервиса, позволяет сформировать .tfstate, если сервис есть в платформе
  #опциональный параметр
  #тип - булев
  #используется при создании
  #service_id   = 11111

}

output "test" {
  value = decort_bservice.b
}
