Create resource_account page
184
07.16-Resource-функция-decort_account-управление-аккаунтом.md
Normal file
184
07.16-Resource-функция-decort_account-управление-аккаунтом.md
Normal file
@@ -0,0 +1,184 @@
|
||||
Функция доступна в провайдере версии 2.3 и выше.
|
||||
|
||||
_Resource_ функция **decort_account** служит для управления аккаунтами. Аккаунты в платформе позволяют создавать ресурсные группы, вычислительные мощности (computes), виртуальные сети, управлять ресурсами и так далее. Аккаунты создают пользователи (user). Все административное взаимодействие внутри платформы строится на аккаунтах.
|
||||
|
||||
## Аргументы
|
||||
_Resource_ функция **decort_account** принимает следующие аргументы:
|
||||
|
||||
| Аргумент | Тип | Обязательный | Описание |
|
||||
| --- | --- | :---: | --- |
|
||||
| account_name | string | :heavy_check_mark: | Имя аккаунта<br/>Используется при создании и редактировании |
|
||||
| username | string | :heavy_check_mark: | Имя пользователя - владельца аккаунта<br/>Используется при создании |
|
||||
| emailaddress | string | :x: | Адрес электронной почты<br/>Используется при создании |
|
||||
| send_access_emails | bool | :x: | Флаг отправки электронного письма<br/>Используется при создании и редактировании<br/>По-умолчанию: true |
|
||||
| resource_limits | Struct{<br/>cu_c float<br/>cu_d float<br/>cu_i float<br/>cu_m float<br/>cu_np float<br/>gpu_units float<br/>}<br/> <br/> <br/> <br/> | :x: | Ресурсы аккаунта<br/>Кол-во ядер<br/>Размер диска, ГБ<br/>Кол-во публичных ip-адресов<br/>Размер RAM, МБ<br/>Кол-во переданных данных, в ГБ<br/>Кол-во графических процессоров<br/> <br/>Используется при создании и редактировании аккаунта<br/>По-умолчанию, все ресурсы выставлены в -1, что обозначает их использование без ограничений.<br/>Значение 0 недопустимо. Должен быть использован хотя бы минимальные экземпляр ресурса. |
|
||||
| enable | bool | :x: | Флаг доступности аккаунта<br/>Используется при редактировании |
|
||||
| restore | bool | :x: | Флаг восстановления аккаунта<br/>Используется при редактировании |
|
||||
| users | []Struct{<br/>user_id string<br/>access_type string<br/>recursive_delete bool<br/> } | :x: | Добавление/удаление пользователей в аккаунт<br/>ID пользователя(его имя)<br/>Тип доступа пользователя. R - чтение, RCX - запись, ARCXDU - админ<br/>Флаг рекурсивного удаления пользователя<br/> <br/> |
|
||||
| permanently | bool | :x: | Флаг удаления аккаунта<br/>Если выставлен в true, то аккаунт и все с ним связанное удаляется моментально<br/>Если false - то аккаунт попадает в "корзину", где хранится некоторое время. Из "корзины" аккаунт можно восстановить<br/>По-умолчанию: false<br/>Используется при удалении |
|
||||
| account_id | int | :x: | ID аккаунта, используется для формирования .tfstate, если аккаунт уже был создан в платформе<br/>Может использоваться при создании аккаунта |
|
||||
|
||||
## Возвращаемые значения
|
||||
В случае успешного выполнения _resource_ функция **decort_account** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| account_id | int | ID аккаунта |
|
||||
| account_name | string | Название аккаунта |
|
||||
| meta | []string | Мета информация |
|
||||
| resources | Struct{<br/>current Struct{<br/>cpu int<br/>disksize int<br/>extips int<br/>exttraffic int<br/>gpu int<br/>ram int<br/>}<br/>reserved Struct{<br/>cpu int<br/>disksize int<br/>extips int<br/>exttraffic int<br/>gpu int<br/>ram int<br/>}<br/>} | Информация о ресурсах<br/>Задействованные<br/>Кол-вол ядер<br/>Размер диска, ГБ<br/>Кол-во внешних ip-адресов<br/>Размер внешнего траффика<br/>Кол-во графических ядер<br/>Размер RAM, MБ<br/><br/>Зарезервированные<br/>Кол-вол ядер<br/>Размер диска, ГБ<br/>Кол-во внешних ip-адресов<br/>Размер внешнего траффика<br/>Кол-во графических ядер<br/>Размер RAM, MБ<br/><br/> <br/> |
|
||||
| acl | []Struct{<br/>can_be_deleted bool<br/>explicit bool<br/>guid string<br/>right string<br/>status string<br/>type string<br/>user_group_id string<br/>} | Более подробная информация об аккаунтах<br/>Может ли быть удален аккаунт<br/>Явно ли указан доступ<br/>guid аккаунта<br/>Права доступа<br/>Статус аккаунта<br/>Тип аккаунта<br/>Идентификатор пользователя-владельца аккаунта<br/> <br/> |
|
||||
| company | string | Название компании, которой принадлежит аккаунт |
|
||||
| companyurl | string | url-адрес компани |
|
||||
| created_by | string | Пользователь - создателя аккаунта |
|
||||
| created_time | int | Время создания аккаунта |
|
||||
| deactivation_time | float | Время деактивации аккаунта |
|
||||
| deleted_by | string | Пользователь, удаливший аккаунт |
|
||||
| deleted_time | int | Время удаления аккаунта |
|
||||
| displayname | string | Отображаемое имя аккаунта |
|
||||
| guid | int | Внутренний guid аккаунта |
|
||||
| resource_limits | Struct{<br/>cu_c float<br/>cu_d float<br/>cu_i float<br/>cu_m float<br/>cu_np float<br/>gpu_units float<br/>} | Ограничения ресурсов<br/>Кол-во ядер<br/>Размер диска, ГБ<br/>Число публичных ip адресов<br/>Размер RAM, МБ<br/>Объем трафика, ГБ<br/>Кол-вол графических ядер<br/> <br/> |
|
||||
| send_access_emails | bool | Флаг, отправлять ли на указанную почту письмо о доступе |
|
||||
| service_account | bool | Флаг, является ли аккаунт аккаунтом-обслуживания |
|
||||
| status | string | Статус аккаунта |
|
||||
| updated_time | int | Время последнего обновления |
|
||||
| version | int | Версия аккаунта |
|
||||
| vins | []int | Список id виртуальных сетей |
|
||||
| vinses | []int | Список id виртуальных сетей |
|
||||
| computes | Struct{<br/>started int<br/>stopped int <br/>} | Информация о вычислительных мощностях<br/>Кол-во запущенных<br/>Кол-во остановленных<br/> <br/> |
|
||||
| machines | Struct{<br/>halted int<br/>running int <br/>} | Информация о виртуальных машинах (устаревшее)<br/>Кол-во запущенных<br/>Кол-во остановленных<br/> <br/> |
|
||||
|
||||
|
||||
|
||||
## Пример использования
|
||||
Пример вызова _resource_ функции **decort_account**:
|
||||
```terraform
|
||||
resource "decort_account" "a" {
|
||||
#имя аккаунта
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании и редактировании аккаунта
|
||||
account_name = "new_my_account"
|
||||
|
||||
#имя пользователя - создателя аккаунта
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
username = "username@decs3o"
|
||||
|
||||
#доступность аккаунта
|
||||
#необязательный параметр
|
||||
#тип - булев тип
|
||||
#может применяться при редактировании аккаунта
|
||||
#enable = true
|
||||
|
||||
#id аккаунта, позволяет сформировать .tfstate, если аккаунт имеет в платформе
|
||||
#необязательный параметр
|
||||
#тип - число
|
||||
#account_id = 11111
|
||||
|
||||
#электронная почта, на которую будет отправлена информация о доступе
|
||||
#необязательный параметр
|
||||
#тип - строка
|
||||
#применяется при создании аккаунта
|
||||
#emailaddress = "fff@fff.ff"
|
||||
|
||||
#отправлять ли на электронную почту письмо о доступе
|
||||
#необязательный параметр
|
||||
#тип - булев тип
|
||||
#применяется при создании аккаунта и редактировании аккаунта
|
||||
send_access_emails = true
|
||||
|
||||
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
|
||||
#необязательный параметр
|
||||
#тип - объект, кол-во таких объектов не ограничено
|
||||
/*users {
|
||||
#id пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
user_id = "username_2@decs3o"
|
||||
|
||||
#тип доступа пользователя
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#возможные параметры:
|
||||
#R - чтение
|
||||
#RCX - запись
|
||||
#ARCXDU - админ
|
||||
access_type = "R"
|
||||
|
||||
#рекурсивное удаление пользователя из всех ресурсов аккаунтов
|
||||
#необязательный параметр
|
||||
#тип - булев тип
|
||||
#по-умолчанию - false
|
||||
#применяется при удалении пользователя из аккаунта
|
||||
recursive_delete = true
|
||||
}
|
||||
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
|
||||
}
|
||||
# once the above directive completes, account will be accessible
|
||||
# as decort_account.a
|
||||
```
|
||||
|
||||
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://github.com/rudecs/terraform-provider-decort/wiki/05.-%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-Terraform-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-DECORT.)).
|
||||
|
||||
После успешного завершения такого вызова **decort_account** в переменной `decort_account.a` будут сохранены возвращаемые значения.
|
||||
Reference in New Issue
Block a user