hcl – github.com/hashicorp/hcl Index | Files | Directories

package hcl

import "github.com/hashicorp/hcl"

Package hcl decodes HCL into usable Go structures.

hcl input can come in either pure HCL format or JSON format. It can be parsed into an AST, and then decoded into a structure, or it can be decoded directly from a string into a structure.

If you choose to parse HCL into a raw AST, the benefit is that you can write custom visitor implementations to implement custom semantic checks. By default, HCL does not perform any semantic checks.

Index

Functions

func Decode

func Decode(out interface{}, in string) error

Decode reads the given input and decodes it into the structure given by `out`.

func DecodeObject

func DecodeObject(out interface{}, n ast.Node) error

DecodeObject is a lower-level version of Decode. It decodes a raw Object into the given output.

func Parse

func Parse(input string) (*ast.File, error)

Parse parses the given input and returns the root object.

The input format can be either HCL or JSON.

func ParseBytes

func ParseBytes(in []byte) (*ast.File, error)

ParseBytes accepts as input byte slice and returns ast tree.

Input can be either JSON or HCL

func ParseString

func ParseString(input string) (*ast.File, error)

ParseString accepts input as a string and returns ast tree.

func Unmarshal

func Unmarshal(bs []byte, v interface{}) error

Unmarshal accepts a byte slice as input and writes the data to the value pointed to by v.

Source Files

decoder.go hcl.go lex.go parse.go

Directories

PathSynopsis
hcl
hcl/astPackage ast declares the types used to represent syntax trees for HCL (HashiCorp Configuration Language)
hcl/fmtcmd
hcl/parserPackage parser implements a parser for HCL (HashiCorp Configuration Language)
hcl/printerPackage printer implements printing of AST nodes to HCL format.
hcl/scannerPackage scanner implements a scanner for HCL (HashiCorp Configuration Language) source text.
hcl/strconv
hcl/tokenPackage token defines constants representing the lexical tokens for HCL (HashiCorp Configuration Language)
json
json/parser
json/scanner
json/token
testhelper
Version
v1.0.0 (latest)
Published
Aug 26, 2018
Platform
linux/amd64
Imports
12 packages
Last checked
5 hours ago

Tools for package owners.