Нельзя испортить null_resource - PullRequest
0 голосов
/ 06 марта 2019

Я получил терраформ 0.11.11. На графике видно, что ресурс в разговоре находится в корневом модуле

$ terraform graph
digraph {
        compound = "true"
        newrank = "true"
        subgraph "root" {
                "[root] data.template_file.default" [label = "data.template_file.default", shape = "box"]
                "[root] data.template_file.etcd" [label = 
...
                "[root] null_resource.service_resolv_conf" [label = "null_resource.service_resolv_conf", shape = "box"]
...

Но попытка испортить его говорит, что это не так:

$ terraform taint null_resource.service_resolv_conf
The resource null_resource.service_resolv_conf couldn't be found in the module root.

Ответы [ 2 ]

1 голос
/ 07 марта 2019

terraform graph дает вам полную картину о ресурсах и их взаимосвязи.

Но это не очень хорошая команда для устранения неполадок и понимания, как называются ресурсы в файле terraform *.tfstate.

Я бы порекомендовал работать с terraform state list, тогда вы можете легко узнать, как испортить один из ресурсов в списке.

terraform state list
terraform taint <copy resource directly from above list>
0 голосов
/ 11 марта 2019

После всего, что я нашел решение

Появляется, тогда, когда есть больше хостов в соединении на основе списка (используется 'count')

resource "null_resource" "provision_docker_registry" {
  count      = "${length(local.service_vms_names)}"
  depends_on = ["null_resource.service_resolv_conf"]

  connection {
    user        = "cloud-user"
    private_key = "${file("${path.module}/../ssh/${var.os_keypair}.pem")}"
    host        = "${element(local.service_fip, count.index)}"
  }

Вы портите ресурс, указывая индекс после точки, т.е.

$ terraform taint null_resource.provision_docker_registry.0
The resource null_resource.provision_docker_registry.0 in the module root has been marked as tainted!

Voila!

Я не мог найти это в документации. Надеюсь, это кому-нибудь поможет.

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