diff --git a/06.01.13-Data-функция-decort_disk_list-получение-информации-о-всех-дисках.md b/06.01.13-Data-функция-decort_disk_list-получение-информации-о-всех-дисках.md index 05ead3b..a4ae015 100644 --- a/06.01.13-Data-функция-decort_disk_list-получение-информации-о-всех-дисках.md +++ b/06.01.13-Data-функция-decort_disk_list-получение-информации-о-всех-дисках.md @@ -1,136 +1,172 @@ -Функция доступна в провайдере версии 2.3 и выше. - -_Data source_ функция **decort_disk_list** служит для получения информации об имеющихся дисках. - -## Аргументы -_Data source_ функция **decort_disk_list** принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| by_id | int | :x: | Фильтр по ID диска | -| name | string | :x: | Фильтр по имени диска | -| account_name | string | :x: | Фильтр по имени аккаунта | -| disk_max_size | int | :x: | Фильтр по макс. размеру диска | -| status | string | :x: | Фильтр по статусу | -| shared | bool | :x: | Фильтр по значению shared | -| account_id | int | :x: | id аккаунта для получения списка дисков | -| type | string | :x: | Тип диска. Возможные типы: "b" - boot_disk, "d" - data_disk | -| page | int | :x: | Номер страниц | -| size | int | :x: | Размер страницы | - - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_disk_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | Уникальный идентификатор подписчика-владельца диска | -| account_name | string | Имя подписчика ("account"), которому принадлежит данный диск | -| boot_partition | int | Кол-во разделов диска | -| computes | Struct{} [см. ниже](#описание-структуры-computes) | Информация о компьютах (виртуальных машинах) | -| created_time | int | Время создания | -| deleted_time | int | Время удаления | -| desc | string | Текстовое описание диска | -| destruction_time | int | Время окончательного удаления | -| devicename | string | Наименование устройства | -| disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. | -| disk_path | string | Адрес диска | -| gid | int | Идентификатор площадки (grid id) | -| guid | int | Идентификатор диска | -| id | int | Идентификатор диска | -| image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | -| images | []int | Идентификаторы образов, использующих диск | -| iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска| -| iqn | string | iqn диска | -| login | string | Логин для доступа к диску | -| milestones | int | Вехи | -| disk_name | string | Наименование диска | -| order | int | Номер диска | -| params | string | Параметры диска | -| parent_id | int | id родительского диска | -| passwd | string | Пароль для доступа к диску | -| pci_slot | int | id pci слота, к которому подключен диск | -| pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | -| present_to | []int | Список ID ресурсов, которым предоставлен диск | -| purge_attempts | int | Кол-во попыток удаления | -| purge_time | int | Время последней попытки | -| reality_device_number | int | Реальный номер устройства | -| reference_id | int | id ссылки на диск | -| res_id | int | id ресурса | -| res_name | string | Наименование ресурса | -| role | string | Роль диска | -| sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | -| sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений | -| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | -| size_max | int | Размер диска в ГБ | -| size_used | float | Кол-во используемого места, в ГБ | -| snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots)| Снимки состояния диска| -| status | string | Статус диска | -| tech_status | string | Технический статус диска | -| type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | -| vmid | int | Идентификатор виртуальной машины (устаревшее) | - -### Описание структуры computes -| Параметр | Тип | Описание | -| --- | --- | --- | -| compute_id | int | Идентификатор компьюта | -| compute_name | string | Имя компьюта | - -### Описание структуры iotune -| Параметр | Тип | Описание | -| --- | --- | --- | -| 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**: -```terraform -data "decort_disk_list" "dl" { - #id аккаунта для получения списка дисков - #опциональный параметр - #тип - число - #account_id = 11111 - - #тип диска - #опциональный параметр - #тип - строка - #возможные типы: "b" - boot_disk, "d" - data_disk - #type = "d" - - #кол-во страниц для вывода - #опциональный параметр - #тип - число - #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` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 2.3 и выше. + +_Data source_ функция **decort_disk_list** служит для получения информации об имеющихся дисках. + +## Аргументы +_Data source_ функция **decort_disk_list** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| by_id | int | :x: | Фильтр по ID диска | +| name | string | :x: | Фильтр по имени диска | +| account_name | string | :x: | Фильтр по имени аккаунта | +| disk_max_size | int | :x: | Фильтр по макс. размеру диска | +| status | string | :x: | Фильтр по статусу | +| shared | bool | :x: | Фильтр по значению shared | +| account_id | int | :x: | id аккаунта для получения списка дисков | +| type | string | :x: | Тип диска. Возможные типы: "B" - boot_disk, "D" - data_disk | +| sep_id | int | :x: | Фильтр по SEP id. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | +| pool_name | string | :x: | Фильтр по наименованию pool | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_disk_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | Уникальный идентификатор подписчика-владельца диска | +| account_name | string | Имя подписчика ("account"), которому принадлежит данный диск | +| acl | string | Acces Control List | +| computes | Struct{} [см. ниже](#описание-структуры-computes) | Информация о компьютах (виртуальных машинах) | +| created_time | int | Время создания | +| deleted_time | int | Время удаления | +| desc | string | Текстовое описание диска | +| destruction_time | int | Время окончательного удаления | +| devicename | string | Наименование устройства | +| disk_id | int | Идентификатор диска. Дублирует значение параметра `id`. | +| gid | int | Идентификатор площадки (grid id) | +| id | int | Идентификатор диска | +| image_id | int | Идентификатор образа, содержимое которого было склонировано/скопировано в данный диск при его создании. 0 означает, что данный диск не создавался как клон/копия какого-либо образа | +| images | []int | Идентификаторы образов, использующих диск | +| iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска| +| machine_id | int | id машины (устаревшее) | +| machine_name | string | Наименование машины (устаревшее) | +| disk_name | string | Наименование диска | +| order | int | Номер диска | +| params | string | Параметры диска | +| parent_id | int | id родительского диска | +| pci_slot | int | id pci слота, к которому подключен диск | +| pool | string | Имя пула в системе хранения, на ресурсах которой размещён данный диск | +| present_to | []int | Список ID ресурсов, которым предоставлен диск | +| purge_time | int | Время удаления | +| res_id | int | id ресурса | +| res_name | string | Наименование ресурса | +| role | string | Роль диска | +| sep_id | int | Идентификатор Storage Endpoint Provider (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | +| sep_type | string | Тип SEP. Определяет тип системы хранения и содержит одно из заданных в облачной платформе значений | +| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | +| size_max | int | Размер диска в ГБ | +| size_used | float | Кол-во используемого места, в ГБ | +| snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots)| Снимки состояния диска| +| status | string | Статус диска | +| tech_status | string | Технический статус диска | +| type | string | Тип диска с точки зрения его роли в составе _compute_. Может принимать одно из фиксированных значений:
"B" - признак загрузочного диска ("boot").
"D" - признак дополнительного диска ("data") | +| vmid | int | Идентификатор виртуальной машины (устаревшее) | + +### Описание структуры computes +| Параметр | Тип | Описание | +| --- | --- | --- | +| compute_id | int | Идентификатор компьюта | +| compute_name | string | Имя компьюта | + +### Описание структуры iotune +| Параметр | Тип | Описание | +| --- | --- | --- | +| 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**: +```terraform +data "decort_disk_list" "dl" { + #фильтр по id диска + #опциональный параметр + #тип - число + #by_id = 100 + + #фильтр по имени диска + #опциональный параметр + #тип - строка + #name = "data_disk" + + #фильтр по имени аккаунта + #опциональный параметр + #тип - строка + #account_name = "user" + + #фильтр по максимальному размеру диска + #опциональный параметр + #тип - число + #disk_max_size = 100 + + #фильтр по статусу + #опциональный параметр + #тип - строка + #status = "ENABLED" + + #фильтр по доступности иным пользователям + #опциональный параметр + #тип - булев тип + #shared = "false" + + #id аккаунта для получения списка дисков + #опциональный параметр + #тип - число + #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` будут сохранены возвращаемые значения. diff --git a/06.01.17-Data-функция-decort_extnet_computes_list-получение-информации-о-вычислительных-ресурсах,-использующих-внешнюю-сеть.md b/06.01.17-Data-функция-decort_extnet_computes_list-получение-информации-о-вычислительных-ресурсах,-использующих-внешнюю-сеть.md index 7668fec..64b58a0 100644 --- a/06.01.17-Data-функция-decort_extnet_computes_list-получение-информации-о-вычислительных-ресурсах,-использующих-внешнюю-сеть.md +++ b/06.01.17-Data-функция-decort_extnet_computes_list-получение-информации-о-вычислительных-ресурсах,-использующих-внешнюю-сеть.md @@ -1,39 +1,73 @@ -Функция доступна в провайдере версии 2.3 и выше. - -_Data source_ функция **decort_extnet_computes_list** служит для получения информации о вычислительных ресурсах, использующих внешнюю сеть. - -## Аргументы -_Data source_ функция **decort_extnet_computes_list** принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| account_id | int | :heavy_check_mark: | Идентификатор аккаунта, которому принадлежать вычислительные ресурсы | - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_extnet_computes_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | ID аккаунта - владельца вычислительных ресурсов | -| account_name | string | Имя аккаунта - владельца вычислительных ресурсов | -| extnets | []Struct{
net_id int
ipaddr string
ipcidr string
name string
} | Список сетей
ID сети
IP адрес
Маска сети
Название сети
 
