Инструмент, позволяющий передать существующие ресурсы 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@latest
winget install aztfexport
brew 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, где обсуждаются известные на данный момент ограничения этого инструмента.