반응형
테라폼 플랫 튜플과 문자열 집합
나는 각 IP에 대한 IP 주소와 메타데이터의 json을 포함하는 다음 테라폼 allowed_ips tuple을 가지고 있다. 나는 튜플을 평평하게 하려고 하는데, ["2.2.2", "3.3.3"] 형식의 IP 주소 목록을 가져오면 ip_rules 변수로 전달된다.
변수
allowed_ips = [
{
name = "ip1"
ip_address = "3.3.3.3"
},
{
name = "ip2"
ip_address = "127.0.0.1"
}
]
자원
variable "allowed_ips" {
type = list(object({
name = string,
priority = string,
ip_address = string
}))
}
network_acls {
default_action = "Deny"
bypass = "AzureServices"
ip_rules = jsonencode(var.allowed_ips.*.ip_address)
}
내가 규칙을 설정할 때 문제 없이 생성되지만 위의 allowed_ips에서 변수를 구문 분석하고 싶다.
나는 다음과 같은 다양한 방법을 시도했다.
jsonencode(var.allowed_ips.*.ip_address)
"${join("\\,", local.subnets.*.id)}"
- 각각의 포어를 통해 반복해서,
안타깝게도 대부분의 솔루션은 오류를 발생시킵니다.
아무쪼록 잘 부탁드립니다.
단순 for 루프를 사용하여 집합을 만들 수 있습니다.
ip_rules = [for i in var.allowed_ips : i.ip_address]
그 주장은 유형의 값을 기대하는 것처럼 보인다. 변수를 사용하려면 다음과 같은 작업을 수행할 수 있어야 합니다.
ip_rules = toset(var.allowed_ips[*].ip_address)
함수는 지정된 값을 문자열로 인코딩합니다. 문자열은 인수가 예상하는 유형이 아닙니다. 반환 값이 문자열 유형이기 때문에 함수에 대해서도 동일하게 말할 수 있습니다.
반응형
'개발하자' 카테고리의 다른 글
How to get the wifi name(SSID) of the currently connected wifi in Flutter (0) | 2022.12.13 |
---|---|
Flot : ListView에 헤더 행을 추가하는 방법 (0) | 2022.12.13 |
Uvicorn + Fast를 종료하는 방법pytest로 테스트 시 workers > = 2로 API를 깔끔하게 적용 (0) | 2022.12.12 |
Flot Firebase Auth Exception의 오류 코드는 무엇입니까? (0) | 2022.12.11 |
사이드 메뉴바를 펄럭이는 방법은? (0) | 2022.12.10 |