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.

13 KiB

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

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

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

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

Аргументы

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

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

Описание блока resource_limits

Аргумент Тип Обязательный Описание
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 функция dynamix_account возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:

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

Описание структуры 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 Количество запущенных ВМ

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

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

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

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

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

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

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

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

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

    #тип доступа пользователя
    #обязательный параметр
    #тип - строка
    #возможные параметры:
    #R - чтение
    #RCX - запись
    #ARCXDU - админ
    #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
  #}

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

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

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

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

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