Уничтожение конкретной инфраструктуры терраформ - PullRequest
0 голосов
/ 14 января 2019

Я создал инфраструктуру для другой среды (testing / prod) с помощью terraform с использованием рабочих пространств, локальных файлов и -backend-config, поэтому есть только два разных файла, остальные файлы являются общими для обеих сред.

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

Я что-то упустил? Есть ли способ сделать это?

Любая помощь будет оценена.

Заранее спасибо!

С уважением,

Флоран

РЕДАКТИРОВАТЬ: Спасибо за ответы, мне удалось сделать то, что я хотел сделать, используя рабочие области, местные и backend-config!

Ответы [ 2 ]

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

Вы можете использовать -target для целевого уничтожения определенных ресурсов.

terraform destroy \
  -target module.default.aws_autoscaling_group.one \
  -target module.default.aws_autoscaling_group.two
0 голосов
/ 15 января 2019

Не смешивайте команды terraform init/workspace до plan/apply/destroy.

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

terraform init -backend-config=<path>
terraform get
terraform workspace select <env>

Затем вы должны запустить команды ниже с той же опцией -var-file=<file> или -var 'foo=bar' для всех планов, применять и уничтожать команды.

terraform plan -var-file=dev/terraformtfvars -var 'foo=bar'
terraform apply -var-file=dev/terraformtfvars -var 'foo=bar'
terraform destroy -var-file=dev/terraformtfvars -var 'foo=bar'

Дайте мне знать, если это объясняет ваши опасения или нет.

...