From a1d7c133b1dd307f6a96bfcad01e0f2966d074b0 Mon Sep 17 00:00:00 2001 From: loskutovanl Date: Tue, 28 Nov 2023 11:53:05 +0300 Subject: [PATCH] update account resource --- ...управление-аккаунтом.md | 182 -------------- ...управление-аккаунтом.md | 233 ++++++++++++++++++ Home.md | 2 +- 3 files changed, 234 insertions(+), 183 deletions(-) delete mode 100644 07.02.06-Resource-функция-decort_account-управление-аккаунтом.md create mode 100644 07.02.06-Resource-функция-decort_cb_account-управление-аккаунтом.md diff --git a/07.02.06-Resource-функция-decort_account-управление-аккаунтом.md b/07.02.06-Resource-функция-decort_account-управление-аккаунтом.md deleted file mode 100644 index 7bcb674..0000000 --- a/07.02.06-Resource-функция-decort_account-управление-аккаунтом.md +++ /dev/null @@ -1,182 +0,0 @@ -Функция доступна в провайдере версии 2.3 и выше. - -_Resource_ функция **decort_account** служит для управления аккаунтами. Аккаунты в платформе позволяют создавать ресурсные группы, вычислительные мощности (), виртуальные сети, управлять ресурсами и так далее. Аккаунты создают пользователи (user). Все административное взаимодействие внутри платформы строится на аккаунтах. - -## Аргументы -_Resource_ функция **decort_account** принимает следующие аргументы: - -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | :---: | --- | -| account_name | string | :heavy_check_mark: | Имя аккаунта
Используется при создании и редактировании | -| username | string | :heavy_check_mark: | Имя пользователя - владельца аккаунта
Используется при создании | -| emailaddress | string | :x: | Адрес электронной почты
Используется при создании | -| send_access_emails | bool | :x: | Флаг отправки электронного письма
Используется при создании и редактировании
По-умолчанию: true | -| resource_limits | Struct{
cu_c float
cu_d float
cu_i float
cu_m float
cu_np float
gpu_units float
}
 
 
 
| :x: | Ресурсы аккаунта
Кол-во ядер
Размер диска, ГБ
Кол-во публичных ip-адресов
Размер RAM, МБ
Кол-во переданных данных, в ГБ
Кол-во графических процессоров
 
Используется при создании и редактировании аккаунта
По-умолчанию, все ресурсы выставлены в -1, что обозначает их использование без ограничений.
Значение 0 недопустимо. Должен быть использован хотя бы минимальные экземпляр ресурса. | -| enable | bool | :x: | Флаг доступности аккаунта
Используется при редактировании | -| restore | bool | :x: | Флаг восстановления аккаунта
Используется при редактировании | -| users | []Struct{
user_id string
access_type string
recursive_delete bool
} | :x: | Добавление/удаление пользователей в аккаунт
ID пользователя(его имя)
Тип доступа пользователя. R - чтение, RCX - запись, ARCXDU - админ
Флаг рекурсивного удаления пользователя
 
| -| permanently | bool | :x: | Флаг удаления аккаунта
Если выставлен в true, то аккаунт и все с ним связанное удаляется моментально
Если false - то аккаунт попадает в "корзину", где хранится некоторое время. Из "корзины" аккаунт можно восстановить
По-умолчанию: false
Используется при удалении | -| account_id | int | :x: | ID аккаунта, используется для формирования .tfstate, если аккаунт уже был создан в платформе
Может использоваться при создании аккаунта | - -## Возвращаемые значения -В случае успешного выполнения _resource_ функция **decort_account** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | ID аккаунта | -| account_name | string | Название аккаунта | -| meta | []string | Мета информация | -| resources | Struct{
current Struct{
cpu int
disksize int
extips int
exttraffic int
gpu int
ram int
}
reserved Struct{
cpu int
disksize int
extips int
exttraffic int
gpu int
ram int
}
} | Информация о ресурсах
Задействованные
Кол-вол ядер
Размер диска, ГБ
Кол-во внешних ip-адресов
Размер внешнего траффика
Кол-во графических ядер
Размер RAM, MБ

