updated data source, added new data

master
Nikita Sorokin 2 years ago
parent 8938ec00d1
commit 3d07e58063

@ -1,136 +1,172 @@
Функция доступна в провайдере версии 2.3 и выше. Функция доступна в провайдере версии 2.3 и выше.
_Data source_ функция **decort_disk_list** служит для получения информации об имеющихся дисках. _Data source_ функция **decort_disk_list** служит для получения информации об имеющихся дисках.
## Аргументы ## Аргументы
_Data source_ функция **decort_disk_list** принимает следующие аргументы: _Data source_ функция **decort_disk_list** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | Аргумент | Тип | Обязательный | Описание |
| by_id | int | :x: | Фильтр по ID диска | | --- | --- | --- | --- |
| name | string | :x: | Фильтр по имени диска | | by_id | int | :x: | Фильтр по ID диска |
| account_name | string | :x: | Фильтр по имени аккаунта | | name | string | :x: | Фильтр по имени диска |
| disk_max_size | int | :x: | Фильтр по макс. размеру диска | | account_name | string | :x: | Фильтр по имени аккаунта |
| status | string | :x: | Фильтр по статусу | | disk_max_size | int | :x: | Фильтр по макс. размеру диска |
| shared | bool | :x: | Фильтр по значению shared | | status | string | :x: | Фильтр по статусу |
| account_id | int | :x: | id аккаунта для получения списка дисков | | shared | bool | :x: | Фильтр по значению shared |
| type | string | :x: | Тип диска. Возможные типы: "b" - boot_disk, "d" - data_disk | | account_id | int | :x: | id аккаунта для получения списка дисков |
| page | int | :x: | Номер страниц | | type | string | :x: | Тип диска. Возможные типы: "B" - boot_disk, "D" - data_disk |
| size | int | :x: | Размер страницы | | sep_id | int | :x: | Фильтр по SEP id. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск |
| pool_name | string | :x: | Фильтр по наименованию pool |
| page | int | :x: | Номер страниц |
## Возвращаемые значения | size | int | :x: | Размер страницы |
В случае успешного выполнения _data source_ функция **decort_disk_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание | ## Возвращаемые значения
| --- | --- | --- | В случае успешного выполнения _data source_ функция **decort_disk_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| account_id | int | Уникальный идентификатор подписчика-владельца диска |
| account_name | string | Имя подписчика ("account"), которому принадлежит данный диск | | Параметр | Тип | Описание |
| boot_partition | int | Кол-во разделов диска | | --- | --- | --- |
| computes | Struct{} [см. ниже](#описание-структуры-computes) | Информация о компьютах (виртуальных машинах) | | account_id | int | Уникальный идентификатор подписчика-владельца диска |
| created_time | int | Время создания | | account_name | string | Имя подписчика ("account"), которому принадлежит данный диск |
| deleted_time | int | Время удаления | | acl | string | Acces Control List |
| desc | string | Текстовое описание диска | | computes | Struct{} [см. ниже](#описание-структуры-computes) | Информация о компьютах (виртуальных машинах) |
| destruction_time | int | Время окончательного удаления | | created_time | int | Время создания |
| devicename | string | Наименование устройства | | deleted_time | int | Время удаления |
| disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. | | desc | string | Текстовое описание диска |
| disk_path | string | Адрес диска | | destruction_time | int | Время окончательного удаления |
| gid | int | Идентификатор площадки (grid id) | | devicename | string | Наименование устройства |
| guid | int | Идентификатор диска | | disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. |
| id | int | Идентификатор диска | | gid | int | Идентификатор площадки (grid id) |
| image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | | id | int | Идентификатор диска |
| images | []int | Идентификаторы образов, использующих диск | | image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа |
| iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска| | images | []int | Идентификаторы образов, использующих диск |
| iqn | string | iqn диска | | iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска|
| login | string | Логин для доступа к диску | | machine_id | int | id машины (устаревшее) |
| milestones | int | Вехи | | machine_name | string | Наименование машины (устаревшее) |
| disk_name | string | Наименование диска | | disk_name | string | Наименование диска |
| order | int | Номер диска | | order | int | Номер диска |
| params | string | Параметры диска | | params | string | Параметры диска |
| parent_id | int | id родительского диска | | parent_id | int | id родительского диска |
| passwd | string | Пароль для доступа к диску | | pci_slot | int | id pci слота, к которому подключен диск |
| pci_slot | int | id pci слота, к которому подключен диск | | pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск |
| pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | | present_to | []int | Список ID ресурсов, которым предоставлен диск |
| present_to | []int | Список ID ресурсов, которым предоставлен диск | | purge_time | int | Время удаления |
| purge_attempts | int | Кол-во попыток удаления | | res_id | int | id ресурса |
| purge_time | int | Время последней попытки | | res_name | string | Наименование ресурса |
| reality_device_number | int | Реальный номер устройства | | role | string | Роль диска |
| reference_id | int | id ссылки на диск | | sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск |
| res_id | int | id ресурса | | sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений |
| res_name | string | Наименование ресурса | | shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам |
| role | string | Роль диска | | size_max | int | Размер диска в ГБ |
| sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | | size_used | float | Кол-во используемого места, в ГБ |
| sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений | | snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots)| Снимки состояния диска|
| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | | status | string | Статус диска |
| size_max | int | Размер диска в ГБ | | tech_status | string | Технический статус диска |
| size_used | float | Кол-во используемого места, в ГБ | | type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:<br/>"B" - признак загрузочного диска ("boot").<br/>"D" - признак дополнительного диска ("data") |
| snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots)| Снимки состояния диска| | vmid | int | Идентификатор виртуальной машины (устаревшее) |
| status | string | Статус диска |
| tech_status | string | Технический статус диска | ### Описание структуры computes
| type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:<br/>"B" - признак загрузочного диска ("boot").<br/>"D" - признак дополнительного диска ("data") | | Параметр | Тип | Описание |
| vmid | int | Идентификатор виртуальной машины (устаревшее) | | --- | --- | --- |
| compute_id | int | Идентификатор компьюта |
### Описание структуры computes | compute_name | string | Имя компьюта |
| Параметр | Тип | Описание |
| --- | --- | --- | ### Описание структуры iotune
| compute_id | int | Идентификатор компьюта | | Параметр | Тип | Описание |
| compute_name | string | Имя компьюта | | --- | --- | --- |
| read_bytes_sec | int | Кол-во байт для чтения в секунду |
### Описание структуры iotune | read_bytes_sec_max | int | Максимальное кол-во байт для чтения |
| Параметр | Тип | Описание | | read_iops_sec | int | Кол-во операций чтения io в секунду | |
| --- | --- | --- | | read_iops_sec_max | int | Максимальное число io операций чтения |
| read_bytes_sec | int | Кол-во байт для чтения в секунду | | size_iops_sec | int | Размер io операций |
| read_bytes_sec_max | int | Максимальное кол-во байт для чтения | | total_bytes_sec | int | Общий размер байт в секунду |
| read_iops_sec | int | Кол-во операций чтения io в секунду | | | total_bytes_sec_max | int | Максимальный общий размер байт в секунду |
| read_iops_sec_max | int | Максимальное число io операций чтения | | total_iops_sec | int | Общее кол-во io операций в секунду |
| size_iops_sec | int | Размер io операций | | total_iops_sec_max | int | Максимальное общее кол-во io операций в секунду |
| total_bytes_sec | int | Общий размер байт в секунду | | write_bytes_sec | int | Кол-во байт для записи в секунду |
| total_bytes_sec_max | int | Максимальный общий размер байт в секунду | | write_bytes_sec_max | int | Максимальное кол-во байт для записи в секунду |
| total_iops_sec | int | Общее кол-во io операций в секунду | | write_iops_sec | int | Кол-во операций записи в секунду |
| total_iops_sec_max | int | Максимальное общее кол-во io операций в секунду | | write_iops_sec_max | int | Максимальное число операций записей |
| write_bytes_sec | int | Кол-во байт для записи в секунду |
| write_bytes_sec_max | int | Максимальное кол-во байт для записи в секунду | ### Описание структуры snapshots
| write_iops_sec | int | Кол-во операций записи в секунду | | Параметр | Тип | Описание |
| write_iops_sec_max | int | Максимальное число операций записей | | --- | --- | --- |
| guid | string | id снимка |
### Описание структуры snapshots | label | string | Наименование снимка |
| Параметр | Тип | Описание | | res_id | string | Ссылка на снимок |
| --- | --- | --- | | snap_set_guid | string | Установленный id снимка |
| guid | string | id снимка | | snap_set_time | int | Установленное время снимка |
| label | string | Наименование снимка | | timestamp | int | Время снимка |
| res_id | string | Ссылка на снимок |
| snap_set_guid | string | Установленный id снимка | ## Пример использования
| snap_set_time | int | Установленное время снимка | Пример вызова _data source_ функции **decort_disk_list**:
| timestamp | int | Время снимка | ```terraform
data "decort_disk_list" "dl" {
## Пример использования #фильтр по id диска
Пример вызова _data source_ функции **decort_disk_list**: #опциональный параметр
```terraform #тип - число
data "decort_disk_list" "dl" { #by_id = 100
#id аккаунта для получения списка дисков
#опциональный параметр #фильтр по имени диска
#тип - число #опциональный параметр
#account_id = 11111 #тип - строка
#name = "data_disk"
#тип диска
#опциональный параметр #фильтр по имени аккаунта
#тип - строка #опциональный параметр
#возможные типы: "b" - boot_disk, "d" - data_disk #тип - строка
#type = "d" #account_name = "user"
#кол-во страниц для вывода #фильтр по максимальному размеру диска
#опциональный параметр #опциональный параметр
#тип - число #тип - число
#page = 1 #disk_max_size = 100
#размер страницы #фильтр по статусу
#опциональный параметр #опциональный параметр
#тип - число #тип - строка
#size = 1 #status = "ENABLED"
}
# once the above directive completes, disk list will be accessible #фильтр по доступности иным пользователям
# as data.decort_disk_list.dl.items #опциональный параметр
``` #тип - булев тип
#shared = "false"
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
#id аккаунта для получения списка дисков
После успешного завершения такого вызова **decort_disk_list** в переменной `data.decort_disk_list.dl` будут сохранены возвращаемые значения. #опциональный параметр
#тип - число
#account_id = 11111
#тип диска
#опциональный параметр
#тип - строка
#возможные типы: "B" - boot_disk, "D" - data_disk
#type = "D"
#id SEP для получения списка дисков
#опциональный параметр
#тип - число
#sep_id = 11111
#фильтр по имени pool
#опциональный параметр
#тип - строка
#pool_name = "test"
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#size = 1
}
# once the above directive completes, disk list will be accessible
# as data.decort_disk_list.dl.items
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова **decort_disk_list** в переменной `data.decort_disk_list.dl` будут сохранены возвращаемые значения.

@ -1,39 +1,73 @@
Функция доступна в провайдере версии 2.3 и выше. Функция доступна в провайдере версии 2.3 и выше.
_Data source_ функция **decort_extnet_computes_list** служит для получения информации о вычислительных ресурсах, использующих внешнюю сеть. _Data source_ функция **decort_extnet_computes_list** служит для получения информации о вычислительных ресурсах, использующих внешнюю сеть.
## Аргументы ## Аргументы
_Data source_ функция **decort_extnet_computes_list** принимает следующие аргументы: _Data source_ функция **decort_extnet_computes_list** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | Аргумент | Тип | Обязательный | Описание |
| account_id | int | :heavy_check_mark: | Идентификатор аккаунта, которому принадлежать вычислительные ресурсы | | --- | --- | --- | --- |
| account_id | int | :heavy_check_mark: | Идентификатор аккаунта, которому принадлежат вычислительные ресурсы |
## Возвращаемые значения | rg_id | int | :x: | ID ресурсной группы для фильтрации результата поиска |
В случае успешного выполнения _data source_ функция **decort_extnet_computes_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: | compute_id | int | :x: | ID виртуальной машины для фильтрации результата поиска |
| page | int | :x: | Номер страниц |
| Параметр | Тип | Описание | | size | int | :x: | Размер страницы |
| --- | --- | --- |
| account_id | int | ID аккаунта - владельца вычислительных ресурсов |
| account_name | string | Имя аккаунта - владельца вычислительных ресурсов | ## Возвращаемые значения
| extnets | []Struct{<br/>net_id int<br/>ipaddr string<br/>ipcidr string<br/>name string<br/>} | Список сетей<br/>ID сети<br/>IP адрес<br/>Маска сети<br/>Название сети<br/>&nbsp;<br/> | В случае успешного выполнения _data source_ функция **decort_extnet_computes_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| rg_id | int | Идентификатор ресурсной группы |
| rg_name | string | Название ресурсной группы | | Параметр | Тип | Описание |
| id | int | Идентификатор вычислительных ресурсов | | --- | --- | --- |
| name | string | Название вычислительных ресурсов | | account_id | int | ID аккаунта - владельца вычислительных ресурсов |
| account_name | string | Имя аккаунта - владельца вычислительных ресурсов |
## Пример использования | extnets | []Struct [см. ниже](#описание-структуры-extnets) | Список сетей |
Пример вызова _data source_ функции **decort_extnet_computes_list**: | rg_id | int | Идентификатор ресурсной группы |
```terraform | rg_name | string | Название ресурсной группы |
data "decort_extnet_computes_list" "ecl" { | id | int | Идентификатор вычислительных ресурсов |
#идентификатор аккаунта | name | string | Название вычислительных ресурсов |
#обязательный параметр
#тип - число ### Описание структуры extnets
account_id = 1111 | Параметр | Тип | Описание |
} | --- | --- | --- |
# once the above directive completes, extnet computes list will be accessible | net_id | int | ID сети |
# as data.decort_extnet_computes_list.ecl.items | ipaddr | string | IP адрес |
``` | ipcidr | string | Маска сети |
| name | string | Название сети |
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
## Пример использования
После успешного завершения такого вызова **decort_extnet_computes_list** в переменной `data.decort_extnet_computes_list.ecl` будут сохранены возвращаемые значения. Пример вызова _data source_ функции **decort_extnet_computes_list**:
```terraform
data "decort_extnet_computes_list" "ecl" {
#идентификатор аккаунта
#обязательный параметр
#тип - число
account_id = 1111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#rg_id = 11111
#фильтр по id виртуальной машины
#опциональный параметр
#тип - число
#compute_id = 11111
#кол-во страниц для вывода
#опицональный параметр
#тип - число
#page = 1
#размер страницы
#опицональный параметр
#тип - число
#size = 1
}
# once the above directive completes, extnet computes list will be accessible
# as data.decort_extnet_computes_list.ecl.items
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова **decort_extnet_computes_list** в переменной `data.decort_extnet_computes_list.ecl` будут сохранены возвращаемые значения.

