@@ -11,6 +11,7 @@ import (
11
11
"github.com/hashicorp/terraform-plugin-framework/diag"
12
12
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
13
13
"github.com/hashicorp/terraform-plugin-go/tftypes"
14
+ "github.com/hashicorp/terraform-plugin-log/tflog"
14
15
15
16
"github.com/pomerium/pomerium/pkg/policy/parser"
16
17
)
@@ -42,7 +43,14 @@ func (p PolicyLanguageType) Equal(o attr.Type) bool {
42
43
43
44
func (PolicyLanguageType ) Parse (src basetypes.StringValue ) (PolicyLanguage , error ) {
44
45
if src .IsNull () {
45
- return PolicyLanguage {}, nil
46
+ return PolicyLanguage {
47
+ StringValue : basetypes .NewStringNull (),
48
+ }, nil
49
+ }
50
+ if src .IsUnknown () {
51
+ return PolicyLanguage {
52
+ StringValue : basetypes .NewStringUnknown (),
53
+ }, nil
46
54
}
47
55
48
56
ppl , err := parser .New ().ParseYAML (strings .NewReader (src .ValueString ()))
@@ -61,13 +69,14 @@ func (PolicyLanguageType) Parse(src basetypes.StringValue) (PolicyLanguage, erro
61
69
}
62
70
63
71
func (PolicyLanguageType ) ValueFromString (
64
- _ context.Context ,
72
+ ctx context.Context ,
65
73
in basetypes.StringValue ,
66
74
) (basetypes.StringValuable , diag.Diagnostics ) {
75
+ tflog .Info (ctx , "PPL.ValueFromString" , map [string ]any {"in" : in })
67
76
var diag diag.Diagnostics
68
77
v , err := PolicyLanguageType {}.Parse (in )
69
78
if err != nil {
70
- diag .AddError ("failed to parse PPL" , err .Error ()+ ">>" + in . ValueString () + "<<" )
79
+ diag .AddError ("failed to parse PPL" , err .Error ())
71
80
return nil , diag
72
81
}
73
82
return v , nil
@@ -77,6 +86,7 @@ func (p PolicyLanguageType) ValueFromTerraform(
77
86
ctx context.Context ,
78
87
in tftypes.Value ,
79
88
) (attr.Value , error ) {
89
+ tflog .Info (ctx , "PPL.ValueFromTerraform" , map [string ]any {"in" : in })
80
90
attrValue , err := p .StringType .ValueFromTerraform (ctx , in )
81
91
if err != nil {
82
92
return nil , err
0 commit comments