| -| rg_id | int | Идентификатор ресурсной группы | -| rg_name | string | Название ресурсной группы | -| id | int | Идентификатор вычислительных ресурсов | -| name | string | Название вычислительных ресурсов | - -## Пример использования -Пример вызова _data source_ функции **decort_extnet_computes_list**: -```terraform -data "decort_extnet_computes_list" "ecl" { - #идентификатор аккаунта - #обязательный параметр - #тип - число - account_id = 1111 -} -# 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` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 2.3 и выше. + +_Data source_ функция **decort_extnet_computes_list** служит для получения информации о вычислительных ресурсах, использующих внешнюю сеть. + +## Аргументы +_Data source_ функция **decort_extnet_computes_list** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| account_id | int | :heavy_check_mark: | Идентификатор аккаунта, которому принадлежат вычислительные ресурсы | +| rg_id | int | :x: | ID ресурсной группы для фильтрации результата поиска | +| compute_id | int | :x: | ID виртуальной машины для фильтрации результата поиска | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_extnet_computes_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | ID аккаунта - владельца вычислительных ресурсов | +| account_name | string | Имя аккаунта - владельца вычислительных ресурсов | +| extnets | []Struct [см. ниже](#описание-структуры-extnets) | Список сетей | +| rg_id | int | Идентификатор ресурсной группы | +| rg_name | string | Название ресурсной группы | +| id | int | Идентификатор вычислительных ресурсов | +| name | string | Название вычислительных ресурсов | + +### Описание структуры extnets +| Параметр | Тип | Описание | +| --- | --- | --- | +| net_id | int | ID сети | +| ipaddr | string | IP адрес | +| ipcidr | string | Маска сети | +| name | string | Название сети | + +## Пример использования +Пример вызова _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` будут сохранены возвращаемые значения. diff --git a/06.01.27-Data-функция-decort_account_templates_list-получение-информации-о-шаблонах-аккаунта.md b/06.01.27-Data-функция-decort_account_templates_list-получение-информации-о-шаблонах-аккаунта.md index 1249c55..6e67f0a 100644 --- a/06.01.27-Data-функция-decort_account_templates_list-получение-информации-о-шаблонах-аккаунта.md +++ b/06.01.27-Data-функция-decort_account_templates_list-получение-информации-о-шаблонах-аккаунта.md @@ -1,43 +1,81 @@ -Функция доступна в провайдере версии 2.3 и выше. - -_Data source_ функция **decort_account_templates_list** служит для получения информации об имеющихся шаблонах аккаунта. - -## Аргументы -_Data source_ функция **decort_account_templates_list** принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| account_id | int | :heavy_check_mark: | ID аккаунта | -| include_deleted | bool | :x: | Включить в рез-тат удаленные шаблоны | - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_account_templates_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| unc_path | string | Системный путь до шаблона | -| account_id | int | ID аккаунта - владельца шаблона | -| desc | string | Описание шаблона | -| template_id | int | Идентификатор шаблона | -| template_name | string | Название шаблона | -| public | bool | Флаг, является ли шаблон общедоступным | -| size | int | Размер шаблона | -| status | string | Статус шаблона | -| type | string | Тип шаблона | -| username | string | Пользователь - владелец шаблона | - -## Пример использования -Пример вызова _data source_ функции **decort_account_templates_list**: -```terraform -data "decort_account_templates_list" "atl" { - #id аккаунта - #обязательный параметр - #тип - число - account_id = 11111 -} -# 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` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 2.3 и выше. + +_Data source_ функция **decort_account_templates_list** служит для получения информации об имеющихся шаблонах аккаунта. + +## Аргументы +_Data source_ функция **decort_account_templates_list** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| account_id | int | :heavy_check_mark: | ID аккаунта | +| include_deleted | bool | :x: | Включить в рез-тат удаленные шаблоны | +| image_id | int | :x: | Фильтр по id образа| +| name | string | :x: | Фильтр по имени шаблона| +| type | string | :x: | Фильтр по типу шаблона| +| page | int | :x: | Номер страницы | +| size | int | :x: | Размер страницы | + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_account_templates_list** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| unc_path | string | Системный путь до шаблона | +| account_id | int | ID аккаунта - владельца шаблона | +| desc | string | Описание шаблона | +| template_id | int | Идентификатор шаблона | +| template_name | string | Название шаблона | +| public | bool | Флаг, является ли шаблон общедоступным | +| size | int | Размер шаблона | +| status | string | Статус шаблона | +| type | string | Тип шаблона | +| username | string | Пользователь - владелец шаблона | + +## Пример использования +Пример вызова _data source_ функции **decort_account_templates_list**: +```terraform +data "decort_account_templates_list" "atl" { + #id аккаунта + #обязательный параметр + #тип - число + account_id = 11111 + + #фильтр "включая удаленные шаблоны" + #опциональный параметр + #тип - булев тип + #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` будут сохранены возвращаемые значения. diff --git a/06.01.34-Data-функция-decort_bservice-получение-информации-о-базовом-сервисе.md b/06.01.34-Data-функция-decort_bservice-получение-информации-о-базовом-сервисе.md index 9f2b931..9b721bb 100644 --- a/06.01.34-Data-функция-decort_bservice-получение-информации-о-базовом-сервисе.md +++ b/06.01.34-Data-функция-decort_bservice-получение-информации-о-базовом-сервисе.md @@ -1,89 +1,97 @@ -Функция доступна в провайдере версии 2.3 и выше. - -_Data source_ функция **decort_bservice** служит для получения информации о базовом сервисе. Базовый сервис (basic service) может быть шаблоном, на основе которого создаются вычислительные мощности (computes). - -## Аргументы -_Data source_ функция **decort_bservice** принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| service_id | int | :heavy_check_mark: | ID сервиса | - - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_bservice** возвращает следующие параметры: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | ID аккаунта | -| account_name | string | Название аккаунта | -| base_domain | string | Базовый домен | -| computes | []Struct [см. ниже](#описание-структуры-compute) | Список компьютов | -| cpu_total | int | Кол-во ядер | -| created_by | string | Кем создан сервис | -| created_time | int | Время создания сервиса | -| deleted_by | string | Кем удален сервис | -| deleted_time | int | Время удаления сервиса | -| disk_total | int | Кол-во используемого места на дисках, ГБ | -| gid | int | Grid id | -| groups | []Struct [см. ниже](#описание-структуры-group) | Список вычислительных групп сервиса | -| groups_name | []string | Список вычислительных групп поименно | -| guid | int | Внутренний ID сервиса | -| milestones | int | Вехи | -| service_id | int | ID сервиса | -| service_name | string | Название сервиса | -| parent_srv_id | int | ID родительского сервисе | -| parent_srv_name | string | Название родительского сервиса | -| ram_total | int | Общее кол-во RAM, МБ | -| rg_id | int | ID ресурсной группы | -| rg_name | string | Название ресурсной группы | -| snapshots | []Struct{
guid string
label string
timestamp int
valid bool
} | Список снимков состояний
guid снимка
Название снимка
Время создания снимка
Флаг, валидность снимка состояния
 
| -| ssh_key | string | Ключ пользователя для подключения по ssh | -| ssh_user | string | Имя пользователя для подключения по ssh | -| status | string | Статус сервиса | -| tech_status | string | Технический статус сервиса | -| updated_by | string | Кем сервис был обновлен | -| updated_time | int | Время последнего обновления | -| user_managed | bool | Флаг, управляется ли пользователем | - -### Описание структуры compute -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | ID аккаунта | -| architecture | string | Архитектура | -| compgroup_id | int | ID группы | -| compgroup_name | string | Наименование группы | -| compgroup_role | string | Роль компьюта в группе | -| id | int | ID компьюта | -| name | string | Наименование компьюта | -| rg_id | int | ID ресурсной группы | -| stack_id | int | Stack ID | -| status | string | Статус | -| tech_status | string | Тех. статус | - -### Описание структуры group -| Параметр | Тип | Описание | -| --- | --- | --- | -| computes | int | Кол-во компьютов | -| consistency | bool | Последовательность | -| id | int | ID группы | -| name | string | Наименование группы | -| status | string | Статус | -| tech_status | string | Тех. статус | - -## Пример использования -Пример вызова _data source_ функции **decort_bservice**: -```terraform -data "decort_bservice" "b" { - #id сервиса - #обязательный параметр - #тип - число - service_id = 11111 - -} -# 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` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 2.3 и выше. + +_Data source_ функция **decort_bservice** служит для получения информации о базовом сервисе. Базовый сервис (basic service) может быть шаблоном, на основе которого создаются вычислительные мощности (computes). + +## Аргументы +_Data source_ функция **decort_bservice** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| service_id | int | :heavy_check_mark: | ID сервиса | + + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_bservice** возвращает следующие параметры: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | ID аккаунта | +| account_name | string | Название аккаунта | +| base_domain | string | Базовый домен | +| computes | []Struct [см. ниже](#описание-структуры-compute) | Список компьютов | +| cpu_total | int | Кол-во ядер | +| created_by | string | Кем создан сервис | +| created_time | int | Время создания сервиса | +| deleted_by | string | Кем удален сервис | +| deleted_time | int | Время удаления сервиса | +| disk_total | int | Кол-во используемого места на дисках, ГБ | +| gid | int | Grid id | +| groups | []Struct [см. ниже](#описание-структуры-group) | Список вычислительных групп сервиса | +| guid | int | Внутренний ID сервиса | +| milestones | int | Вехи | +| service_id | int | ID сервиса | +| service_name | string | Название сервиса | +| parent_srv_id | int | ID родительского сервисе | +| parent_srv_type | string | Тип родительского сервиса | +| ram_total | int | Общее кол-во RAM, МБ | +| rg_id | int | ID ресурсной группы | +| rg_name | string | Название ресурсной группы | +| snapshots | []Struct [см. ниже](#описание-структуры-snapshots) | Список снимков состояний | +| ssh_key | string | Ключ пользователя для подключения по ssh | +| ssh_user | string | Имя пользователя для подключения по ssh | +| status | string | Статус сервиса | +| tech_status | string | Технический статус сервиса | +| updated_by | string | Кем сервис был обновлен | +| updated_time | int | Время последнего обновления | +| user_managed | bool | Флаг, управляется ли пользователем | + +### Описание структуры compute +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | ID аккаунта | +| architecture | string | Архитектура | +| compgroup_id | int | ID группы | +| compgroup_name | string | Наименование группы | +| compgroup_role | string | Роль компьюта в группе | +| id | int | ID компьюта | +| name | string | Наименование компьюта | +| rg_id | int | ID ресурсной группы | +| stack_id | int | Stack ID | +| status | string | Статус | +| tech_status | string | Тех. статус | + +### Описание структуры group +| Параметр | Тип | Описание | +| --- | --- | --- | +| computes | int | Кол-во компьютов | +| consistency | bool | Последовательность | +| id | int | ID группы | +| name | string | Наименование группы | +| status | string | Статус | +| tech_status | string | Тех. статус | + +### Описание структуры snapshots +| Параметр | Тип | Описание | +| --- | --- | --- | +|guid | string| guid снимка| +|label | string | Название снимка| +|timestamp | int | Время создания снимка | +|valid | bool | Флаг валидности снимка состояния| + +## Пример использования +Пример вызова _data source_ функции **decort_bservice**: +```terraform +data "decort_bservice" "b" { + #id сервиса + #обязательный параметр + #тип - число + service_id = 11111 + +} +# 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` будут сохранены возвращаемые значения. diff --git a/06.01.39-Data-функция-decort_disk_list_types-получение-списка-типов-диска.md b/06.01.39-Data-функция-decort_disk_list_types-получение-списка-типов-диска.md index 335ca2a..027166b 100644 --- a/06.01.39-Data-функция-decort_disk_list_types-получение-списка-типов-диска.md +++ b/06.01.39-Data-функция-decort_disk_list_types-получение-списка-типов-диска.md @@ -1,25 +1,40 @@ -Функция доступна в провайдере версии 3.2 и выше. - -_Data source_ функция **decort_disk_list_types** служит для получения информации о типах диска. - -## Аргументы -_Data source_ функция **decort_disk_list_types** не принимает аргументы. - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_disk_list_types** возвращает в указанную при вызове переменную, в поле _types_, массив, состоящий из строк, описывающих поддерживаемые в платформе типы дисков: - -| Тип | Значение | -| --- | --- | -| B | Загрузочный тип диска| -| D | Диск для хранения данных | - -## Пример использования -Пример вызова _data source_ функции **decort_disk_list_types**: -```terraform -data "decort_disk_list_types" "dt" { - -} - -``` - -После успешного завершения такого вызова **decort_disk_list_types** в переменной `data.decort_disk_list_types.dt` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 3.2 и выше. + +_Data source_ функция **decort_disk_list_types** служит для получения информации о типах диска. + +## Аргументы +_Data source_ функция **decort_disk_list_types** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_disk_list_types** возвращает в указанную при вызове переменную, в поле _types_, массив, состоящий из строк, описывающих поддерживаемые в платформе типы дисков: + +| Тип | Значение | +| --- | --- | +| B | Загрузочный тип диска| +| D | Диск для хранения данных | + +## Пример использования +Пример вызова _data source_ функции **decort_disk_list_types**: +```terraform +data "decort_disk_list_types" "dt" { + #номер страницы для отображения + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + #page = 2 + + #размер страницы + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + #size = 3 +} + +``` + +После успешного завершения такого вызова **decort_disk_list_types** в переменной `data.decort_disk_list_types.dt` будут сохранены возвращаемые значения. diff --git a/06.01.40-Data-функция-decort_disk_list_types_detailed-расширенное-получение-информации-о-поддерживаемых-типах-дисков.md b/06.01.40-Data-функция-decort_disk_list_types_detailed-расширенное-получение-информации-о-поддерживаемых-типах-дисков.md index 0d41a1b..ded9dba 100644 --- a/06.01.40-Data-функция-decort_disk_list_types_detailed-расширенное-получение-информации-о-поддерживаемых-типах-дисков.md +++ b/06.01.40-Data-функция-decort_disk_list_types_detailed-расширенное-получение-информации-о-поддерживаемых-типах-дисков.md @@ -1,32 +1,50 @@ -Функция доступна в провайдере версии 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_detailed** возвращает в указанную при вызове переменную, в поле _items_, массив, каждый элемент которого состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| pools | см.ниже | Пул хранилища | -| sep_id | id | ID storage endpoint | - - -### Описание структуры pool -| Параметр | Тип | Описание | -| --- | --- | --- | -| name | string | Имя пул | -| types | []string | Список поддерживаемых типов | - -## Пример использования -Пример вызова _data source_ функции **decort_disk_list_types_detailed*: -```terraform -data "decort_disk_list_types_detailed" "dtd" { - -} - -``` - -После успешного завершения такого вызова **decort_disk_list_types_detailed** в переменной `data.decort_disk_list_types_detailed.dtd` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 3.2 и выше. + +_Data source_ функция **decort_disk_list_types_detailed** служит для получения расширенной информации о поддерживаемых платформой типах дисков. В отличии от другой _data source_ функции **decort_disk_list_types**, данная функция позволяет получить информацию о поддерживаемых пулами и sep типов дисков. + +## Аргументы +_Data source_ функция **decort_disk_list_types_detailed** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_disk_list_types_detailed** возвращает в указанную при вызове переменную, в поле _items_, массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| pools | []Struct см.ниже | Пул хранилища | +| sep_id | int | ID storage endpoint (SEP). SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | +| sep_name | int | Имя storage endpoint | + +### Описание структуры pool +| Параметр | Тип | Описание | +| --- | --- | --- | +| name | string | Имя пул | +| system | string | Флаг, обозначающий служебный пул, для размещения там данных о блокировках | +| types | []string | Список поддерживаемых типов | + +## Пример использования +Пример вызова _data source_ функции **decort_disk_list_types_detailed*: +```terraform +data "decort_disk_list_types_detailed" "dtd" { + #Нет входных параметров + + #номер страницы для отображения + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + #page = 2 + + #размер страницы + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + #size = 3 +} + +``` + +После успешного завершения такого вызова **decort_disk_list_types_detailed** в переменной `data.decort_disk_list_types_detailed.dtd` будут сохранены возвращаемые значения. diff --git a/06.01.42-Data-функция-decort_disk_list_unattached-получение-информации-о-неподключенных-дисках.md b/06.01.42-Data-функция-decort_disk_list_unattached-получение-информации-о-неподключенных-дисках.md index 3b42dd5..f9843e7 100644 --- a/06.01.42-Data-функция-decort_disk_list_unattached-получение-информации-о-неподключенных-дисках.md +++ b/06.01.42-Data-функция-decort_disk_list_unattached-получение-информации-о-неподключенных-дисках.md @@ -1,70 +1,156 @@ -Функция доступна в провайдере версии 3.2 и выше. - -_Data source_ функция **decort_disk_list_unattached** служит для получения информации о неподключенных к виртуальным машинам дисках. - -## Аргументы -_Data source_ функция **decort_disk_list_unattached** принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| by_id | int | :x: | Фильтр по ID диска | -| name | string | :x: | Фильтр по имени диска | -| account_name | string | :x: | Фильтр по имени аккаунта | -| disk_max_size | int | :x: | Фильтр по макс. размеру диска | -| status | string | :x: | Фильтр по статусу | -| account_id | int | :x: | id аккаунта для получения списка дисков | -| type | string | :x: | Тип диска. Возможные типы: "b" - boot_disk, "d" - data_disk | -| page | int | :x: | Номер страниц | -| size | int | :x: | Размер страницы | - -## Возвращаемые значения -В случае успешного выполнения _data source_ функция **decort_disk_list_unattached** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | id аккаунта | -| account_name | string | имя аккаунта | -| created_time | int | Время создания диска | -| deleted_time | int | Время удаления диска | -| desc | string | Описание диска | -| destruction_time | int | Время уничтожения диска | -| devicename | string | Имя устройства | -| gid | int | Grid id | -| disk_id | int | id диска | -| image_id | int | id образа | -| images | []int | id образов | -| iotune | Struct{
total_iops_sec int
} | Информация об IO-интерфейсах
Общее кол-во операций в секунду
 
