Skip to content

Commit cc248f9

Browse files
Move instance settings fingerprint custom code to pre_* (#14143) (#23081)
[upstream:1076066280210b8c1ad7a4cba5291d443612a13b] Signed-off-by: Modular Magician <[email protected]>
1 parent 78a523b commit cc248f9

File tree

1 file changed

+43
-28
lines changed

1 file changed

+43
-28
lines changed

google/services/compute/resource_compute_instance_settings.go

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,27 @@ func resourceComputeInstanceSettingsCreate(d *schema.ResourceData, meta interfac
141141
}
142142

143143
headers := make(http.Header)
144+
145+
fingerprintUrl, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/zones/{{zone}}/instanceSettings/{{name}}")
146+
if err != nil {
147+
return err
148+
}
149+
150+
fingerPrintRes, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
151+
Config: config,
152+
Method: "GET",
153+
Project: project,
154+
RawURL: fingerprintUrl,
155+
UserAgent: userAgent,
156+
})
157+
if err != nil {
158+
return err
159+
}
160+
161+
fingerprintProp = fingerPrintRes["fingerprint"]
162+
if v, ok := d.GetOkExists("fingerprint"); !tpgresource.IsEmptyValue(reflect.ValueOf(fingerprintProp)) && (ok || !reflect.DeepEqual(v, fingerprintProp)) {
163+
obj["fingerprint"] = fingerprintProp
164+
}
144165
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
145166
Config: config,
146167
Method: "PATCH",
@@ -275,6 +296,27 @@ func resourceComputeInstanceSettingsUpdate(d *schema.ResourceData, meta interfac
275296
log.Printf("[DEBUG] Updating InstanceSettings %q: %#v", d.Id(), obj)
276297
headers := make(http.Header)
277298

299+
fingerprintUrl, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/zones/{{zone}}/instanceSettings/{{name}}")
300+
if err != nil {
301+
return err
302+
}
303+
304+
fingerPrintRes, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
305+
Config: config,
306+
Method: "GET",
307+
Project: project,
308+
RawURL: fingerprintUrl,
309+
UserAgent: userAgent,
310+
})
311+
if err != nil {
312+
return err
313+
}
314+
315+
fingerprintProp = fingerPrintRes["fingerprint"]
316+
if v, ok := d.GetOkExists("fingerprint"); !tpgresource.IsEmptyValue(reflect.ValueOf(fingerprintProp)) && (ok || !reflect.DeepEqual(v, fingerprintProp)) {
317+
obj["fingerprint"] = fingerprintProp
318+
}
319+
278320
// err == nil indicates that the billing_project value was found
279321
if bp, err := tpgresource.GetBillingProject(d, config); err == nil {
280322
billingProject = bp
@@ -415,34 +457,7 @@ func flattenComputeInstanceSettingsZone(v interface{}, d *schema.ResourceData, c
415457
}
416458

417459
func expandComputeInstanceSettingsFingerprint(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
418-
project, err := tpgresource.GetProject(d, config)
419-
if err != nil {
420-
return nil, err
421-
}
422-
423-
userAgent, err := tpgresource.GenerateUserAgentString(d, config.UserAgent)
424-
if err != nil {
425-
return nil, err
426-
}
427-
428-
url, err := tpgresource.ReplaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/zones/{{zone}}/instanceSettings/{{name}}")
429-
if err != nil {
430-
return nil, err
431-
}
432-
433-
res, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
434-
Config: config,
435-
Method: "GET",
436-
Project: project,
437-
RawURL: url,
438-
UserAgent: userAgent,
439-
})
440-
441-
if err != nil {
442-
return nil, err
443-
}
444-
445-
return res["fingerprint"], nil
460+
return v, nil
446461
}
447462

448463
func expandComputeInstanceSettingsMetadata(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {

0 commit comments

Comments
 (0)