in internal/terraform/tf.go [205:233]
func TfOutput(dir string, outputVar string, verbose bool) (string, error) {
var output string
ctx := context.Background()
tf, _ := initializeTerraformClient(dir, verbose)
outputs, err := tf.Output(ctx)
if err != nil {
return "", err
}
if outputVar != "" {
raw := string(outputs[outputVar].Value)
output = strings.Trim(raw, `"`)
// Asked for a value not found in outputs
if output == "" {
err := errors.New("output value not found")
return "", err
}
} else {
bytes, _ := json.Marshal(outputs)
output = string(bytes)
}
return output, nil
}