@@ -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