|
|
|
@ -1,260 +0,0 @@
|
|
|
|
|
Функция доступна в провайдере версии 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{} [см. ниже](#описание-структуры-resource_limits) | :x: | Ресурсы аккаунта |
|
|
|
|
|
| enable | bool | :x: | Флаг доступности аккаунта<br/>Используется при редактировании |
|
|
|
|
|
| restore | bool | :x: | Флаг восстановления аккаунта<br/>Используется при редактировании |
|
|
|
|
|
| users | []Struct{} [см. ниже](#описание-структуры-users) | :x: | Поле для того чтобы задать пользователей |
|
|
|
|
|
| permanently | bool | :x: | Флаг удаления аккаунта<br/>Если выставлен в true, то аккаунт и все с ним связанное удаляется моментально<br/>Если false - то аккаунт попадает в "корзину", где хранится некоторое время. Из "корзины" аккаунт можно восстановить<br/>По-умолчанию: false<br/>Используется при удалении |
|
|
|
|
|
<!--| account_id | int | :x: | ID аккаунта, используется для формирования .tfstate, если аккаунт уже был создан в платформе<br/>Может использоваться при создании аккаунта |-->
|
|
|
|
|
|
|
|
|
|
### Описание структуры resource_limits
|
|
|
|
|
| Аргумент | Тип | Обязательный | Описание |
|
|
|
|
|
| --- | --- | :---: | --- |
|
|
|
|
|
| cu_c | float | :x: | Количество ядер CPU |
|
|
|
|
|
| cu_d | float | :x: | Размер диска |
|
|
|
|
|
| cu_i | float | :x: | Количество публичных IP адресов |
|
|
|
|
|
| cu_m | float | :x: | размер RAM |
|
|
|
|
|
| cu_np | float | :x: | Хранилище траффика |
|
|
|
|
|
| gpu_units | float | :x: | количество GPU ядер |
|
|
|
|
|
|
|
|
|
|
### Описание структуры users
|
|
|
|
|
| Аргумент | Тип | Обязательный | Описание |
|
|
|
|
|
| --- | --- | :---: | --- |
|
|
|
|
|
| user_id | string | :heavy_check_mark: | ID пользователя(его имя) |
|
|
|
|
|
| access_type | string | :heavy_check_mark: | Тип доступа пользователя. R - чтение, RCX - запись, ARCXDU - админ |
|
|
|
|
|
| recursive_delete | bool | :x: | Флаг рекурсивного удаления пользователя |
|
|
|
|
|
|
|
|
|
|
## Возвращаемые значения
|
|
|
|
|
В случае успешного выполнения _resource_ функция **decort_account** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| account_id | int | ID аккаунта |
|
|
|
|
|
| account_name | string | Название аккаунта |
|
|
|
|
|
| meta | []string | Мета информация |
|
|
|
|
|
| resources | Struct{} [см. ниже](#описание-структуры-resources)| Информация о ресурсах |
|
|
|
|
|
| acl | []Struct{} [см. ниже](#описание-структуры-acl)| Более подробная информация об аккаунтах |
|
|
|
|
|
| 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{} [см. ниже](#описание-структуры-resource_limits)| Ограничения ресурсов|
|
|
|
|
|
| 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{} [см .ниже](#описание-структуры-computes)| Информация о вычислительных мощностях|
|
|
|
|
|
| machines | Struct{} [см .ниже](#описание-структуры-machines)| Информация о виртуальных машинах (устаревшее)|
|
|
|
|
|
|
|
|
|
|
### Описание структуры resources
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| current | Struct{} [см. ниже](#описание-структуры-current-и-reserved) | Информация о текуших ресурсах |
|
|
|
|
|
| reserved | Struct{} [см. ниже](#описание-структуры-current-и-reserved) | Информация о зарезверированных аккаунтом ресурсах |
|
|
|
|
|
|
|
|
|
|
### Описание структуры 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_i | float | Количество публичных IP адресов |
|
|
|
|
|
| cu_m | float | размер RAM |
|
|
|
|
|
| cu_np | float | Хранилище траффика |
|
|
|
|
|
| gpu_units | float | количество GPU ядер |
|
|
|
|
|
|
|
|
|
|
### Описание структуры computes
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| started | int | Количество запущенных ВМ |
|
|
|
|
|
| stopped | int | Количество остановленных ВМ |
|
|
|
|
|
|
|
|
|
|
### Описание структуры machines
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| halted | int | Количество остановленных ВМ |
|
|
|
|
|
| running | int | Количество запущенных ВМ |
|
|
|
|
|
|
|
|
|
|
### Описание структуры current и reserved
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| cpu | int | Количество CPU |
|
|
|
|
|
| disksize | int | Размер диска |
|
|
|
|
|
| extips | int | Внешние IPs |
|
|
|
|
|
| exttraffic | int | Внешний Traffic |
|
|
|
|
|
| gpu | int | Количество GPU |
|
|
|
|
|
| ram | int | Количество RAM |
|
|
|
|
|
| seps | []Struct{} [см . ниже](#описание-структуры-seps)| Информация о seps |
|
|
|
|
|
|
|
|
|
|
### Описание структуры seps
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| sep_id | int | ID SEP |
|
|
|
|
|
| data_name | string | Имя пула информации внутри SEP'а |
|
|
|
|
|
| disk_size | int | Количество занятого места |
|
|
|
|
|
| disk_size_max | int | Размер диска |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Пример использования
|
|
|
|
|
Пример вызова _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://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
|
|
|
|
|
|
|
|
|
|
После успешного завершения такого вызова **decort_account** в переменной `decort_account.a` будут сохранены возвращаемые значения.
|