基本语法 参数类型 HCL支持以下参数类型,按类别分为基本类型、集合类型和特殊类型。 基本类型 string :字符串类型,由一个或多个Unicode字符组成,例如 "hello"。 number:数字类型,可表示整数和浮点数。 bool :布尔类型,只能是 true 或 false。 HCL支持自动类型转换: 可自动将 number 和 bool 类型转换为 string 类型。 若一个字符串能表示为数字或布尔类型的值,也可进行反向转换。 基本类型参数可直接赋值,示例如下: java disktype "SSD" disksize 40 enable true 支持使用字符串表示数字和布尔类型 disksize "40" enable "true" 集合类型 map(...) :映射类型,以键值对(keyvalue pair)组合的数据元素集合。其中 key 为 string 类型,对应的值可是 string、number、bool等类型,且所有元素的值必须为同一类型。 list(...):列表类型,同类型数据元素的集合,元素可为基本类型和块类型,列表索引从0开始。 set(...):集合类型,类似列表类型,但元素无辅助标识符或顺序,且具有唯一性。 映射类型(map) 使用 { } 封装,表示形式灵活,规则如下: 键值对可使用等号 或冒号 : 连接。 若 key 不以数字开头,可不加双引号。 多行映射中,键值对之间可用换行符或逗号分隔。 推荐使用等号连接键值对并用换行符分隔,各格式示例如下: java 推荐格式 tags { foo "bar" key "value" } 其他格式 tags {"foo" "bar", "key" "value"} tags {"foo" : "bar", "key" : "value"} tags {foo "bar", key "value"} tags {foo : "bar", key : "value"} tags { foo : "bar" key : "value" }