О преобразовании «darwin_64» в «linux_64» в Terraform

Я управляю всей инфраструктурой Google Cloud Platform с помощью Terraform. Сначала забыл при работе и инициализации поверх Macos. Плагины устанавливались согласно «darwin_amd64».

Но я должен преобразовать его в «linux_amd64».

Я поместил все свои файлы «.tf» в Linux для тестирования. Я удалил файлы «.terraform.tfstate» и «.terraform». Я снова выполнил «инициализацию терраформирования».

Каждый раз, когда я запускаю команду «terraform plan», она автоматически пытается перестроить всю инфраструктуру. Но потом говорит, что такой источник есть, и выдает ошибку. То же самое происходит, когда я пытаюсь скопировать свой старый файл «terraform.tfstate».

Мне нужно преобразовать эти файлы terraform для работы в Linux. Я не хочу удалять всю инфраструктуру и повторно инициализировать сервер Linux. Есть ли способ сделать это ?


person spala    schedule 06.02.2020    source источник
comment
Вы можете запускать Terraform на любой из поддерживаемых платформ совместно. Ваша проблема в том, что вы хранили состояние локально, а затем удалили файл состояния (.terraform.tfstate). Теперь вам нужно либо вручную удалить и перестроить все, либо импортировать все обратно в файл состояния. И перестаньте использовать местное государство для всего, что вам небезразлично.   -  person ydaetskcoR    schedule 06.02.2020


Ответы (1)


Вам не нужно удалять всю папку .terraform или файл состояния terraform.tfstate, просто удалите папку .terraform/plugins и снова запустите terraform init, чтобы загрузить соответствующие двоичные файлы для вашей платформы.

person pabloxio    schedule 07.02.2020