Инструмент, позволяющий передать существующие ресурсы Azure под управление Terraform.
Экспорт Azure для Terraform экспортирует поддерживаемые ресурсы в состояние Terraform и создает соответствующую конфигурацию Terraform. Ожидается, что как состояние, так и конфигурация Terraform будут соответствовать удаленному состоянию ресурсов, т. е. terraform plan не показывает различий. Затем пользователь может использовать Terraform для управления этими ресурсами.
Он поддерживает как поставщика Terraform AzureRM, так и поставщика Terraform AzAPI.
Конфигурации Terraform, созданные aztfexport не являются всеобъемлющими и не гарантируют, что инфраструктура может быть полностью воспроизведена из указанных сгенерированных конфигураций. Подробности см. в ограничениях).
Предварительно скомпилированные двоичные файлы и Window MSI доступны в Releases.
go install github.com/Azure/aztfexport@latestwinget install aztfexportbrew install aztfexportПоддерживаемые версии:
Импортируйте ключ репозитория Microsoft:
rpm --import https://packages.microsoft.com/keys/microsoft.asc
Добавьте репозиторий packages-microsoft-com-prod :
ver=8 # or 9
dnf install -y https://packages.microsoft.com/config/rhel/${ver}/packages-microsoft-prod.rpm
Установить:
dnf install aztfexport
Поддерживаемые версии:
Импортируйте ключ репозитория Microsoft:
curl -sSL https://packages.microsoft.com/keys/microsoft.asc > /etc/apt/trusted.gpg.d/microsoft.asc
Добавьте репозиторий packages-microsoft-com-prod :
ver=20.04 # or 22.04
apt-add-repository https://packages.microsoft.com/ubuntu/${ver}/prod
Установить:
apt-get install aztfexport
yay -S aztfexport Для aztfexport требуется исполняемый файл terraform установленный в $PATH с версией >= v0.12 .
aztfexport использует aztft для определения типа ресурса Terraform, соответствующего идентификатору ресурса Azure. Затем он запускает terraform import для импорта каждого ресурса. После этого он запускает tfadd для генерации кода Terraform HCL для каждого импортированного ресурса.
Прочтите документацию по экспорту Azure, в которой описаны сценарии и использование.
aztfexport создаст файл конфигурации по адресу $HOME/.aztfexport/config.json . Этот файл предназначен для управления командой aztfexport config [subcommand] , которая включает в себя следующие подкоманды:
get : Получить элемент конфигурацииset : Установить элемент конфигурацииshow : показать полную конфигурацию.В настоящее время поддерживаются следующие элементы конфигурации:
installation_id : UUID, созданный при первом запуске. Если на текущем компьютере установлен Azure CLI или Azure Powershell, UUID будет иметь одно и то же значение среди этих инструментов. В противном случае будет создан новый. Он используется в качестве идентификатора в трассировке телеметрии.telemetry_enabled : включает телеметрию. Мы используем телеметрию для выявления проблем и областей для улучшения, чтобы оптимизировать этот инструмент для повышения производительности, надежности и удобства пользователей. Если вы хотите отключить нашу телеметрию, установите для этого параметра значение false. Посетите эту страницу документации по экспорту Azure для Terraform, где обсуждаются известные на данный момент ограничения этого инструмента.