update account resource

master
loskutovanl 1 year ago
parent f6131be401
commit a1d7c133b1

@ -1,182 +0,0 @@
Функция доступна в провайдере версии 2.3 и выше.
_Resource_ функция **decort_account** служит для управления аккаунтами. Аккаунты в платформе позволяют создавать ресурсные группы, вычислительные мощности (), виртуальные сети, управлять ресурсами и так далее. Аккаунты создают пользователи (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/>&nbsp;<br/>&nbsp;<br/>&nbsp;<br/> | :x: | Ресурсы аккаунта<br/>Кол-во ядер<br/>Размер диска, ГБ<br/>Кол-во публичных ip-адресов<br/>Размер RAM, МБ<br/>Кол-во переданных данных, в ГБ<br/>Кол-во графических процессоров<br/>&nbsp;<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/>&nbsp;<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/>&nbsp;<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/>&nbsp;<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/>&nbsp;<br/> |
| send_access_emails | bool | Флаг, отправлять ли на указанную почту письмо о доступе |
| service_account | bool | Флаг, является ли аккаунт аккаунтом-обслуживания |
| status | string | Статус аккаунта |
| updated_time | int | Время последнего обновления |
| version | int | Версия аккаунта |
| vins | []int | Список id виртуальных сетей |
## Пример использования
Пример вызова _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` будут сохранены возвращаемые значения.

@ -0,0 +1,233 @@
Функция доступна в провайдере версии 2.3 и выше.
_Resource_ функция **decort_cb_account** служит для управления аккаунтами. Аккаунты в платформе позволяют создавать ресурсные группы, вычислительные мощности, виртуальные сети, управлять ресурсами и так далее. Аккаунты создают пользователи (user). Все административное взаимодействие внутри платформы строится на аккаунтах.
## Аргументы
_Resource_ функция **decort_cb_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 |
| uniq_pools | []string | :x: | Список пулов. Например, ["sep1_poolName1", "sep2_poolName2"] |
| users | []Struct [см. ниже](#описание-блока-users-args) | :x: | Добавление/удаление пользователей в аккаунт |
| cpu_allocation_parameter | string | :x:| Установить тип выделения ЦП:<br/>`strict` ВМ не может быть запущена, если не хватает ресурсов ЦП;<br/>`loose` - можно запускать виртуальную машину, если не хватает ресурсов. |
| cpu_allocation_ratio | float | :x:| Установить коэффициент распределения ЦП для УЗ. Один pCPU = ratio*vCPU |
| restore | bool | :x: | Флаг восстановления аккаунта<br/>Используется при редактировании |
| permanently | bool | :x: | Флаг удаления аккаунта<br/>Если выставлен в true, то аккаунт и все с ним связанное удаляется моментально<br/>Если false - то аккаунт попадает в "корзину", где хранится некоторое время. Из "корзины" аккаунт можно восстановить<br/>По-умолчанию: false<br/>Используется при удалении |
| enable | bool | :x: | Флаг доступности аккаунта<br/>Используется при редактировании |
| resource_limits | []Struct [см. ниже](#описание-блока-resource_limits-args)| :x: | Ресурсы аккаунта. Используется при создании и редактировании аккаунта<br/>По-умолчанию, все ресурсы выставлены в -1, что обозначает их использование без ограничений.<br/>Значение 0 недопустимо. Должен быть использован хотя бы минимальные экземпляр ресурса. |
| account_id | int | :x: | ID аккаунта, используется для формирования .tfstate, если аккаунт уже был создан в платформе<br/>Может использоваться при создании аккаунта |
### Описание блока users args
| Аргумент | Тип | Обязательный | Описание |
|------------------|--------|--------------------| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| user_id | string | :heavy_check_mark: | ID пользователя(его имя) |
| access_type | string | :heavy_check_mark: |Тип доступа пользователя. R - чтение, RCX - запись, ARCXDU - админ|
| recursive_delete | bool | :x: | Флаг рекурсивного удаления пользователя |
### Описание блока resource_limits args
| Аргумент | Тип | Обязательный | Описание |
|-----------|-------|--------------|----------------------------------------------------|
| cu_c | float | :x: | Количество ядер CPU |
| cu_d | float | :x: | Размер диска |
| cu_dm | float | :x: | Использованный размер хранилища виртуального диска |
| cu_i | float | :x: | Количество публичных IP адресов |
| cu_m | float | :x: | размер RAM |
| cu_np | float | :x: | Хранилище траффика |
| gpu_units | float | :x: | количество GPU ядер |
## Возвращаемые значения
В случае успешного выполнения _resource_ функция **decort_cb_account** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
| Параметр | Тип | Описание |
| --- | --- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| account_id | int | ID аккаунта |
|dc_location|string| dc location |
| ckey | string | CKey |
| acl | []Struct [см. ниже](#описание-структуры-acl)| Cписок Acces Control |
| company | string | Название компании, которой принадлежит аккаунт |
| companyurl | string | url-адрес компани |
| cpu_allocation_parameter | string | Параметр выделения CPU |
| cpu_allocation_ratio | float | Отношение выделения CPU |
| created_by | string | Пользователь - создателя аккаунта |
| created_time | int | Время создания аккаунта |
| deactivation_time | float | Время деактивации аккаунта |
| deleted_by | string | Пользователь, удаливший аккаунт |
| deleted_time | int | Время удаления аккаунта |
| displayname | string | Отображаемое имя аккаунта |
| guid | int | Внутренний guid аккаунта |
| account_name | string | Название аккаунта |
| resource_limits | Struct{} [см. ниже](#описание-структуры-resource_limits) | Лимиты ресурсов |
| resource_types | []string | Типы ресурсов |
| send_access_emails | bool | Флаг, отправлять ли на указанную почту письмо о доступе |
| status | string | Статус аккаунта |
| uniq_pools | []string | Список пулов |
| updated_time | int | Время последнего обновления |
| version | int | Версия аккаунта |
| vins | []int | Список id виртуальных сетей |
### Описание структуры acl
| Параметр | Тип | Описание |
| --- | --- | --- |
| explicit | bool | Явно ли указан доступ |
| guid | string | guid Ресурса |
| right | string | Права на ресурс |
| status | string | Статус ресурса |
| type | string | Тип ресурса |
| user_group_id | string | ID user group |
### Описание структуры 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 ядер |
## Пример использования
Пример вызова _resource_ функции **decort_cb_account**:
```terraform
resource "decort_cb_account" "a" {
#имя аккаунта
#обязательный параметр
#тип - строка
#используется при создании и редактировании аккаунта
account_name = "new_my_account"
#имя пользователя - создателя аккаунта
#обязательный параметр
#тип - строка
username = "username@decs3o"
#доступность аккаунта
#необязательный параметр
#тип - булев тип
#может применяться при создании аккаунта и редактировании аккаунта
enable = true
#электронная почта, на которую будет отправлена информация о доступе
#необязательный параметр
#тип - строка
#применяется при создании аккаунта
emailaddress = "fff@fff.ff"
#отправлять ли на электронную почту письмо о доступе
#необязательный параметр
#тип - булев тип
#применяется при создании аккаунта и редактировании аккаунта
send_access_emails = true
#пары sep_id и sep_pool_name
#необязательный параметр
#тип - список строк
#применяется при создании аккаунта и редактировании аккаунта
#каждая строка представляет собой пару, sepID_sepPoolName
uniq_pools = ["sep1_poolName1", "sep2_poolName2"]
#ограничение используемых ресурсов
#необязательный параметр
#тип - объект
#используется при создании и редактировании
resource_limits {
#кол-во используемых ядер cpu
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
cu_c = 2
#кол-во используемой RAM в МБ
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
cu_m = 1024
#размер дисков, в ГБ
#необязательный параметр
#тип - число
#если установлена -1 - размер неограничен
cu_dm = 23
#кол-во используемых публичных IP
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
cu_i = 2
#ограничения на кол-во передачи данных, в ГБ
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
cu_np = 2
#кол-во графических процессоров
#необязательный параметр
#тип - число
#если установлена -1 - кол-во неограничено
gpu_units = 2
}
#добавление/редактирование/удаление пользователей, к которым привязан аккаунт
#необязательный параметр
#тип - объект, кол-во таких объектов не ограничено
/*users {
#id пользователя
#обязательный параметр
#тип - строка
user_id = "username_2@decs3o"
#тип доступа пользователя
#обязательный параметр
#тип - строка
#возможные параметры:
#R - чтение
#RCX - запись
#ARCXDU - админ
access_type = "R"
#рекурсивное удаление пользователя из всех ресурсов аккаунтов
#необязательный параметр
#тип - булев тип
#по-умолчанию - false
#применяется при удалении пользователя из аккаунта
recursive_delete = true
}
*/
#параметр распределения CPU
#необязательный параметр
#тип - строка
#если "strict" виртуальная машина не может быть запущена из-за нехватки ресурсов.
#"loose" позволяет запускать виртуальную машину, если недостаточно ресурсов.
#cpu_allocation_parameter = "strict"
#параметр коэффициента распределения CPU
#необязательный параметр
#тип - число
#один pCPU = коэффициент*vCPU (принимает нулевое или положительное значение)
#cpu_allocation_ratio = 1
#мгновеное удаление аккаунта, если да - то аккаунт невозможно будет восстановить
#необязательный параметр
#тип - булев тип
#используется при удалении аккаунта
#по-умолчанию - false
#permanently = true
#флаг для восстановление аккаунта из корзины
#необязательный параметр
#тип - булев тип
#restore = true
}
# once the above directive completes, account will be accessible
# as decort_cb_account.a
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова **decort_cb_account** в переменной `decort_cb_account.a` будут сохранены возвращаемые значения.

@ -258,7 +258,7 @@ Terraform провайдер для платформы DECORT с API верси
- [**decort_cb_sep**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.03-Resource-функция-decort_cb_sep-управление-sep) - управление sep - [**decort_cb_sep**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.03-Resource-функция-decort_cb_sep-управление-sep) - управление sep
- [**decort_cb_sep_config**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.02-Resource-функция-decort_cb_sep_config-управление-конфигурацией-sep) - управление конфигурацией sep - [**decort_cb_sep_config**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.02-Resource-функция-decort_cb_sep_config-управление-конфигурацией-sep) - управление конфигурацией sep
- [**decort_cb_pcidevice**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.01-Resource-функция-decort_cb_pcidevice-управление-устройством) - управление pcidevice - [**decort_cb_pcidevice**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.01-Resource-функция-decort_cb_pcidevice-управление-устройством) - управление pcidevice
- [**decort_account**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.06-Resource-функция-decort_account-управление-аккаунтом) - управление аккаунтом - [**decort_cb_account**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.06-Resource-функция-decort_cb_account-управление-аккаунтом) - управление аккаунтом
- [**decort_cb_flipgroup**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.16-Resource-функция-decort_cb_flipgroup-управление-плавающей-группой) - управление плавающей группой - [**decort_cb_flipgroup**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.16-Resource-функция-decort_cb_flipgroup-управление-плавающей-группой) - управление плавающей группой
- [**decort_cb_lb**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.17-Resource-функция-decort_cb_lb-управление-балансировщиком-нагрузки) - управление балансировщиком нагрузки - [**decort_cb_lb**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.17-Resource-функция-decort_cb_lb-управление-балансировщиком-нагрузки) - управление балансировщиком нагрузки
- [**decort_cb_lb_backend**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.18-Resource-функция-decort_cb_lb_backend-управление-бекендом-балансировщика-нагрузки) - управление бекендом балансировщика нагрузки - [**decort_cb_lb_backend**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.02.18-Resource-функция-decort_cb_lb_backend-управление-бекендом-балансировщика-нагрузки) - управление бекендом балансировщика нагрузки

Loading…
Cancel
Save