Как найти правильный идентификатор существующего ресурса в AWS для импорта в ресурс Terraform? - PullRequest
0 голосов
/ 24 сентября 2019

Я получил дубликат ошибки существующего ресурса при развертывании в AWS через Terraform.

Error: Error creating IAM Role SecuritySearchAPITaskRole: EntityAlreadyExists: Role with name SecuritySearchAPITaskRole already exists.
    status code: 409, request id: cf5ae1f4-de6a-11e9-a7b1-d3cdff4db013

  on deploy/modules/ecs-fargate-service/iam.tf line 1, in resource "aws_iam_role" "task":
   1: resource "aws_iam_role" "task" {

На основании вышеуказанной ошибки это существующая роль IAM с именем SecuritySearchAPITaskRole.Я думаю, что решение состоит в том, чтобы импортировать этот ресурс в мое локальное состояние terraform, но как я могу узнать идентификатор ресурса, который мне нужно использовать.Я могу найти эту роль на консоли AWS IAM, но у нее нет идентификатора.Я также попытался запустить terraform plan, что дает мне:

  + resource "aws_iam_role" "task" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = "sts:AssumeRole"
                      + Effect    = "Allow"
                      + Principal = {
                          + Service = "ecs-tasks.amazonaws.com"
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + description           = "Task role for the SecuritySearchAPI service"
      + force_detach_policies = false
      + id                    = (known after apply)
      + max_session_duration  = 3600
      + name                  = "SecuritySearchAPITaskRole"
      + path                  = "/"
      + tags                  = {
          + "Application"            = "Security Search"
          + "Client"                 = "IRESS"
          + "DataClassification"     = "NoData"
          + "Name"                   = "SecuritySearchAPI Task Role"
          + "Owner"                  = "platform"
          + "Product"                = "SharedServices"
          + "Schedule"               = "False"
          + "Service"                = "Search"
          + "TaggingStandardVersion" = "3"
        }
      + unique_id             = (known after apply)
    }

И вы можете видеть, что id =, известный после применения, не создан.Как я могу найти идентификатор для роли IAM?

1 Ответ

0 голосов
/ 24 сентября 2019

Хорошо, я нашел этот документ https://www.terraform.io/docs/providers/aws/r/iam_role.html#import, Я могу использовать role name в качестве идентификатора в команде terraform import.

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