|
|
# terraform-provider-decort
|
|
|
|
|
|
Terraform provider для платформы Digital Energy Cloud Orchestration Technology (DECORT)
|
|
|
|
|
|
## Соответсвие версий платформы версиям провайдера
|
|
|
|
|
|
| Версия DECORT API | Версия провайдера Terraform |
|
|
|
| ------ | ------ |
|
|
|
| 4.0.0 | 4.6.x |
|
|
|
| 3.8.9 | 4.5.x |
|
|
|
| 3.8.8 | 4.4.x |
|
|
|
| 3.8.7 | 4.3.x |
|
|
|
| 3.8.6 | 4.0.x, 4.1.x, 4.2.x |
|
|
|
| 3.8.5 | 3.4.x |
|
|
|
| 3.8.0 - 3.8.4 | 3.3.1 |
|
|
|
| 3.7.x | rc-1.25 |
|
|
|
| 3.6.x | rc-1.10 |
|
|
|
| до 3.6.0 | [terraform-provider-decs](https://github.com/rudecs/terraform-provider-decs) |
|
|
|
|
|
|
## Режимы работы
|
|
|
|
|
|
Провайдер позволяет работать в двух режимах:
|
|
|
|
|
|
- Режим пользователя,
|
|
|
- Режим администратора. <br>
|
|
|
Используйте ресурсы `decort_cb_` для администрирования. <br>
|
|
|
Вики проекта: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
|
|
|
|
|
|
## Возможности провайдера
|
|
|
|
|
|
- Режим пользователя:
|
|
|
- Работа с accounts,
|
|
|
- Работа с bservice,
|
|
|
- Работа с disks,
|
|
|
- Работа с extnets,
|
|
|
- Работа с flipgroups,
|
|
|
- Работа с image,
|
|
|
- Работа с k8s,
|
|
|
- Работа с Compute instances,
|
|
|
- Работа с load balancer,
|
|
|
- Работа с locations,
|
|
|
- Работа с pfw,
|
|
|
- Работа с resource groups,
|
|
|
- Работа с snapshots,
|
|
|
- Работа с stacks,
|
|
|
- Работа с VINS.
|
|
|
|
|
|
- Режим администратора:
|
|
|
- Работа с accounts,
|
|
|
- Работа с audits,
|
|
|
- Работа с disks,
|
|
|
- Работа с extnets,
|
|
|
- Работа с flipgroups,
|
|
|
- Работа с grids,
|
|
|
- Работа с images,
|
|
|
- Работа с k8ci,
|
|
|
- Работа с k8s,
|
|
|
- Работа с Compute instances,
|
|
|
- Работа с load balancer,
|
|
|
- Работа с pci device,
|
|
|
- Работа с resource groups,
|
|
|
- Работа с seps,
|
|
|
- Работа с user,
|
|
|
- Работа с stacks,
|
|
|
- Работа с VINS.
|
|
|
|
|
|
Со списком и описанием функционала всех групп можно ознамоиться на Вики проекта: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
|
|
|
|
|
|
## Установка
|
|
|
Начиная с версии провайдера `4.3.0` в релизном архиве находятся скрипты-инсталляторы.
|
|
|
Чтобы выполнить установку, необходимо:
|
|
|
1. Перейти по адресу: https://repository.basistech.ru/BASIS/terraform-provider-decort/releases
|
|
|
2. Выбрать необходимую версию провайдера подходящую под операционную систему.
|
|
|
3. Скачать архив.
|
|
|
4. Распаковать архив.
|
|
|
5. Выполнить скрипт установщика, `install.sh` или `install.bat` для Windows.<br/>
|
|
|
*Для запуска `install.sh` не забудьте изменить права доступа к файлу*
|
|
|
```bash
|
|
|
chmod u+x install.sh
|
|
|
```
|
|
|
6. Дождаться сообщения об успешной установке. Установщик выведет актуальный блок конфигурации провайдера, скопируйте его
|
|
|
```bash
|
|
|
DECORT provider version 4.3.0 has been successfully installed
|
|
|
|
|
|
Copy this provider configuration to main.tf file:
|
|
|
terraform {
|
|
|
required_providers {
|
|
|
decort = {
|
|
|
version = "4.3.0"
|
|
|
source = "basis/decort/decort"
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
7. После этого, создайте файл `main.tf` в рабочей директории, которая может находится в любом удобном для пользователя месте.
|
|
|
В данном примере, рабочая директория с файлом main.tf находится по пути:
|
|
|
```bash
|
|
|
~/work/tfdir/main.tf
|
|
|
```
|
|
|
8. Вставьте в `main.tf` блок конфигурации провайдера, который был выведен на экран установщиком:
|
|
|
```terraform
|
|
|
terraform {
|
|
|
required_providers {
|
|
|
decort = {
|
|
|
version = "4.3.0"
|
|
|
source = "basis/decort/decort"
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
9. Добавьте в файл блок с инициализацией провайдера.
|
|
|
```terraform
|
|
|
provider "decort" {
|
|
|
authenticator = "decs3o"
|
|
|
controller_url = "https://mr4.digitalenergy.online"
|
|
|
oauth2_url = "https://sso.digitalenergy.online"
|
|
|
allow_unverified_ssl = true
|
|
|
}
|
|
|
```
|
|
|
|
|
|
10. В консоли выполните команду
|
|
|
```bash
|
|
|
terraform init
|
|
|
```
|
|
|
|
|
|
11. В случае успешной установки, Terraform инициализирует провайдер и будет готов к дальнейшей работе.
|
|
|
|
|
|
## Установка из релизов
|
|
|
Terraform провайдер DECORT имеет скомпилированные релизные версии, которые расположены по адресу: [Релизы](https://repository.basistech.ru/BASIS/terraform-provider-decort/releases).
|
|
|
Чтобы выполнить установку из релиза, необходимо:
|
|
|
1. Перейти по адресу: https://repository.basistech.ru/BASIS/terraform-provider-decort/releases
|
|
|
2. Выбрать необходимую версию провайдера подходящую под операционную систему.
|
|
|
3. Скачать архив.
|
|
|
4. Распаковать архив.
|
|
|
5. Полученный файл (в директории `bin/`) необходимо поместить:
|
|
|
Linux:
|
|
|
```bash
|
|
|
~/.terraform.d/plugins/${host_name}/${namespace}/${type}/${version}/${target}
|
|
|
```
|
|
|
Windows:
|
|
|
```powershell
|
|
|
%APPDATA%\terraform.d\plugins\${host_name}\${namespace}\${type}\${version}\${target}
|
|
|
```
|
|
|
Где:
|
|
|
- host_name - имя хоста, держателя провайдера, например, basis
|
|
|
- namespace - пространство имен хоста, например decort
|
|
|
- type - тип провайдера, может совпадать с пространством имен, например, decort
|
|
|
- version - версия провайдера, например 4.3.0
|
|
|
- target - архитектура операционной системы, например windows_amd64
|
|
|
|
|
|
В примере ниже используется путь до провайдера на машине с ОС Linux:
|
|
|
|
|
|
```bash
|
|
|
~/.terraform.d/plugins/basis/decort/decort/4.3.0/linux_amd64/tf-provider
|
|
|
^ ^ ^ ^ ^ ^
|
|
|
host_name | | | | | |
|
|
|
| | | | |
|
|
|
namespace | | | | |
|
|
|
| | | |
|
|
|
type | | | |
|
|
|
| | |
|
|
|
version | | |
|
|
|
| |
|
|
|
target | |
|
|
|
|
|
|
|
исполняемый файл |
|
|
|
```
|
|
|
|
|
|
6. После этого, создайте файл `main.tf` в рабочей директории, которая может находится в любом удобном для пользователя месте.
|
|
|
В данном примере, рабочая директория с файлом main.tf находится по пути:
|
|
|
```bash
|
|
|
~/work/tfdir/main.tf
|
|
|
```
|
|
|
7. Добавьте в `main.tf` следующий блок
|
|
|
```terraform
|
|
|
terraform {
|
|
|
required_providers {
|
|
|
decort = {
|
|
|
version = "4.3.0"
|
|
|
source = "basis/decort/decort"
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
В поле `version` указывается версия провайдера.
|
|
|
<br/>
|
|
|
**ВНИМАНИЕ: Версии в блоке и в пути к исполняемому файлу провайдера должны совпадать!**
|
|
|
|
|
|
В поле `source` помещается путь до репозитория с версией вида:
|
|
|
|
|
|
```bash
|
|
|
${host_name}/${namespace}/${type}
|
|
|
```
|
|
|
|
|
|
**ВНИМАНИЕ: Версии в блоке и в пути к исполняемому файлу провайдера должны совпадать!**
|
|
|
|
|
|
8. Добавьте в файл блок с инициализацией провайдера.
|
|
|
```terraform
|
|
|
provider "decort" {
|
|
|
authenticator = "decs3o"
|
|
|
controller_url = "https://mr4.digitalenergy.online"
|
|
|
oauth2_url = "https://sso.digitalenergy.online"
|
|
|
allow_unverified_ssl = true
|
|
|
}
|
|
|
```
|
|
|
|
|
|
9. В консоли выполните команду
|
|
|
```bash
|
|
|
terraform init
|
|
|
```
|
|
|
|
|
|
10. В случае успешной установки, Terraform инициализирует провайдер и будет готов к дальнейшей работе.
|
|
|
|
|
|
## Примеры работы
|
|
|
|
|
|
Примеры работы можно найти:
|
|
|
|
|
|
- На вики проекта: https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki
|
|
|
- В папке `samples`
|
|
|
|
|
|
Хорошей работы!
|