通过地形部署AWS WorkSpaces时出现ValidationException错误



我一直在尝试使用Terraform部署AWS WorkSpaces基础设施。代码本身通过了验证和计划检查,但未能应用。

来源:

module "networking" {
source = "../../modules/networking"
region = var.region
main_cidr_block = var.main_cidr_block
cidr_block_1 = var.cidr_block_1
cidr_block_2 = var.cidr_block_2
size = var.size
}
resource "aws_directory_service_directory" "main" {
name     = var.aws_ds_name
password = var.aws_ds_passwd
size     = var.size
type = "SimpleAD"
vpc_settings {
vpc_id     = module.networking.main_vpc
subnet_ids = ["${module.networking.private-0}", "${module.networking.private-1}"]
}
}
resource "aws_workspaces_directory" "main" {
directory_id = aws_directory_service_directory.main.id
subnet_ids   = ["${module.networking.private-0}", "${module.networking.private-1}"]
}
resource "aws_workspaces_ip_group" "main" {
name        = "Contractors."
description = "Main IP access control group"

rules {
source      = "10.0.0.0/16"
description = "Contractors"
}
}

错误代码:

ValidationException: 2 validation errors detected: Value at 'password' failed to satisfy constraint: Member must satisfy regular expression pattern: (?=^.{8,64}$)((?=.*d)(?=.*[A-Z])(?=.*[a-z])|(?=.*d)(?=.*[^A-Za-z0-9s])(?=.*[a-z])|(?=.*[^A-Za-z0-9s])(?=.*[A-Z])(?=.*[a-z])|(?=.*d)(?=.*[A-Z])(?=.*[^A-Za-z0-9s]))^.*; Value '' at 'name' failed to satisfy constraint: Member must satisfy regular expression pattern: ^([a-zA-Z0-9]+[\.-])+([a-zA-Z0-9])+$
status code: 400, request id: 073f6e61-775e-4ff9-a88e-e1eab97f8519
on modules/workspaces/workspaces.tf line 10, in resource "aws_directory_service_directory" "main":
10: resource "aws_directory_service_directory" "main" {

我知道这是用户名/密码的regex问题,但我现在还没有设置任何用户,出于测试原因,我已经重置了安全策略。

以前有人有这个问题吗?

目录服务的AWS API对password属性强制执行约束,并与运行terraform apply:时在该错误中看到的内容相匹配

密码

目录管理员的密码。目录创建进程使用用户名创建目录管理员帐户管理员和此密码。

如果需要更改管理员帐户的密码,请可以使用ResetUserPassword API调用。

类型:字符串

图案:

(?=^.{8,64}$)((?=.*d)(?=.*[A-Z])(?=.*[a-z])|(?=.*d)(?=.*[^A-Za-z0-9s])(?=.*[a-z])|(?=.*[^A-Za-z0-9s])(?=.*[A-Z])(?=.*[a-z])|(?=.*d)(?=.*[A-Z])(?=.*[^A-Za-z0-9s]))^.*

必需:是

通常Terraform能够通过计划或验证命令对此进行验证,但不幸的是,AWS提供商目前缺少适当的ValidateFunc,因此它只会在应用时失败,而不是在当前失败。

如果你想在计划或验证时发现这一点,那么你应该在提供商问题跟踪器上提出一个功能请求。

相关内容

  • 没有找到相关文章

最新更新