Spec-Zone.ru › OpenTofu 1.11

Провайдеры

OpenTofu использует плагины, называемые провайдерами, для взаимодействия с облачными провайдерами, поставщиками SaaS и другими API.

В конфигурациях OpenTofu необходимо объявлять требуемые провайдеры, чтобы OpenTofu мог устанавливать и использовать их. Кроме того, некоторым провайдерам перед использованием требуется конфигурация (например, URL конечных точек или облачные регионы).

Для чего нужны провайдеры​

Каждый провайдер добавляет набор типов ресурсов и/или источников данных, которыми может управлять OpenTofu.

Каждый тип ресурса реализуется провайдером; без провайдеров OpenTofu не может управлять никакой инфраструктурой.

Большинство провайдеров предназначены для настройки конкретной инфраструктурной платформы (облачной или локально размещенной). Провайдеры также могут предоставлять локальные утилиты для таких задач, как генерация случайных чисел для уникальных имен ресурсов.

Откуда берутся провайдеры​

Провайдеры распространяются отдельно от OpenTofu, и у каждого провайдера свой график выпусков и нумерация версий.

Общедоступный реестр OpenTofu — это основной каталог общедоступных провайдеров; в нем размещены провайдеры для большинства крупных инфраструктурных платформ.

Документация провайдеров​

У каждого провайдера есть собственная документация с описанием его типов ресурсов и аргументов. Ее можно найти в репозитории провайдера на GitHub; документация многих провайдеров также доступна в каталоге провайдеров общедоступного реестра OpenTofu.

Документация провайдера привязана к версии, поэтому важно обращаться к тегу или выпуску, соответствующему используемой версии.

Как использовать провайдеры​

Провайдеры выпускаются отдельно от OpenTofu и имеют собственную нумерацию версий. Для рабочих сред мы рекомендуем ограничивать допустимые версии провайдеров в блоке требований к провайдерам конфигурации, чтобы tofu init не устанавливал более новые версии провайдера, несовместимые с конфигурацией.

Чтобы использовать ресурсы определенного провайдера, нужно включить в конфигурацию некоторые сведения о нем. Подробнее см. на следующих страницах:

  • В разделе Требования к провайдерам описано, как объявить провайдеры, чтобы OpenTofu мог установить их.

  • В разделе Конфигурация провайдеров описано, как настроить параметры провайдеров.

  • В разделе Файл блокировки зависимостей описан дополнительный файл HCL, который можно включить в конфигурацию, чтобы указать OpenTofu всегда использовать определенный набор версий провайдеров.

Установка провайдеров​

  • TACOS (программное обеспечение для автоматизации и совместной работы TF) устанавливают провайдеры при каждом запуске.

  • OpenTofu CLI находит и устанавливает провайдеры при инициализации рабочего каталога. Он может автоматически скачивать провайдеры из реестра или загружать их из локального зеркала либо кэша. Если вы используете постоянный рабочий каталог, при изменении провайдеров конфигурации необходимо повторно выполнить инициализацию.

    Чтобы сэкономить время и трафик, OpenTofu CLI поддерживает необязательный кэш плагинов. Его можно включить с помощью настройки plugin_cache_dir в файле конфигурации CLI.

Чтобы OpenTofu всегда устанавливал одни и те же версии провайдеров для заданной конфигурации, можно с помощью OpenTofu CLI создать файл блокировки зависимостей и добавить его в систему контроля версий вместе с конфигурацией. Если файл блокировки присутствует, OpenTofu CLI и TACOS (программное обеспечение для автоматизации и совместной работы TF) будут учитывать его при установке провайдеров.

Как найти провайдеры​

Чтобы найти провайдеры для используемых вами инфраструктурных платформ, просмотрите общедоступный реестр OpenTofu.

Некоторые провайдеры в реестре разрабатывает и публикует HashiCorp, другие публикуют сопровождающие платформ, а также пользователи и добровольцы.

Как разрабатывать провайдеры​

Провайдеры написаны на Go с использованием Terraform Plugin SDK. Дополнительные сведения о разработке провайдеров см. в документации по разработке плагинов.

Запуск приемочных тестов с OpenTofu CLI​

При тестировании с OpenTofu для запуска приемочных тестов с помощью OpenTofu CLI требуются дополнительные действия. Перед запуском приемочных тестов задайте следующие переменные среды:

Блок кода
TF_ACC_TERRAFORM_PATH="/path/to/opentofu"
TF_ACC_PROVIDER_NAMESPACE="hashicorp"
TF_ACC_PROVIDER_HOST="registry.opentofu.org"

Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.11/language/providers/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API