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-9\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s]))^.*; 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" {
사용자 이름 / 암호에 대한 정규식 문제라는 것을 알고 있지만 지금은 사용자를 설정하지 않았으며 테스트 이유로 보안 정책을 재설정했습니다.
누구든지 전에이 문제가 있었습니까?
디렉토리 서비스에 대한 AWS API는에 제약 조건 적용 password
속성을 실행할 때 해당 오류에 무엇을보고와 일치합니다 terraform apply
:
암호
디렉토리 관리자의 비밀번호입니다. 디렉터리 생성 프로세스는 사용자 이름 Administrator와이 암호를 사용하여 디렉터리 관리자 계정을 만듭니다.
관리자 계정의 비밀번호를 변경해야하는 경우 ResetUserPassword API 호출을 사용할 수 있습니다.
유형 : 문자열
무늬:
(?=^.{8,64}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s]))^.*
필수 : 예
일반적으로 Terraform은 계획을 사용하여이를 검증하거나 명령을 검증 할 수 있지만 안타깝게도 AWS 공급자는 현재 적절한 항목이ValidateFunc
없으므로 1 분 대신 적용 시간에만 실패합니다.
계획 또는 검증 시간에이를 포착하려면 공급자 문제 추적기 에서 기능 요청을 제기해야합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다