对资源 ID 的动态引用



我有一个名为cognito_user_pool的变量,并定义了两个复活。aws_cognito_identity_pool要求client_id参数中的实例 ID 为aws_cognito_user_pool_client。该 ID 由aws_cognito_user_pool_client.MY_CLIENT_NAME.id访问,但问题是客户端名称保存在cognito_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.

但客户端名称和客户端 ID 不同。如果它相同,那么您可以使用该变量。

我相信问题是您访问/引用客户端 ID 不正确。

resource "aws_cognito_identity_pool" "main"中的cognito_identity_providers块应为:

cognito_identity_providers {
client_id               = aws_cognito_user_pool_client.example.id
provider_name           = aws_cognito_user_pool.pool.endpoint
server_side_token_check = false
}

相关内容

  • 没有找到相关文章

最新更新