Skip to content

Commit f4e6596

Browse files
committed
MDM: fix crashing bug
Signed-off-by: Andy Lo-A-Foe <andy.loafoe@gmail.com>
1 parent be7bce2 commit f4e6596

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

internal/services/connect/mdm/resource_connect_mdm_oauth_client.go

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -226,31 +226,34 @@ func setScopes(client *mdm.Client, iamClient *iam.Client, d *schema.ResourceData
226226
// Set IAM scopes
227227
iamScopes := tools.ExpandStringList(d.Get("iam_scopes").(*schema.Set).List())
228228
iamDefaultScopes := tools.ExpandStringList(d.Get("iam_default_scopes").(*schema.Set).List())
229-
iamResource, _, err := iamClient.Clients.GetClientByID(resource.ClientGuid.Value)
230-
if err != nil {
231-
return fmt.Errorf("get IAM OAuth client: %v", err)
232-
}
233-
// Merge MDM scopes and IAM scopes
234-
combinedDefaultScopes := append(defaultScopes, iamDefaultScopes...)
235-
combinedScopes := append(scopes, iamScopes...)
236-
_, _, err = iamClient.Clients.UpdateScopes(*iamResource, combinedScopes, combinedDefaultScopes)
229+
if resource.ClientGuid != nil {
230+
iamResource, _, err := iamClient.Clients.GetClientByID(resource.ClientGuid.Value)
231+
if err != nil {
232+
return fmt.Errorf("get IAM OAuth client: %v", err)
233+
}
234+
// Merge MDM scopes and IAM scopes
235+
combinedDefaultScopes := append(defaultScopes, iamDefaultScopes...)
236+
combinedScopes := append(scopes, iamScopes...)
237+
_, _, err = iamClient.Clients.UpdateScopes(*iamResource, combinedScopes, combinedDefaultScopes)
237238

238-
if err != nil {
239-
return fmt.Errorf("updating IAM OAuth client scopes: %v", err)
239+
if err != nil {
240+
return fmt.Errorf("updating IAM OAuth client scopes: %v", err)
241+
}
240242
}
241-
242243
bootstrapIamScopes := tools.ExpandStringList(d.Get("bootstrap_client_iam_scopes").(*schema.Set).List())
243244
bootstrapIamDefaultScopes := tools.ExpandStringList(d.Get("bootstrap_client_iam_default_scopes").(*schema.Set).List())
244-
bootstrapIamResource, _, err := iamClient.Clients.GetClientByID(resource.BootstrapClientGuid.Value)
245-
if err != nil {
246-
return fmt.Errorf("get IAM OAuth bootstrap client: %v", err)
247-
}
248245

249-
// Merge MDM scopes and IAM scopes
250-
combinedBootstrapDefaultScopes := append(bootstrapDefaultScopes, bootstrapIamDefaultScopes...)
251-
combinedBootstrapScopes := append(bootstrapScopes, bootstrapIamScopes...)
252-
_, _, err = iamClient.Clients.UpdateScopes(*bootstrapIamResource, combinedBootstrapScopes, combinedBootstrapDefaultScopes)
246+
if resource.BootstrapClientGuid != nil {
247+
bootstrapIamResource, _, err := iamClient.Clients.GetClientByID(resource.BootstrapClientGuid.Value)
248+
if err != nil {
249+
return fmt.Errorf("get IAM OAuth bootstrap client: %v", err)
250+
}
253251

252+
// Merge MDM scopes and IAM scopes
253+
combinedBootstrapDefaultScopes := append(bootstrapDefaultScopes, bootstrapIamDefaultScopes...)
254+
combinedBootstrapScopes := append(bootstrapScopes, bootstrapIamScopes...)
255+
_, _, err = iamClient.Clients.UpdateScopes(*bootstrapIamResource, combinedBootstrapScopes, combinedBootstrapDefaultScopes)
256+
}
254257
return err
255258
}
256259

0 commit comments

Comments
 (0)