@ -1,43 +1,81 @@
Функция доступна в провайдере версии 2.3 и выше. Функция доступна в провайдере версии 2.3 и выше.
_Data source_ функция **decort_account_templates_list** служит для получения информации об имеющихся шаблонах аккаунта. _Data source_ функция **decort_account_templates_list** служит для получения информации об имеющихся шаблонах аккаунта.
## Аргументы ## Аргументы
_Data source_ функция **decort_account_templates_list** принимает следующие аргументы: _Data source_ функция **decort_account_templates_list** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | Аргумент | Тип | Обязательный | Описание |
| account_id | int | :heavy_check_mark: | ID аккаунта | | --- | --- | --- | --- |
| include_deleted | bool | :x: | Включить в рез-тат удаленные шаблоны | | account_id | int | :heavy_check_mark: | ID аккаунта |
| include_deleted | bool | :x: | Включить в рез-тат удаленные шаблоны |
## Возвращаемые значения | image_id | int | :x: | Фильтр по id образа|
В случае успешного выполнения _data source_ функция **decort_account_templates_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: | name | string | :x: | Фильтр по имени шаблона|
| type | string | :x: | Фильтр по типу шаблона|
| Параметр | Тип | Описание | | page | int | :x: | Номер страницы |
| --- | --- | --- | | size | int | :x: | Размер страницы |
| unc_path | string | Системный путь до шаблона |
| account_id | int | ID аккаунта - владельца шаблона | ## Возвращаемые значения
| desc | string | Описание шаблона | В случае успешного выполнения _data source_ функция **decort_account_templates_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| template_id | int | Идентификатор шаблона |
| template_name | string | Название шаблона | | Параметр | Тип | Описание |
| public | bool | Флаг, является ли шаблон общедоступным | | --- | --- | --- |
| size | int | Размер шаблона | | unc_path | string | Системный путь до шаблона |
| status | string | Статус шаблона | | account_id | int | ID аккаунта - владельца шаблона |
| type | string | Тип шаблона | | desc | string | Описание шаблона |
| username | string | Пользователь - владелец шаблона | | template_id | int | Идентификатор шаблона |
| template_name | string | Название шаблона |
## Пример использования | public | bool | Флаг, является ли шаблон общедоступным |
Пример вызова _data source_ функции **decort_account_templates_list**: | size | int | Размер шаблона |
```terraform | status | string | Статус шаблона |
data "decort_account_templates_list" "atl" { | type | string | Тип шаблона |
#id аккаунта | username | string | Пользователь - владелец шаблона |
#обязательный параметр
#тип - число ## Пример использования
account_id = 11111 Пример вызова _data source_ функции **decort_account_templates_list**:
} ```terraform
# once the above directive completes, account templates list will be accessible data "decort_account_templates_list" "atl" {
# as data.decort_account_templates_list.atl.items #id аккаунта
``` #обязательный параметр
#тип - число
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). account_id = 11111
После успешного завершения такого вызова **decort_account_templates_list** в переменной `data.decort_account_templates_list.atl` будут сохранены возвращаемые значения. #фильтр "включая удаленные шаблоны"
#опциональный параметр
#тип - булев тип
#include_deleted = true
#фильтр по id образа
#опциональный параметр
#тип - число
#image_id = 1111
#фильтр по имени
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по типу
#опциональный параметр
#тип - строка
#type = "linux"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
# once the above directive completes, account templates list will be accessible
# as data.decort_account_templates_list.atl.items
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова **decort_account_templates_list** в переменной `data.decort_account_templates_list.atl` будут сохранены возвращаемые значения.

@ -1,89 +1,97 @@
Функция доступна в провайдере версии 2.3 и выше. Функция доступна в провайдере версии 2.3 и выше.
_Data source_ функция **decort_bservice** служит для получения информации о базовом сервисе. Базовый сервис (basic service) может быть шаблоном, на основе которого создаются вычислительные мощности (computes). _Data source_ функция **decort_bservice** служит для получения информации о базовом сервисе. Базовый сервис (basic service) может быть шаблоном, на основе которого создаются вычислительные мощности (computes).
## Аргументы ## Аргументы
_Data source_ функция **decort_bservice** принимает следующие аргументы: _Data source_ функция **decort_bservice** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | Аргумент | Тип | Обязательный | Описание |
| service_id | int | :heavy_check_mark: | ID сервиса | | --- | --- | --- | --- |
| service_id | int | :heavy_check_mark: | ID сервиса |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_bservice** возвращает следующие параметры: ## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_bservice** возвращает следующие параметры:
| Параметр | Тип | Описание |
| --- | --- | --- | | Параметр | Тип | Описание |
| account_id | int | ID аккаунта | | --- | --- | --- |
| account_name | string | Название аккаунта | | account_id | int | ID аккаунта |
| base_domain | string | Базовый домен | | account_name | string | Название аккаунта |
| computes | []Struct [см. ниже](#описание-структуры-compute) | Список компьютов | | base_domain | string | Базовый домен |
| cpu_total | int | Кол-во ядер | | computes | []Struct [см. ниже](#описание-структуры-compute) | Список компьютов |
| created_by | string | Кем создан сервис | | cpu_total | int | Кол-во ядер |
| created_time | int | Время создания сервиса | | created_by | string | Кем создан сервис |
| deleted_by | string | Кем удален сервис | | created_time | int | Время создания сервиса |
| deleted_time | int | Время удаления сервиса | | deleted_by | string | Кем удален сервис |
| disk_total | int | Кол-во используемого места на дисках, ГБ | | deleted_time | int | Время удаления сервиса |
| gid | int | Grid id | | disk_total | int | Кол-во используемого места на дисках, ГБ |
| groups | []Struct [см. ниже](#описание-структуры-group) | Список вычислительных групп сервиса | | gid | int | Grid id |
| groups_name | []string | Список вычислительных групп поименно | | groups | []Struct [см. ниже](#описание-структуры-group) | Список вычислительных групп сервиса |
| guid | int | Внутренний ID сервиса | | guid | int | Внутренний ID сервиса |
| milestones | int | Вехи | | milestones | int | Вехи |
| service_id | int | ID сервиса | | service_id | int | ID сервиса |
| service_name | string | Название сервиса | | service_name | string | Название сервиса |
| parent_srv_id | int | ID родительского сервисе | | parent_srv_id | int | ID родительского сервисе |
| parent_srv_name | string | Название родительского сервиса | | parent_srv_type | string | Тип родительского сервиса |
| ram_total | int | Общее кол-во RAM, МБ | | ram_total | int | Общее кол-во RAM, МБ |
| rg_id | int | ID ресурсной группы | | rg_id | int | ID ресурсной группы |
| rg_name | string | Название ресурсной группы | | rg_name | string | Название ресурсной группы |
| snapshots | []Struct{<br/>guid string<br/>label string<br/>timestamp int<br/>valid bool<br/>} | Список снимков состояний<br/>guid снимка<br/>Название снимка<br/>Время создания снимка<br/>Флаг, валидность снимка состояния<br/>&nbsp;<br/> | | snapshots | []Struct [см. ниже](#описание-структуры-snapshots) | Список снимков состояний |
| ssh_key | string | Ключ пользователя для подключения по ssh | | ssh_key | string | Ключ пользователя для подключения по ssh |
| ssh_user | string | Имя пользователя для подключения по ssh | | ssh_user | string | Имя пользователя для подключения по ssh |
| status | string | Статус сервиса | | status | string | Статус сервиса |
| tech_status | string | Технический статус сервиса | | tech_status | string | Технический статус сервиса |
| updated_by | string | Кем сервис был обновлен | | updated_by | string | Кем сервис был обновлен |
| updated_time | int | Время последнего обновления | | updated_time | int | Время последнего обновления |
| user_managed | bool | Флаг, управляется ли пользователем | | user_managed | bool | Флаг, управляется ли пользователем |
### Описание структуры compute ### Описание структуры compute
| Параметр | Тип | Описание | | Параметр | Тип | Описание |
| --- | --- | --- | | --- | --- | --- |
| account_id | int | ID аккаунта | | account_id | int | ID аккаунта |
| architecture | string | Архитектура | | architecture | string | Архитектура |
| compgroup_id | int | ID группы | | compgroup_id | int | ID группы |
| compgroup_name | string | Наименование группы | | compgroup_name | string | Наименование группы |
| compgroup_role | string | Роль компьюта в группе | | compgroup_role | string | Роль компьюта в группе |
| id | int | ID компьюта | | id | int | ID компьюта |
| name | string | Наименование компьюта | | name | string | Наименование компьюта |
| rg_id | int | ID ресурсной группы | | rg_id | int | ID ресурсной группы |
| stack_id | int | Stack ID | | stack_id | int | Stack ID |
| status | string | Статус | | status | string | Статус |
| tech_status | string | Тех. статус | | tech_status | string | Тех. статус |
### Описание структуры group ### Описание структуры group
| Параметр | Тип | Описание | | Параметр | Тип | Описание |
| --- | --- | --- | | --- | --- | --- |
| computes | int | Кол-во компьютов | | computes | int | Кол-во компьютов |
| consistency | bool | Последовательность | | consistency | bool | Последовательность |
| id | int | ID группы | | id | int | ID группы |
| name | string | Наименование группы | | name | string | Наименование группы |
| status | string | Статус | | status | string | Статус |
| tech_status | string | Тех. статус | | tech_status | string | Тех. статус |
## Пример использования ### Описание структуры snapshots
Пример вызова _data source_ функции **decort_bservice**: | Параметр | Тип | Описание |
```terraform | --- | --- | --- |
data "decort_bservice" "b" { |guid | string| guid снимка|
#id сервиса |label | string | Название снимка|
#обязательный параметр |timestamp | int | Время создания снимка |
#тип - число |valid | bool | Флаг валидности снимка состояния|
service_id = 11111
## Пример использования
} Пример вызова _data source_ функции **decort_bservice**:
# once the above directive completes, bservice will be accessible ```terraform
# as data.decort_bservice.b data "decort_bservice" "b" {
``` #id сервиса
#обязательный параметр
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). #тип - число
service_id = 11111
После успешного завершения такого вызова **decort_bservice** в переменной `data.decort_bservice.b` будут сохранены возвращаемые значения.
}
# once the above directive completes, bservice will be accessible
# as data.decort_bservice.b
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова **decort_bservice** в переменной `data.decort_bservice.b` будут сохранены возвращаемые значения.

@ -1,25 +1,40 @@
Функция доступна в провайдере версии 3.2 и выше. Функция доступна в провайдере версии 3.2 и выше.
_Data source_ функция **decort_disk_list_types** служит для получения информации о типах диска. _Data source_ функция **decort_disk_list_types** служит для получения информации о типах диска.
## Аргументы ## Аргументы
_Data source_ функция **decort_disk_list_types** не принимает аргументы. _Data source_ функция **decort_disk_list_types** принимает следующие аргументы:
## Возвращаемые значения | Аргумент | Тип | Обязательный | Описание |
В случае успешного выполнения _data source_ функция **decort_disk_list_types** возвращает в указанную при вызове переменную, в поле _types_, массив, состоящий из строк, описывающих поддерживаемые в платформе типы дисков: | --- | --- | --- | --- |
| page | int | :x: | Номер страниц |
| Тип | Значение | | size | int | :x: | Размер страницы |
| --- | --- |
| B | Загрузочный тип диска| ## Возвращаемые значения
| D | Диск для хранения данных | В случае успешного выполнения _data source_ функция **decort_disk_list_types** возвращает в указанную при вызове переменную, в поле _types_, массив, состоящий из строк, описывающих поддерживаемые в платформе типы дисков:
## Пример использования | Тип | Значение |
Пример вызова _data source_ функции **decort_disk_list_types**: | --- | --- |
```terraform | B | Загрузочный тип диска|
data "decort_disk_list_types" "dt" { | D | Диск для хранения данных |
} ## Пример использования
Пример вызова _data source_ функции **decort_disk_list_types**:
``` ```terraform
data "decort_disk_list_types" "dt" {
После успешного завершения такого вызова **decort_disk_list_types** в переменной `data.decort_disk_list_types.dt` будут сохранены возвращаемые значения. #номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
```
После успешного завершения такого вызова **decort_disk_list_types** в переменной `data.decort_disk_list_types.dt` будут сохранены возвращаемые значения.

@ -1,32 +1,50 @@
Функция доступна в провайдере версии 3.2 и выше. Функция доступна в провайдере версии 3.2 и выше.
_Data source_ функция **decort_disk_list_types_detailed** служит для получения расширенной информации о поддерживаемых платформой типах дисков. В отличии от другой _data source_ функции **decort_disk_list_types**, данная функция позволяет получить информацию о поддерживаемых пулами и sep типов дисков. _Data source_ функция **decort_disk_list_types_detailed** служит для получения расширенной информации о поддерживаемых платформой типах дисков. В отличии от другой _data source_ функции **decort_disk_list_types**, данная функция позволяет получить информацию о поддерживаемых пулами и sep типов дисков.
## Аргументы ## Аргументы
_Data source_ функция **decort_disk_list_types_detailed** не принимает аргументы. _Data source_ функция **decort_disk_list_types_detailed** принимает следующие аргументы:
## Возвращаемые значения | Аргумент | Тип | Обязательный | Описание |
В случае успешного выполнения _data source_ функция **decort_disk_list_types_detailed** возвращает в указанную при вызове переменную, в поле _items_, массив, каждый элемент которого состоит из следующих параметров: | --- | --- | --- | --- |
| page | int | :x: | Номер страниц |
| Параметр | Тип | Описание | | size | int | :x: | Размер страницы |
| --- | --- | --- |
| pools | см.ниже | Пул хранилища | ## Возвращаемые значения
| sep_id | id | ID storage endpoint | В случае успешного выполнения _data source_ функция **decort_disk_list_types_detailed** возвращает в указанную при вызове переменную, в поле _items_, массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание |
### Описание структуры pool | --- | --- | --- |
| Параметр | Тип | Описание | | pools | []Struct см.ниже | Пул хранилища |
| --- | --- | --- | | sep_id | int | ID storage endpoint (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск |
| name | string | Имя пул | | sep_name | int | Имя storage endpoint |
| types | []string | Список поддерживаемых типов |
### Описание структуры pool
## Пример использования | Параметр | Тип | Описание |
Пример вызова _data source_ функции **decort_disk_list_types_detailed*: | --- | --- | --- |
```terraform | name | string | Имя пул |
data "decort_disk_list_types_detailed" "dtd" { | system | string | Флаг, обозначающий служебный пул, для размещения там данных о блокировках |
| types | []string | Список поддерживаемых типов |
}
## Пример использования
``` Пример вызова _data source_ функции **decort_disk_list_types_detailed*:
```terraform
После успешного завершения такого вызова **decort_disk_list_types_detailed** в переменной `data.decort_disk_list_types_detailed.dtd` будут сохранены возвращаемые значения. data "decort_disk_list_types_detailed" "dtd" {
#Нет входных параметров
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
```
После успешного завершения такого вызова **decort_disk_list_types_detailed** в переменной `data.decort_disk_list_types_detailed.dtd` будут сохранены возвращаемые значения.

@ -1,70 +1,156 @@
Функция доступна в провайдере версии 3.2 и выше. Функция доступна в провайдере версии 3.2 и выше.
_Data source_ функция **decort_disk_list_unattached** служит для получения информации о неподключенных к виртуальным машинам дисках. _Data source_ функция **decort_disk_list_unattached** служит для получения информации о неподключенных к виртуальным машинам дисках.
## Аргументы ## Аргументы
_Data source_ функция **decort_disk_list_unattached** принимает следующие аргументы: _Data source_ функция **decort_disk_list_unattached** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | Аргумент | Тип | Обязательный | Описание |
| by_id | int | :x: | Фильтр по ID диска | | --- | --- | --- | --- |
| name | string | :x: | Фильтр по имени диска | | by_id | int | :x: | Фильтр по ID диска |
| account_name | string | :x: | Фильтр по имени аккаунта | | account_name | string | :x: | Фильтр по имени аккаунта |
| disk_max_size | int | :x: | Фильтр по макс. размеру диска | | disk_max_size | int | :x: | Фильтр по макс. размеру диска |
| status | string | :x: | Фильтр по статусу | | status | string | :x: | Фильтр по статусу |
| account_id | int | :x: | id аккаунта для получения списка дисков | | account_id | int | :x: | id аккаунта для получения списка дисков |
| type | string | :x: | Тип диска. Возможные типы: "b" - boot_disk, "d" - data_disk | | type | string | :x: | Тип диска. Возможные типы: "b" - boot_disk, "d" - data_disk |
| page | int | :x: | Номер страниц | | sep_id | int | :x: | Фильтр по SEP id. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск |
| size | int | :x: | Размер страницы | | pool_name | string | :x: | Фильтр по наименованию pool |
| page | int | :x: | Номер страниц |
## Возвращаемые значения | size | int | :x: | Размер страницы |
В случае успешного выполнения _data source_ функция **decort_disk_list_unattached** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
## Возвращаемые значения
| Параметр | Тип | Описание | В случае успешного выполнения _data source_ функция **decort_disk_list_unattached** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| --- | --- | --- |
| account_id | int | id аккаунта | | Параметр | Тип | Описание |
| account_name | string | имя аккаунта | | --- | --- | --- |
| created_time | int | Время создания диска | | _ckey | string | CKey |
| deleted_time | int | Время удаления диска | | _meta | []string | Meta |
| desc | string | Описание диска | | account_id | int | id аккаунта |
| destruction_time | int | Время уничтожения диска | | account_name | string | имя аккаунта |
| devicename | string | Имя устройства | | acl | string | Acces Control List |
| gid | int | Grid id | | boot_partition | int | Загрузочный раздел |
| disk_id | int | id диска | | created_time | int | Время создания диска |
| image_id | int | id образа | | deleted_time | int | Время удаления диска |
| images | []int | id образов | | desc | string | Описание диска |
| iotune | Struct{<br/>total_iops_sec int<br/>} | Информация об IO-интерфейсах<br/>Общее кол-во операций в секунду<br/>&nbsp;<br/> | | destruction_time | int | Время уничтожения диска |
| machine_id | int | id маишны (устаревшее) | | disk_path | string | Адрес диска |
| machine_name | string | Наименование машины (устаревшее) | | gid | int | Grid id |
| name | string | Наименование диска | | guid | int | Идентификатор диска |
| order | int | Номер диска в последовательности | | disk_id | int | id диска |
| params | string | Параметры диска | | image_id | int | id образа |
| parent_id | int | id родителя | | images | []int | id образов |
| pci_slot | int | id pci слота | | iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска|
| pool | string | Наименование пула диска | | iqn | string | iqn диска |
| purge_time | int | Время удаления | | login | string | Логин для доступа к диску |
| res_id | string | Идентификатор ресурса | | milestones | int | Вехи |
| res_name | string | Наименование ресурсов | | disk_name | string | Наименование диска |
| role | string | Роль диска | order | int | Номер диска в последовательности |
| sep_id | int | id sep | | params | string | Параметры диска |
| sep_type | string | Тип sep | | parent_id | int | id родителя |
| size_max | int | Максимальный размер диска | | passwd | string | Пароль для доступа к диску |
| snapshots | []Struct{<br/>guid string<br/>label string<br/>res_id string<br/>snap_set_guid string<br/>snap_set_time int<br/>timestamp int<br/>} | Информация о снимках состояний диска<br/>guid снимка<br/>Наименование снимка<br/>id ресурса снимка<br/>Установленный guid снимка<br/>Установленное время снимка<br/>Время снимка<br>&nbsp;<br/> | | pci_slot | int | id pci слота |
| status | string | Статус диска | pool | string | Наименование пула диска |
| tech_status | string | Технический статус диска | | purge_time | int | Время удаления |
| type | string | Тип диска | reality_device_number | int | Реальный номер устройства |
| vmid | int | id виртуальной машины | | reference_id | int | id ссылки на диск |
| res_id | string | Идентификатор ресурса |
## Пример использования | res_name | string | Наименование ресурсов |
Пример вызова _data source_ функции **decort_disk_list_unattched**: | role | string | Роль диска |
```terraform | sep_id | int | id sep |
data "decort_disk_list_unattached" "dlu" { | sep_type | string | Тип sep |
#id аккаунта для получения списка дисков | size_max | int | Максимальный размер диска |
#опциональный параметр | snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots)| Снимки состояния диска|
#тип - число | status | string | Статус диска |
#account_id = 11111 | tech_status | string | Технический статус диска |
} | type | string | Тип диска |
# once the above directive completes, disk list will be accessible | vmid | int | id виртуальной машины (устаревшее)|
# as data.decort_disk_list_unattached.dlu.items
``` ### Описание структуры iotune
| Параметр | Тип | Описание |
После успешного завершения такого вызова **decort_disk_list_unattached** в переменной `data.decort_disk_list_unattached.dlu` будут сохранены возвращаемые значения. | --- | --- | --- |
| read_bytes_sec | int | Кол-во байт для чтения в секунду |
| read_bytes_sec_max | int | Максимальное кол-во байт для чтения |
| read_iops_sec | int | Кол-во операций чтения io в секунду | |
| read_iops_sec_max | int | Максимальное число io операций чтения |
| size_iops_sec | int | Размер io операций |
| total_bytes_sec | int | Общий размер байт в секунду |
| total_bytes_sec_max | int | Максимальный общий размер байт в секунду |
| total_iops_sec | int | Общее кол-во io операций в секунду |
| total_iops_sec_max | int | Максимальное общее кол-во io операций в секунду |
| write_bytes_sec | int | Кол-во байт для записи в секунду |
| write_bytes_sec_max | int | Максимальное кол-во байт для записи в секунду |
| write_iops_sec | int | Кол-во операций записи в секунду |
| write_iops_sec_max | int | Максимальное число операций записей |
### Описание структуры snapshots
| Параметр | Тип | Описание |
| --- | --- | --- |
| guid | string | id снимка |
| label | string | Наименование снимка |
| res_id | string | Ссылка на снимок |
| snap_set_guid | string | Установленный id снимка |
| snap_set_time | int | Установленное время снимка |
| timestamp | int | Время снимка |
## Пример использования
Пример вызова _data source_ функции **decort_disk_list_unattched**:
```terraform
data "decort_disk_list_unattached" "dlu" {
#фильтр по id диска
#опциональный параметр
#тип - число
#by_id = 100
#фильтр по имени аккаунта
#опциональный параметр
#тип - строка
#account_name = "user"
#фильтр по максимальному размеру диска
#опциональный параметр
#тип - число
#disk_max_size = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по типу
#опциональный параметр
#тип - строка
#возможные типы: "B" - boot_disk, "D" - data_disk
#type = "D"
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#account_id = 100
#фильтр по id sep
#опциональный параметр
#тип - число
#sep_id = 1
#фильтр по имени pool
#опциональный параметр
#тип - строка
#pool_name = "test"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 2
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 3
}
# once the above directive completes, disk list will be accessible
# as data.decort_disk_list_unattached.dlu.items
```
После успешного завершения такого вызова **decort_disk_list_unattached** в переменной `data.decort_disk_list_unattached.dlu` будут сохранены возвращаемые значения.

@ -1,118 +1,118 @@
Функция доступна в провайдере версии 3.3 и выше. Функция доступна в провайдере версии 3.3 и выше.
_Data source_ функция **decort_k8s_list_deleted** служит для получения информации о списке удаленных кластеров Kubernetes (k8s). _Data source_ функция **decort_k8s_list_deleted** служит для получения информации о списке удаленных кластеров Kubernetes (k8s).
## Аргументы ## Аргументы
_Data source_ функция **decort_k8s_list_deleted** принимает следующие аргументы: _Data source_ функция **decort_k8s_list_deleted** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | Аргумент | Тип | Обязательный | Описание |
| by_id | int | :x: | Фильтр по ID кластера | | --- | --- | --- | --- |
| name | string | :x: | Фильтр по имени кластера | | by_id | int | :x: | Фильтр по ID кластера |
| ip_address | string | :x: | Фильтр по IP адресу | | name | string | :x: | Фильтр по имени кластера |
| rg_id | int | :x: | Фильтр по ID рес. группы | | ip_address | string | :x: | Фильтр по IP адресу |
| lb_id | int | :x: | Фильтр по ID балансировщика | | rg_id | int | :x: | Фильтр по ID рес. группы |
| bservice_id | int | :x: | Фильтр по ID basic service | | lb_id | int | :x: | Фильтр по ID балансировщика |
| status | string | :x: | Фильтр по статусу | | bservice_id | int | :x: | Фильтр по ID basic service |
| tech_status | string | :x: | Фильтр по тех. статусу | | status | string | :x: | Фильтр по статусу |
| page | int | :x: | Номер страниц | | tech_status | string | :x: | Фильтр по тех. статусу |
| size | int | :x: | Размер страницы | | page | int | :x: | Номер страниц |
| size | int | :x: | Размер страницы |
## Возвращаемые значения
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_k8s_list_deleted** возвращает в указанную при вызове переменную, в поле items массив, каждый элемент которого состоит из следующих параметров:
В случае успешного выполнения _data source_ функция **decort_k8s_list_deleted** возвращает в указанную при вызове переменную, в поле items массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание |
| --- | --- | --- | | Параметр | Тип | Описание |
| account_id | int | ID аккаунта | | --- | --- | --- |
| account_name | string | Имя аккаунта | | account_id | int | ID аккаунта |
| acl | []string | acl | | account_name | string | Имя аккаунта |
| bservice_id | int | ID bservice | | acl | []string | acl |
| ci_id | int | ID образа кластера | | bservice_id | int | ID bservice |
| config | []string | Конфиг | | ci_id | int | ID образа кластера |
| created_by | string | Кем был создан ресурс | | config | []string | Конфиг |
| created_time | int | Время создания ресурса | | created_by | string | Кем был создан ресурс |
| deleted_by | string | Кем был удален ресурс | | created_time | int | Время создания ресурса |
| deleted_time | int | Время удаления ресурса | | deleted_by | string | Кем был удален ресурс |
| desc | string | Описание ресурса | | deleted_time | int | Время удаления ресурса |
| extnet_id | int | ID внешней сети | | desc | string | Описание ресурса |
| gid | int | Grid ID | | extnet_id | int | ID внешней сети |
| guid | int | ID ресурса | | gid | int | Grid ID |
| k8s_id | int | ID кластера | | guid | int | ID ресурса |
| lb_id | int | ID балансировщика нагрзуки | | k8s_id | int | ID кластера |
| milestones | int | Milestones | | lb_id | int | ID балансировщика нагрзуки |
| k8s_name | string | Имя кластера k8s | | milestones | int | Milestones |
| rg_id | int | ID ресурсной группы | | k8s_name | string | Имя кластера k8s |
| rg_name | string | Имя ресурсной группы | | rg_id | int | ID ресурсной группы |
| service_account | Struct{} [см. ниже](#описание-структуры-service_account)| информация о аккаунте кластера | | rg_name | string | Имя ресурсной группы |
| status | string | Статус ресурса | | service_account | Struct{} [см. ниже](#описание-структуры-service_account)| информация о аккаунте кластера |
| tech_status | string | Технический статус ресурса | | tech_status | string | Технический статус ресурса |
| updated_by | string | Кем был обновлен ресурс | | updated_by | string | Кем был обновлен ресурс |
| updated_time | int | Время последнего обновления ресурса | | updated_time | int | Время последнего обновления ресурса |
| vins_id | int | ID виртуальной сети | | vins_id | int | ID виртуальной сети |
| workers_groups | []Struct{} [см. ниже](#описание-структуры-workers_groups)| группы воркеров кластера | | workers_groups | []Struct{} [см. ниже](#описание-структуры-workers_groups)| группы воркеров кластера |
### Описание-структуры-service_account ### Описание-структуры-service_account
| Параметр | Тип | Описание | | Параметр | Тип | Описание |
| --- | --- | --- | | --- | --- | --- |
| guid | int | ID ресурса | | guid | int | ID ресурса |
| password | string | Пароль аккаунта | | password | string | Пароль аккаунта |
| username | string | Username аккаунта | | username | string | Username аккаунта |
### Описание-структуры-workers_groups ### Описание-структуры-workers_groups
| Параметр | Тип | Описание | | Параметр | Тип | Описание |
| --- | --- | --- | | --- | --- | --- |
| annotations | []string | Аннотации группы workers | | annotations | []string | Аннотации группы workers |
| cpu | int | Кол-во cpu на компьютах workers | | cpu | int | Кол-во cpu на компьютах workers |
| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация о группе | | detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация о группе |
| disk | int | ID диска | | disk | int | ID диска |
| guid | string | ID ресурса | | guid | string | ID ресурса |
| detailed_info_id | int | ID группы workers | | detailed_info_id | int | ID группы workers |
| labels | []string | Лейблы группы workers | | labels | []string | Лейблы группы workers |
| name | string | Имя ресурса | | name | string | Имя ресурса |
| num | int | Кол-во компьютов в группе workers | | num | int | Кол-во компьютов в группе workers |
| ram | int | Кол-во Ram на компьютах группы workers | | ram | int | Кол-во Ram на компьютах группы workers |
| taints | []string | ограничители группы workers | | taints | []string | ограничители группы workers |
### Описание структуры списка detailed_info ### Описание структуры списка detailed_info
| Параметр | Тип | Описание | | Параметр | Тип | Описание |
| --- | --- | --- | | --- | --- | --- |
| compute_id | int | ID компьюта в составе группы | | compute_id | int | ID компьюта в составе группы |
| name | string | Имя компьюта в составе группы | | name | string | Имя компьюта в составе группы |
| status | string | Статус компьюта в составе группы | | status | string | Статус компьюта в составе группы |
| tech_status | string | Статус компьюта в составе группы | | tech_status | string | Статус компьюта в составе группы |
| interfaces | []Struct{} [см. ниже](#описание-структуры-списка-interfaces) | Список интерфейсов группы | | interfaces | []Struct{} [см. ниже](#описание-структуры-списка-interfaces) | Список интерфейсов группы |
| natable_vins_ip | string | IP NAT | | natable_vins_ip | string | IP NAT |
| natable_vins_network | string | IP виртуальной сети | | natable_vins_network | string | IP виртуальной сети |
### Описание структуры списка interfaces ### Описание структуры списка interfaces
| Параметр | Тип | Описание | | Параметр | Тип | Описание |
| --- | --- | --- | | --- | --- | --- |
| def_gw | string | Шлюз по умолчанию | | def_gw | string | Шлюз по умолчанию |
| ip_address | string | IP интерфейса | | ip_address | string | IP интерфейса |
## Пример использования ## Пример использования
Пример вызова _data source_ функции **decort_k8s_list_deleted**: Пример вызова _data source_ функции **decort_k8s_list_deleted**:
```terraform ```terraform
data "decort_k8s_list_deleted" "k8s_list_deleted" { data "decort_k8s_list_deleted" "k8s_list_deleted" {
#номер страницы для отображения #номер страницы для отображения
#опциональный параметр #опциональный параметр
#тип - число #тип - число
#если не задан - выводятся все доступные данные #если не задан - выводятся все доступные данные
page = 1 page = 1
#размер страницы #размер страницы
#опциональный параметр #опциональный параметр
#тип - число #тип - число
#если не задан - выводятся все доступные данные #если не задан - выводятся все доступные данные
size = 1 size = 1
} }
``` ```
После успешного завершения такого вызова **decort_k8s_list_deleted** в переменной `data.decort_k8s_list_deleted.k8s_list_deleted` будут сохранены возвращаемые значения. После успешного завершения такого вызова **decort_k8s_list_deleted** в переменной `data.decort_k8s_list_deleted.k8s_list_deleted` будут сохранены возвращаемые значения.

@ -1,38 +1,53 @@
_Data source_ функция **decort_rg_affinity_groups_list** служит для получения информации о списке аффинити групп ресурсной группы. _Data source_ функция **decort_rg_affinity_groups_list** служит для получения информации о списке аффинити групп ресурсной группы.
Ресурсная группа в облачной платформе DECORT это способ группирования _compute_-ов (например, по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов (ViNS). Ресурсная группа в облачной платформе DECORT это способ группирования _compute_-ов (например, по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов (ViNS).
Экземпляры _compute_ (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра _compute_ помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь _data source_ функцией **decort_rg_affinity_groups_list**. Экземпляры _compute_ (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра _compute_ помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь _data source_ функцией **decort_rg_affinity_groups_list**.
## Аргументы ## Аргументы
_Data source_ функция **decort_rg_affinity_groups_list** принимает следующие аргументы: _Data source_ функция **decort_rg_affinity_groups_list** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание | | Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| rg_id | :heavy_check_mark: | int | Идентификатор ресурсной группы | | rg_id | :heavy_check_mark: | int | Идентификатор ресурсной группы |
| page | int | :x: | Номер страниц |
Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному `account` и ресурсной группе. В противном случае возникнет ошибка доступа. | size | int | :x: | Размер страницы |
Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному `account` и ресурсной группе. В противном случае возникнет ошибка доступа.
## Возвращаемые значения Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
В случае успешного выполнения _data source_ функция **decort_rg_affinity_groups_list** возвращает в указанную при вызове переменную, в поле _affinity_groups_, массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание | ## Возвращаемые значения
| --- | --- | --- | В случае успешного выполнения _data source_ функция **decort_rg_affinity_groups_list** возвращает в указанную при вызове переменную, в поле _affinity_groups_, массив, каждый элемент которого состоит из следующих параметров:
| label | string | Лейбл аффинити группы |
| ids | []int | Список ID компьютов | | Параметр | Тип | Описание |
| --- | --- | --- |
## Пример использования | label | string | Лейбл аффинити группы |
Пример вызова _data source_ функции **decort_rg_affinity_groups_list**: | ids | []int | Список ID компьютов |
```terraform ## Пример использования
data "decort_rg_affinity_groups_list" "rg_affinity_groups_list" { Пример вызова _data source_ функции **decort_rg_affinity_groups_list**:
rg_id = 1234
} ```terraform
# Once the above directive completes, resource group ID will be accessible as data "decort_rg_affinity_groups_list" "rg_affinity_groups_list" {
# data.decort_rg_affinity_groups_list.rg_affinity_groups_list.id rg_id = 1234
```
#номер страницы для отображения
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT) и [пример](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/02.-Пример-работы)). #опциональный параметр
#тип - число
После успешного завершения такого вызова **decort_rg_affinity_groups_list** в переменной `data.decort_rg_affinity_groups_list.rg_affinity_groups_list` будут сохранены возвращаемые значения. В частности, для получения идентификатора ресурсной группы следует использовать конструкцию `data.decort_rg_affinity_groups_list.rg_affinity_groups_list.id` #если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 1
}
# Once the above directive completes, resource group ID will be accessible as
# data.decort_rg_affinity_groups_list.rg_affinity_groups_list.id
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT) и [пример](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/02.-Пример-работы)).
После успешного завершения такого вызова **decort_rg_affinity_groups_list** в переменной `data.decort_rg_affinity_groups_list.rg_affinity_groups_list` будут сохранены возвращаемые значения. В частности, для получения идентификатора ресурсной группы следует использовать конструкцию `data.decort_rg_affinity_groups_list.rg_affinity_groups_list.id`

