From ff56f20b30d5d42125ef4a0a8c7947970f805b0e Mon Sep 17 00:00:00 2001 From: stSolo Date: Fri, 22 Jul 2022 11:01:29 +0300 Subject: [PATCH] =?UTF-8?q?Updated=2004.=20=D0=9E=D0=B1=D0=B7=D0=BE=D1=80?= =?UTF-8?q?=20Terraform=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B0=D0=B9=D0=B4=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=20DECORT.=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 04.-Обзор-Terraform-провайдера-DECORT..md | 174 ---------------------- 04.-Обзор-Terraform-провайдера-DECORT.md | 108 ++++++++++++++ 2 files changed, 108 insertions(+), 174 deletions(-) delete mode 100644 04.-Обзор-Terraform-провайдера-DECORT..md create mode 100644 04.-Обзор-Terraform-провайдера-DECORT.md diff --git a/04.-Обзор-Terraform-провайдера-DECORT..md b/04.-Обзор-Terraform-провайдера-DECORT..md deleted file mode 100644 index 591f7c3..0000000 --- a/04.-Обзор-Terraform-провайдера-DECORT..md +++ /dev/null @@ -1,174 +0,0 @@ -## Назначение -Terraform провайдер DECORT предназначен для управления облачными ресурсами на платформе Digital Energy Cloud Orchestration Technology (DECORT). Основные функции провайдера: -1. Создание виртуальных серверов на базе KVM - экземпляров _compute_ на базе виртуальных машин архитектуры Intel x86 или IBM Power (см. _resource_ функцию [**decort_kvmvm**](https://github.com/rudecs/terraform-provider-decort/wiki/07.02-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM)). -2. Создание ресурсных групп (см. _resource_ функцию [**decort_resgroup**](https://github.com/rudecs/terraform-provider-decort/wiki/07.01-Resource-функция-decort_resgroup-управление-ресурсными-группами)). -3. Создание ресурсов хранения _disk_ (см. _resource_ функцию [**decort_disk**](https://github.com/rudecs/terraform-provider-decort/wiki/07.03-Resource-функция-decort_disk-управление-дисковыми-ресурсами)). -4. Создание образов (см. _resource_ функцию [**decort_image**](https://github.com/rudecs/terraform-provider-decort/wiki/07.08-Resource-функция-decort_image-управление-образом)) -5. Создание виртуальных образов (см. _resource_ функцию [**decort_virtual_image**](https://github.com/rudecs/terraform-provider-decort/wiki/07.09-Resource-функция-decort_virtual_image-управление-виртуальным-образом)) -6. Создание cdrom - образов (см. _resource_ функцию [**decort_cdrom_image**](https://github.com/rudecs/terraform-provider-decort/wiki/07.10-Resource-функция-decort_cdrom_image-управление-cdrom-образом)) -7. Удаление нескольких образов (см. _resource_ функцию [**decort_delete_images**](https://github.com/rudecs/terraform-provider-decort/wiki/07.11-Resource-функция-decort_delete_images-удаление-нескольких-образов)) -8. Создание правил трансляции сетевых портов для виртуальных серверов (см. _resource_ функцию [**decort_pfw**](https://github.com/rudecs/terraform-provider-decort/wiki/07.12--Resource-функция-decort_pfw-управление-правилами-трансляции-сетевых-портов-для-виртуальных-серверов)) -9. Создание виртуальных сетевых сегментов (см. _resource_ функцию [**decort_vins**](https://github.com/rudecs/terraform-provider-decort/wiki/07.04-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами)) -10. Создание снапшотов (см. _resource_ функцию [**decort_snapshot**](https://github.com/rudecs/terraform-provider-decort/wiki/07.05-Resource-функция-decort_snapshot-управление-снапшотами)) -11. Создание кластера kubernetes (см. _resource_ функцию [**decort_k8s**](https://github.com/rudecs/terraform-provider-decort/wiki/07.06-Resource-функция-decort_k8s-управление-кластером-kubernetes)) -12. Создание worker group кластера (см. _resource_ функцию [**decort_k8s_wg**](https://github.com/rudecs/terraform-provider-decort/wiki/07.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера)) -13. Создание sep (см. _resource_ функцию [**decort_sep**](https://github.com/rudecs/terraform-provider-decort/wiki/07.14-Resource-функция-decort_sep-управление-sep)) -14. Создание sep config (см. _resource_ функцию [**decort_sep_config**](https://github.com/rudecs/terraform-provider-decort/wiki/07.13-Resource-функция-decort_sep_config-управление-конфигурацией-sep)) -15. Создание pcidevice (см. _resource_ функцию [**decort_pcidevice**](https://github.com/rudecs/terraform-provider-decort/wiki/07.15-Resource-функция-decort_pcidevice-управление-устройством)) -16. Создание account (см. _resource_ функцию [**decort_account**](https://github.com/rudecs/terraform-provider-decort/wiki/07.16-Resource-функция-decort_account-управление-аккаунтом)) -17. Создание basic service (см. _resource_ функцию [**decort_bservice**](https://github.com/rudecs/terraform-provider-decort/wiki/07.17-Resource-функция-decort_bservice-управление-базовым-сервисом)) -18. Создание basic service group (см. _resource_ функцию [**decort_bservice_group**](https://github.com/rudecs/terraform-provider-decort/wiki/07.18-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса)) -19. Получение информации о подписчиках (см. _data source_ функцию [**decort_account**](https://github.com/rudecs/terraform-provider-decort/wiki/06.05-Data-функция-decort_account-получение-информации-о-подписчике)). -20. Получение информации о существующих виртуальных серверах на базе KVM (см. _data source_ функцию [**decort_kvmvm**](https://github.com/rudecs/terraform-provider-decort/wiki/06.02-Data-функция-decort_kvmvm-получение-информации-о-виртуальной-машине-на-базе-KVM)). -21. Получение информации о существующих дисковых ресурсах _disk_ (см. _data source_ функцию [**decort_disk**](https://github.com/rudecs/terraform-provider-decort/wiki/06.03-Data-функция-decort_disk-получение-информации-о-диске)). -22. Получение информации о существующих виртуальных сетевых сегментах _ViNS_ (см. _data source_ функцию [**decort_vins**](https://github.com/rudecs/terraform-provider-decort/wiki/06.04-Data-функция-decort_vins-получение-информации-о-ViNS)). -23. Получение информации о существующих ресурсных группах (см. _data source_ функцию [**decort_resgroup**](https://github.com/rudecs/terraform-provider-decort/wiki/06.01-Data-функция-decort_resgroup-получение-информации-о-ресурсной-группе)). -24. Получение информации об образах ОС, на базе которых можно создавать новые вычислительные ресурсы (см. _data source_ функцию [**decort_image**](https://github.com/rudecs/terraform-provider-decort/wiki/06.07-Data-функция-decort_image-получение-информации-об-образе)). -25. Получение информации обо всех образах ОС, на базе которых можно создавать новые вычислительные ресурсы (см. _data source_ функцию [**decort_image_lst**](https://github.com/rudecs/terraform-provider-decort/wiki/06.06-Data-функция-decort_image_list-получение-информации-об-образах)) -26. Получение информации о всех доступных снапшотах (см. _data source_ функцию [**decort_snapshot_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.11-Data-функция-decort_snapshot_list-получение-информации-о-snapshots)) -27. Получение информации о всех доступных платформах (см. _data source_ функцию [**decort_grid_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.08-Data-функция-decort_grid_list-получение-списков-доступных-платформ)) -28. Получение информации о доступной платформе (см. _data source_ функцию [**decort_grid**](https://github.com/rudecs/terraform-provider-decort/wiki/06.09-Data-функция-decort_grid-получение-информации-о-grid)) -29. Получение информации о доступных для образа stacks (см. _data source_ функцию [**decort_image_stacks**](https://github.com/rudecs/terraform-provider-decort/wiki/06.10-Data-функция-decort_image_list_stacks-получение-информации-о-доступных-для-образа-stacks)) -30. Получение информации о sep (см. _data source_ функцию [**decort_sep**](https://github.com/rudecs/terraform-provider-decort/wiki/06.12-Data-функция-decort_sep-получение-информации-о-sep)) -31. Получение информации о всех доступных sep (см. _data source_ функцию [**decort_sep_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.13-Data-функция-decort_sep_list-получение-информации-о-всех-sep)) -32. Получение информации о конфигурации sep (см. _data source_ функцию [**decort_sep_config**](https://github.com/rudecs/terraform-provider-decort/wiki/06.14-Data-функция-decort_sep_config-получение-информации-о-конфигурации-sep)) -33. Получение информации о дисках, используемых sep (см. _data source_ функцию [**decort_sep_disk_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.15-Data-функция-decort_sep_disk_list-получение-информации-о-дисках,-используемых-sep)) -34. Получение информации о загрузке sep (см. _data source_ функцию [**decort_sep_consumption**](https://github.com/rudecs/terraform-provider-decort/wiki/06.16-Data-функция-decort_sep_consumption-получение-информации-о-загрузке-sep)) -35. Получение информации о sep pool (см. _data source_ функцию [**decort_sep_pool**](https://github.com/rudecs/terraform-provider-decort/wiki/06.17-Data-функция-decort_sep_pool-получение-информации-о-pool-sep)) -36. Получение информации о pcidevice (см. _data source_ функцию [**decort_pcidevice**](https://github.com/rudecs/terraform-provider-decort/wiki/06.19-Data-функция-decort_pcidevice-получение-информации-о-pcidevice)) -37. Получение информации о всех доступных pcidevice (см. _data source_ функцию [**decort_pcidevice_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.18-Data-функция-decort_pcidevice_list-получение-информации-о-всех-pcidevice)) -38. Получение информации о виртуальном графическом устройстве vgpu (см. _data source_ функцию [**decort_vgpu**](https://github.com/rudecs/terraform-provider-decort/wiki/06.20-Data-функция-decort_vgpu-получение-информации-о-виртуальном-графическом-устройстве)) -39. Получение информации о ресурсных группах (см. _data source_ функцию [**decort_rg_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.21-Data-функция-decort_rg_list-получение-информации-о-всех-ресурсных-группах)) -40. Получение информации о дисках (см. _data source_ функцию [**decort_disk_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.22-Data-функция-decort_disk_list-получение-информации-о-всех-дисках)) -41. Получение информации о виртуальных сетях (см. _data source_ функцию [**decort_vins_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.23-Data-функция-decort_vins_list-получение-информации-о-всех-виртуальных-сетях)) -42. Получение информации о внешних сетях (см. _data source_ функцию [**decort_extnet_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.24-Data-функция-decort_extnet_list-получение-информации-о-всех-доступных-внешних-сетях)) -43. Получение информации о внешней сети по умолчанию (см. _data source_ функцию [**decort_extnet_default**](https://github.com/rudecs/terraform-provider-decort/wiki/06.25-Data-функция-decort_extnet_default-получение-информации-о-внешней-сети-по-умолчанию)) -44. Получение информации о вычислительных мощностях, использующих внешнюю сеть (см. _data source_ функцию [**decort_extnet_computes_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.26-Data-функция-decort_extnet_computes_list-получение-информации-о-вычислительных-ресурсах,-использующих-внешнюю-сеть)) -45. Получение информации о внешней сети (см. _data source_ функцию [**decort_extnet**](https://github.com/rudecs/terraform-provider-decort/wiki/06.27-Data-функция-decort_extnet-получение-информации-о-внешней-сети)) -46. Получение информации о запросах аккаунта (см. _data source_ функцию [**decort_account_audits_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.28-Data-функция-decort_account_audits_list-получение-информации-о-запросах-аккаунта)) -47. Получение информации об используемых аккаунтом экземплярах computes (см. _data source_ функцию [**decort_account_computes_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.29-Data-функция-decort_account_computes_list-получение-информации-об-используемых-аккаунтом-экземплярах-computes)) -48. Получение информации о вычислительных ресурсах, используемых аккаунтом (см. _data source_ функцию [**decort_account_consumed_units**](https://github.com/rudecs/terraform-provider-decort/wiki/06.30-Data-функция-decort_account_consumed_units-получение-информации-об-используемых-ресурсах-аккаунта)) -49. Получение информации о вычислительных ресурсах, используемых аккаунтом, по типу (см. _data source_ функцию [**decort_account_consumed_units_by_type**](https://github.com/rudecs/terraform-provider-decort/wiki/06.31-Data-функция-decort_account_consumed_units_by_type-получение-информации-об-используемых-ресурсах-по-типу)) -50. Получение информации о дисках, используемых аккаунтом (см. _data source_ функцию [**decort_account_disks_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.32-Data-функция-decort_account_disks_list-получение-информации-об-используемых-аккаунтом-дисках)) -51. Получение информации о группах с плавающим ip-адресом, используемых аккаунтом (см. _data source_ функцию [**decort_account_flipgroups_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.33-Data-функция-decort_account_flipgroups_list-получение-информации-об-используемых-групп-с-плавающим-ip-адресом)) -52. Получение информации о зарезервированных аккаунтом ресурсах (см. _data source_ функцию [**decort_account_reserved_units**](https://github.com/rudecs/terraform-provider-decort/wiki/06.34-Data-функция-decort_account_reserved_units-получение-информации-о-зарезервированных-ресурсах-аккаунта)) -53. Получение информации об используемых аккаунтом ресурсных группах (см. _data source_ функцию [**decort_account_rg_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.35-Data-функция-decort_account_rg_list-получение-информации-о-ресурсных-группах-аккаунта)) -54. Получение информации об используемых аккаунтом шаблонах (см. _data source_ функцию [**decort_account_templates_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.36-Data-функция-decort_account_templates_list-получение-информации-о-шаблонах-аккаунта)) -55. Получение информации об используемых аккаунтом виртуальных сетях (см. _data source_ функцию [**decort_account_vins_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.37-Data-функция-decort_account_vins_list-получение-информации-о-всех-сетях-аккаунта)) -56. Получение информации обо всех доступных аккаунтах (см. _data source_ функцию [**decort_account_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.38-Data-функция-decort_account_list-получение-информации-о-всех-доступных-аккаунтах)) -57. Получение информации обо всех удаленных аккаунтах (см. _data source_ функцию [**decort_account_deleted_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.39-Data-функция-decort_account_deleted_list-получение-информации-об-удаленных-аккаунтах)) -58. Получение информации об аккаунте (см. _data source_ функцию [**decort_account**](https://github.com/rudecs/terraform-provider-decort/wiki/06.40-Data-функция-decort_account-получение-информации-об-аккаунте)) -59. Получение информации обо всех базовых сервисах (см. _data source_ функцию [**decort_bservice_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.41-Data-функция-decort_bservice_list-получение-информации-о-всех-доступных-базовых-сервисах)) -60. Получение информации об удаленных базовых сервисах (см. _data source_ функцию [**decort_bservice_deleted_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.42-Data-функция-decort_bservice_deleted_list-получение-информации-о-всех-удаленных-базовых-сервисах)) -61. Получение информации о снимках состояния базового сервиса (см. _data source_ функцию [**decort_bservice_snapshot_list**](https://github.com/rudecs/terraform-provider-decort/wiki/06.43-Data-функция-decort_bservice_snapshot_list-получение-информации-о-всех-доступных-снимках-состояния-сервиса)) -62. Получение информации о базовом сервисе (см. _data source_ функцию [**decort_bservice**](https://github.com/rudecs/terraform-provider-decort/wiki/06.44-Data-функция-decort_bservice-получение-информации-о-базовом-сервисе)) -63. Получение информации о группе базового сервиса (см. _data source_ функцию [**decort_bservice_group**](https://github.com/rudecs/terraform-provider-decort/wiki/06.45-Data-функция-decort_bservice_group-получение-информации-о-вычислительной-группе-базового-сервиса)) - -## Системные требования - -Для запуска провайдера вам потребуется компьютер, на котором установлен Terraform. Провайдер тестировался вместе с Terraform 0.xx.x на системах под управлением ОС семейства Linux и персональных компьютерах под управлением Windows 10. - -Кроме того, в связи с тем, что начиная с версии 0.12 Terraform изменил алгоритм поиска и инициализации локальных провайдеров, настройка данного провайдера для работы с Terraform 0.12 или более новыми версиями потребует выполнения ряда дополнительных действий. Подробнее см. [8.3 Настройка локального провайдера для работы с новыми версиями Terraform](https://github.com/rudecs/terraform-provider-decort/wiki/08.--Полезные-советы.#83-Настройка-локального-провайдера-для-работы-с-новыми-версиями-terraform). - -## Установка - -Terraform провайдер представляет собой бинарный исполняемый файл. Чтобы быстро начать пользоваться Terraform провайдером DECORT, поместите собранный для вашей целевой платформы исполняемый файл в ту же папку, где находится ваш файл _main.tf_. - -Обычно, провайдер устанавливается автоматически из terraform registry. -Для этого достаточно в файл _main.tf_ добавить директивы определения провайдера. -```terraform -provider "decort" { - authenticator = "oauth2" - #controller_url = - controller_url = "https://mr4.digitalenergy.online" - #oauth2_url = - oauth2_url = "https://sso.digitalenergy.online" - allow_unverified_ssl = true -} -``` - -При выполнении команды `terraform init` провайдер будет автоматически установлен. - -После этого вы можете использовать стандартные команды Terraform-а для управления ресурсами в соответствии с декларациями, содержащимися в _main.tf_, а именно: - -``` -terraform init -terraform plan -terraform apply -``` - -## Сборка из исходных кодов - -1. Скачайте и установите Go по ссылке: [https://go.dev/dl/](https://go.dev/dl/) -2. Скачайте и установите terraform по ссылке: [https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started](https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started) -3. Склонируйте репозиторий с провайдером, выполнив команду: -```bash -git clone https://github.com/rudecs/terraform-provider-decort.git -``` -4. Перейдите в скачанную папку с провайдером и выполните команду -```bash -go build -o terraform-provider-decort -``` -Если вы знаете как устроен _makefile_, то можно изменить в файле `Makefile` параметры под вашу ОС и выполнить команду -```bash -make build -``` -5. Полученный файл необходимо поместить: -Linux: -```bash -~/.terraform.d/plugins/${host_name}/${namespace}/${type}/${version}/${target} -``` -Windows: -```powershell -%APPDATA%\terraform.d\plugins\${host_name}/${namespace}/${type}/${version}/${target} -``` -ВНИМАНИЕ: для ОС Windows `%APP_DATA%` является каталогом, в котором будут помещены будущие файлы terraform. -Где: -- host_name - имя хоста, держателя провайдера, например, digitalenergy.online -- namespace - пространство имен хоста, например decort -- type - тип провайдера, может совпадать с пространством имен, например, decort -- version - версия провайдера, например 1.2 -- target - версия ОС, например windows_amd64 -6. После этого, создайте файл `main.tf`. -7. Добавьте в него следующий блок -```terraform -terraform { - required_providers { - decort = { - version = "1.2" - source = "digitalenergy.online/decort/decort" - } - } -} -``` -В поле `version` указывается версия провайдера. -Обязательный параметр -Тип поля - строка -ВНИМАНИЕ: Версии в блоке и в репозитории, в который был помещен провайдер должны совпадать! - -В поле `source` помещается путь до репозитория с версией вида: -```bash -${host_name}/${namespace}/${type} -``` -ВНИМАНИЕ: все параметры должны совпадать с путем репозитория, в котором помещен провайдер. - -8. Добавьте в файл блок с инициализацией провайдера. -```terraform -provider "decort" { - authenticator = "oauth2" - #controller_url = - controller_url = "https://mr4.digitalenergy.online" - #oauth2_url = - oauth2_url = "https://sso.digitalenergy.online" - allow_unverified_ssl = true -} -``` - -9. В консоле выполнить команду -```bash -terraform init -``` - -10. Если все прошло хорошо - ошибок не будет. - -Более подробно о сборке провайдера можно найти по ссылке: [https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers) \ No newline at end of file diff --git a/04.-Обзор-Terraform-провайдера-DECORT.md b/04.-Обзор-Terraform-провайдера-DECORT.md new file mode 100644 index 0000000..4e66a7b --- /dev/null +++ b/04.-Обзор-Terraform-провайдера-DECORT.md @@ -0,0 +1,108 @@ +## Системные требования + +Для запуска провайдера вам потребуется компьютер, на котором установлен Terraform. Провайдер тестировался вместе с Terraform 0.xx.x на системах под управлением ОС семейства Linux и персональных компьютерах под управлением Windows 10. + +Кроме того, в связи с тем, что начиная с версии 0.12 Terraform изменил алгоритм поиска и инициализации локальных провайдеров, настройка данного провайдера для работы с Terraform 0.12 или более новыми версиями потребует выполнения ряда дополнительных действий. Подробнее см. [8.3 Настройка локального провайдера для работы с новыми версиями Terraform](https://github.com/rudecs/terraform-provider-decort/wiki/08.--Полезные-советы.#83-Настройка-локального-провайдера-для-работы-с-новыми-версиями-terraform). + +## Установка + +Terraform провайдер представляет собой бинарный исполняемый файл. Чтобы быстро начать пользоваться Terraform провайдером DECORT, поместите собранный для вашей целевой платформы исполняемый файл в ту же папку, где находится ваш файл _main.tf_. + +Обычно, провайдер устанавливается автоматически из terraform registry. +Для этого достаточно в файл _main.tf_ добавить директивы определения провайдера. +```terraform +provider "decort" { + authenticator = "oauth2" + #controller_url = + controller_url = "https://mr4.digitalenergy.online" + #oauth2_url = + oauth2_url = "https://sso.digitalenergy.online" + allow_unverified_ssl = true +} +``` + +При выполнении команды `terraform init` провайдер будет автоматически установлен. + +После этого вы можете использовать стандартные команды Terraform-а для управления ресурсами в соответствии с декларациями, содержащимися в _main.tf_, а именно: + +``` +terraform init +terraform plan +terraform apply +``` + +## Сборка из исходных кодов + +1. Скачайте и установите Go по ссылке: [https://go.dev/dl/](https://go.dev/dl/) +2. Скачайте и установите terraform по ссылке: [https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started](https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started) +3. Склонируйте репозиторий с провайдером, выполнив команду: +```bash +git clone https://github.com/rudecs/terraform-provider-decort.git +``` +4. Перейдите в скачанную папку с провайдером и выполните команду +```bash +go build -o terraform-provider-decort +``` +Если вы знаете как устроен _makefile_, то можно изменить в файле `Makefile` параметры под вашу ОС и выполнить команду +```bash +make build +``` +5. Полученный файл необходимо поместить: +Linux: +```bash +~/.terraform.d/plugins/${host_name}/${namespace}/${type}/${version}/${target} +``` +Windows: +```powershell +%APPDATA%\terraform.d\plugins\${host_name}/${namespace}/${type}/${version}/${target} +``` +ВНИМАНИЕ: для ОС Windows `%APP_DATA%` является каталогом, в котором будут помещены будущие файлы terraform. +Где: +- host_name - имя хоста, держателя провайдера, например, digitalenergy.online +- namespace - пространство имен хоста, например decort +- type - тип провайдера, может совпадать с пространством имен, например, decort +- version - версия провайдера, например 1.2 +- target - версия ОС, например windows_amd64 +6. После этого, создайте файл `main.tf`. +7. Добавьте в него следующий блок +```terraform +terraform { + required_providers { + decort = { + version = "1.2" + source = "digitalenergy.online/decort/decort" + } + } +} +``` +В поле `version` указывается версия провайдера. +Обязательный параметр +Тип поля - строка +ВНИМАНИЕ: Версии в блоке и в репозитории, в который был помещен провайдер должны совпадать! + +В поле `source` помещается путь до репозитория с версией вида: +```bash +${host_name}/${namespace}/${type} +``` +ВНИМАНИЕ: все параметры должны совпадать с путем репозитория, в котором помещен провайдер. + +8. Добавьте в файл блок с инициализацией провайдера. +```terraform +provider "decort" { + authenticator = "oauth2" + #controller_url = + controller_url = "https://mr4.digitalenergy.online" + #oauth2_url = + oauth2_url = "https://sso.digitalenergy.online" + allow_unverified_ssl = true +} +``` + +9. В консоле выполнить команду +```bash +terraform init +``` + +10. Если все прошло хорошо - ошибок не будет. + +Более подробно о сборке провайдера можно найти по ссылке: [https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers](https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers) \ No newline at end of file