1

という変数がcognito_user_poolあり、2 つのリソースが定義されています。パラメータにaws_cognito_identity_poolのインスタンス ID が必要です。ID は によってアクセスされますが、問題はクライアント名が変数に保存されることです。aws_cognito_user_pool_clientclient_idaws_cognito_user_pool_client.MY_CLIENT_NAME.idcognito_user_pool

私の質問は、クライアント名をハードコーディングせずに ID を取得する方法です。

次のセットアップは機能しません。

resource "aws_cognito_user_pool_client" "example" {
  name         = var.cognito_user_pool
  user_pool_id = aws_cognito_user_pool.pool.id
}

resource "aws_cognito_identity_pool" "main" {
  identity_pool_name               = var.cognito_user_pool
  allow_unauthenticated_identities = false

  cognito_identity_providers {
    client_id               = aws_cognito_user_pool_client[var.cognito_user_pool].id
    provider_name           = aws_cognito_user_pool.pool.endpoint
    server_side_token_check = false
  }
}

プロデュース:

Error: Invalid reference

  on setup.tf line 26, in resource "aws_cognito_identity_pool" "main":
  26:     client_id               = aws_cognito_user_pool_client[var.cognito_user_pool]

A reference to a resource type must be followed by at least one attribute
access, specifying the resource name.
4

1 に答える 1