MCPcopy Index your code
hub / github.com/coder/coder / parseVariableValuesFromVarsFiles

Function parseVariableValuesFromVarsFiles

codersdk/templatevariables.go:73–101  ·  view source on GitHub ↗
(varsFiles []string)

Source from the content-addressed store, hash-verified

71}
72
73func parseVariableValuesFromVarsFiles(varsFiles []string) ([]VariableValue, error) {
74 var parsed []VariableValue
75 for _, varsFile := range varsFiles {
76 content, err := os.ReadFile(varsFile)
77 if err != nil {
78 return nil, err
79 }
80
81 var t []VariableValue
82 ext := filepath.Ext(varsFile)
83 switch ext {
84 case ".tfvars":
85 t, err = parseVariableValuesFromHCL(content)
86 if err != nil {
87 return nil, xerrors.Errorf("unable to parse HCL content: %w", err)
88 }
89 case ".json":
90 t, err = parseVariableValuesFromJSON(content)
91 if err != nil {
92 return nil, xerrors.Errorf("unable to parse JSON content: %w", err)
93 }
94 default:
95 return nil, xerrors.Errorf("unexpected tfvars format: %s", ext)
96 }
97
98 parsed = append(parsed, t...)
99 }
100 return parsed, nil
101}
102
103func parseVariableValuesFromHCL(content []byte) ([]VariableValue, error) {
104 parser := hclparse.NewParser()

Callers 1

ParseUserVariableValuesFunction · 0.85

Calls 4

ReadFileMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected