4
4
package mssql
5
5
6
6
import (
7
- "context"
8
7
"fmt"
9
8
"log"
10
9
"time"
@@ -100,19 +99,6 @@ func resourceMsSqlServerVulnerabilityAssessment() *pluginsdk.Resource {
100
99
ValidateFunc : validation .StringIsNotEmpty ,
101
100
},
102
101
},
103
-
104
- CustomizeDiff : pluginsdk .CustomDiffWithAll (
105
- pluginsdk .CustomizeDiffShim (func (ctx context.Context , d * pluginsdk.ResourceDiff , v interface {}) error {
106
- accessKey := d .GetRawConfig ().AsValueMap ()["storage_account_access_key" ]
107
- sasKey := d .GetRawConfig ().AsValueMap ()["storage_container_sas_key" ]
108
-
109
- if accessKey .IsNull () && sasKey .IsNull () {
110
- return fmt .Errorf ("at least one of 'storage_account_access_key' or 'storage_container_sas_key' properties must be set, got nil, nil" )
111
- }
112
-
113
- return nil
114
- }),
115
- ),
116
102
}
117
103
}
118
104
@@ -131,21 +117,21 @@ func resourceMsSqlServerVulnerabilityAssessmentCreate(d *pluginsdk.ResourceData,
131
117
132
118
alertResult , err := alertClient .Get (ctx , serverId )
133
119
if err != nil {
134
- return fmt .Errorf ("retrieving mssql server security alert policy: %+v" , err )
120
+ return fmt .Errorf ("retrieving security alert policy for SQL server %q : %w" , serverId . ServerName , err )
135
121
}
136
122
137
123
model := alertResult .Model
138
124
if model == nil {
139
- return fmt .Errorf ("retrieving mssql server security alert policy %s: model was nil " , serverId )
125
+ return fmt .Errorf ("security alert policy for SQL server %q returned empty response " , serverId . ServerName )
140
126
}
141
127
142
128
alertProps := model .Properties
143
129
if alertProps == nil {
144
- return fmt .Errorf ("retrieving mssql server security alert policy properties %s: properties was nil " , serverId )
130
+ return fmt .Errorf ("security alert policy for SQL server %q has no properties " , serverId . ServerName )
145
131
}
146
132
147
133
if alertProps .State != serversecurityalertpolicies .SecurityAlertsPolicyStateEnabled {
148
- return fmt .Errorf ("mssql server security alert policy is not ' enabled'" )
134
+ return fmt .Errorf ("security alert policy for SQL server %q must be enabled before configuring vulnerability assessment" , serverId . ServerName )
149
135
}
150
136
151
137
log .Printf ("[INFO] preparing arguments for mssql server vulnerability assessment creation" )
@@ -202,7 +188,7 @@ func resourceMsSqlServerVulnerabilityAssessmentCreate(d *pluginsdk.ResourceData,
202
188
203
189
result , err := client .CreateOrUpdate (ctx , serverId , payload )
204
190
if err != nil || result .Model == nil || result .Model .Id == nil {
205
- return fmt .Errorf ("creating mssql server vulnerability assessment %s : %v " , id , err )
191
+ return fmt .Errorf ("creating vulnerability assessment for SQL server %q : %w " , serverId . ServerName , err )
206
192
}
207
193
208
194
d .SetId (id .ID ())
@@ -228,27 +214,27 @@ func resourceMsSqlServerVulnerabilityAssessmentRead(d *pluginsdk.ResourceData, m
228
214
vulnerability , err := client .Get (ctx , serverId )
229
215
if err != nil {
230
216
if response .WasNotFound (vulnerability .HttpResponse ) {
231
- log .Printf ("[WARN] mssql server vulnerability assessment %s: not found" , id )
217
+ log .Printf ("[WARN] vulnerability assessment for SQL server %q was not found" , serverId . ServerName )
232
218
d .SetId ("" )
233
219
return nil
234
220
}
235
221
236
- return fmt .Errorf ("retrieving mssql server vulnerability assessment %s : %+v " , * id , err )
222
+ return fmt .Errorf ("retrieving vulnerability assessment for SQL server %q : %w " , serverId . ServerName , err )
237
223
}
238
224
239
225
alert , err := alertClient .Get (ctx , serverId )
240
226
if err != nil {
241
- return fmt .Errorf ("retrieving mssql server security alert policy by ID : %+v" , err )
227
+ return fmt .Errorf ("retrieving security alert policy for SQL server %q : %w" , serverId . ServerName , err )
242
228
}
243
229
244
230
model := alert .Model
245
231
246
232
if model == nil {
247
- return fmt .Errorf ("retrieving mssql server security alert policy %s: model was nil " , serverId )
233
+ return fmt .Errorf ("security alert policy for SQL server %q returned empty response " , serverId . ServerName )
248
234
}
249
235
250
236
if model .Id == nil {
251
- return fmt .Errorf ("retrieving mssql server security alert policy %s: Id was nil " , serverId )
237
+ return fmt .Errorf ("security alert policy for SQL server %q has no resource ID " , serverId . ServerName )
252
238
}
253
239
254
240
recurringScans := make ([]interface {}, 0 )
@@ -317,38 +303,37 @@ func resourceMsSqlServerVulnerabilityAssessmentUpdate(d *pluginsdk.ResourceData,
317
303
318
304
alert , err := alertClient .Get (ctx , serverId )
319
305
if err != nil {
320
- return fmt .Errorf ("retrieving mssql server security alert policy: %+v" , err )
306
+ return fmt .Errorf ("retrieving security alert policy for SQL server %q : %w" , serverId . ServerName , err )
321
307
}
322
308
323
309
if alert .Model == nil {
324
- return fmt .Errorf ("retrieving mssql server security alert policy %s: model was nil " , serverId )
310
+ return fmt .Errorf ("security alert policy for SQL server %q returned empty response " , serverId . ServerName )
325
311
}
326
312
327
313
if alert .Model .Properties == nil {
328
- return fmt .Errorf ("retrieving mssql server security alert policy properties %s: properties was nil " , serverId )
314
+ return fmt .Errorf ("security alert policy for SQL server %q has no properties " , serverId . ServerName )
329
315
}
330
316
331
317
if alert .Model .Properties .State != serversecurityalertpolicies .SecurityAlertsPolicyStateEnabled {
332
- return fmt .Errorf ("mssql server security alert policy is not ' enabled'" )
318
+ return fmt .Errorf ("security alert policy for SQL server %q must be enabled before updating vulnerability assessment" , serverId . ServerName )
333
319
}
334
320
335
321
log .Printf ("[INFO] preparing arguments for mssql server vulnerability assessment update" )
336
322
337
323
payload := servervulnerabilityassessments.ServerVulnerabilityAssessment {}
338
-
339
324
result , err := client .Get (ctx , serverId )
340
325
if err != nil {
341
- return fmt .Errorf ("retrieving mssql server vulnerability assessment policy : %+v" , err )
326
+ return fmt .Errorf ("retrieving existing vulnerability assessment for SQL server %q : %w" , serverId . ServerName , err )
342
327
}
343
328
344
329
if result .Model == nil {
345
- return fmt .Errorf ("retrieving mssql server vulnerability assessment policy %s: model was nil " , serverId )
330
+ return fmt .Errorf ("vulnerability assessment for SQL server %q returned empty response " , serverId . ServerName )
346
331
}
347
332
348
333
props := result .Model .Properties
349
334
350
335
if props == nil {
351
- return fmt .Errorf ("retrieving mssql server vulnerability assessment policy %s: properties was nil " , serverId )
336
+ return fmt .Errorf ("vulnerability assessment for SQL server %q has no properties " , serverId . ServerName )
352
337
}
353
338
354
339
if d .HasChange ("storage_container_path" ) {
@@ -408,7 +393,7 @@ func resourceMsSqlServerVulnerabilityAssessmentUpdate(d *pluginsdk.ResourceData,
408
393
409
394
update , err := client .CreateOrUpdate (ctx , serverId , payload )
410
395
if err != nil || update .Model == nil || update .Model .Id == nil {
411
- return fmt .Errorf ("updating mssql server vulnerability assessment %s : %v " , id , err )
396
+ return fmt .Errorf ("updating vulnerability assessment for SQL server %q : %w " , serverId . ServerName , err )
412
397
}
413
398
414
399
return resourceMsSqlServerVulnerabilityAssessmentRead (d , meta )
@@ -429,7 +414,7 @@ func resourceMsSqlServerVulnerabilityAssessmentDelete(d *pluginsdk.ResourceData,
429
414
serverId := commonids .NewSqlServerID (id .SubscriptionId , id .ResourceGroup , id .ServerName )
430
415
431
416
if _ , err = client .Delete (ctx , serverId ); err != nil {
432
- return fmt .Errorf ("deleting mssql server vulnerability assessment %s : %v " , * id , err )
417
+ return fmt .Errorf ("deleting vulnerability assessment for SQL server %q : %w " , serverId . ServerName , err )
433
418
}
434
419
435
420
return nil
0 commit comments