Зарезервированные
Кол-вол ядер
Размер диска, ГБ
Кол-во внешних ip-адресов
Размер внешнего траффика
Кол-во графических ядер
Размер RAM, MБ

 
| -| acl | []Struct{
can_be_deleted bool
explicit bool
guid string
right string
status string
type string
user_group_id string
} | Более подробная информация об аккаунтах
Может ли быть удален аккаунт
Явно ли указан доступ
guid аккаунта
Права доступа
Статус аккаунта
Тип аккаунта
Идентификатор пользователя-владельца аккаунта
 
| -| 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{
cu_c float
cu_d float
cu_i float
cu_m float
cu_np float
gpu_units float
} | Ограничения ресурсов
Кол-во ядер
Размер диска, ГБ
Число публичных ip адресов
Размер RAM, МБ
Объем трафика, ГБ
Кол-вол графических ядер
 
| -| 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` будут сохранены возвращаемые значения. diff --git a/07.02.06-Resource-функция-decort_cb_account-управление-аккаунтом.md b/07.02.06-Resource-функция-decort_cb_account-управление-аккаунтом.md new file mode 100644 index 0000000..366b04b --- /dev/null +++ b/07.02.06-Resource-функция-decort_cb_account-управление-аккаунтом.md @@ -0,0 +1,233 @@ +Функция доступна в провайдере версии 2.3 и выше. + +_Resource_ функция **decort_cb_account** служит для управления аккаунтами. Аккаунты в платформе позволяют создавать ресурсные группы, вычислительные мощности, виртуальные сети, управлять ресурсами и так далее. Аккаунты создают пользователи (user). Все административное взаимодействие внутри платформы строится на аккаунтах. + +## Аргументы +_Resource_ функция **decort_cb_account** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- |-------------------------------------------------| :---: |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| account_name | string | :heavy_check_mark: | Имя аккаунта
Используется при создании и редактировании | +| username | string | :heavy_check_mark: | Имя пользователя - владельца аккаунта
Используется при создании | +| emailaddress | string | :x: | Адрес электронной почты
Используется при создании | +| send_access_emails | bool | :x: | Флаг отправки электронного письма
Используется при создании и редактировании
По-умолчанию: true | +| uniq_pools | []string | :x: | Список пулов. Например, ["sep1_poolName1", "sep2_poolName2"] | +| users | []Struct [см. ниже](#описание-блока-users-args) | :x: | Добавление/удаление пользователей в аккаунт | +| cpu_allocation_parameter | string | :x:| Установить тип выделения ЦП:
`strict` – ВМ не может быть запущена, если не хватает ресурсов ЦП;
`loose` - можно запускать виртуальную машину, если не хватает ресурсов. | +| cpu_allocation_ratio | float | :x:| Установить коэффициент распределения ЦП для УЗ. Один pCPU = ratio*vCPU | +| restore | bool | :x: | Флаг восстановления аккаунта
Используется при редактировании | +| permanently | bool | :x: | Флаг удаления аккаунта
Если выставлен в true, то аккаунт и все с ним связанное удаляется моментально
Если false - то аккаунт попадает в "корзину", где хранится некоторое время. Из "корзины" аккаунт можно восстановить
По-умолчанию: false
Используется при удалении | +| enable | bool | :x: | Флаг доступности аккаунта
Используется при редактировании | +| resource_limits | []Struct [см. ниже](#описание-блока-resource_limits-args)| :x: | Ресурсы аккаунта. Используется при создании и редактировании аккаунта
По-умолчанию, все ресурсы выставлены в -1, что обозначает их использование без ограничений.
Значение 0 недопустимо. Должен быть использован хотя бы минимальные экземпляр ресурса. | +| account_id | int | :x: | ID аккаунта, используется для формирования .tfstate, если аккаунт уже был создан в платформе
Может использоваться при создании аккаунта | + +### Описание блока 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` будут сохранены возвращаемые значения. diff --git a/Home.md b/Home.md index 910db14..a9006fe 100644 --- a/Home.md +++ b/Home.md @@ -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_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_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_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-управление-бекендом-балансировщика-нагрузки) - управление бекендом балансировщика нагрузки