위키득계정 ↗
기술

HCL

이름
HashiCorp Configuration Language
주요 구성
속성과 블록
표현 형식
고유 문법과 JSON 표현
통합 수단
Go API
HCL은 사람이 작성하는 구조화된 설정 언어를 만들기 위한 문법과 도구 모음이다. 속성과 계층적인 블록을 기본으로 하며 응용이 허용할 구조와 변수, 함수를 정해 설정을 해석한다.

속성과 블록의 구조

속성은 이름과 값을 연결하고 블록은 관련 설정을 계층적으로 묶는다. 응용은 어떤 속성 이름과 중첩 블록을 받을지 정의한다. HCL은 파일을 해석하고 예상 구조에 맞는지 확인해 응용이 후속 처리할 수 있는 객체를 제공한다.

설정 안의 표현식

속성 값에는 단순한 리터럴 외에 계산식도 사용할 수 있다. 문자열 보간과 템플릿으로 값을 조합하며 변수와 함수는 사용하는 응용이 지원하는 범위에서 제공된다. 따라서 HCL을 쓴다는 사실만으로 모든 도구에 같은 함수나 설정 항목이 존재하는 것은 아니다.

사람과 기계의 표현 방식

사람이 읽고 쓰기 위한 고유 문법과 기계가 생성하기 편한 JSON 기반 표현을 공통 설정 모델로 다룬다. 응용은 두 형식을 같은 API로 처리할 수 있다. 단순 자료 직렬화 형식과 달리 응용이 정한 구조와 선언적인 계산을 포함하는 설정 언어를 만드는 데 목적이 있다.

관련 문서

CUE / Jsonnet / Dhall / Terraform / JSON / Go