@ -0,0 +1,72 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_account_resource_consumption_get** служит для получения информации о количестве потребляемых и зарезервированных ресурсов (процессор, оперативная память, диск) по конкретному аккаунту
## Аргументы
_Data source_ функция **decort_account_resource_consumption_get** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| -------- | --- | ------------------ | ------------------- |
| account_id | int | :heavy_check_mark: | ID аккаунта |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_account_resource_consumption_get** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
| Параметр | Тип | Описание |
| ---------- | ------- | ----------------------------------------------- |
| account_id | int | id аккаунта |
| consumed | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о текуших ресурсах |
| reserved | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о зарезервированных аккаунтом ресурсах |
| resource_limits | Struct{} [см. ниже](#описание-структуры-resource-limits) | Лимиты ресурсов |
### Описание структуры consumed и reserved
| Параметр | Тип | Описание |
| --- | --- | --- |
| cpu | int | Количество CPU |
| disk_size | float | Размер диска |
| disk_size_max | float | Максимальный размер диск |
| extips | int | Внешние IPs |
| exttraffic | int | Внешний Traffic |
| gpu | int | Количество GPU |
| ram | int | Количество RAM |
| seps | []Struct{} [см . ниже](#описание-структуры-seps)| Информация о seps |
### Описание структуры seps
| Параметр | Тип | Описание |
| --- | --- | --- |
| sep_id | int | ID SEP. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск|
| data_name | string | Имя пула информации внутри SEP'а |
| disk_size | float | Количество занятого места |
| disk_size_max | float | Размер диска |
### Описание структуры 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 ядер |
## Пример использования
Пример вызова _data source_ функции **decort_account_resource_consumption_get**:
```terraform
data "decort_account_resource_consumption_get" "rc_get" {
#id аккаунта
#обязательный параметр
#тип - число
account_id = 111
}
# once the above directive completes, sep will be accessible
# as data.decort_account_resource_consumption_get.rc
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/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_resource_consumption_get** в переменной `data.decort_account_resource_consumption_get.rc_get` будут сохранены возвращаемые значения.

@ -0,0 +1,53 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_account_resource_consumption_list** служит для получения информации о количестве потребляемых и зарезервированных ресурсов (процессор, оперативная память, диск) доступных аккаунту
## Аргументы
_Data source_ функция **decort_account_resource_consumption_list** не принимает аргументы.
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_account_resource_consumption_list** возвращает в указанную при вызове переменную, в поле _items_, массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание |
| ---------- | ------- | ----------------------------------------------- |
| account_id | int | id аккаунта |
| consumed | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о текуших ресурсах |
| reserved | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о зарезервированных аккаунтом ресурсах |
### Описание структуры consumed и reserved
| Параметр | Тип | Описание |
| --- | --- | --- |
| cpu | int | Количество CPU |
| disk_size | float | Размер диска |
| disk_size_max | float | Максимальный размер диск |
| extips | int | Внешние IPs |
| exttraffic | int | Внешний Traffic |
| gpu | int | Количество GPU |
| ram | int | Количество RAM |
| seps | []Struct{} [см . ниже](#описание-структуры-seps)| Информация о seps |
### Описание структуры seps
| Параметр | Тип | Описание |
| --- | --- | --- |
| sep_id | int | ID SEP. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск|
| data_name | string | Имя пула информации внутри SEP'а |
| disk_size | float | Количество занятого места |
| disk_size_max | float | Размер диска |
## Пример использования
Пример вызова _data source_ функции **decort_account_resource_consumption_list**:
```terraform
data "decort_account_resource_consumption_list" "rc_list" {
#Нет входных параметров
}
# once the above directive completes, sep will be accessible
# as data.decort_account_resource_consumption_list.rc
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/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_resource_consumption_list** в переменной `data.decort_account_resource_consumption_list.rc_list` будут сохранены возвращаемые значения.

@ -0,0 +1,41 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_k8s_wg_cloud_init** служит для получения информации об предустановленных настройках группы воркеров кластера Kubernetes (k8s)
## Аргументы
_Data source_ функция **decort_k8s_wg_cloud_init** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| k8s_id | int | :heavy_check_mark: | ID кластера |
| wg_id | int | :heavy_check_mark: | ID группы воркеров |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_k8s_wg_cloud_init** возвращает следующие параметры:
| Параметр | Тип | Описание |
| --- | --- | --- |
| cloud_init | string | Предустановленные настройки группы воркеров кластера Kubernetes (k8s) |
## Пример использования
Пример вызова _data source_ функции **decort_k8s_wg_cloud_init**:
```terraform
data "decort_k8s_wg_cloud_init" "wg_cloud_init" {
#id кластера
#обязательный параметр
#тип - число
k8s_id = 977
#id группы воркеров
#обязательный параметр
#тип - число
wg_id = 2110
}
```
После успешного завершения такого вызова **decort_k8s_wg_cloud_init** в переменной `data.decort_k8s_wg_cloud_init.wg_cloud_init` будут сохранены возвращаемые значения.

@ -0,0 +1,216 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_kvmvm_list_deleted** служит для получения информации о списке удаленных виртуальных машин.
## Аргументы
_Data source_ функция **decort_kvmvm_list_deleted** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| by_id | int | :x: | Фильтр по ID |
| name | string | :x: | Фильтр по имени |
| account_id | int | :x: | Фильтр по ID аккаунта |
| rg_id | int | :x: | Фильтр по ID ресурсной группы |
| rg_name | string | :x: | Фильтр по имени рес. группы |
| tech_status | string | :x: | Фильтр по тех.статусу |
| ip_address | string | :x: | Фильтр по IP адресу |
| extnet_name | string | :x: | Фильтр по имени внешней сети |
| extnet_id | int | :x: | Фильтр по extnet ID |
| page | int | :x: | Номер страниц |
| size | int | :x: | Размер страницы |
| ignore_k8s | bool | :x: | При значении true - показать все ВМ, не относящиеся к любому из кластеров k8s |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_kvmvm_list_deleted** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание |
| --- | --- | --- |
| acl | []Struct [см. ниже](#описание-структуры-acl)| Cписок Acces Control |
| account_id | int | Уникальный идентификатор подписчика-владельца ("account") данной виртуальной машины. |
| account_name | string | Имя подписчика, которому принадлежит данная виртуальная машина. |
| affinity_label | string | Лейбл аффинити |
| affinity_rules | []Struct [см. ниже](#описание-структуры-affinity-rules) | Правила аффинити для компьютов |
| affinity_weight | int | weight аффинити |
| anti_affinity_rules | []Struct [см. ниже](#описание-структуры-affinity-rules) | Правила анти аффинити для компьютов |
| arch | string | Архитектура |
| boot_order | []string | Boot order |
| bootdisk_size | int | Размер загрузочного диска в ГБ. |
| clone_reference | int | кол-во клонов |
| clones | []int | id клонов |
| cpus | int | Количество виртуальных CPU, выделенных данному серверу. |
| created_by | string | Кес создан ресурс |
| created_time | int | Время создания ресурса |
| custom_fields | string | Кастомные поля |
| deleted_by | string | Кем удален ресурс |
| deleted_time | int | Время удаления ресурса |
| desc | string | Текстовое описание виртуальной машины. |
| devices | string | Девайсы |
| disks | []Struct [см. ниже](#описание-структуры-disks)| информация о дисках компьюта |
| driver | string | Аппаратная архитектура данной виртуальной машины. |
| gid | int | GID |
| guid | int | GUID |
| compute_id | int | ID компьюта |
| image_id | int | Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. |
| interfaces | []Struct [см. ниже](#описание-структуры-interfaces) | Информация о интерфейсах компьюта |
| lock_status | string | Статус доступности |
| manager_id | int | Manager id |
| manager_type | string | Type manager |
| migrationjob | int | Migrationjob |
| milestones | int | Вехи |
| name | string | Имя виртуального сервера |
| pinned | bool | добавлен ли компьют на стек |
| ram | int | Объём оперативной памяти в МБ, выделенной этой виртуальной машине. |
| reference_id | string | ID reference |
| registered | bool | Компьют зарегестрирован |
| res_name | string | Res name |
| rg_id | int| Идентификатор ресурсной группы, к которой принадлежит виртуальная машина. |
| rg_name | string | Имя ресурсной группы, к которой принадлежит виртуальная машина. |
| snap_sets | []Struct [см. ниже](#описание-структуры-snap-sets) | Snap sets |
| stateless_sep_id | int | ID сеп |
| stateless_sep_type | string | Тип сеп |
| status | string | Статус диска |
| tags | []Struct [см. ниже](#описание-структуры-tags) | Тэги |
| tech_status | string | Технический статус диска |
| total_disk_size | int | Размер диска |
| updated_by | string | Кем обновлен ресурс |
| updated_time | int | Время обновления ресурса |
| user_managed | bool | User managed |
| userdata | string | Параметры cloud_init |
| vgpus | []int | Список vgpu |
| vins_connected | int | Кол-во присоединенных винсов |
| virtual_image_id | int | ID виртуального образа |
### Описание структуры acl
| Параметр | Тип | Описание |
| --- | --- | --- |
| explicit | bool | Явно ли указан доступ |
| guid | string | guid Ресурса |
| right | string | Права на ресурс |
| status | string | Статус ресурса |
| type | string | Тип ресурса |
| user_group_id | string | ID user group |
### Описание структуры affinity rules
| Параметр | Тип | Описание |
| --- | --- | --- |
| guid | string | guid |
| key | string | Ключ |
| mode | string | Режим сравнения |
| policy | string | Степень "строгости" этого правила |
| topology | string | Топология |
| value | string | Значение |
### Описание структуры disks
| Параметр | Тип | Описание |
| disk_id | int | ID диска |
| pci_slot | int | id pci слота, к которому подключен диск |
### Описание структуры interfaces
| Параметр | Тип | Описание |
| --- | --- | --- |
| conn_id | int | ID connect |
| conn_type | string | Тип connect |
| def_gw | string | Шлюз по умолчанию |
| flip_group_id | int | id flip group |
| guid | string | GUID |
| ip_address | string | IP адрес |
| listen_ssh | bool | открыт ли ssh connect |
| mac | string | MAC адрес устройства |
| name | string | Имя |
| net_id | int | ID сети |
| netmask | int | Маска сети |
| net_type | string | Тип сети |
| pci_slot | int | Pci Slot |
| qos | []Struct{}[см. ниже](#описание-структуры-qos)| QOS |
| target | string | Цель сети |
| type | string | Тип |
| vnfs | []int | VNFS |
### Описание структуры qos
| Параметр | Тип | Описание |
| --- | --- | --- |
| e_rate | int | E rate |
| guid | string | ID ресурса |
| in_brust | int | In brust |
| in_rate | int | In rate |
### Описание структуры snap sets
| Параметр | Тип | Описание |
| --- | --- | --- |
| disks | []int | Список id дисков |
| guid | string | GUID |
| label | string | Лейбл |
| timestamp | int | Время |
### Описание структуры tags
| Параметр | Тип | Описание |
| --- | --- | --- |
| key | string | Ключ тэга |
| val | string | Значение тэга |
## Пример использования
```terraform
data "decort_kvmvm_list_deleted" "kvmvm_list" {
#фильтр по id виртуальной машины
#опциональный параметр
#тип - число
#by_id = 100
#фильтр по имени виртуальной машины
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по id аккаунта
#опциональный параметр
#тип - число
#account_id = 100
#фильтр по имени ресурсной группы
#опциональный параметр
#тип - строка
#rg_name = "test"
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "some"
#фильтр по ip
#опциональный параметр
#тип - строка
#ip_address = "test"
#фильтр по имени extNet
#опциональный параметр
#тип - строка
#extnet_name = "test"
#фильтр по id extNet
#опциональный параметр
#тип - число
#extnet_id = 100
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 1
}
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова _data source_ функции **decort_kvmvm_list_deleted** в переменной `data.decort_kvmvm_list_deleted.kvmvm_list` будут сохранены возвращаемые значения.

@ -0,0 +1,68 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_kvmvm_pci_device_list** служит для получения информации о доступных компьюту списка устройств с шиной PCI.
## Аргументы
_Data source_ функция **decort_kvmvm_pci_device_list** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| compute_id | int | id компьюта |
| rg_id | int | :x: | Фильтр по ID ресурсной группы |
| device_id | int | :x: | Фильтр по ID устройства |
| name | string | :x: | Фильтр по имени |
| status | string | :x: | Фильтр по статусу |
| page | int | :x: | Номер страниц |
| size | int | :x: | Размер страницы |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_kvmvm_pci_device_list** возвращает в указанную при вызове переменную, в поле _items_ массив строк
## Пример использования
Пример вызова _data source_ функции **decort_kvmvm_pci_device_list**:
```terraform
data "decort_kvmvm_pci_device_list" "pci_device_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 100
#фильтр по id ресурсной группы
#опциональный параметр
#тип - число
#rg_id = 100
#фильтр по id устройства
#опциональный параметр
#тип - число
#device_id = 100
#фильтр по имени устройства
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 1
}
# once the above directive completes, pcidevice list will be accessible
# as data.decort_kvmvm_pci_device_list.pl.items
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/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_kvmvm_pci_device_list** в переменной `data.decort_kvmvm_pci_device_list.pci_device_list` будут сохранены возвращаемые значения.

@ -0,0 +1,68 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_kvmvm_vgpu_list** служит для получения информации о доступных компьюту списка виртуальных графических устройств.
## Аргументы
_Data source_ функция **decort_kvmvm_vgpu_list** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| compute_id | int | id компьюта |
| gpu_id | int | :x: | Фильтр по ID устройства |
| type | int | :x: | Фильтр по типу графического устройства |
| status | string | :x: | Фильтр по статусу |
| includedeleted | bool | :x: | Включить в рез-тат удаленные устройства |
| page | int | :x: | Номер страниц |
| size | int | :x: | Размер страницы |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_kvmvm_vgpu_list** возвращает в указанную при вызове переменную, в поле _items_ массив строк
## Пример использования
Пример вызова _data source_ функции **decort_kvmvm_vgpu_list**:
```terraform
data "decort_kvmvm_vgpu_list" "vgpu_list" {
#id виртуальной машины
#обязательный параметр
#тип - число
compute_id = 100
#фильтр по id графического процессора
#опциональный параметр
#тип - число
#gpu_id = 100
#фильтр по типу графического процессора
#опциональный параметр
#тип - строка
#type = "NVIDIA"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр "включая удаленные графические процессоры"
#опциональный параметр
#тип - булев тип
#includedeleted = "false"
#номер страницы для отображения
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - число
#если не задан - выводятся все доступные данные
#size = 1
}
# once the above directive completes, pcidevice list will be accessible
# as data.decort_kvmvm_vgpu_list.pl.items
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/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_kvmvm_vgpu_list** в переменной `data.decort_kvmvm_vgpu_list.vgpu_list` будут сохранены возвращаемые значения.

@ -0,0 +1,72 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_rg_resource_consumption_get** служит для получения информации о количестве потребляемых и зарезервированных ресурсов (процессор, оперативная память, диск) по конкретной ресурсной группе
## Аргументы
_Data source_ функция **decort_rg_resource_consumption_get** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| -------- | --- | ------------------ | ------------------- |
| rg_id | int | :heavy_check_mark: | ID ресурсной группы |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_rg_resource_consumption_get** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
| Параметр | Тип | Описание |
| ---------- | ------- | ----------------------------------------------- |
| rg_id | int | id ресурсной группы |
| consumed | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о текуших ресурсах |
| reserved | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о зарезервированных ресурсной группой ресурсах |
| resource_limits | Struct{} [см. ниже](#описание-структуры-resource-limits) | Лимиты ресурсов |
### Описание структуры consumed и reserved
| Параметр | Тип | Описание |
| --- | --- | --- |
| cpu | int | Количество CPU |
| disk_size | float | Размер диска |
| disk_size_max | float | Максимальный размер диск |
| extips | int | Внешние IPs |
| exttraffic | int | Внешний Traffic |
| gpu | int | Количество GPU |
| ram | int | Количество RAM |
| seps | []Struct{} [см . ниже](#описание-структуры-seps)| Информация о seps |
### Описание структуры seps
| Параметр | Тип | Описание |
| --- | --- | --- |
| sep_id | int | ID SEP. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск|
| data_name | string | Имя пула информации внутри SEP'а |
| disk_size | float | Количество занятого места |
| disk_size_max | float | Размер диска |
### Описание структуры resources 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 ядер |
## Пример использования
Пример вызова _data source_ функции **decort_rg_resource_consumption_get**:
```terraform
data "decort_rg_resource_consumption_get" "rc_get" {
#id ресурсной группы
#обязательный параметр
#тип - число
rg_id = 111
}
# once the above directive completes, sep will be accessible
# as data.decort_rg_resource_consumption_get.rc
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/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_rg_resource_consumption_get** в переменной `data.decort_rg_resource_consumption_get.rc_get` будут сохранены возвращаемые значения.

@ -0,0 +1,65 @@
Функция доступна в провайдере версии 4.4.1 и выше.
_Data source_ функция **decort_account_resource_consumption_list** служит для получения информации о количестве потребляемых и зарезервированных ресурсов (процессор, оперативная память, диск) доступных ресурсной группе
## Аргументы
_Data source_ функция **decort_account_resource_consumption_list** не принимает аргументы.
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_account_resource_consumption_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров:
| Параметр | Тип | Описание |
| ---------- | ------- | ----------------------------------------------- |
| rg_id | int | id ресурсной группы |
| consumed | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о текуших ресурсах |
| reserved | Struct{} [см. ниже](#описание-структуры-consumed-и-reserved) | Информация о зарезервированных ресурсной группой ресурсах |
| resource_limits | Struct{} [см. ниже](#описание-структуры-resource-limits) | Лимиты ресурсов |
### Описание структуры consumed и reserved
| Параметр | Тип | Описание |
| --- | --- | --- |
| cpu | int | Количество CPU |
| disk_size | float | Размер диска |
| disk_size_max | float | Максимальный размер диск |
| extips | int | Внешние IPs |
| exttraffic | int | Внешний Traffic |
| gpu | int | Количество GPU |
| ram | int | Количество RAM |
| seps | []Struct{} [см . ниже](#описание-структуры-seps)| Информация о seps |
### Описание структуры seps
| Параметр | Тип | Описание |
| --- | --- | --- |
| sep_id | int | ID SEP. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск|
| data_name | string | Имя пула информации внутри SEP'а |
| disk_size | float | Количество занятого места |
| disk_size_max | float | Размер диска |
### Описание структуры 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 ядер |
## Пример использования
Пример вызова _data source_ функции **decort_account_resource_consumption_list**:
```terraform
data "decort_account_resource_consumption_list" "rc_list" {
#Нет входных параметров
}
# once the above directive completes, sep will be accessible
# as data.decort_account_resource_consumption_list.rc
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/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_resource_consumption_list** в переменной `data.decort_account_resource_consumption_list.rc_list` будут сохранены возвращаемые значения.

@ -1,485 +1,484 @@
_Resource_ функция **decort_kvmvm** служит для управления виртуальными машинами, создаваемыми в платформе DECORT на базе технологии виртуализации KVM. _Resource_ функция **decort_kvmvm** служит для управления виртуальными машинами, создаваемыми в платформе DECORT на базе технологии виртуализации KVM.
### Работа с custom_fields ### Работа с custom_fields
CustomFields - это новый метод работы с XML ВМ, пришедший на замену ComputeCI ачиная с версии провайдера 4.3.0. CustomFields - это новый метод работы с XML ВМ, пришедший на замену ComputeCI ачиная с версии провайдера 4.3.0.
Для описания конфигурации используется файл в формате JSON, например: Для описания конфигурации используется файл в формате JSON, например:
customfields.json: customfields.json:
``` ```
{ {
"title": "test", "title": "test",
"name": "basename", "name": "basename",
"cpu": { "cpu": {
"mode": "host-model" "mode": "host-model"
} }
} }
``` ```
После этого, достаточно передать файл в качестве значения параметра: После этого, достаточно передать файл в качестве значения параметра:
``` ```
custom_fields = file("customfields.json") custom_fields = file("customfields.json")
``` ```
### Возможные затруднения при импорте kvmvm с extra_disks ### Возможные затруднения при импорте kvmvm с extra_disks
При импорте kvmvm c extra_disks, терраформ не может записать в стейт информацию об extra_disks по следующим причинам: При импорте kvmvm c extra_disks, терраформ не может записать в стейт информацию об extra_disks по следующим причинам:
- терраформ на стадии импорта не производит чтение конфигурации, кроме проверки необходимых (requirement) полей, из-за чего данные, хранящиеся в поле extra_disks, будут непрочитаны; - терраформ на стадии импорта не производит чтение конфигурации, кроме проверки необходимых (requirement) полей, из-за чего данные, хранящиеся в поле extra_disks, будут непрочитаны;
Из-за этого, при первом запуске команды `terraform apply`, терраформ сообщит что удалит эти диски из disks, но, при этом, удалены они не будут, если указаны в блоке extra_disks. Из-за этого, при первом запуске команды `terraform apply`, терраформ сообщит что удалит эти диски из disks, но, при этом, удалены они не будут, если указаны в блоке extra_disks.
### Работа boot_disk ### Работа boot_disk
В стейт в поле boot_disk записывается первый найденный диск с типом "B", остальные диски с типом "B" обрабатываются и записываются в массив disks. В стейт в поле boot_disk записывается первый найденный диск с типом "B", остальные диски с типом "B" обрабатываются и записываются в массив disks.
### Убраны deprecated поля ### Убраны deprecated поля
- network_id - network_id
- network_type - network_type
### Возможные затруднения при работе с блоком disks. ### Возможные затруднения при работе с блоком disks.
По умолчанию, sep_id и pool в платформе выбираются те же, на которых размещается загрузочный диск (создается вместе с виртуальной машиной). Из-за этого, могут возникать ошибки следующего характера: По умолчанию, sep_id и pool в платформе выбираются те же, на которых размещается загрузочный диск (создается вместе с виртуальной машиной). Из-за этого, могут возникать ошибки следующего характера:
- `Cannot add disk to Compute ID XXX: Pool xxxx does not support disk type X ` - данная ошибка означает то, что выбранный пул не поддерживает выбранные тип диска - `Cannot add disk to Compute ID XXX: Pool xxxx does not support disk type X ` - данная ошибка означает то, что выбранный пул не поддерживает выбранные тип диска
Пути решения: Пути решения:
- Выполнить **decort_disk_list_types_detailed**. Результатом выполнения этой функции станет список доступных пулов хранилища вместе с их идентификаторами (sep_id). - Выполнить **decort_disk_list_types_detailed**. Результатом выполнения этой функции станет список доступных пулов хранилища вместе с их идентификаторами (sep_id).
- Заполнить поля sep_id и pool подходящими полями для диска. - Заполнить поля sep_id и pool подходящими полями для диска.
- При удалении не последнего блока в списке, перед подтверждением Terraform не правильно отображает диск, который будет удаляться. На самом деле из состояние будет удален тот диск, который был убран из файла. Также будет нужен дополнительное выполнение terraform apply для того чтобы все блоки сейта терраформа встали на свои места и не отличались от настоящего состояния ресурса - При удалении не последнего блока в списке, перед подтверждением Terraform не правильно отображает диск, который будет удаляться. На самом деле из состояние будет удален тот диск, который был убран из файла. Также будет нужен дополнительное выполнение terraform apply для того чтобы все блоки сейта терраформа встали на свои места и не отличались от настоящего состояния ресурса
### Возможные затруднения при работе с сетями ### Возможные затруднения при работе с сетями
При работе и изменении сетей в компьюте необходимо предварительно остановить работу, добавив поле в ресурс% При работе и изменении сетей в компьюте необходимо предварительно остановить работу, добавив поле в ресурс%
```terraform ```terraform
started = false started = false
``` ```
И выполнив команду: И выполнив команду:
```bash ```bash
terraform apply terraform apply
``` ```
Что приведет к остановке машины. Что приведет к остановке машины.
После выполнения работ, машину можно включить, изменив `started` на `true`. После выполнения работ, машину можно включить, изменив `started` на `true`.
### Работа с cloud_init ### Работа с cloud_init
Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html).
**Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** **Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!**
Для использования cloud_init конфигурации, следует: Для использования cloud_init конфигурации, следует:
1. Создать файл с расширением `.tftpl` в рабочей директории. 1. Создать файл с расширением `.tftpl` в рабочей директории.
2. Описать в созданном файле конфигурацию cloud_init в формате JSON или YAML: 2. Описать в созданном файле конфигурацию cloud_init в формате JSON или YAML:
### initconfig.tftpl ### initconfig.tftpl
``` ```
{ {
"users": [ "users": [
{ {
"groups": "users, wheel", "groups": "users, wheel",
"name": "user", "name": "user",
"plain_text_passwd": "examplePassword", "plain_text_passwd": "examplePassword",
"primary_group": "user", "primary_group": "user",
"ssh_authorized_keys": [ "ssh_authorized_keys": [
"ssh-rsa EXAMPLE%id_rsa.pub" "ssh-rsa EXAMPLE%id_rsa.pub"
], ],
"sudo": "ALL=(ALL) NOPASSWD:ALL" "sudo": "ALL=(ALL) NOPASSWD:ALL"
} }
] ]
} }
``` ```
3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_kvmvm`: 3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_kvmvm`:
```terraform ```terraform
resource "decort_kvmvm" "compute1" { resource "decort_kvmvm" "compute1" {
# ... # ...
cloud_init = file("initconfig.tftpl") cloud_init = file("initconfig.tftpl")
# ... # ...
} }
``` ```
4. Выполнить `terraform apply` 4. Выполнить `terraform apply`
**Конфигурация cloud_init применяется только при создании компьюта, во всех остальных случаях - игнорируется** **Конфигурация cloud_init применяется только при создании компьюта, во всех остальных случаях - игнорируется**
## Аргументы ## Аргументы
_Resource_ функция **decort_kvmvm** принимает следующие аргументы: _Resource_ функция **decort_kvmvm** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание | | Аргумент | Тип | Обязательный | Описание |
| ------------------- | -------------------------------------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |---------------------|----------------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| driver | string | :heavy_check_mark: | Аппаратная архитектура виртуальной машины.<br/>Может принимать одно из следующих значений:<br/> _ "KVM_X86" - stateful виртуальная машина KVM на аппаратной платформе x86.<br/> _ "SVA_KVM_X86" - stateless ВМ на аппаратной платформе x86. <br/> \* "KVM_PPC" - виртуальная машина KVM на аппаратной платформе IBM Power. | | driver | string | :heavy_check_mark: | Аппаратная архитектура виртуальной машины.<br/>Может принимать одно из следующих значений:<br/> _ "KVM_X86" - stateful виртуальная машина KVM на аппаратной платформе x86.<br/> _ "SVA_KVM_X86" - stateless ВМ на аппаратной платформе x86. <br/> \* "KVM_PPC" - виртуальная машина KVM на аппаратной платформе IBM Power. |
| cpu | int | :heavy_check_mark: | Количество процессоров. | | cpu | int | :heavy_check_mark: | Количество процессоров. |
| name | string | :heavy_check_mark: | Имя виртуальной машины. Обратите внимание, что имя должно быть уникальным в рамках ресурсной группы. | | name | string | :heavy_check_mark: | Имя виртуальной машины. Обратите внимание, что имя должно быть уникальным в рамках ресурсной группы. |
| rg_id | int | :heavy_check_mark: | Идентификатор ресурсной группы, которой принадлежит данная виртуальная машина. | | rg_id | int | :heavy_check_mark: | Идентификатор ресурсной группы, которой принадлежит данная виртуальная машина. |
| ram | int | :heavy_check_mark: | Объём оперативной памяти в МБ.<br/> | | ram | int | :heavy_check_mark: | Объём оперативной памяти в МБ.<br/> |
| image_id | int | :heavy_check_mark: | Идентификатор образа, на базе которого создаётся загрузочный диск виртуальной машины.<br/> | | image_id | int | :heavy_check_mark: | Идентификатор образа, на базе которого создаётся загрузочный диск виртуальной машины.<br/> |
| boot_disk_size | int | :heavy_check_mark: | Размер загрузочного диска виртуальной машины в ГБ. | boot_disk_size | int | :heavy_check_mark: | Размер загрузочного диска виртуальной машины в ГБ. |
| custom_fields | string (json-encoded) | :x: | Управление XML виртуальной машины | custom_fields | string (json-encoded) | :x: | Управление XML виртуальной машины |
| extra_disks | []int | :x: | Список идентификаторов дополнительных дисков, которые требуется подключить к данной виртуальной машине помимо загрузочного диска. | | extra_disks | []int | :x: | Список идентификаторов дополнительных дисков, которые требуется подключить к данной виртуальной машине помимо загрузочного диска. |
| cloud_init | string | :x: | Используется на этапе создания вм.<br/>Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. | | cloud_init | string | :x: | Используется на этапе создания вм.<br/>Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. |
| with_default_vins | bool | :x: | При значении false ВМ создается без подключения стандартных ViNS ресурсной группы. При указании хотя бы одного блока network (см. ниже) данный параметр игнорируется. Дефолтное значение - true. | | network | []Struct [см. ниже](#описание-блока-network) | :x: | Параметры сетевого подключения. Если нужно сконфигурировать несколько сетевых подключений, данный блок можно задавать многократно - по одному на каждое подключение. |
| network | []Struct [см. ниже](#описание-блока-network) | :x: | Параметры сетевого подключения. Если нужно сконфигурировать несколько сетевых подключений, данный блок можно задавать многократно - по одному на каждое подключение. | | description | string | :x: | Текстовое описание виртуальной машины. |
| description | string | :x: | Текстовое описание виртуальной машины. | | started | bool | :x: | Флаг запуска машины,<br/>по-умолчанию - true.<br/>Если true - машина включена,<br/>если false - выключена. |
| started | bool | :x: | Флаг запуска машины,<br/>по-умолчанию - true.<br/>Если true - машина включена,<br/>если false - выключена. | | sep_id | int | :x: | Идентификатор sep |
| sep_id | int | :x: | Идентификатор sep | | pool | string | :x: | Наименование пула для размещения |
| pool | string | :x: | Наименование пула для размещения | | is | string | :x: | Наименование системы |
| is | string | :x: | Наименование системы | | ipa_type | string | :x: | Тип аутентификатора |
| ipa_type | string | :x: | Тип аутентификатора | | permanently | bool | :x: | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
| permanently | bool | :x: | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | | detach_disks | bool | :x: | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
| detach_disks | bool | :x: | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | | disks | []Struct [см. ниже](#описание-блока-disks) | :x: | Описание диска. Таких может быть любое кол-во, либо не быть вообще |
| disks | []Struct [см. ниже](#описание-блока-disks) | :x: | Описание диска. Таких может быть любое кол-во, либо не быть вообще | | enabled | bool | :x: | Доступность вычислительной машины |
| enabled | bool | :x: | Доступность вычислительной машины | | affinity_label | string | :x: | Метка для правил affinity |
| affinity_label | string | :x: | Метка для правил affinity | | affinity_rules | []Struct [см. ниже](#описание-блока-affinity_rules) | :x: | Блок описания правил affinity. Блоков может быть несколько, один или отсутствовать. |
| affinity_rules | []Struct [см. ниже](#описание-блока-affinity_rules) | :x: | Блок описания правил affinity. Блоков может быть несколько, один или отсутствовать. | | anti_affinity_rules | []Struct [см. ниже](#описание-блока-anti_affinity_rules) | :x: | Блок описания правил anti-affinity. Блоков может быть несколько, один или отсутствовать. |
| anti_affinity_rules | []Struct [см. ниже](#описание-блока-anti_affinity_rules) | :x: | Блок описания правил anti-affinity. Блоков может быть несколько, один или отсутствовать. | | tags | []Struct [см. ниже](#описание-блока-tags) | :x: | Задание тэгов компьюта |
| tags | []Struct [см. ниже](#описание-блока-tags) | :x: | Задание тэгов компьюта | | port_forwarding | []Struct [см. ниже](#описание-блока-port_forwarding) | :x: | Настройка порт форвардинга для компьюта |
| port_forwarding | []Struct [см. ниже](#описание-блока-port_forwarding) | :x: | Настройка порт форвардинга для компьюта | | user_access | []Struct [см. ниже](#описание-блока-user_access) | :x: | Предоставление доступов к компьюту |
| user_access | []Struct [см. ниже](#описание-блока-user_access) | :x: | Предоставление доступов к компьюту | | snapshot | []Struct [см. ниже](#описание-блока-snapshot) | :x: | Создание мнапшотов |
| snapshot | []Struct [см. ниже](#описание-блока-snapshot) | :x: | Создание мнапшотов | | rollback | []Struct [см. ниже](#описание-блока-rollback) | :x: | Rollback на определенный снапшот |
| rollback | []Struct [см. ниже](#описание-блока-rollback) | :x: | Rollback на определенный снапшот | | cd | []Struct [см. ниже](#описание-блока-cd) | :x: | Добавление диска cd rom |
| cd | []Struct [см. ниже](#описание-блока-cd) | :x: | Добавление диска cd rom | | pin_to_stack | bool | :x: | Флаг, отвечающий за добавление кмпьюта в стэк |
| pin_to_stack | bool | :x: | Флаг, отвечающий за добавление кмпьюта в стэк | | pause | bool | :x: | Флаг, отвкчающий за pause/resume компьюта |
| pause | bool | :x: | Флаг, отвкчающий за pause/resume компьюта | | reset | bool | :x: | Флаг, отвкчающий за reset компьюта |
| reset | bool | :x: | Флаг, отвкчающий за reset компьюта | | auto_start | bool | :x: | Флаг, отвечающий за авто старт при редеплое компьюта |
| auto_start | bool | :x: | Флаг, отвечающий за авто старт при редеплое компьюта | | force_stop | bool | :x: | Флаг, отвечающий за стоп при редеплое компьюта |
| force_stop | bool | :x: | Флаг, отвечающий за стоп при редеплое компьюта | | data_disks | string | :x: | Указание того, что делать с дисками при редеплое. Возможные значения: "KEEP", "DETACH" и "DESTROY" |
| data_disks | string | :x: | Указание того, что делать с дисками при редеплое. Возможные значения: "KEEP", "DETACH" и "DESTROY" |
### Описание блока disks
### Описание блока disks
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | disk_name | string | :heavy_check_mark: | Наименование диска |
| disk_name | string | :heavy_check_mark: | Наименование диска | | size | int | :heavy_check_mark: | Размер диска, GB |
| size | int | :heavy_check_mark: | Размер диска, GB | | disk_type | string | :x: | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск |
| disk_type | string | :x: | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск | | sep_id | int | :x: | ID storage endpoint |
| sep_id | int | :x: | ID storage endpoint | | pool | string | :x: | Наименование пула для размещения диска |
| pool | string | :x: | Наименование пула для размещения диска | | desc | string | :x: | Описание диска |
| desc | string | :x: | Описание диска | | image_id | int | :x: | ID образа |
| image_id | int | :x: | ID образа | | permanently | bool | :x: | Флаг для удаления диска. Если выставлен в true - диск будет моментально удален с платформы, иначе будет добавлен в корзину и его можно будет восстановить. Значение поля считывается только при операции `terraform destroy`. По умолчанию - false |
| permanently | bool | :x: | Флаг для удаления диска. Если выставлен в true - диск будет моментально удален с платформы, иначе будет добавлен в корзину и его можно будет восстановить. Значение поля считывается только при операции `terraform destroy`. По умолчанию - false |
### Описание блока network
### Описание блока network
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | ---------- | ------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ---------- | ------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | net_type | string | :heavy_check_mark: | тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment. |
| net_type | string | :heavy_check_mark: | тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment. | | net_id | int | :heavy_check_mark: | идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"` |
| net_id | int | :heavy_check_mark: | идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"` | | ip_address | string | :x: | IP адрес, выделенный данному подключению. |
| ip_address | string | :x: | IP адрес, выделенный данному подключению. |
### Описание блока affinity_rules
### Описание блока affinity_rules
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- |
| -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- | | topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute |
| topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute | | policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) |
| policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) | | mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое |
| mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое | | key | string | :heavy_check_mark: | Ключ правила |
| key | string | :heavy_check_mark: | Ключ правила | | value | string | :heavy_check_mark: | Значение правила |
| value | string | :heavy_check_mark: | Значение правила |
### Описание блока anti_affinity_rules
### Описание блока anti_affinity_rules
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- |
| -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- | | topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute |
| topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute | | policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) |
| policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) | | mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое |
| mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое | | key | string | :heavy_check_mark: | Ключ правила |
| key | string | :heavy_check_mark: | Ключ правила | | value | string | :heavy_check_mark: | Значение правила |
| value | string | :heavy_check_mark: | Значение правила |
### Описание блока tags
### Описание блока tags
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | -------- | ------ | ------------------ | ------------- |
| -------- | ------ | ------------------ | ------------- | | key | string | :heavy_check_mark: | Ключ тэга |
| key | string | :heavy_check_mark: | Ключ тэга | | val | string | :heavy_check_mark: | Значение тэга |
| val | string | :heavy_check_mark: | Значение тэга |
### Описание блока port_forwarding
### Описание блока port_forwarding
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | ----------------- | ------ | ------------------ | ------------------------------------------------------------------ |
| ----------------- | ------ | ------------------ | ------------------------------------------------------------------ | | public_port_start | int | :heavy_check_mark: | Начало диапазона внешних портов для данного правила pfw |
| public_port_start | int | :heavy_check_mark: | Начало диапазона внешних портов для данного правила pfw | | public_port_end | int | :x: | Конец диапазона внешних портов для данного правила pfw |
| public_port_end | int | :x: | Конец диапазона внешних портов для данного правила pfw | | local_port | int | :heavy_check_mark: | Локальный порт для данного правила pfw |
| local_port | int | :heavy_check_mark: | Локальный порт для данного правила pfw | | proto | string | :heavy_check_mark: | Протокол создания правила pfw. Возможные значения: "tcp" или "udp" |
| proto | string | :heavy_check_mark: | Протокол создания правила pfw. Возможные значения: "tcp" или "udp" |
### Описание блока user_access
### Описание блока user_access
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------- |
| ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------- | | username | string | :heavy_check_mark: | Юзер, которому необходимо выдать определенные права на компьют |
| username | string | :heavy_check_mark: | Юзер, которому необходимо выдать определенные права на компьют | | access_type | string | :heavy_check_mark: | Права, которые выдадутся юзеру на компьют. Возможные значения: "R", "RCX" или "ARCXDU" |
| access_type | string | :heavy_check_mark: | Права, которые выдадутся юзеру на компьют. Возможные значения: "R", "RCX" или "ARCXDU" |
### Описание блока snapshot
### Описание блока snapshot
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | -------- | ------ | ------------------ | -------------- |
| -------- | ------ | ------------------ | -------------- | | label | string | :heavy_check_mark: | Лейбл снапшота |
| label | string | :heavy_check_mark: | Лейбл снапшота |
### Описание блока rollback
### Описание блока rollback
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | -------- | ------ | ------------------ | ------------------------------------------------ |
| -------- | ------ | ------------------ | ------------------------------------------------ | | label | string | :heavy_check_mark: | Лейбл снапшота на который нужно сделать rollback |
| label | string | :heavy_check_mark: | Лейбл снапшота на который нужно сделать rollback |
### Описание блока cd
### Описание блока cd
| Аргумент | Тип | Обязательный | Описание |
| Аргумент | Тип | Обязательный | Описание | | -------- | --- | ------------------ | -------------------------------- |
| -------- | --- | ------------------ | -------------------------------- | | cdrom_id | int | :heavy_check_mark: | Идентификатор образа cdrom диска |
| cdrom_id | int | :heavy_check_mark: | Идентификатор образа cdrom диска |
## Возвращаемые значения
## Возвращаемые значения
В случае успешного выполнения _resource_ функция **decort_kvmvm** возвращает в указанную при вызове переменную следующие значения:
В случае успешного выполнения _resource_ функция **decort_kvmvm** возвращает в указанную при вызове переменную следующие значения:
| Параметр | Тип | Описание |
| Параметр | Тип | Описание | | ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | account_id | int | Уникальный идентификатор подписчика-владельца ("account") данной виртуальной машины. |
| account_id | int | Уникальный идентификатор подписчика-владельца ("account") данной виртуальной машины. | | account_name | string | Имя подписчика, которому принадлежит данная виртуальная машина. |
| account_name | string | Имя подписчика, которому принадлежит данная виртуальная машина. | | affinity_label | string | Метка для правил affinity |
| affinity_label | string | Метка для правил affinity | | affinity_weight | int | weight аффинити |
| affinity_weight | int | weight аффинити | | arch | string | Архитектура |
| arch | string | Архитектура | | boot_order | []string | Boot order |
| boot_order | []string | Boot order | | boot_disk | []Struct [см. ниже](#описание-структуры-boot_disk) | Полная информация о бутдиске |
| boot_disk | []Struct [см. ниже](#описание-структуры-boot_disk) | Полная информация о бутдиске | | boot_disk_id | int | Идентификатор загрузочного диска виртуальной машины. |
| boot_disk_id | int | Идентификатор загрузочного диска виртуальной машины. | | boot_disk_size | int | Размер загрузочного диска в ГБ. |
| boot_disk_size | int | Размер загрузочного диска в ГБ. | | driver | string | Аппаратная архитектура данной виртуальной машины. |
| driver | string | Аппаратная архитектура данной виртуальной машины. | | disks | [см. ниже](#описание-блока-disks) | Описание диска. Таких может быть любое кол-во, либо не быть вообще |
| disks | [см. ниже](#описание-блока-disks) | Описание диска. Таких может быть любое кол-во, либо не быть вообще | | clone_reference | int | кол-во клонов |
| clone_reference | int | кол-во клонов | | clones | []int | id клонов |
| clones | []int | id клонов | | computeci_id | int | Id computeci |
| computeci_id | int | Id computeci | | cpu | int | Количество виртуальных CPU, выделенных данному серверу. |
| cpu | int | Количество виртуальных CPU, выделенных данному серверу. | | created_by | string | Кем создан ресурс |
| created_by | string | Кем создан ресурс | | created_time | int | Время создания ресурса |
| created_time | int | Время создания ресурса | |custom_fields | string | Кастомные поля |
|custom_fields | string | Кастомные поля | | deleted_by | string | Кем удален ресурс |
| deleted_by | string | Кем удален ресурс | | deleted_time | int | Время удаления ресурса |
| deleted_time | int | Время удаления ресурса | | description | string | Текстовое описание виртуальной машины. |
| description | string | Текстовое описание виртуальной машины. | | detach_disks | bool | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
| detach_disks | bool | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | | devices | string | Девайсы |
| devices | string | Девайсы | | enabled | bool | Доступность вычислительной машины |
| enabled | bool | Доступность вычислительной машины | | extra_disks | list of ints | Список идентификаторов дополнительных дисков, которые подключены к данной виртуальной машине помимо загрузочного диска. Если такие диски отсутствуют, то список будет пустым. |
| extra_disks | list of ints | Список идентификаторов дополнительных дисков, которые подключены к данной виртуальной машине помимо загрузочного диска. Если такие диски отсутствуют, то список будет пустым. | | gid | int | GID |
| gid | int | GID | | guid | int | GUID |
| guid | int | GUID | | compute_id | int | Идентификатор экземпляра _compute_, соответствующего данной виртуальной машине. |
| compute_id | int | Идентификатор экземпляра _compute_, соответствующего данной виртуальной машине. | | id | int | Уникальный идентификатор этой виртуальной машины в облачной платформе. Всегда совпадает с `compute_id`. |
| id | int | Уникальный идентификатор этой виртуальной машины в облачной платформе. Всегда совпадает с `compute_id`. | | image_id | int | Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. |
| image_id | int | Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. | | interfaces | []Struct [см. ниже](#описание-структуры-interfaces) | Информация о интерфейсах компьюта |
| interfaces | []Struct [см. ниже](#описание-структуры-interfaces) | Информация о интерфейсах компьюта | | ipa_type | string | Тип аутентификатора |
| ipa_type | string | Тип аутентификатора | | is | string | Наименование системы |
| is | string | Наименование системы | | lock_status | string | Статус доступности |
| lock_status | string | Статус доступности | | manager_id | int | Manager id |
| manager_id | int | Manager id | | manager_type | string | Type manager |
| manager_type | string | Type manager | | migrationjob | int | Migrationjob |
| migrationjob | int | Migrationjob | | milestones | int | Вехи |
| milestones | int | Вехи | | name | string | Имя виртуального сервера.<br>Возвращаемое значение `name` совпадает со значением соответствующего аргумента, переданного при вызове функции. |
| name | string | Имя виртуального сервера.<br>Возвращаемое значение `name` совпадает со значением соответствующего аргумента, переданного при вызове функции. | | natable_vins_id | int | NAT vins id |
| natable_vins_id | int | NAT vins id | | natable_vins_ip | string | NAT vins ip |
| natable_vins_ip | string | NAT vins ip | | natable_vins_name | string | NAT vins name |
| natable_vins_name | string | NAT vins name | | natable_vins_network | string | NAT vins network |
| natable_vins_network | string | NAT vins network | | natable_vins_network_name | string | NAT vins network name |
| natable_vins_network_name | string | NAT vins network name | | network | list of dicts | Характеристики сетевых сегментов, к которым подключен данный сервер. Формат структуры:<br/>_ (string) `net_type` - тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment.<br/>_ (int) `net_id` - идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"`<br/>_ (string) `ip_address` - IP адрес, выделенный данному подключению.<br/>_ (string) `mac` - MAC адрес, назначенный соответствующему сетевому интерфейсу виртуальной машины. |
| network | list of dicts | Характеристики сетевых сегментов, к которым подключен данный сервер. Формат структуры:<br/>_ (string) `net_type` - тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment.<br/>_ (int) `net_id` - идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"`<br/>_ (string) `ip_address` - IP адрес, выделенный данному подключению.<br/>_ (string) `mac` - MAC адрес, назначенный соответствующему сетевому интерфейсу виртуальной машины. | | os_users | []Struct [см. ниже](#описание-структуры-os-users) | Имена и пароли пользователей гостевой ОС, установленные платформой при создании виртуального сервера. Формат структуры:<br/>_ (string) `login` - учётная запись в гостевой ОС.<br/>_ (string) `password` - пароль к этой учётной записи. |
| os_users | []Struct [см. ниже](#описание-структуры-os-users) | Имена и пароли пользователей гостевой ОС, установленные платформой при создании виртуального сервера. Формат структуры:<br/>_ (string) `login` - учётная запись в гостевой ОС.<br/>_ (string) `password` - пароль к этой учётной записи. | | permanently | bool | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса |
| permanently | bool | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | | pinned | bool | добавлен ли компьют на стек |
| pinned | bool | добавлен ли компьют на стек | | pool | string | Наименование пула для размещения |
| pool | string | Наименование пула для размещения | | ram | int | Объём оперативной памяти в МБ, выделенной этой виртуальной машине. |
| ram | int | Объём оперативной памяти в МБ, выделенной этой виртуальной машине. | | reference_id | string | ID reference |
| reference_id | string | ID reference | | registered | bool | Компьют зарегестрирован |
| registered | bool | Компьют зарегестрирован | | res_name | string | Res name |
| res_name | string | Res name | | reset | bool | Флаг отвкчающий за reset компьюта |
| reset | bool | Флаг отвкчающий за reset компьюта | | rg_id | int | Идентификатор ресурсной группы, к которой принадлежит виртуальная машина. |
| rg_id | int | Идентификатор ресурсной группы, к которой принадлежит виртуальная машина. | | rg_name | string | Имя ресурсной группы, к которой принадлежит виртуальная машина. |
| rg_name | string | Имя ресурсной группы, к которой принадлежит виртуальная машина. | | sep_id | int | Идентификатор sep |
| sep_id | int | Идентификатор sep | | snap_sets | []Struct [см. ниже](#описание-структуры-snap-sets) | Snap sets |
| snap_sets | []Struct [см. ниже](#описание-структуры-snap-sets) | Snap sets | | started | bool | Опциональный параметр, флаг запуска машины,<br/>по-умолчанию - true.<br/>Если true - машина включена,<br/>если false - выключена. |
| started | bool | Опциональный параметр, флаг запуска машины,<br/>по-умолчанию - true.<br/>Если true - машина включена,<br/>если false - выключена. | | stateless_sep_id | int | ID сепа |
| stateless_sep_id | int | ID сепа | | stateless_sep_type | string | Тип сепа |
| stateless_sep_type | string | Тип сепа | | status | string | Cтатус |
| status | string | Cтатус | | tech_status | string | Технический статус |
| tech_status | string | Технический статус | | updated_by | string | Кем обновлен ресурс |
| updated_by | string | Кем обновлен ресурс | | updated_time | int | Время обновления ресурса |
| updated_time | int | Время обновления ресурса | | user_managed | bool | User managed |
| user_managed | bool | User managed | | cloud_init | string | Параметры cloud_init |
| cloud_init | string | Параметры cloud_init | | vgpus | []int | Список vgpu |
| vgpus | []int | Список vgpu | | virtual_image_id | int | ID виртуального образа |
| virtual_image_id | int | ID виртуального образа | | virtual_image_name | string | Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. |
| virtual_image_name | string | Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. |
### Описание структуры interfaces
### Описание структуры interfaces
| Параметр | Тип | Описание |
| Параметр | Тип | Описание | | ------------- | --------------------------------------------- | --------------------- |
| ------------- | --------------------------------------------- | --------------------- | | conn_id | int | ID connect |
| conn_id | int | ID connect | | conn_type | string | Тип connect |
| conn_type | string | Тип connect | | def_gw | string | Шлюз по умолчанию |
| def_gw | string | Шлюз по умолчанию | | flip_group_id | int | id flip group |
| flip_group_id | int | id flip group | | guid | string | GUID |
| guid | string | GUID | | ip_address | string | IP адрес |
| ip_address | string | IP адрес | | listen_ssh | bool | открыт ли ssh connect |
| listen_ssh | bool | открыт ли ssh connect | | mac | string | MAC адрес устройства |
| mac | string | MAC адрес устройства | | name | string | Имя |
| name | string | Имя | | net_id | int | ID сети |
| net_id | int | ID сети | | netmask | int | Маска сети |
| netmask | int | Маска сети | | net_type | string | Тип сети |
| net_type | string | Тип сети | | pci_slot | int | Pci Slot |
| pci_slot | int | Pci Slot | | qos | []Struct{}[см. ниже](#описание-структуры-qos) | QOS |
| qos | []Struct{}[см. ниже](#описание-структуры-qos) | QOS | | target | string | Цель сети |
| target | string | Цель сети | | type | string | Тип |
| type | string | Тип | | vnfs | []int | VNFS |
| vnfs | []int | VNFS |
### Описание структуры qos
### Описание структуры qos
| Параметр | Тип | Описание |
| Параметр | Тип | Описание | | -------- | ------ | ---------- |
| -------- | ------ | ---------- | | e_rate | int | E rate |
| e_rate | int | E rate | | guid | string | ID ресурса |
| guid | string | ID ресурса | | in_brust | int | In brust |
| in_brust | int | In brust | | in_rate | int | In rate |
| in_rate | int | In rate |
### Описание структуры os users
### Описание структуры os users
| Параметр | Тип | Описание |
| Параметр | Тип | Описание | | ---------- | ------ | ------------------ |
| ---------- | ------ | ------------------ | | guid | string | GUID |
| guid | string | GUID | | login | string | Логин |
| login | string | Логин | | password | string | Пароль |
| password | string | Пароль | | public_key | string | Публичный ssh ключ |
| public_key | string | Публичный ssh ключ |
### Описание структуры snap sets
### Описание структуры snap sets
| Параметр | Тип | Описание |
| Параметр | Тип | Описание | | --------- | ------ | ---------------- |
| --------- | ------ | ---------------- | | disks | []int | Список id дисков |
| disks | []int | Список id дисков | | guid | string | GUID |
| guid | string | GUID | | label | string | Лейбл |
| label | string | Лейбл | | timestamp | int | Время |
| timestamp | int | Время |
### Описание структуры boot_disk
### Описание структуры boot_disk
| Параметр | Тип | Описание |
| Параметр | Тип | Описание | | --------- | ------ | --------------------------- |
| --------- | ------ | --------------------------- | | desc | string | Описание диска |
| desc | string | Описание диска | | disk_id | int | ID диска |
| disk_id | int | ID диска | | disk_name | string | Наименование диска |
| disk_name | string | Наименование диска | | disk_type | string | Тип диска (B) |
| disk_type | string | Тип диска (B) | | image_id | int | ID образа диска |
| image_id | int | ID образа диска | | pool | string | Наименование пула |
| pool | string | Наименование пула | | sep_id | int | Storage Endpoint ID |
| sep_id | int | Storage Endpoint ID | | shareable | bool | Доступность другим ресурсам |
| shareable | bool | Доступность другим ресурсам | | size | int | Размер диска |
| size | int | Размер диска | | size_max | int | Максимальный размер диска |
| size_max | int | Максимальный размер диска | | size_used | float | Используемый размер |
| size_used | float | Используемый размер |
### Описание блока disks
### Описание блока disks
| Аргумент | Тип | Описание |
| Аргумент | Тип | Описание | | --------- | ------ | --------------------------------------------------------------------------- |
| --------- | ------ | --------------------------------------------------------------------------- | | disk_id | int | ID диска |
| disk_id | int | ID диска | | disk_name | string | Наименование диска |
| disk_name | string | Наименование диска | | size | int | Размер диска, GB |
| size | int | Размер диска, GB | | disk_type | string | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск |
| disk_type | string | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск | | sep_id | int | ID storage endpoint |
| sep_id | int | ID storage endpoint | | shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам |
| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | | size_max | int | Размер диска |
| size_max | int | Размер диска | | size_used | float | Размер занимаемого на диске места |
| size_used | float | Размер занимаемого на диске места | | pool | string | Наименование пула для размещения диска |
| pool | string | Наименование пула для размещения диска | | desc | string | Описание диска |
| desc | string | Описание диска | | image_id | int | ID образа |
| image_id | int | ID образа |
## Пример использования
## Пример использования
В нижеприведённом примере с помощью _resource_ функции **decort_kvmvm** создаётся виртуальная машина (экземпляр _compute_ в терминологии платформы DECORT) следующими характеристиками:
В нижеприведённом примере с помощью _resource_ функции **decort_kvmvm** создаётся виртуальная машина (экземпляр _compute_ в терминологии платформы DECORT) следующими характеристиками:
- Имя виртуальной машины - "tf-managed-vm"
- Имя виртуальной машины - "tf-managed-vm" - Характеристики виртуальной машины - 1 CPU, 1024Мб RAM, размер загрузочного диска 10Гб
- Характеристики виртуальной машины - 1 CPU, 1024Мб RAM, размер загрузочного диска 10Гб - К виртуальной машине будет подключён один дополнительный диск с идентификатором 56789
- К виртуальной машине будет подключён один дополнительный диск с идентификатором 56789 - Идентификатор ресурсной группы, в которой создаётся виртуальная машина - поступает из переменной _decort_resgroup.my_rg.id_
- Идентификатор ресурсной группы, в которой создаётся виртуальная машина - поступает из переменной _decort_resgroup.my_rg.id_ - Идентификатор образа ОС, который будет установлен на загрузочный диск - поступает из переменной _data.decort_image.os_image.id_
- Идентификатор образа ОС, который будет установлен на загрузочный диск - поступает из переменной _data.decort_image.os_image.id_ - Виртуальная машина будет иметь одно сетевое подключение - во внешнюю сеть с идентификатором 12, IP адрес этого подключения платформа установит автоматически
- Виртуальная машина будет иметь одно сетевое подключение - во внешнюю сеть с идентификатором 12, IP адрес этого подключения платформа установит автоматически - Для виртуальной машины будет создан и автоматически подключен диск с именем "test_disk" и размером в 10 GB. Созданный диск будет иметь тип "D", размещен в pool "test_pool", в хранилище с идентификатором 3. Данный диск будет создан с системным образом, который имеет идентификатор 3456.
- Для виртуальной машины будет создан и автоматически подключен диск с именем "test_disk" и размером в 10 GB. Созданный диск будет иметь тип "D", размещен в pool "test_pool", в хранилище с идентификатором 3. Данный диск будет создан с системным образом, который имеет идентификатор 3456.
```terraform
```terraform resource "decort_kvmvm" "my_new_vm" {
resource "decort_kvmvm" "my_new_vm" { name = "tf-managed-vm"
name = "tf-managed-vm" rg_id = decort_resgroup.my_rg.id
rg_id = decort_resgroup.my_rg.id driver = "KVM_X86" # "KVM_PPC" for IBM Power or "KVM_X86" for Intel
driver = "KVM_X86" # "KVM_PPC" for IBM Power or "KVM_X86" for Intel cpu = 1 # CPU count
cpu = 1 # CPU count ram = 1024 # RAM size in MB, must be even number, ideally a power of 2
ram = 1024 # RAM size in MB, must be even number, ideally a power of 2 boot_disk_size = 10 # Boot disk size in GB
boot_disk_size = 10 # Boot disk size in GB extra_disks = [ 56789 ]
extra_disks = [ 56789 ] image_id = data.decort_image.os_image.id
image_id = data.decort_image.os_image.id description = "Test KVM VM Compute managed by Terraform"
description = "Test KVM VM Compute managed by Terraform"
cloud_init = file("initconfig.tftpl") # содержание файла см. ниже
cloud_init = file("initconfig.tftpl") # содержание файла см. ниже
network {
network { net_type = "EXTNET"
net_type = "EXTNET" net_id = 12
net_id = 12 }
}
disks {
disks { disk_name = "test_disk"
disk_name = "test_disk" size = 10
size = 10 sep_id = 3
sep_id = 3 pool = "test_pool"
pool = "test_pool" image_id = 3456
image_id = 3456 }
}
affinity_label = "test4"
affinity_label = "test4"
affinity_rules {
affinity_rules { topology = "compute"
topology = "compute" policy = "RECOMMENDED"
policy = "RECOMMENDED" mode = "ANY"
mode = "ANY" key = "testkey1"
key = "testkey1" value = "testvalue1"
value = "testvalue1" }
}
anti_affinity_rules {
anti_affinity_rules { topology = "compute"
topology = "compute" policy = "RECOMMENDED"
policy = "RECOMMENDED" mode = "ANY"
mode = "ANY" key = "testkey2"
key = "testkey2" value = "testvalue2"
value = "testvalue2" }
}
#started = true
#started = true #enabled = true
#enabled = true #is=""
#is="" #ipa_type = ""
#ipa_type = "" }
} ```
```
### initconfig.tftpl
### initconfig.tftpl
```
``` {
{ "users": [
"users": [ {
{ "groups": "users, wheel",
"groups": "users, wheel", "name": "user",
"name": "user", "plain_text_passwd": "examplePassword",
"plain_text_passwd": "examplePassword", "primary_group": "user",
"primary_group": "user", "ssh_authorized_keys": [
"ssh_authorized_keys": [ "ssh-rsa EXAMPLE%id_rsa.pub"
"ssh-rsa EXAMPLE%id_rsa.pub" ],
], "sudo": "ALL=(ALL) NOPASSWD:ALL"
"sudo": "ALL=(ALL) NOPASSWD:ALL" }
} ]
] }
} ```
```
Данный пример подразумевает, что ранее по тексту tf-файла :
Данный пример подразумевает, что ранее по тексту tf-файла :
- выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
- выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). - создан ресурс типа decort*resgroup (см. \_resource* функцию [decort_resgroup](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.02-Resource-функция-decort_resgroup-управление-ресурсными-группами)) и результат записан в переменную _decort_resgroup.my_rg_
- создан ресурс типа decort*resgroup (см. \_resource* функцию [decort_resgroup](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.02-Resource-функция-decort_resgroup-управление-ресурсными-группами)) и результат записан в переменную _decort_resgroup.my_rg_ - считана информация об образе ОС(см. _data_ функцию [decort_image](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.07-Data-функция-decort_image-получение-информации-об-образе)) и результат записан в переменную _decort_resgroup.os_image_
- считана информация об образе ОС(см. _data_ функцию [decort_image](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.07-Data-функция-decort_image-получение-информации-об-образе)) и результат записан в переменную _decort_resgroup.os_image_
После успешного завершения такого вызова _resource_ функции **decort_kvmvm** в переменной `decort_kvmvm.my_new_vm` будут сохранены возвращаемые значения. В частности, для получения идентификатора виртуальной машины следует использовать конструкцию `decort_kvmvm.my_new_vm.id`.
После успешного завершения такого вызова _resource_ функции **decort_kvmvm** в переменной `decort_kvmvm.my_new_vm` будут сохранены возвращаемые значения. В частности, для получения идентификатора виртуальной машины следует использовать конструкцию `decort_kvmvm.my_new_vm.id`.

@ -1,87 +1,92 @@
Функция доступна в провайдере версии 4.4.1 и выше. Функция доступна в провайдере версии 2.0 и выше.
**Внимание:** необходимы права администратора. _Resource_ функция **decort_virtual_image** служит для управления виртуальным образом. Виртуальный образа создаются на основе уже созданных ранее образов, таким образом, они привязываются к уже созданным образам. Образ, на основе которого создан виртуальный диск, удалить невозможно - для этого необходимо удалить виртуальный образ, либо связать его с другим образом.
_Resource_ функция **decort_image_virtual** служит для управления виртуальным образом. Виртуальный образа создаются на основе уже созданных ранее образов, таким образом, они привязываются к уже созданным образам. Образ, на основе которого создан виртуальный диск, удалить невозможно - для этого необходимо удалить виртуальный образ, либо связать его с другим образом. ## Аргументы
_Resource_ функция **decort_virtual_image** для создания виртуального образа принимает следующие аргументы:
## Аргументы
_Resource_ функция **decort_image_virtual** для создания виртуального образа принимает следующие аргументы: | Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| Аргумент | Тип | Обязательный | Описание | | name | string | :heavy_check_mark: | Имя виртуального образа |
|-------------|--------|--------------------|-------------------------------------------------------------| | link_to | int | :heavy_check_mark: | ID образа, на основе котрого будет создан виртуальный |
| name | string | :heavy_check_mark: | Имя виртуального образа | | permanently | bool | :x: | Мгновенное удаление<br/>можно использовать перед удалением |
| link_to | int | :heavy_check_mark: | ID реального образа, на который будет ссылаться виртуальный |
| permanently | bool | :x: | Флаг для удаления диска | ## Возвращаемые значения
В случае успешного выполнения _resource_ функция **decort_virtual_image** возвращает в указанную при вызове переменную следующие значения:
## Возвращаемые значения | Параметр | Тип | Описание |
В случае успешного выполнения _resource_ функция **decort_image_virtual** возвращает в указанную при вызове переменную следующие значения: | --- | --- | --- |
| unc_path | string | unc path |
| Параметр | Тип | Описание | | \_ckey | string | ckey |
|----------------|--------------------------------------------|----------------------------------------------------------| | account_id | int | accountId привязки образа |
| unc_path | string | unc path | | architecture | string | Архитектура образа, возможен вариант X86_64 или PPC64_LE |
| ckey | string | ckey | | boot_type | string | Тип запуска ОС - bios или uefi |
| account_id | int | accountId привязки образа | | bootable | bool | Является ли образ загрузочным |
| acl | string | access control list | | computeci_id | int | ID вычислительного ресурса |
| architecture | string | Архитектура образа, возможен вариант X86_64 или PPC64_LE | | deletedTime | int | Время удаления |
| boot_type | string | Тип запуска ОС - bios или uefi | | desc | string | Описание образа |
| bootable | bool | Является ли образ загрузочным | | drivers | []string | Cписок используемых драйверов |
| compute_ci_id | int | ID вычислительного ресурса | | enabled | bool | Доступность образа |
| deleted_time | int | Время удаления | | gid | int | ID платформы, где образ будет создан |
| desc | string | Описание образа | | guid | int | Внутренний id образа, совпадает с image_id |
| drivers | []string | Cписок используемых драйверов | | history | []Struct [см. ниже](#описание-структуры-history)| История обновлений образа |
| enabled | bool | Доступность образа | | hot_resize | bool | Использует ли машина горячее изменение размера образа |
| gid | int | ID платформы, где образ будет создан | | image_id | int | ID образа |
| guid | int | Внутренний id образа, совпадает с image_id | | image_type | string | Тип образа: linux, windows или другой |
| history | object{id: int, guid: int, timestamp: int} | История обновлений образа | | last_modified | int | Дата последнего изменения |
| hot_resize | bool | Использует ли машина горячее изменение размера образа | | link_to | int | Привязка к образу, используется в виртуальных образах |
| last_modified | int | Дата последнего изменения | | milestones | int | Вехи |
| link_to | int | Привязка к образу, используется в виртуальных образах | | name | string | Название образа |
| milestones | int | Вехи | | password | string | Пароль для образа |
| image_name | string | Название образа | | permanently | bool | Удаление образа: мгновенное или нет |
| password | string | Пароль для образа | | pool_name | string | Пул, в котором был создан образ |
| pool_name | string | Пул, в котором был создан образ | | present_to | []int | Список ID ресурсов, которым предоставлен образ |
| provider_name | string | Наименование провайдера | | provider_name | string | Наименование провайдера |
| purge_attempts | int | Попытки | | purge_attempts | int | Попытки |
| present_to | []int | Список ID ресурсов, которым предоставлен образ | | reference_id | string | ID ссылки |
| res_id | string | ID ресурса | | res_id | string | ID ресурса |
| rescuecd | bool | CD или нет | | rescuecd | bool | CD или нет |
| sep_id | int | storage endpoint provider ID | | sep_id | int | storage endpoint provider ID |
| shared_with | bool | Список ресурсов, имеющих доступ к образу | | shared_with | []int | Список ресурсов, имеющих доступ к образу |
| size | int | Размер образа | | size | int | Размер образа |
| status | string | Статус образа | | status | string | Статус образа |
| tech_status | string | Технический статус | | tech_status | string | Технический статус |
| type | string | Тип образа: linux, windows или другой | | username | string | Имя пользователя образа |
| username | string | Имя пользователя образа | | version | string | Версия |
| version | string | Версия |
### Описание структуры history
| Параметр | Тип | Описание |
## Пример использования | --- | --- | --- |
Пример вызова _resource_ функции **decort_image_virtual**: | id | int | Идентификатор образа |
```terraform | guid | string | Внутренний id образа |
resource "decort_image_virtual" "my_image" { | timestamp | int | Время обновления образа |
#имя виртуального образа
#обязательный параметр ## Пример использования
#при изменении - обновляет имя виртуального образа Пример вызова _resource_ функции **decort_virtual_image**:
#тип - строка ```terraform
name = "iv-name" resource "decort_image_virtual" "iv" {
#имя виртуального образа
#ID реального образа, на который будет ссылаться виртуальный #обязательный параметр
#обязательный параметр #при изменении - обновляет имя виртуального образа
#при изменении - ссылается на другой реальный образ #тип - строка
#тип - число name = "iv-name"
link_to = 123
#ID реального образа, на который будет ссылаться виртуальный
#Флаг для удаления диска #обязательный параметр
#опциональный параметр #при изменении - ссылается на другой реальный образ
#тип - bool #тип - число
#permanently = false link_to = 123
}
#Флаг для удаления диска
# once the above directive completes, will be accessible #опциональный параметр
# as decort_image_virtual.my_image #тип - bool
``` #permanently = false
}
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
# once the above directive completes, will be accessible
После успешного завершения такого вызова **decort_image_virtual** в переменной `decort_image_virtual.my_image` будут сохранены возвращаемые значения. # as decort_virtual_image.my_image
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)).
После успешного завершения такого вызова **decort_virtual_image** в переменной `decort_virtual_image.iv` будут сохранены возвращаемые значения.

Loading…
Cancel
Save