Cognito 用户池说不需要 password_policy?

问题描述 投票:0回答:1

我有一个非常简单的用于认知用户池的 terraform 文件:

provider "aws" {
  region = "us-east-1" # Specify your desired region

}

resource "aws_cognito_user_pool" "main_user_pool" {
  name = "main_user_pool"

  account_recovery_setting {
    recovery_mechanism {
      name     = "verified_email"
      priority = 1
    }

    recovery_mechanism {
      name     = "verified_phone_number"
      priority = 2
    }
  }

  # Define the attributes for the user pool
  schema {
    name                = "email"
    attribute_data_type = "String"
    mutable             = true
    required            = true
  }

  password_policy = {
    minimum_length    = 6
    require_lowercase = true
    require_numbers   = true
    require_symbols   = true
    require_uppercase = true
  }


  email_configuration {
    email_sending_account = "COGNITO_DEFAULT"
  }

  auto_verified_attributes = ["email"]

  username_attributes = ["email"]
  username_configuration {
    case_sensitive = true
  }


  schema {
    name                = "password"
    attribute_data_type = "String"
    mutable             = true
    required            = true
  }

}

跑步

terraform plan
给我:

Error: Unsupported argument
│ 
│   on cognitoPool.tf line 29, in resource "aws_cognito_user_pool" "main_user_pool":
│   29:   password_policy = {
│ 
│ An argument named "password_policy" is not expected here. Did you mean to define a block of type "password_policy"?

这没有意义,因为 1. 我可以在 documentation 中看到这是一个有效的参数块,并且 2. 错误表明

password_policy
不是预期的,所以我应该尝试
password_policy
?是一样的吗?

Terraform-provider-aws_v5.36.0_x5 是我的 terraform 版本。

amazon-web-services terraform amazon-cognito localstack
1个回答
0
投票

来自文档

(可选)配置 block 以获取有关用户池密码策略的信息。

password_policy
是一个不是参数,所以它应该是(没有
=
):

  password_policy {
    minimum_length    = 6
    require_lowercase = true
    require_numbers   = true
    require_symbols   = true
    require_uppercase = true
  }
© www.soinside.com 2019 - 2024. All rights reserved.