diff --git a/internal/lang/funcs/conversion.go b/internal/lang/funcs/conversion.go index 89dfd00f09..b0f9d2a6b5 100644 --- a/internal/lang/funcs/conversion.go +++ b/internal/lang/funcs/conversion.go @@ -109,7 +109,7 @@ var TypeFunc = function.New(&function.Spec{ }, Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (cty.Value, error) { - return cty.StringVal(TypeString(args[0].Type())).Mark("raw"), nil + return cty.StringVal(TypeString(args[0].Type())).Mark(marks.Raw), nil }, }) diff --git a/internal/lang/marks/marks.go b/internal/lang/marks/marks.go index 93a731e71d..7e5bb3d0d4 100644 --- a/internal/lang/marks/marks.go +++ b/internal/lang/marks/marks.go @@ -37,3 +37,7 @@ func Contains(val cty.Value, mark valueMark) bool { // Sensitive indicates that this value is marked as sensitive in the context of // Terraform. var Sensitive = valueMark("sensitive") + +// Raw is used to indicate to the repl that the value should be written without +// any formatting. +var Raw = valueMark("raw") diff --git a/internal/repl/format.go b/internal/repl/format.go index 73c741c5a6..70fb66abf0 100644 --- a/internal/repl/format.go +++ b/internal/repl/format.go @@ -17,7 +17,7 @@ func FormatValue(v cty.Value, indent int) string { if !v.IsKnown() { return "(known after apply)" } - if v.Type().Equals(cty.String) && v.HasMark("raw") { + if v.Type().Equals(cty.String) && v.HasMark(marks.Raw) { raw, _ := v.Unmark() return raw.AsString() }