Как переместить ресурс в новый файл и состояние tf, не разрушая и не воссоздавая? - PullRequest
0 голосов
/ 24 октября 2018

У меня есть ресурс (aws_iam_role.derp) в моем файле tf, который использует это состояние:

terraform {
  backend "s3" {
    bucket = "mybucket"
    region = "us-east-1"
    key = "aaaaaa"
  }
}

Я хочу переместить его в другой файл состояния (с именем "bbbbbb").

Я не хочу перемещать все другие ресурсы в этом tf-файле.

Как мне просто переместить этот ресурс в другой файл состояния?Я создал новый tf-файл (в другой папке) и указал новое состояние:

terraform {
  backend "s3" {
    bucket = "mybucket"
    region = "us-east-1"
    key = "bbbbb"
  }
}

когда я запускаю terraform, примените terraform, чтобы увидеть его как новый ресурс.

Я хочу переместитьэтот ресурс в новый файл tf без необходимости его уничтожения и воссоздания.

Ответы [ 3 ]

0 голосов
/ 29 октября 2018

Что вы можете сделать, так это

  1. , вы можете импортировать свой ресурс в новый файл tfstate.
  2. Переместить соответствующий код в новый файл tf.
  3. удалить переместитькод из старого файла TF.
0 голосов
/ 31 октября 2018

Вы можете использовать terraform state rm для удаления ресурса из файла состояния.
Вы можете импортировать ресурс в файл состояния с помощью terraform import

Убедитесь, чтопровести соответствующий рефакторинг вашего кода, как указано выше, чтобы ваши ресурсы не были уничтожены / воссозданы.

0 голосов
/ 24 октября 2018

Я не уверен, что это единственный способ, но обычно я удаляю состояние ресурса из файла текущего состояния, используя «terraform state rm», после чего перемещаю определение ресурса в новую папку, а затем импортирую этот ресурс вфайл нового состояния

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