You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki-terraform-provider-decort/4.9.2/07.01.11-Resource_decort_ac...

13 KiB

Resource функция decort_account служит для управления аккаунтами. Аккаунты на платформе позволяют создавать ресурсные группы, вычислительные мощности (computes), виртуальные сети, управлять ресурсами и так далее. Аккаунты создают пользователи (user). Все административное взаимодействие внутри платформы строится на аккаунтах.

Начиная с версии провайдера 4.3.0 аккаунты могут создавать только администраторы площадок.
Пользователи без административных прав могут только импортировать существующие аккаунты, используя следующую команду:

terraform import decort_account.<наименование-ресурса> <ID-аккаунта>

После импорта конфигурации управление аккаунтом доступно в прежнем порядке.

Аргументы

Resource функция decort_account принимает следующие аргументы:

Аргумент Тип Обязательный Описание
account_name string ✔️ Имя аккаунта
Используется при редактировании
resource_limits Struct{} см. ниже Ресурсы аккаунта
desc string Описание
enable bool Флаг доступности аккаунта
Используется при редактировании
reason string Причина отключения аккаунта
restore bool Флаг восстановления аккаунта
Используется при редактировании
users []Struct{} см. ниже Поле для того чтобы задать пользователей
permanently bool Флаг удаления аккаунта
Если выставлен в true, то аккаунт и все с ним связанное удаляется моментально
Если false - то аккаунт попадает в "корзину", где хранится некоторое время. Из "корзины" аккаунт можно восстановить
по умолчанию: false
Используется при удалении

Описание структуры resource_limits_input

Аргумент Тип Обязательный Описание
cu_c float Количество ядер CPU
cu_d float Размер диска
cu_i float Количество публичных IP адресов
cu_m float размер RAM
cu_np float Хранилище траффика
gpu_units float количество GPU ядер

Описание структуры users

Аргумент Тип Обязательный Описание
user_id string ✔️ ID пользователя(его имя)
access_type string ✔️ Тип доступа пользователя. R - чтение, RCX - запись, ARCXDU - админ

Возвращаемые значения

В случае успешного выполнения resource функция decort_account возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:

Параметр Тип Описание
dc_location string dc location
ckey string CKey
account_id int ID аккаунта
account_name string Название аккаунта
acl []Struct{} см. ниже Более подробная информация об аккаунтах
company string Название компании, которой принадлежит аккаунт
companyurl string url-адрес компани
compute_features []string Доступ к дополнительным функциям управления ВМ
created_by string Пользователь - создателя аккаунта
created_time int Время создания аккаунта
deactivation_time float Время деактивации аккаунта
deleted_by string Пользователь, удаливший аккаунт
deleted_time int Время удаления аккаунта
desc string Описание
displayname string Отображаемое имя аккаунта
guid int Внутренний guid аккаунта
resource_limits Struct{} см. ниже Ограничения ресурсов
send_access_emails bool Флаг, отправлять ли на указанную почту письмо о доступе
cpu_allocation_parameter string Параметр выделения CPU
cpu_allocation_ratio float Отношение выделения CPU
status string Статус аккаунта
updated_time int Время последнего обновления
version int Версия аккаунта
vins []int Список id виртуальных сетей
vinses []int Список id виртуальных сетей
computes Struct{} см .ниже Информация о вычислительных мощностях
machines Struct{} см .ниже Информация о виртуальных машинах (устаревшее)

Описание структуры acl

Параметр Тип Описание
can_be_deleted bool Может ли быть удален
explicit bool Видимость аккаунта
guid string GUID
right string Права
status string Статус
type string Тип
user_group_id string ID группы юзеров

Описание структуры resource_limits

Параметр Тип Описание
cu_c float Количество ядер CPU
cu_d float Размер диска
cu_dm float Использованный размер хранилища виртуального диска
cu_i float Количество публичных IP адресов
cu_m float размер RAM
cu_np float Хранилище траффика
gpu_units float количество GPU ядер

Описание структуры computes

Параметр Тип Описание
started int Количество запущенных ВМ
stopped int Количество остановленных ВМ

Описание структуры machines

Параметр Тип Описание
halted int Количество остановленных ВМ
running int Количество запущенных ВМ

Пример использования

Пример вызова resource функции decort_account:

resource "decort_account" "a" {
  #имя аккаунта
  #обязательный параметр
  #тип - строка
  #используется при обновлении
  account_name = "new_my_account"

  #описание
  #опциональный параметр
  #тип - строка
  #используется при обновлении
  #desc = "description"  

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

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

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

  #добавление/редактирование/удаление пользователей, к которым привязан аккаунт
  #опциональный параметр
  #используется при обновлении
  #тип - объект, кол-во таких объектов не ограничено
  /*users {
    #id пользователя
    #обязательный параметр
    #тип - строка
    user_id     = "username_2@decs3o"

    #тип доступа пользователя
    #обязательный параметр
    #тип - строка
    #возможные параметры:
    #R - чтение
    #RCX - запись
    #ARCXDU - админ
    access_type = "R"

  }
  users {
    user_id     = "username_1@decs3o"
    access_type = "R"
  }*/

  #ограничение используемых ресурсов
  #опциональный параметр
  #тип - объект
  #используется при обновлении
  #resource_limits {
    #кол-во используемых ядер cpu
    #опциональный параметр
    #тип - целое число
    #если установлена -1 - кол-во неограничено
    #cu_c = 2

    #кол-во используемой RAM, в МБ
    #опциональный параметр
    #тип - целое число
    #если установлена -1 - кол-во неограничено
    #cu_m = 1024

    #размер дисков, в ГБ
    #опциональный параметр
    #тип - целое число
    #если установлена -1 - размер неограничено
    #cu_d = 23

    #кол-во используемых публичных IP
    #опциональный параметр
    #тип - целое число
    #если установлена -1 - кол-во неограничено
    #cu_i = 2

    #ограничения на кол-во передачи данных, в ГБ
    #опциональный параметр
    #тип - целое число
    #если установлена -1 - кол-во неограничено
    #cu_np = 2

    #кол-во графических процессоров
    #опциональный параметр
    #тип - целое число
    #если установлена -1 - кол-во неограничено
    #gpu_units = 2
  #}

  #причина отключения аккаунта
  #опциональный параметр 
  #тип - строка
  #используется при обновлении
  #reason = "something_reason"

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

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

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий раздел).

После успешного завершения такого вызова decort_account в переменной decort_account.a будут сохранены возвращаемые значения.