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.
terraform-provider-dynamix/wiki/1.2.1/07.01.11-Resource_dynamix_a...

13 KiB

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

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

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

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

Аргументы

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

Аргумент Тип Обязательный Описание
account_name string ✔️ Имя аккаунта
Используется при создании и редактировании
username string ✔️ Имя пользователя - владельца аккаунта
Используется при создании
resource_limits Struct{} см. ниже Ресурсы аккаунта
enable bool Флаг доступности аккаунта
Используется при редактировании
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 функция dynamix_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 Время удаления аккаунта
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 функции dynamix_account:

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

  #имя пользователя - создателя аккаунта
  #обязательный параметр
  #тип - строка
  username = "username@decs3o"

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

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

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

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

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