@@ -23,9 +23,9 @@ import (
23
23
pbempty "github.com/golang/protobuf/ptypes/empty"
24
24
"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
25
25
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/config"
26
- "github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
27
26
pl "github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
28
27
"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
28
+ "github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
29
29
pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
30
30
"google.golang.org/grpc/codes"
31
31
"google.golang.org/grpc/status"
@@ -76,7 +76,27 @@ func (p *providerServer) checkNYI(method string, err error) error {
76
76
return err
77
77
}
78
78
79
- func (p * providerServer ) marshalDiff (diff plugin.DiffResult ) (* pulumirpc.DiffResponse , error ) {
79
+ func pluginDiffKindToRPC (kind pl.DiffKind ) pulumirpc.PropertyDiff_Kind {
80
+ switch kind {
81
+ case pl .DiffAdd :
82
+ return pulumirpc .PropertyDiff_ADD
83
+ case pl .DiffAddReplace :
84
+ return pulumirpc .PropertyDiff_ADD_REPLACE
85
+ case pl .DiffDelete :
86
+ return pulumirpc .PropertyDiff_DELETE
87
+ case pl .DiffDeleteReplace :
88
+ return pulumirpc .PropertyDiff_DELETE_REPLACE
89
+ case pl .DiffUpdate :
90
+ return pulumirpc .PropertyDiff_UPDATE
91
+ case pl .DiffUpdateReplace :
92
+ return pulumirpc .PropertyDiff_UPDATE_REPLACE
93
+ default :
94
+ contract .Assertf (false , "unknown diff kind: %v" , kind )
95
+ return pulumirpc .PropertyDiff_ADD
96
+ }
97
+ }
98
+
99
+ func (p * providerServer ) marshalDiff (diff pl.DiffResult ) (* pulumirpc.DiffResponse , error ) {
80
100
var changes pulumirpc.DiffResponse_DiffChanges
81
101
switch diff .Changes {
82
102
case pl .DiffNone :
@@ -94,7 +114,7 @@ func (p *providerServer) marshalDiff(diff plugin.DiffResult) (*pulumirpc.DiffRes
94
114
detailedDiff = make (map [string ]* pulumirpc.PropertyDiff )
95
115
for path , diff := range diff .DetailedDiff {
96
116
detailedDiff [path ] = & pulumirpc.PropertyDiff {
97
- Kind : pulumirpc . PropertyDiff_Kind (diff .Kind ), //nolint:gosec
117
+ Kind : pluginDiffKindToRPC (diff .Kind ),
98
118
InputDiff : diff .InputDiff ,
99
119
}
100
120
}
@@ -120,21 +140,21 @@ func (p *providerServer) marshalDiff(diff plugin.DiffResult) (*pulumirpc.DiffRes
120
140
}
121
141
122
142
type forwardServer struct {
123
- plugin .UnimplementedProvider
143
+ pl .UnimplementedProvider
124
144
125
- parameterize func (context.Context , plugin .ParameterizeRequest ) (plugin .ParameterizeResponse , error )
145
+ parameterize func (context.Context , pl .ParameterizeRequest ) (pl .ParameterizeResponse , error )
126
146
}
127
147
128
148
func (p forwardServer ) Parameterize (
129
- ctx context.Context , req plugin .ParameterizeRequest ,
130
- ) (plugin .ParameterizeResponse , error ) {
149
+ ctx context.Context , req pl .ParameterizeRequest ,
150
+ ) (pl .ParameterizeResponse , error ) {
131
151
return p .parameterize (ctx , req )
132
152
}
133
153
134
154
func (p * providerServer ) Parameterize (
135
155
ctx context.Context , req * pulumirpc.ParameterizeRequest ,
136
156
) (* pulumirpc.ParameterizeResponse , error ) {
137
- return plugin .NewProviderServer (& forwardServer {
157
+ return pl .NewProviderServer (& forwardServer {
138
158
parameterize : p .provider .ParameterizeWithContext ,
139
159
}).Parameterize (ctx , req )
140
160
}
@@ -150,7 +170,7 @@ func (p *providerServer) GetSchema(ctx context.Context,
150
170
}
151
171
subpackageVersion = & ver
152
172
}
153
- schema , err := p .provider .GetSchemaWithContext (ctx , plugin .GetSchemaRequest {
173
+ schema , err := p .provider .GetSchemaWithContext (ctx , pl .GetSchemaRequest {
154
174
Version : req .GetVersion (),
155
175
SubpackageName : req .SubpackageName ,
156
176
SubpackageVersion : subpackageVersion ,
0 commit comments