Я хочу поделиться сценарием terraform, который будет использоваться в разных проектах. Я знаю, как создавать и обмениваться модулями, но эта настройка имеет большое раздражение: когда я ссылаюсь на модуль в скрипте и выполняю команду terraform apply
, если ресурс модуля не существует, он будет создан, но также если я выполню terraform destroy
ресурс будет уничтожен.Как использовать скрипт terraform без зависимостей между модулями
Если у меня есть два проекта в зависимости от того же модуля, и в одном из них я вызываю terraform destroy
, это может привести к несогласованному состоянию, поскольку модуль используется другим проектом. Сценарий может терпеть неудачу, потому что он не может уничтожить ресурс, иначе он уничтожит ресурс и повлияет на другой проект.
В моем сценарии я хочу поделиться сетевыми сценариями между двумя проектами, и я хочу, чтобы сетевые ресурсы никогда не уничтожались. Я не могу создать проект только для этого ресурса, потому что мне нужно как-то ссылаться на его проекты, и единственный способ сделать это - через его идентификатор, который я понятия не имею, что будет.
prevent_destroy
также не является вариантом, так как мне нужно уничтожить другие ресурсы, но ресурс общего ресурса. Эта конфигурация делает ошибку terraform destroy
.
Есть ли способ ссылки на ресурс, например, по его названию, или есть ли другой лучший подход для достижения того, что я хочу?
Wow! Это действительно хороший подход! Я понятия не имел, что вы можете получить удаленное состояние и использовать его в качестве источника данных. –