Как предотвратить удаление группы ресурсов при запуске terraform destroy? - PullRequest
0 голосов
/ 31 января 2019

Я уже создал группу ресурсов (не созданную с использованием моего кода).

Я запускаю приложение terraform apply, и моя инфраструктура была создана.Но когда я запускаю terraform destroy - консоль говорит, что моя группа ресурсов тоже должна быть удалена.Этого не должно произойти, потому что в эту группу ресурсов входит не только моя инфраструктура.

Я попытался использовать импорт терраформ, как описано здесь https://stackoverflow.com/a/47446540/10912908, и получил тот же результат, что и раньше.

Также я попытался определить группу ресурсов только с именем, но это не сработало (. Terraform destroy удаляет этот ресурс

resource "azurerm_resource_group" "testgroup" {    
name = "Test-Group"    
}

Ответы [ 2 ]

0 голосов
/ 05 августа 2019

Этот скрипт bash может работать:

terraform state list | while read line
do 
if [[ $line == azurerm_resource_group* ]]; then
echo $line " is a resource group and will not be deleted!"
else
echo "deleting: " $line
terraform destroy -target $line -auto-approve
fi
done

В нем перечислены все ресурсы, которыми управляет terraform, а затем запускается скрипт удаления для каждой записи, кроме строк, содержащих «azurerm_resource_group *»

0 голосов
/ 31 января 2019

Вы не должны включать ресурс группы ресурсов в конфигурацию, чтобы группа ресурсов не была уничтожена (так как все ресурсы в конфигурации должны быть уничтожены).если вы полагаетесь на выходные данные этого ресурса, вы можете вместо этого использовать ресурс данных.

data "azurerm_resource_group" "test" {
  name = "Test-Group"
}

OP также необходим для удаления группы ресурсов из файла состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...