plantimestamp 함수
plantimestamp 함수
plantimestamp는 RFC 3339 형식의 UTC 타임스탬프 문자열을 반환하는 함수예요. Terraform 언어에서 타임스탬프는 관례적으로 RFC 3339 "날짜와 시간 형식" 구문을 사용하는 문자열로 표현되므로, plantimestamp 역시 이 형식의 문자열을 반환해요.
이 함수의 결과는 매 plan 작업마다 달라져요. 설정 유효성 검사를 수행하는 동안 TLS 인증서처럼 시간에 민감한 리소스를 검증할 때 plantimestamp를 사용할 수 있어요. Terraform Refresh-only plan과 같은 상황에서는 이 함수의 값이 다시 계산되지만 설정에 정의된 리소스로 전파되지는 않아요. 따라서 이 함수는 설정에서 생성한 타임스탬프가 아니라, provider가 내보낸 타임스탬프와 비교하는 용도로만 사용하는 것이 좋아요. plantimestamp 함수는 Terraform 콘솔에서는 사용할 수 없어요.
출처: 문서
본문
참고: 이 함수는 Terraform v1.5 이상에서만 사용할 수 있어요.
예제
> plantimestamp()
2018-05-13T07:44:12Z
다음은 인증서가 곧 만료되지 않았는지 plan 시점에 검증하는 예시예요.
check "terraform_io_certificate" {
data "tls_certificate" "terraform_io" {
url = "https://www.terraform.io/"
}
assert {
condition = timecmp(plantimestamp(), data.tls_certificate.terraform_io.certificates[0].not_after) < 0
error_message = "Certificate must not be expired."
}
}