Files
netology-devops/src/homework/07-terraform/7.6
2022-07-07 10:45:51 +07:00
..
2022-07-07 10:45:51 +07:00
2022-07-07 10:45:51 +07:00

Выполнение домашнего задания по теме "7.6. Написание собственных провайдеров для Terraform".

Q/A

Задание 1

Давайте потренируемся читать исходный код AWS провайдера, который можно склонировать от сюда: https://github.com/hashicorp/terraform-provider-aws.git. Просто найдите нужные ресурсы в исходном коде и ответы на вопросы станут понятны.

  1. Найдите, где перечислены все доступные resource и data_source, приложите ссылку на эти строки в коде на гитхабе.
  2. Для создания очереди сообщений SQS используется ресурс aws_sqs_queue у которого есть параметр name.
    • С каким другим параметром конфликтует name? Приложите строчку кода, в которой это указано.
    • Какая максимальная длина имени?
    • Какому регулярному выражению должно подчиняться имя?

Все возможные значения resource перечислены в файле internal/provider/provider.go в ключе ResourcesMap.

Все возможные значения data_source перечислены в файле internal/provider/provider.go в ключе DataSourcesMap.

В ресурсе aws_sqs_queue:

Задание 2

В рамках вебинара и презентации мы разобрали как создать свой собственный провайдер на примере кофемашины. Также вот официальная документация о создании провайдера: https://learn.hashicorp.com/collections/terraform/providers.

  1. Проделайте все шаги создания провайдера.
  2. В виде результата приложение ссылку на исходный код.
  3. Попробуйте скомпилировать провайдер, если получится то приложите снимок экрана с командой и результатом компиляции.

Ссылка на исходный код провайдера terraform-provider-hashicups.

Скриншот компиляции провайдера:

provider_build.png