| -| machine_id | int | id маишны (устаревшее) | -| machine_name | string | Наименование машины (устаревшее) | -| name | string | Наименование диска | -| order | int | Номер диска в последовательности | -| params | string | Параметры диска | -| parent_id | int | id родителя | -| pci_slot | int | id pci слота | -| pool | string | Наименование пула диска | -| purge_time | int | Время удаления | -| res_id | string | Идентификатор ресурса | -| res_name | string | Наименование ресурсов | -| role | string | Роль диска -| sep_id | int | id sep | -| sep_type | string | Тип sep | -| size_max | int | Максимальный размер диска | -| snapshots | []Struct{
guid string
label string
res_id string
snap_set_guid string
snap_set_time int
timestamp int
} | Информация о снимках состояний диска
guid снимка
Наименование снимка
id ресурса снимка
Установленный guid снимка
Установленное время снимка
Время снимка
 
| -| status | string | Статус диска -| tech_status | string | Технический статус диска | -| type | string | Тип диска -| vmid | int | id виртуальной машины | - -## Пример использования -Пример вызова _data source_ функции **decort_disk_list_unattched**: -```terraform -data "decort_disk_list_unattached" "dlu" { - #id аккаунта для получения списка дисков - #опциональный параметр - #тип - число - #account_id = 11111 -} -# 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` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 3.2 и выше. + +_Data source_ функция **decort_disk_list_unattached** служит для получения информации о неподключенных к виртуальным машинам дисках. + +## Аргументы +_Data source_ функция **decort_disk_list_unattached** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| by_id | int | :x: | Фильтр по ID диска | +| account_name | string | :x: | Фильтр по имени аккаунта | +| disk_max_size | int | :x: | Фильтр по макс. размеру диска | +| status | string | :x: | Фильтр по статусу | +| account_id | int | :x: | id аккаунта для получения списка дисков | +| type | string | :x: | Тип диска. Возможные типы: "b" - boot_disk, "d" - data_disk | +| sep_id | int | :x: | Фильтр по SEP id. SEP это способ идентифицировать конкретную систему хранения, на ресурсах которой размещён данный диск | +| pool_name | string | :x: | Фильтр по наименованию pool | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_disk_list_unattached** возвращает в указанную при вызове переменную, в поле _items_ массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| _ckey | string | CKey | +| _meta | []string | Meta | +| account_id | int | id аккаунта | +| account_name | string | имя аккаунта | +| acl | string | Acces Control List | +| boot_partition | int | Загрузочный раздел | +| created_time | int | Время создания диска | +| deleted_time | int | Время удаления диска | +| desc | string | Описание диска | +| destruction_time | int | Время уничтожения диска | +| disk_path | string | Адрес диска | +| gid | int | Grid id | +| guid | int | Идентификатор диска | +| disk_id | int | id диска | +| image_id | int | id образа | +| images | []int | id образов | +| iotune | Struct{}[см. ниже](#описание-структуры-iotune) | Информация об ограничениях IO диска| +| iqn | string | iqn диска | +| login | string | Логин для доступа к диску | +| milestones | int | Вехи | +| disk_name | string | Наименование диска | +| order | int | Номер диска в последовательности | +| params | string | Параметры диска | +| parent_id | int | id родителя | +| passwd | string | Пароль для доступа к диску | +| pci_slot | int | id pci слота | +| pool | string | Наименование пула диска | +| purge_time | int | Время удаления | +| reality_device_number | int | Реальный номер устройства | +| reference_id | int | id ссылки на диск | +| res_id | string | Идентификатор ресурса | +| res_name | string | Наименование ресурсов | +| role | string | Роль диска | +| sep_id | int | id sep | +| sep_type | string | Тип sep | +| size_max | int | Максимальный размер диска | +| snapshots | []Struct{}[см. ниже](#описание-структуры-snapshots)| Снимки состояния диска| +| status | string | Статус диска | +| tech_status | string | Технический статус диска | +| type | string | Тип диска | +| vmid | int | id виртуальной машины (устаревшее)| + +### Описание структуры iotune +| Параметр | Тип | Описание | +| --- | --- | --- | +| 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` будут сохранены возвращаемые значения. diff --git a/06.01.47-Data-функция-decort_k8s_list_deleted-получение-информации-о-списке-удаленных-кластеров-k8s.md b/06.01.47-Data-функция-decort_k8s_list_deleted-получение-информации-о-списке-удаленных-кластеров-k8s.md index 8167a07..cf94091 100644 --- a/06.01.47-Data-функция-decort_k8s_list_deleted-получение-информации-о-списке-удаленных-кластеров-k8s.md +++ b/06.01.47-Data-функция-decort_k8s_list_deleted-получение-информации-о-списке-удаленных-кластеров-k8s.md @@ -1,118 +1,118 @@ -Функция доступна в провайдере версии 3.3 и выше. - -_Data source_ функция **decort_k8s_list_deleted** служит для получения информации о списке удаленных кластеров Kubernetes (k8s). - -## Аргументы - -_Data source_ функция **decort_k8s_list_deleted** принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| by_id | int | :x: | Фильтр по ID кластера | -| name | string | :x: | Фильтр по имени кластера | -| ip_address | string | :x: | Фильтр по IP адресу | -| rg_id | int | :x: | Фильтр по ID рес. группы | -| lb_id | int | :x: | Фильтр по ID балансировщика | -| bservice_id | int | :x: | Фильтр по ID basic service | -| status | string | :x: | Фильтр по статусу | -| tech_status | string | :x: | Фильтр по тех. статусу | -| page | int | :x: | Номер страниц | -| size | int | :x: | Размер страницы | - -## Возвращаемые значения - -В случае успешного выполнения _data source_ функция **decort_k8s_list_deleted** возвращает в указанную при вызове переменную, в поле items массив, каждый элемент которого состоит из следующих параметров: - -| Параметр | Тип | Описание | -| --- | --- | --- | -| account_id | int | ID аккаунта | -| account_name | string | Имя аккаунта | -| acl | []string | acl | -| bservice_id | int | ID bservice | -| ci_id | int | ID образа кластера | -| config | []string | Конфиг | -| created_by | string | Кем был создан ресурс | -| created_time | int | Время создания ресурса | -| deleted_by | string | Кем был удален ресурс | -| deleted_time | int | Время удаления ресурса | -| desc | string | Описание ресурса | -| extnet_id | int | ID внешней сети | -| gid | int | Grid ID | -| guid | int | ID ресурса | -| k8s_id | int | ID кластера | -| lb_id | int | ID балансировщика нагрзуки | -| milestones | int | Milestones | -| k8s_name | string | Имя кластера k8s | -| rg_id | int | ID ресурсной группы | -| rg_name | string | Имя ресурсной группы | -| service_account | Struct{} [см. ниже](#описание-структуры-service_account)| информация о аккаунте кластера | -| status | string | Статус ресурса | -| tech_status | string | Технический статус ресурса | -| updated_by | string | Кем был обновлен ресурс | -| updated_time | int | Время последнего обновления ресурса | -| vins_id | int | ID виртуальной сети | -| workers_groups | []Struct{} [см. ниже](#описание-структуры-workers_groups)| группы воркеров кластера | - -### Описание-структуры-service_account - -| Параметр | Тип | Описание | -| --- | --- | --- | -| guid | int | ID ресурса | -| password | string | Пароль аккаунта | -| username | string | Username аккаунта | - -### Описание-структуры-workers_groups - -| Параметр | Тип | Описание | -| --- | --- | --- | -| annotations | []string | Аннотации группы workers | -| cpu | int | Кол-во cpu на компьютах workers | -| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация о группе | -| disk | int | ID диска | -| guid | string | ID ресурса | -| detailed_info_id | int | ID группы workers | -| labels | []string | Лейблы группы workers | -| name | string | Имя ресурса | -| num | int | Кол-во компьютов в группе workers | -| ram | int | Кол-во Ram на компьютах группы workers | -| taints | []string | ограничители группы workers | - -### Описание структуры списка detailed_info - -| Параметр | Тип | Описание | -| --- | --- | --- | -| compute_id | int | ID компьюта в составе группы | -| name | string | Имя компьюта в составе группы | -| status | string | Статус компьюта в составе группы | -| tech_status | string | Статус компьюта в составе группы | -| interfaces | []Struct{} [см. ниже](#описание-структуры-списка-interfaces) | Список интерфейсов группы | -| natable_vins_ip | string | IP NAT | -| natable_vins_network | string | IP виртуальной сети | - -### Описание структуры списка interfaces - -| Параметр | Тип | Описание | -| --- | --- | --- | -| def_gw | string | Шлюз по умолчанию | -| ip_address | string | IP интерфейса | - -## Пример использования - -Пример вызова _data source_ функции **decort_k8s_list_deleted**: - -```terraform -data "decort_k8s_list_deleted" "k8s_list_deleted" { - #номер страницы для отображения - #опциональный параметр - #тип - число - #если не задан - выводятся все доступные данные - page = 1 - - #размер страницы - #опциональный параметр - #тип - число - #если не задан - выводятся все доступные данные - size = 1 -} -``` - -После успешного завершения такого вызова **decort_k8s_list_deleted** в переменной `data.decort_k8s_list_deleted.k8s_list_deleted` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 3.3 и выше. + +_Data source_ функция **decort_k8s_list_deleted** служит для получения информации о списке удаленных кластеров Kubernetes (k8s). + +## Аргументы + +_Data source_ функция **decort_k8s_list_deleted** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| by_id | int | :x: | Фильтр по ID кластера | +| name | string | :x: | Фильтр по имени кластера | +| ip_address | string | :x: | Фильтр по IP адресу | +| rg_id | int | :x: | Фильтр по ID рес. группы | +| lb_id | int | :x: | Фильтр по ID балансировщика | +| bservice_id | int | :x: | Фильтр по ID basic service | +| status | string | :x: | Фильтр по статусу | +| tech_status | string | :x: | Фильтр по тех. статусу | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + +## Возвращаемые значения + +В случае успешного выполнения _data source_ функция **decort_k8s_list_deleted** возвращает в указанную при вызове переменную, в поле items массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | ID аккаунта | +| account_name | string | Имя аккаунта | +| acl | []string | acl | +| bservice_id | int | ID bservice | +| ci_id | int | ID образа кластера | +| config | []string | Конфиг | +| created_by | string | Кем был создан ресурс | +| created_time | int | Время создания ресурса | +| deleted_by | string | Кем был удален ресурс | +| deleted_time | int | Время удаления ресурса | +| desc | string | Описание ресурса | +| extnet_id | int | ID внешней сети | +| gid | int | Grid ID | +| guid | int | ID ресурса | +| k8s_id | int | ID кластера | +| lb_id | int | ID балансировщика нагрзуки | +| milestones | int | Milestones | +| k8s_name | string | Имя кластера k8s | +| rg_id | int | ID ресурсной группы | +| rg_name | string | Имя ресурсной группы | +| service_account | Struct{} [см. ниже](#описание-структуры-service_account)| информация о аккаунте кластера | +| tech_status | string | Технический статус ресурса | +| updated_by | string | Кем был обновлен ресурс | +| updated_time | int | Время последнего обновления ресурса | +| vins_id | int | ID виртуальной сети | +| workers_groups | []Struct{} [см. ниже](#описание-структуры-workers_groups)| группы воркеров кластера | + +### Описание-структуры-service_account + +| Параметр | Тип | Описание | +| --- | --- | --- | +| guid | int | ID ресурса | +| password | string | Пароль аккаунта | +| username | string | Username аккаунта | + +### Описание-структуры-workers_groups + +| Параметр | Тип | Описание | +| --- | --- | --- | +| annotations | []string | Аннотации группы workers | +| cpu | int | Кол-во cpu на компьютах workers | +| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация о группе | +| disk | int | ID диска | +| guid | string | ID ресурса | +| detailed_info_id | int | ID группы workers | +| labels | []string | Лейблы группы workers | +| name | string | Имя ресурса | +| num | int | Кол-во компьютов в группе workers | +| ram | int | Кол-во Ram на компьютах группы workers | +| taints | []string | ограничители группы workers | + +### Описание структуры списка detailed_info + +| Параметр | Тип | Описание | +| --- | --- | --- | +| compute_id | int | ID компьюта в составе группы | +| name | string | Имя компьюта в составе группы | +| status | string | Статус компьюта в составе группы | +| tech_status | string | Статус компьюта в составе группы | +| interfaces | []Struct{} [см. ниже](#описание-структуры-списка-interfaces) | Список интерфейсов группы | +| natable_vins_ip | string | IP NAT | +| natable_vins_network | string | IP виртуальной сети | + +### Описание структуры списка interfaces + +| Параметр | Тип | Описание | +| --- | --- | --- | +| def_gw | string | Шлюз по умолчанию | +| ip_address | string | IP интерфейса | + +## Пример использования + +Пример вызова _data source_ функции **decort_k8s_list_deleted**: + +```terraform +data "decort_k8s_list_deleted" "k8s_list_deleted" { + #номер страницы для отображения + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + page = 1 + + #размер страницы + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + size = 1 +} +``` + +После успешного завершения такого вызова **decort_k8s_list_deleted** в переменной `data.decort_k8s_list_deleted.k8s_list_deleted` будут сохранены возвращаемые значения. diff --git a/06.01.64-Data-функция-decort_rg_affinity_groups_list-получение-информации-о-аффинити-группах.md b/06.01.64-Data-функция-decort_rg_affinity_groups_list-получение-информации-о-аффинити-группах.md index df11cce..1d6ebfb 100644 --- a/06.01.64-Data-функция-decort_rg_affinity_groups_list-получение-информации-о-аффинити-группах.md +++ b/06.01.64-Data-функция-decort_rg_affinity_groups_list-получение-информации-о-аффинити-группах.md @@ -1,38 +1,53 @@ -_Data source_ функция **decort_rg_affinity_groups_list** служит для получения информации о списке аффинити групп ресурсной группы. - -Ресурсная группа в облачной платформе DECORT это способ группирования _compute_-ов (например, по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов (ViNS). - -Экземпляры _compute_ (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра _compute_ помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь _data source_ функцией **decort_rg_affinity_groups_list**. - -## Аргументы -_Data source_ функция **decort_rg_affinity_groups_list** принимает следующие аргументы: - -| Аргумент | Тип | Обязательный | Описание | -| --- | --- | --- | --- | -| rg_id | :heavy_check_mark: | int | Идентификатор ресурсной группы | - -Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному `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_, массив, каждый элемент которого состоит из следующих параметров: -| Параметр | Тип | Описание | -| --- | --- | --- | -| label | string | Лейбл аффинити группы | -| ids | []int | Список ID компьютов | - -## Пример использования -Пример вызова _data source_ функции **decort_rg_affinity_groups_list**: - -```terraform -data "decort_rg_affinity_groups_list" "rg_affinity_groups_list" { - rg_id = 1234 -} -# 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` +_Data source_ функция **decort_rg_affinity_groups_list** служит для получения информации о списке аффинити групп ресурсной группы. + +Ресурсная группа в облачной платформе DECORT это способ группирования _compute_-ов (например, по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов (ViNS). + +Экземпляры _compute_ (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра _compute_ помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь _data source_ функцией **decort_rg_affinity_groups_list**. + +## Аргументы +_Data source_ функция **decort_rg_affinity_groups_list** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| rg_id | :heavy_check_mark: | int | Идентификатор ресурсной группы | +| page | int | :x: | Номер страниц | +| size | int | :x: | Размер страницы | + +Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному `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_, массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| label | string | Лейбл аффинити группы | +| ids | []int | Список ID компьютов | + +## Пример использования +Пример вызова _data source_ функции **decort_rg_affinity_groups_list**: + +```terraform +data "decort_rg_affinity_groups_list" "rg_affinity_groups_list" { + rg_id = 1234 + + #номер страницы для отображения + #опциональный параметр + #тип - число + #если не задан - выводятся все доступные данные + #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` diff --git a/06.01.79-Data-функция-decort_account_resource_consumption_get-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов.md b/06.01.79-Data-функция-decort_account_resource_consumption_get-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов.md new file mode 100644 index 0000000..8ead45a --- /dev/null +++ b/06.01.79-Data-функция-decort_account_resource_consumption_get-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов.md @@ -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` будут сохранены возвращаемые значения. diff --git a/06.01.80-Data-функция-decort_account_resource_consumption_list-получение-информации-о-количестве-потребляемых-и-зарезервированных ресурсов.md b/06.01.80-Data-функция-decort_account_resource_consumption_list-получение-информации-о-количестве-потребляемых-и-зарезервированных ресурсов.md new file mode 100644 index 0000000..198ff8e --- /dev/null +++ b/06.01.80-Data-функция-decort_account_resource_consumption_list-получение-информации-о-количестве-потребляемых-и-зарезервированных ресурсов.md @@ -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` будут сохранены возвращаемые значения. diff --git a/06.01.81-Data-функция-data_source_k8s_wg_cloud_init-получение-информации-об-предустановленных-настройках-группы-воркеров-кластера-Kubernetes.md b/06.01.81-Data-функция-data_source_k8s_wg_cloud_init-получение-информации-об-предустановленных-настройках-группы-воркеров-кластера-Kubernetes.md new file mode 100644 index 0000000..06d639c --- /dev/null +++ b/06.01.81-Data-функция-data_source_k8s_wg_cloud_init-получение-информации-об-предустановленных-настройках-группы-воркеров-кластера-Kubernetes.md @@ -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` будут сохранены возвращаемые значения. + diff --git a/06.01.82-Data-функция-decort_kvmvm_list_deleted-получение-информации-о-списке-удаленных-виртуальных-машин.md b/06.01.82-Data-функция-decort_kvmvm_list_deleted-получение-информации-о-списке-удаленных-виртуальных-машин.md new file mode 100644 index 0000000..54cae1a --- /dev/null +++ b/06.01.82-Data-функция-decort_kvmvm_list_deleted-получение-информации-о-списке-удаленных-виртуальных-машин.md @@ -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` будут сохранены возвращаемые значения. diff --git a/06.01.83-Data-функция-decort_kvmvm_pci_device_list-получение-информации-о-доступных-компьюту-списка-устройств-с-шиной-PCI.md b/06.01.83-Data-функция-decort_kvmvm_pci_device_list-получение-информации-о-доступных-компьюту-списка-устройств-с-шиной-PCI.md new file mode 100644 index 0000000..706abc6 --- /dev/null +++ b/06.01.83-Data-функция-decort_kvmvm_pci_device_list-получение-информации-о-доступных-компьюту-списка-устройств-с-шиной-PCI.md @@ -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` будут сохранены возвращаемые значения. diff --git a/06.01.84-Data-функция-decort_kvmvm_vgpu_list-получение-информации-о-доступных-компьюту-списка-виртуальных-графических-устройств.md b/06.01.84-Data-функция-decort_kvmvm_vgpu_list-получение-информации-о-доступных-компьюту-списка-виртуальных-графических-устройств.md new file mode 100644 index 0000000..34191fc --- /dev/null +++ b/06.01.84-Data-функция-decort_kvmvm_vgpu_list-получение-информации-о-доступных-компьюту-списка-виртуальных-графических-устройств.md @@ -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` будут сохранены возвращаемые значения. diff --git a/06.01.85-Data-функция-decort_rg_resource_consumption_get-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов-по-конкретной-ресурсной-группе.md b/06.01.85-Data-функция-decort_rg_resource_consumption_get-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов-по-конкретной-ресурсной-группе.md new file mode 100644 index 0000000..c130444 --- /dev/null +++ b/06.01.85-Data-функция-decort_rg_resource_consumption_get-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов-по-конкретной-ресурсной-группе.md @@ -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` будут сохранены возвращаемые значения. diff --git a/06.01.86-Data-функция-decort_rg_resource_consumption_list-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов-доступных-ресурсной-группе.md b/06.01.86-Data-функция-decort_rg_resource_consumption_list-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов-доступных-ресурсной-группе.md new file mode 100644 index 0000000..ad7b758 --- /dev/null +++ b/06.01.86-Data-функция-decort_rg_resource_consumption_list-получение-информации-о-количестве-потребляемых-и-зарезервированных-ресурсов-доступных-ресурсной-группе.md @@ -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` будут сохранены возвращаемые значения. diff --git a/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md b/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md index 1ff5af2..2f01b31 100644 --- a/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md +++ b/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md @@ -1,485 +1,484 @@ -_Resource_ функция **decort_kvmvm** служит для управления виртуальными машинами, создаваемыми в платформе DECORT на базе технологии виртуализации KVM. - -### Работа с custom_fields - -CustomFields - это новый метод работы с XML ВМ, пришедший на замену ComputeCI ачиная с версии провайдера 4.3.0. -Для описания конфигурации используется файл в формате JSON, например: - -customfields.json: -``` -{ - "title": "test", - "name": "basename", - "cpu": { - "mode": "host-model" - } -} -``` - -После этого, достаточно передать файл в качестве значения параметра: -``` -custom_fields = file("customfields.json") -``` - -### Возможные затруднения при импорте kvmvm с extra_disks -При импорте kvmvm c extra_disks, терраформ не может записать в стейт информацию об extra_disks по следующим причинам: -- терраформ на стадии импорта не производит чтение конфигурации, кроме проверки необходимых (requirement) полей, из-за чего данные, хранящиеся в поле extra_disks, будут непрочитаны; -Из-за этого, при первом запуске команды `terraform apply`, терраформ сообщит что удалит эти диски из disks, но, при этом, удалены они не будут, если указаны в блоке extra_disks. - -### Работа boot_disk - -В стейт в поле boot_disk записывается первый найденный диск с типом "B", остальные диски с типом "B" обрабатываются и записываются в массив disks. - -### Убраны deprecated поля - -- network_id -- network_type - -### Возможные затруднения при работе с блоком disks. - -По умолчанию, sep_id и pool в платформе выбираются те же, на которых размещается загрузочный диск (создается вместе с виртуальной машиной). Из-за этого, могут возникать ошибки следующего характера: - -- `Cannot add disk to Compute ID XXX: Pool xxxx does not support disk type X ` - данная ошибка означает то, что выбранный пул не поддерживает выбранные тип диска - Пути решения: -- Выполнить **decort_disk_list_types_detailed**. Результатом выполнения этой функции станет список доступных пулов хранилища вместе с их идентификаторами (sep_id). -- Заполнить поля sep_id и pool подходящими полями для диска. -- При удалении не последнего блока в списке, перед подтверждением Terraform не правильно отображает диск, который будет удаляться. На самом деле из состояние будет удален тот диск, который был убран из файла. Также будет нужен дополнительное выполнение terraform apply для того чтобы все блоки сейта терраформа встали на свои места и не отличались от настоящего состояния ресурса - -### Возможные затруднения при работе с сетями - -При работе и изменении сетей в компьюте необходимо предварительно остановить работу, добавив поле в ресурс% - -```terraform -started = false -``` - -И выполнив команду: - -```bash -terraform apply -``` - -Что приведет к остановке машины. -После выполнения работ, машину можно включить, изменив `started` на `true`. - -### Работа с cloud_init - -Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). - -**Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** - -Для использования cloud_init конфигурации, следует: - -1. Создать файл с расширением `.tftpl` в рабочей директории. -2. Описать в созданном файле конфигурацию cloud_init в формате JSON или YAML: - -### initconfig.tftpl - -``` -{ - "users": [ - { - "groups": "users, wheel", - "name": "user", - "plain_text_passwd": "examplePassword", - "primary_group": "user", - "ssh_authorized_keys": [ - "ssh-rsa EXAMPLE%id_rsa.pub" - ], - "sudo": "ALL=(ALL) NOPASSWD:ALL" - } - ] -} -``` - -3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_kvmvm`: - -```terraform -resource "decort_kvmvm" "compute1" { - # ... - - cloud_init = file("initconfig.tftpl") - - # ... -} -``` - -4. Выполнить `terraform apply` - -**Конфигурация cloud_init применяется только при создании компьюта, во всех остальных случаях - игнорируется** - -## Аргументы - -_Resource_ функция **decort_kvmvm** принимает следующие аргументы: - -| Аргумент | Тип | Обязательный | Описание | -| ------------------- | -------------------------------------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| driver | string | :heavy_check_mark: | Аппаратная архитектура виртуальной машины.
Может принимать одно из следующих значений:
_ "KVM_X86" - stateful виртуальная машина KVM на аппаратной платформе x86.
_ "SVA_KVM_X86" - stateless ВМ на аппаратной платформе x86.
\* "KVM_PPC" - виртуальная машина KVM на аппаратной платформе IBM Power. | -| cpu | int | :heavy_check_mark: | Количество процессоров. | -| name | string | :heavy_check_mark: | Имя виртуальной машины. Обратите внимание, что имя должно быть уникальным в рамках ресурсной группы. | -| rg_id | int | :heavy_check_mark: | Идентификатор ресурсной группы, которой принадлежит данная виртуальная машина. | -| ram | int | :heavy_check_mark: | Объём оперативной памяти в МБ.
| -| image_id | int | :heavy_check_mark: | Идентификатор образа, на базе которого создаётся загрузочный диск виртуальной машины.
| -| boot_disk_size | int | :heavy_check_mark: | Размер загрузочного диска виртуальной машины в ГБ. -| custom_fields | string (json-encoded) | :x: | Управление XML виртуальной машины -| extra_disks | []int | :x: | Список идентификаторов дополнительных дисков, которые требуется подключить к данной виртуальной машине помимо загрузочного диска. | -| cloud_init | string | :x: | Используется на этапе создания вм.
Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. | -| with_default_vins | bool | :x: | При значении false ВМ создается без подключения стандартных ViNS ресурсной группы. При указании хотя бы одного блока network (см. ниже) данный параметр игнорируется. Дефолтное значение - true. | -| network | []Struct [см. ниже](#описание-блока-network) | :x: | Параметры сетевого подключения. Если нужно сконфигурировать несколько сетевых подключений, данный блок можно задавать многократно - по одному на каждое подключение. | -| description | string | :x: | Текстовое описание виртуальной машины. | -| started | bool | :x: | Флаг запуска машины,
по-умолчанию - true.
Если true - машина включена,
если false - выключена. | -| sep_id | int | :x: | Идентификатор sep | -| pool | string | :x: | Наименование пула для размещения | -| is | string | :x: | Наименование системы | -| ipa_type | string | :x: | Тип аутентификатора | -| permanently | bool | :x: | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | -| detach_disks | bool | :x: | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | -| disks | []Struct [см. ниже](#описание-блока-disks) | :x: | Описание диска. Таких может быть любое кол-во, либо не быть вообще | -| enabled | bool | :x: | Доступность вычислительной машины | -| affinity_label | string | :x: | Метка для правил affinity | -| affinity_rules | []Struct [см. ниже](#описание-блока-affinity_rules) | :x: | Блок описания правил affinity. Блоков может быть несколько, один или отсутствовать. | -| anti_affinity_rules | []Struct [см. ниже](#описание-блока-anti_affinity_rules) | :x: | Блок описания правил anti-affinity. Блоков может быть несколько, один или отсутствовать. | -| tags | []Struct [см. ниже](#описание-блока-tags) | :x: | Задание тэгов компьюта | -| port_forwarding | []Struct [см. ниже](#описание-блока-port_forwarding) | :x: | Настройка порт форвардинга для компьюта | -| user_access | []Struct [см. ниже](#описание-блока-user_access) | :x: | Предоставление доступов к компьюту | -| snapshot | []Struct [см. ниже](#описание-блока-snapshot) | :x: | Создание мнапшотов | -| rollback | []Struct [см. ниже](#описание-блока-rollback) | :x: | Rollback на определенный снапшот | -| cd | []Struct [см. ниже](#описание-блока-cd) | :x: | Добавление диска cd rom | -| pin_to_stack | bool | :x: | Флаг, отвечающий за добавление кмпьюта в стэк | -| pause | bool | :x: | Флаг, отвкчающий за pause/resume компьюта | -| reset | bool | :x: | Флаг, отвкчающий за reset компьюта | -| auto_start | bool | :x: | Флаг, отвечающий за авто старт при редеплое компьюта | -| force_stop | bool | :x: | Флаг, отвечающий за стоп при редеплое компьюта | -| data_disks | string | :x: | Указание того, что делать с дисками при редеплое. Возможные значения: "KEEP", "DETACH" и "DESTROY" | - -### Описание блока disks - -| Аргумент | Тип | Обязательный | Описание | -| ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| disk_name | string | :heavy_check_mark: | Наименование диска | -| size | int | :heavy_check_mark: | Размер диска, GB | -| disk_type | string | :x: | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск | -| sep_id | int | :x: | ID storage endpoint | -| pool | string | :x: | Наименование пула для размещения диска | -| desc | string | :x: | Описание диска | -| image_id | int | :x: | ID образа | -| permanently | bool | :x: | Флаг для удаления диска. Если выставлен в true - диск будет моментально удален с платформы, иначе будет добавлен в корзину и его можно будет восстановить. Значение поля считывается только при операции `terraform destroy`. По умолчанию - false | - -### Описание блока network - -| Аргумент | Тип | Обязательный | Описание | -| ---------- | ------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| net_type | string | :heavy_check_mark: | тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment. | -| net_id | int | :heavy_check_mark: | идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"` | -| ip_address | string | :x: | IP адрес, выделенный данному подключению. | - -### Описание блока affinity_rules - -| Аргумент | Тип | Обязательный | Описание | -| -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- | -| topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute | -| policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) | -| mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое | -| key | string | :heavy_check_mark: | Ключ правила | -| value | string | :heavy_check_mark: | Значение правила | - -### Описание блока anti_affinity_rules - -| Аргумент | Тип | Обязательный | Описание | -| -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- | -| topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute | -| policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) | -| mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое | -| key | string | :heavy_check_mark: | Ключ правила | -| value | string | :heavy_check_mark: | Значение правила | - -### Описание блока tags - -| Аргумент | Тип | Обязательный | Описание | -| -------- | ------ | ------------------ | ------------- | -| key | string | :heavy_check_mark: | Ключ тэга | -| val | string | :heavy_check_mark: | Значение тэга | - -### Описание блока port_forwarding - -| Аргумент | Тип | Обязательный | Описание | -| ----------------- | ------ | ------------------ | ------------------------------------------------------------------ | -| public_port_start | int | :heavy_check_mark: | Начало диапазона внешних портов для данного правила pfw | -| public_port_end | int | :x: | Конец диапазона внешних портов для данного правила pfw | -| local_port | int | :heavy_check_mark: | Локальный порт для данного правила pfw | -| proto | string | :heavy_check_mark: | Протокол создания правила pfw. Возможные значения: "tcp" или "udp" | - -### Описание блока user_access - -| Аргумент | Тип | Обязательный | Описание | -| ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------- | -| username | string | :heavy_check_mark: | Юзер, которому необходимо выдать определенные права на компьют | -| access_type | string | :heavy_check_mark: | Права, которые выдадутся юзеру на компьют. Возможные значения: "R", "RCX" или "ARCXDU" | - -### Описание блока snapshot - -| Аргумент | Тип | Обязательный | Описание | -| -------- | ------ | ------------------ | -------------- | -| label | string | :heavy_check_mark: | Лейбл снапшота | - -### Описание блока rollback - -| Аргумент | Тип | Обязательный | Описание | -| -------- | ------ | ------------------ | ------------------------------------------------ | -| label | string | :heavy_check_mark: | Лейбл снапшота на который нужно сделать rollback | - -### Описание блока cd - -| Аргумент | Тип | Обязательный | Описание | -| -------- | --- | ------------------ | -------------------------------- | -| cdrom_id | int | :heavy_check_mark: | Идентификатор образа cdrom диска | - -## Возвращаемые значения - -В случае успешного выполнения _resource_ функция **decort_kvmvm** возвращает в указанную при вызове переменную следующие значения: - -| Параметр | Тип | Описание | -| ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| account_id | int | Уникальный идентификатор подписчика-владельца ("account") данной виртуальной машины. | -| account_name | string | Имя подписчика, которому принадлежит данная виртуальная машина. | -| affinity_label | string | Метка для правил affinity | -| affinity_weight | int | weight аффинити | -| arch | string | Архитектура | -| boot_order | []string | Boot order | -| boot_disk | []Struct [см. ниже](#описание-структуры-boot_disk) | Полная информация о бутдиске | -| boot_disk_id | int | Идентификатор загрузочного диска виртуальной машины. | -| boot_disk_size | int | Размер загрузочного диска в ГБ. | -| driver | string | Аппаратная архитектура данной виртуальной машины. | -| disks | [см. ниже](#описание-блока-disks) | Описание диска. Таких может быть любое кол-во, либо не быть вообще | -| clone_reference | int | кол-во клонов | -| clones | []int | id клонов | -| computeci_id | int | Id computeci | -| cpu | int | Количество виртуальных CPU, выделенных данному серверу. | -| created_by | string | Кем создан ресурс | -| created_time | int | Время создания ресурса | -|custom_fields | string | Кастомные поля | -| deleted_by | string | Кем удален ресурс | -| deleted_time | int | Время удаления ресурса | -| description | string | Текстовое описание виртуальной машины. | -| detach_disks | bool | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | -| devices | string | Девайсы | -| enabled | bool | Доступность вычислительной машины | -| extra_disks | list of ints | Список идентификаторов дополнительных дисков, которые подключены к данной виртуальной машине помимо загрузочного диска. Если такие диски отсутствуют, то список будет пустым. | -| gid | int | GID | -| guid | int | GUID | -| compute_id | int | Идентификатор экземпляра _compute_, соответствующего данной виртуальной машине. | -| id | int | Уникальный идентификатор этой виртуальной машины в облачной платформе. Всегда совпадает с `compute_id`. | -| image_id | int | Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. | -| interfaces | []Struct [см. ниже](#описание-структуры-interfaces) | Информация о интерфейсах компьюта | -| ipa_type | string | Тип аутентификатора | -| is | string | Наименование системы | -| lock_status | string | Статус доступности | -| manager_id | int | Manager id | -| manager_type | string | Type manager | -| migrationjob | int | Migrationjob | -| milestones | int | Вехи | -| name | string | Имя виртуального сервера.
Возвращаемое значение `name` совпадает со значением соответствующего аргумента, переданного при вызове функции. | -| natable_vins_id | int | NAT vins id | -| natable_vins_ip | string | NAT vins ip | -| natable_vins_name | string | NAT vins name | -| natable_vins_network | string | NAT vins network | -| natable_vins_network_name | string | NAT vins network name | -| network | list of dicts | Характеристики сетевых сегментов, к которым подключен данный сервер. Формат структуры:
_ (string) `net_type` - тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment.
_ (int) `net_id` - идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"`
_ (string) `ip_address` - IP адрес, выделенный данному подключению.
_ (string) `mac` - MAC адрес, назначенный соответствующему сетевому интерфейсу виртуальной машины. | -| os_users | []Struct [см. ниже](#описание-структуры-os-users) | Имена и пароли пользователей гостевой ОС, установленные платформой при создании виртуального сервера. Формат структуры:
_ (string) `login` - учётная запись в гостевой ОС.
_ (string) `password` - пароль к этой учётной записи. | -| permanently | bool | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | -| pinned | bool | добавлен ли компьют на стек | -| pool | string | Наименование пула для размещения | -| ram | int | Объём оперативной памяти в МБ, выделенной этой виртуальной машине. | -| reference_id | string | ID reference | -| registered | bool | Компьют зарегестрирован | -| res_name | string | Res name | -| reset | bool | Флаг отвкчающий за reset компьюта | -| rg_id | int | Идентификатор ресурсной группы, к которой принадлежит виртуальная машина. | -| rg_name | string | Имя ресурсной группы, к которой принадлежит виртуальная машина. | -| sep_id | int | Идентификатор sep | -| snap_sets | []Struct [см. ниже](#описание-структуры-snap-sets) | Snap sets | -| started | bool | Опциональный параметр, флаг запуска машины,
по-умолчанию - true.
Если true - машина включена,
если false - выключена. | -| stateless_sep_id | int | ID сепа | -| stateless_sep_type | string | Тип сепа | -| status | string | Cтатус | -| tech_status | string | Технический статус | -| updated_by | string | Кем обновлен ресурс | -| updated_time | int | Время обновления ресурса | -| user_managed | bool | User managed | -| cloud_init | string | Параметры cloud_init | -| vgpus | []int | Список vgpu | -| virtual_image_id | int | ID виртуального образа | -| virtual_image_name | string | Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. | - -### Описание структуры 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 | - -### Описание структуры os users - -| Параметр | Тип | Описание | -| ---------- | ------ | ------------------ | -| guid | string | GUID | -| login | string | Логин | -| password | string | Пароль | -| public_key | string | Публичный ssh ключ | - -### Описание структуры snap sets - -| Параметр | Тип | Описание | -| --------- | ------ | ---------------- | -| disks | []int | Список id дисков | -| guid | string | GUID | -| label | string | Лейбл | -| timestamp | int | Время | - -### Описание структуры boot_disk - -| Параметр | Тип | Описание | -| --------- | ------ | --------------------------- | -| desc | string | Описание диска | -| disk_id | int | ID диска | -| disk_name | string | Наименование диска | -| disk_type | string | Тип диска (B) | -| image_id | int | ID образа диска | -| pool | string | Наименование пула | -| sep_id | int | Storage Endpoint ID | -| shareable | bool | Доступность другим ресурсам | -| size | int | Размер диска | -| size_max | int | Максимальный размер диска | -| size_used | float | Используемый размер | - -### Описание блока disks - -| Аргумент | Тип | Описание | -| --------- | ------ | --------------------------------------------------------------------------- | -| disk_id | int | ID диска | -| disk_name | string | Наименование диска | -| size | int | Размер диска, GB | -| disk_type | string | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск | -| sep_id | int | ID storage endpoint | -| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | -| size_max | int | Размер диска | -| size_used | float | Размер занимаемого на диске места | -| pool | string | Наименование пула для размещения диска | -| desc | string | Описание диска | -| image_id | int | ID образа | - -## Пример использования - -В нижеприведённом примере с помощью _resource_ функции **decort_kvmvm** создаётся виртуальная машина (экземпляр _compute_ в терминологии платформы DECORT) следующими характеристиками: - -- Имя виртуальной машины - "tf-managed-vm" -- Характеристики виртуальной машины - 1 CPU, 1024Мб RAM, размер загрузочного диска 10Гб -- К виртуальной машине будет подключён один дополнительный диск с идентификатором 56789 -- Идентификатор ресурсной группы, в которой создаётся виртуальная машина - поступает из переменной _decort_resgroup.my_rg.id_ -- Идентификатор образа ОС, который будет установлен на загрузочный диск - поступает из переменной _data.decort_image.os_image.id_ -- Виртуальная машина будет иметь одно сетевое подключение - во внешнюю сеть с идентификатором 12, IP адрес этого подключения платформа установит автоматически -- Для виртуальной машины будет создан и автоматически подключен диск с именем "test_disk" и размером в 10 GB. Созданный диск будет иметь тип "D", размещен в pool "test_pool", в хранилище с идентификатором 3. Данный диск будет создан с системным образом, который имеет идентификатор 3456. - -```terraform -resource "decort_kvmvm" "my_new_vm" { - name = "tf-managed-vm" - rg_id = decort_resgroup.my_rg.id - driver = "KVM_X86" # "KVM_PPC" for IBM Power or "KVM_X86" for Intel - cpu = 1 # CPU count - ram = 1024 # RAM size in MB, must be even number, ideally a power of 2 - boot_disk_size = 10 # Boot disk size in GB - extra_disks = [ 56789 ] - image_id = data.decort_image.os_image.id - description = "Test KVM VM Compute managed by Terraform" - - cloud_init = file("initconfig.tftpl") # содержание файла см. ниже - - network { - net_type = "EXTNET" - net_id = 12 - } - - disks { - disk_name = "test_disk" - size = 10 - sep_id = 3 - pool = "test_pool" - image_id = 3456 - } - - affinity_label = "test4" - - affinity_rules { - topology = "compute" - policy = "RECOMMENDED" - mode = "ANY" - key = "testkey1" - value = "testvalue1" - } - - anti_affinity_rules { - topology = "compute" - policy = "RECOMMENDED" - mode = "ANY" - key = "testkey2" - value = "testvalue2" - } - - - #started = true - #enabled = true - #is="" - #ipa_type = "" -} -``` - -### initconfig.tftpl - -``` -{ - "users": [ - { - "groups": "users, wheel", - "name": "user", - "plain_text_passwd": "examplePassword", - "primary_group": "user", - "ssh_authorized_keys": [ - "ssh-rsa EXAMPLE%id_rsa.pub" - ], - "sudo": "ALL=(ALL) NOPASSWD:ALL" - } - ] -} -``` - -Данный пример подразумевает, что ранее по тексту tf-файла : - -- выполнена корректная инициализация провайдера (подробнее об инициализации 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_ -- считана информация об образе ОС(см. _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 на базе технологии виртуализации KVM. + +### Работа с custom_fields + +CustomFields - это новый метод работы с XML ВМ, пришедший на замену ComputeCI ачиная с версии провайдера 4.3.0. +Для описания конфигурации используется файл в формате JSON, например: + +customfields.json: +``` +{ + "title": "test", + "name": "basename", + "cpu": { + "mode": "host-model" + } +} +``` + +После этого, достаточно передать файл в качестве значения параметра: +``` +custom_fields = file("customfields.json") +``` + +### Возможные затруднения при импорте kvmvm с extra_disks +При импорте kvmvm c extra_disks, терраформ не может записать в стейт информацию об extra_disks по следующим причинам: +- терраформ на стадии импорта не производит чтение конфигурации, кроме проверки необходимых (requirement) полей, из-за чего данные, хранящиеся в поле extra_disks, будут непрочитаны; +Из-за этого, при первом запуске команды `terraform apply`, терраформ сообщит что удалит эти диски из disks, но, при этом, удалены они не будут, если указаны в блоке extra_disks. + +### Работа boot_disk + +В стейт в поле boot_disk записывается первый найденный диск с типом "B", остальные диски с типом "B" обрабатываются и записываются в массив disks. + +### Убраны deprecated поля + +- network_id +- network_type + +### Возможные затруднения при работе с блоком disks. + +По умолчанию, sep_id и pool в платформе выбираются те же, на которых размещается загрузочный диск (создается вместе с виртуальной машиной). Из-за этого, могут возникать ошибки следующего характера: + +- `Cannot add disk to Compute ID XXX: Pool xxxx does not support disk type X ` - данная ошибка означает то, что выбранный пул не поддерживает выбранные тип диска + Пути решения: +- Выполнить **decort_disk_list_types_detailed**. Результатом выполнения этой функции станет список доступных пулов хранилища вместе с их идентификаторами (sep_id). +- Заполнить поля sep_id и pool подходящими полями для диска. +- При удалении не последнего блока в списке, перед подтверждением Terraform не правильно отображает диск, который будет удаляться. На самом деле из состояние будет удален тот диск, который был убран из файла. Также будет нужен дополнительное выполнение terraform apply для того чтобы все блоки сейта терраформа встали на свои места и не отличались от настоящего состояния ресурса + +### Возможные затруднения при работе с сетями + +При работе и изменении сетей в компьюте необходимо предварительно остановить работу, добавив поле в ресурс% + +```terraform +started = false +``` + +И выполнив команду: + +```bash +terraform apply +``` + +Что приведет к остановке машины. +После выполнения работ, машину можно включить, изменив `started` на `true`. + +### Работа с cloud_init + +Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). + +**Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** + +Для использования cloud_init конфигурации, следует: + +1. Создать файл с расширением `.tftpl` в рабочей директории. +2. Описать в созданном файле конфигурацию cloud_init в формате JSON или YAML: + +### initconfig.tftpl + +``` +{ + "users": [ + { + "groups": "users, wheel", + "name": "user", + "plain_text_passwd": "examplePassword", + "primary_group": "user", + "ssh_authorized_keys": [ + "ssh-rsa EXAMPLE%id_rsa.pub" + ], + "sudo": "ALL=(ALL) NOPASSWD:ALL" + } + ] +} +``` + +3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_kvmvm`: + +```terraform +resource "decort_kvmvm" "compute1" { + # ... + + cloud_init = file("initconfig.tftpl") + + # ... +} +``` + +4. Выполнить `terraform apply` + +**Конфигурация cloud_init применяется только при создании компьюта, во всех остальных случаях - игнорируется** + +## Аргументы + +_Resource_ функция **decort_kvmvm** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +|---------------------|----------------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| driver | string | :heavy_check_mark: | Аппаратная архитектура виртуальной машины.
Может принимать одно из следующих значений:
_ "KVM_X86" - stateful виртуальная машина KVM на аппаратной платформе x86.
_ "SVA_KVM_X86" - stateless ВМ на аппаратной платформе x86.
\* "KVM_PPC" - виртуальная машина KVM на аппаратной платформе IBM Power. | +| cpu | int | :heavy_check_mark: | Количество процессоров. | +| name | string | :heavy_check_mark: | Имя виртуальной машины. Обратите внимание, что имя должно быть уникальным в рамках ресурсной группы. | +| rg_id | int | :heavy_check_mark: | Идентификатор ресурсной группы, которой принадлежит данная виртуальная машина. | +| ram | int | :heavy_check_mark: | Объём оперативной памяти в МБ.
| +| image_id | int | :heavy_check_mark: | Идентификатор образа, на базе которого создаётся загрузочный диск виртуальной машины.
| +| boot_disk_size | int | :heavy_check_mark: | Размер загрузочного диска виртуальной машины в ГБ. | +| custom_fields | string (json-encoded) | :x: | Управление XML виртуальной машины | +| extra_disks | []int | :x: | Список идентификаторов дополнительных дисков, которые требуется подключить к данной виртуальной машине помимо загрузочного диска. | +| cloud_init | string | :x: | Используется на этапе создания вм.
Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. | +| network | []Struct [см. ниже](#описание-блока-network) | :x: | Параметры сетевого подключения. Если нужно сконфигурировать несколько сетевых подключений, данный блок можно задавать многократно - по одному на каждое подключение. | +| description | string | :x: | Текстовое описание виртуальной машины. | +| started | bool | :x: | Флаг запуска машины,
по-умолчанию - true.
Если true - машина включена,
если false - выключена. | +| sep_id | int | :x: | Идентификатор sep | +| pool | string | :x: | Наименование пула для размещения | +| is | string | :x: | Наименование системы | +| ipa_type | string | :x: | Тип аутентификатора | +| permanently | bool | :x: | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | +| detach_disks | bool | :x: | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | +| disks | []Struct [см. ниже](#описание-блока-disks) | :x: | Описание диска. Таких может быть любое кол-во, либо не быть вообще | +| enabled | bool | :x: | Доступность вычислительной машины | +| affinity_label | string | :x: | Метка для правил affinity | +| affinity_rules | []Struct [см. ниже](#описание-блока-affinity_rules) | :x: | Блок описания правил affinity. Блоков может быть несколько, один или отсутствовать. | +| anti_affinity_rules | []Struct [см. ниже](#описание-блока-anti_affinity_rules) | :x: | Блок описания правил anti-affinity. Блоков может быть несколько, один или отсутствовать. | +| tags | []Struct [см. ниже](#описание-блока-tags) | :x: | Задание тэгов компьюта | +| port_forwarding | []Struct [см. ниже](#описание-блока-port_forwarding) | :x: | Настройка порт форвардинга для компьюта | +| user_access | []Struct [см. ниже](#описание-блока-user_access) | :x: | Предоставление доступов к компьюту | +| snapshot | []Struct [см. ниже](#описание-блока-snapshot) | :x: | Создание мнапшотов | +| rollback | []Struct [см. ниже](#описание-блока-rollback) | :x: | Rollback на определенный снапшот | +| cd | []Struct [см. ниже](#описание-блока-cd) | :x: | Добавление диска cd rom | +| pin_to_stack | bool | :x: | Флаг, отвечающий за добавление кмпьюта в стэк | +| pause | bool | :x: | Флаг, отвкчающий за pause/resume компьюта | +| reset | bool | :x: | Флаг, отвкчающий за reset компьюта | +| auto_start | bool | :x: | Флаг, отвечающий за авто старт при редеплое компьюта | +| force_stop | bool | :x: | Флаг, отвечающий за стоп при редеплое компьюта | +| data_disks | string | :x: | Указание того, что делать с дисками при редеплое. Возможные значения: "KEEP", "DETACH" и "DESTROY" | + +### Описание блока disks + +| Аргумент | Тип | Обязательный | Описание | +| ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| disk_name | string | :heavy_check_mark: | Наименование диска | +| size | int | :heavy_check_mark: | Размер диска, GB | +| disk_type | string | :x: | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск | +| sep_id | int | :x: | ID storage endpoint | +| pool | string | :x: | Наименование пула для размещения диска | +| desc | string | :x: | Описание диска | +| image_id | int | :x: | ID образа | +| permanently | bool | :x: | Флаг для удаления диска. Если выставлен в true - диск будет моментально удален с платформы, иначе будет добавлен в корзину и его можно будет восстановить. Значение поля считывается только при операции `terraform destroy`. По умолчанию - false | + +### Описание блока network + +| Аргумент | Тип | Обязательный | Описание | +| ---------- | ------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| net_type | string | :heavy_check_mark: | тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment. | +| net_id | int | :heavy_check_mark: | идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"` | +| ip_address | string | :x: | IP адрес, выделенный данному подключению. | + +### Описание блока affinity_rules + +| Аргумент | Тип | Обязательный | Описание | +| -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- | +| topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute | +| policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) | +| mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое | +| key | string | :heavy_check_mark: | Ключ правила | +| value | string | :heavy_check_mark: | Значение правила | + +### Описание блока anti_affinity_rules + +| Аргумент | Тип | Обязательный | Описание | +| -------- | ------ | ------------------ | -------------------------------------------------------------------------------------------- | +| topology | string | :heavy_check_mark: | Тип правила. Возможные значения - node, compute | +| policy | string | :heavy_check_mark: | Строгость правила. Возможные значения - RECOMMENDED (рекомендовано) и REQUIRED (обязательно) | +| mode | string | :heavy_check_mark: | Режим проверки. Возможные значения - EQ (равно), NE (не равно), ANY - любое | +| key | string | :heavy_check_mark: | Ключ правила | +| value | string | :heavy_check_mark: | Значение правила | + +### Описание блока tags + +| Аргумент | Тип | Обязательный | Описание | +| -------- | ------ | ------------------ | ------------- | +| key | string | :heavy_check_mark: | Ключ тэга | +| val | string | :heavy_check_mark: | Значение тэга | + +### Описание блока port_forwarding + +| Аргумент | Тип | Обязательный | Описание | +| ----------------- | ------ | ------------------ | ------------------------------------------------------------------ | +| public_port_start | int | :heavy_check_mark: | Начало диапазона внешних портов для данного правила pfw | +| public_port_end | int | :x: | Конец диапазона внешних портов для данного правила pfw | +| local_port | int | :heavy_check_mark: | Локальный порт для данного правила pfw | +| proto | string | :heavy_check_mark: | Протокол создания правила pfw. Возможные значения: "tcp" или "udp" | + +### Описание блока user_access + +| Аргумент | Тип | Обязательный | Описание | +| ----------- | ------ | ------------------ | -------------------------------------------------------------------------------------- | +| username | string | :heavy_check_mark: | Юзер, которому необходимо выдать определенные права на компьют | +| access_type | string | :heavy_check_mark: | Права, которые выдадутся юзеру на компьют. Возможные значения: "R", "RCX" или "ARCXDU" | + +### Описание блока snapshot + +| Аргумент | Тип | Обязательный | Описание | +| -------- | ------ | ------------------ | -------------- | +| label | string | :heavy_check_mark: | Лейбл снапшота | + +### Описание блока rollback + +| Аргумент | Тип | Обязательный | Описание | +| -------- | ------ | ------------------ | ------------------------------------------------ | +| label | string | :heavy_check_mark: | Лейбл снапшота на который нужно сделать rollback | + +### Описание блока cd + +| Аргумент | Тип | Обязательный | Описание | +| -------- | --- | ------------------ | -------------------------------- | +| cdrom_id | int | :heavy_check_mark: | Идентификатор образа cdrom диска | + +## Возвращаемые значения + +В случае успешного выполнения _resource_ функция **decort_kvmvm** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +| ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| account_id | int | Уникальный идентификатор подписчика-владельца ("account") данной виртуальной машины. | +| account_name | string | Имя подписчика, которому принадлежит данная виртуальная машина. | +| affinity_label | string | Метка для правил affinity | +| affinity_weight | int | weight аффинити | +| arch | string | Архитектура | +| boot_order | []string | Boot order | +| boot_disk | []Struct [см. ниже](#описание-структуры-boot_disk) | Полная информация о бутдиске | +| boot_disk_id | int | Идентификатор загрузочного диска виртуальной машины. | +| boot_disk_size | int | Размер загрузочного диска в ГБ. | +| driver | string | Аппаратная архитектура данной виртуальной машины. | +| disks | [см. ниже](#описание-блока-disks) | Описание диска. Таких может быть любое кол-во, либо не быть вообще | +| clone_reference | int | кол-во клонов | +| clones | []int | id клонов | +| computeci_id | int | Id computeci | +| cpu | int | Количество виртуальных CPU, выделенных данному серверу. | +| created_by | string | Кем создан ресурс | +| created_time | int | Время создания ресурса | +|custom_fields | string | Кастомные поля | +| deleted_by | string | Кем удален ресурс | +| deleted_time | int | Время удаления ресурса | +| description | string | Текстовое описание виртуальной машины. | +| detach_disks | bool | Отсоединение прикрепленных к виртуальной машине дисков перед ее удалением. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | +| devices | string | Девайсы | +| enabled | bool | Доступность вычислительной машины | +| extra_disks | list of ints | Список идентификаторов дополнительных дисков, которые подключены к данной виртуальной машине помимо загрузочного диска. Если такие диски отсутствуют, то список будет пустым. | +| gid | int | GID | +| guid | int | GUID | +| compute_id | int | Идентификатор экземпляра _compute_, соответствующего данной виртуальной машине. | +| id | int | Уникальный идентификатор этой виртуальной машины в облачной платформе. Всегда совпадает с `compute_id`. | +| image_id | int | Идентификатор образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. | +| interfaces | []Struct [см. ниже](#описание-структуры-interfaces) | Информация о интерфейсах компьюта | +| ipa_type | string | Тип аутентификатора | +| is | string | Наименование системы | +| lock_status | string | Статус доступности | +| manager_id | int | Manager id | +| manager_type | string | Type manager | +| migrationjob | int | Migrationjob | +| milestones | int | Вехи | +| name | string | Имя виртуального сервера.
Возвращаемое значение `name` совпадает со значением соответствующего аргумента, переданного при вызове функции. | +| natable_vins_id | int | NAT vins id | +| natable_vins_ip | string | NAT vins ip | +| natable_vins_name | string | NAT vins name | +| natable_vins_network | string | NAT vins network | +| natable_vins_network_name | string | NAT vins network name | +| network | list of dicts | Характеристики сетевых сегментов, к которым подключен данный сервер. Формат структуры:
_ (string) `net_type` - тип сети, соответствующей данному подключению. "EXTNET" в случае прямого подключения во внешнюю сеть, "VINS" в случае подключения к Virtual Network Segment.
_ (int) `net_id` - идентификатор соответствующего сетевого сегмента: внешней сети в случае `net_type = "EXTNET"` и ViNS в случае `net_type = "VINS"`
_ (string) `ip_address` - IP адрес, выделенный данному подключению.
_ (string) `mac` - MAC адрес, назначенный соответствующему сетевому интерфейсу виртуальной машины. | +| os_users | []Struct [см. ниже](#описание-структуры-os-users) | Имена и пароли пользователей гостевой ОС, установленные платформой при создании виртуального сервера. Формат структуры:
_ (string) `login` - учётная запись в гостевой ОС.
_ (string) `password` - пароль к этой учётной записи. | +| permanently | bool | Мгновенное удаление виртуальной машины, минуя корзину. Параметр считывается только при использовании команды `terraform destroy`, то есть только при удалении ресурса | +| pinned | bool | добавлен ли компьют на стек | +| pool | string | Наименование пула для размещения | +| ram | int | Объём оперативной памяти в МБ, выделенной этой виртуальной машине. | +| reference_id | string | ID reference | +| registered | bool | Компьют зарегестрирован | +| res_name | string | Res name | +| reset | bool | Флаг отвкчающий за reset компьюта | +| rg_id | int | Идентификатор ресурсной группы, к которой принадлежит виртуальная машина. | +| rg_name | string | Имя ресурсной группы, к которой принадлежит виртуальная машина. | +| sep_id | int | Идентификатор sep | +| snap_sets | []Struct [см. ниже](#описание-структуры-snap-sets) | Snap sets | +| started | bool | Опциональный параметр, флаг запуска машины,
по-умолчанию - true.
Если true - машина включена,
если false - выключена. | +| stateless_sep_id | int | ID сепа | +| stateless_sep_type | string | Тип сепа | +| status | string | Cтатус | +| tech_status | string | Технический статус | +| updated_by | string | Кем обновлен ресурс | +| updated_time | int | Время обновления ресурса | +| user_managed | bool | User managed | +| cloud_init | string | Параметры cloud_init | +| vgpus | []int | Список vgpu | +| virtual_image_id | int | ID виртуального образа | +| virtual_image_name | string | Имя образа ОС, на базе которого создан загрузочный диск этой виртуальной машины. | + +### Описание структуры 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 | + +### Описание структуры os users + +| Параметр | Тип | Описание | +| ---------- | ------ | ------------------ | +| guid | string | GUID | +| login | string | Логин | +| password | string | Пароль | +| public_key | string | Публичный ssh ключ | + +### Описание структуры snap sets + +| Параметр | Тип | Описание | +| --------- | ------ | ---------------- | +| disks | []int | Список id дисков | +| guid | string | GUID | +| label | string | Лейбл | +| timestamp | int | Время | + +### Описание структуры boot_disk + +| Параметр | Тип | Описание | +| --------- | ------ | --------------------------- | +| desc | string | Описание диска | +| disk_id | int | ID диска | +| disk_name | string | Наименование диска | +| disk_type | string | Тип диска (B) | +| image_id | int | ID образа диска | +| pool | string | Наименование пула | +| sep_id | int | Storage Endpoint ID | +| shareable | bool | Доступность другим ресурсам | +| size | int | Размер диска | +| size_max | int | Максимальный размер диска | +| size_used | float | Используемый размер | + +### Описание блока disks + +| Аргумент | Тип | Описание | +| --------- | ------ | --------------------------------------------------------------------------- | +| disk_id | int | ID диска | +| disk_name | string | Наименование диска | +| size | int | Размер диска, GB | +| disk_type | string | Тип диска. Возможные значения: "D" - диск с данными, "B" - загрузочный диск | +| sep_id | int | ID storage endpoint | +| shareable | bool | Флаг, отвечающий за доступность диска дургим ресурсам | +| size_max | int | Размер диска | +| size_used | float | Размер занимаемого на диске места | +| pool | string | Наименование пула для размещения диска | +| desc | string | Описание диска | +| image_id | int | ID образа | + +## Пример использования + +В нижеприведённом примере с помощью _resource_ функции **decort_kvmvm** создаётся виртуальная машина (экземпляр _compute_ в терминологии платформы DECORT) следующими характеристиками: + +- Имя виртуальной машины - "tf-managed-vm" +- Характеристики виртуальной машины - 1 CPU, 1024Мб RAM, размер загрузочного диска 10Гб +- К виртуальной машине будет подключён один дополнительный диск с идентификатором 56789 +- Идентификатор ресурсной группы, в которой создаётся виртуальная машина - поступает из переменной _decort_resgroup.my_rg.id_ +- Идентификатор образа ОС, который будет установлен на загрузочный диск - поступает из переменной _data.decort_image.os_image.id_ +- Виртуальная машина будет иметь одно сетевое подключение - во внешнюю сеть с идентификатором 12, IP адрес этого подключения платформа установит автоматически +- Для виртуальной машины будет создан и автоматически подключен диск с именем "test_disk" и размером в 10 GB. Созданный диск будет иметь тип "D", размещен в pool "test_pool", в хранилище с идентификатором 3. Данный диск будет создан с системным образом, который имеет идентификатор 3456. + +```terraform +resource "decort_kvmvm" "my_new_vm" { + name = "tf-managed-vm" + rg_id = decort_resgroup.my_rg.id + driver = "KVM_X86" # "KVM_PPC" for IBM Power or "KVM_X86" for Intel + cpu = 1 # CPU count + ram = 1024 # RAM size in MB, must be even number, ideally a power of 2 + boot_disk_size = 10 # Boot disk size in GB + extra_disks = [ 56789 ] + image_id = data.decort_image.os_image.id + description = "Test KVM VM Compute managed by Terraform" + + cloud_init = file("initconfig.tftpl") # содержание файла см. ниже + + network { + net_type = "EXTNET" + net_id = 12 + } + + disks { + disk_name = "test_disk" + size = 10 + sep_id = 3 + pool = "test_pool" + image_id = 3456 + } + + affinity_label = "test4" + + affinity_rules { + topology = "compute" + policy = "RECOMMENDED" + mode = "ANY" + key = "testkey1" + value = "testvalue1" + } + + anti_affinity_rules { + topology = "compute" + policy = "RECOMMENDED" + mode = "ANY" + key = "testkey2" + value = "testvalue2" + } + + + #started = true + #enabled = true + #is="" + #ipa_type = "" +} +``` + +### initconfig.tftpl + +``` +{ + "users": [ + { + "groups": "users, wheel", + "name": "user", + "plain_text_passwd": "examplePassword", + "primary_group": "user", + "ssh_authorized_keys": [ + "ssh-rsa EXAMPLE%id_rsa.pub" + ], + "sudo": "ALL=(ALL) NOPASSWD:ALL" + } + ] +} +``` + +Данный пример подразумевает, что ранее по тексту tf-файла : + +- выполнена корректная инициализация провайдера (подробнее об инициализации 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_ +- считана информация об образе ОС(см. _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`. diff --git a/07.01.08-Resource-функция-decort_image_virtual-управление-виртуальным-образом.md b/07.01.08-Resource-функция-decort_image_virtual-управление-виртуальным-образом.md index 7ead289..ff37aeb 100644 --- a/07.01.08-Resource-функция-decort_image_virtual-управление-виртуальным-образом.md +++ b/07.01.08-Resource-функция-decort_image_virtual-управление-виртуальным-образом.md @@ -1,87 +1,92 @@ -Функция доступна в провайдере версии 4.4.1 и выше. - -**Внимание:** необходимы права администратора. - -_Resource_ функция **decort_image_virtual** служит для управления виртуальным образом. Виртуальный образа создаются на основе уже созданных ранее образов, таким образом, они привязываются к уже созданным образам. Образ, на основе которого создан виртуальный диск, удалить невозможно - для этого необходимо удалить виртуальный образ, либо связать его с другим образом. - -## Аргументы -_Resource_ функция **decort_image_virtual** для создания виртуального образа принимает следующие аргументы: - -| Аргумент | Тип | Обязательный | Описание | -|-------------|--------|--------------------|-------------------------------------------------------------| -| name | string | :heavy_check_mark: | Имя виртуального образа | -| link_to | int | :heavy_check_mark: | ID реального образа, на который будет ссылаться виртуальный | -| permanently | bool | :x: | Флаг для удаления диска | - - -## Возвращаемые значения -В случае успешного выполнения _resource_ функция **decort_image_virtual** возвращает в указанную при вызове переменную следующие значения: - -| Параметр | Тип | Описание | -|----------------|--------------------------------------------|----------------------------------------------------------| -| unc_path | string | unc path | -| ckey | string | ckey | -| account_id | int | accountId привязки образа | -| acl | string | access control list | -| architecture | string | Архитектура образа, возможен вариант X86_64 или PPC64_LE | -| boot_type | string | Тип запуска ОС - bios или uefi | -| bootable | bool | Является ли образ загрузочным | -| compute_ci_id | int | ID вычислительного ресурса | -| deleted_time | int | Время удаления | -| desc | string | Описание образа | -| drivers | []string | Cписок используемых драйверов | -| enabled | bool | Доступность образа | -| gid | int | ID платформы, где образ будет создан | -| guid | int | Внутренний id образа, совпадает с image_id | -| history | object{id: int, guid: int, timestamp: int} | История обновлений образа | -| hot_resize | bool | Использует ли машина горячее изменение размера образа | -| last_modified | int | Дата последнего изменения | -| link_to | int | Привязка к образу, используется в виртуальных образах | -| milestones | int | Вехи | -| image_name | string | Название образа | -| password | string | Пароль для образа | -| pool_name | string | Пул, в котором был создан образ | -| provider_name | string | Наименование провайдера | -| purge_attempts | int | Попытки | -| present_to | []int | Список ID ресурсов, которым предоставлен образ | -| res_id | string | ID ресурса | -| rescuecd | bool | CD или нет | -| sep_id | int | storage endpoint provider ID | -| shared_with | bool | Список ресурсов, имеющих доступ к образу | -| size | int | Размер образа | -| status | string | Статус образа | -| tech_status | string | Технический статус | -| type | string | Тип образа: linux, windows или другой | -| username | string | Имя пользователя образа | -| version | string | Версия | - - -## Пример использования -Пример вызова _resource_ функции **decort_image_virtual**: -```terraform -resource "decort_image_virtual" "my_image" { - #имя виртуального образа - #обязательный параметр - #при изменении - обновляет имя виртуального образа - #тип - строка - name = "iv-name" - - #ID реального образа, на который будет ссылаться виртуальный - #обязательный параметр - #при изменении - ссылается на другой реальный образ - #тип - число - link_to = 123 - - #Флаг для удаления диска - #опциональный параметр - #тип - bool - #permanently = false -} - -# once the above directive completes, will be accessible -# as decort_image_virtual.my_image -``` - -Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). - -После успешного завершения такого вызова **decort_image_virtual** в переменной `decort_image_virtual.my_image` будут сохранены возвращаемые значения. +Функция доступна в провайдере версии 2.0 и выше. + +_Resource_ функция **decort_virtual_image** служит для управления виртуальным образом. Виртуальный образа создаются на основе уже созданных ранее образов, таким образом, они привязываются к уже созданным образам. Образ, на основе которого создан виртуальный диск, удалить невозможно - для этого необходимо удалить виртуальный образ, либо связать его с другим образом. + +## Аргументы +_Resource_ функция **decort_virtual_image** для создания виртуального образа принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| name | string | :heavy_check_mark: | Имя виртуального образа | +| link_to | int | :heavy_check_mark: | ID образа, на основе котрого будет создан виртуальный | +| permanently | bool | :x: | Мгновенное удаление
можно использовать перед удалением | + +## Возвращаемые значения +В случае успешного выполнения _resource_ функция **decort_virtual_image** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| unc_path | string | unc path | +| \_ckey | string | ckey | +| account_id | int | accountId привязки образа | +| architecture | string | Архитектура образа, возможен вариант X86_64 или PPC64_LE | +| boot_type | string | Тип запуска ОС - bios или uefi | +| bootable | bool | Является ли образ загрузочным | +| computeci_id | int | ID вычислительного ресурса | +| deletedTime | int | Время удаления | +| desc | string | Описание образа | +| drivers | []string | Cписок используемых драйверов | +| enabled | bool | Доступность образа | +| gid | int | ID платформы, где образ будет создан | +| guid | int | Внутренний id образа, совпадает с image_id | +| history | []Struct [см. ниже](#описание-структуры-history)| История обновлений образа | +| hot_resize | bool | Использует ли машина горячее изменение размера образа | +| image_id | int | ID образа | +| image_type | string | Тип образа: linux, windows или другой | +| last_modified | int | Дата последнего изменения | +| link_to | int | Привязка к образу, используется в виртуальных образах | +| milestones | int | Вехи | +| name | string | Название образа | +| password | string | Пароль для образа | +| permanently | bool | Удаление образа: мгновенное или нет | +| pool_name | string | Пул, в котором был создан образ | +| present_to | []int | Список ID ресурсов, которым предоставлен образ | +| provider_name | string | Наименование провайдера | +| purge_attempts | int | Попытки | +| reference_id | string | ID ссылки | +| res_id | string | ID ресурса | +| rescuecd | bool | CD или нет | +| sep_id | int | storage endpoint provider ID | +| shared_with | []int | Список ресурсов, имеющих доступ к образу | +| size | int | Размер образа | +| status | string | Статус образа | +| tech_status | string | Технический статус | +| username | string | Имя пользователя образа | +| version | string | Версия | + +### Описание структуры history +| Параметр | Тип | Описание | +| --- | --- | --- | +| id | int | Идентификатор образа | +| guid | string | Внутренний id образа | +| timestamp | int | Время обновления образа | + +## Пример использования +Пример вызова _resource_ функции **decort_virtual_image**: +```terraform +resource "decort_image_virtual" "iv" { + #имя виртуального образа + #обязательный параметр + #при изменении - обновляет имя виртуального образа + #тип - строка + name = "iv-name" + + #ID реального образа, на который будет ссылаться виртуальный + #обязательный параметр + #при изменении - ссылается на другой реальный образ + #тип - число + link_to = 123 + + #Флаг для удаления диска + #опциональный параметр + #тип - bool + #permanently = false +} + +# once the above directive completes, will be accessible +# 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` будут сохранены возвращаемые значения.