@@ -99,10 +99,14 @@ func readContactPoint(ctx context.Context, data *schema.ResourceData, meta inter
9999}
100100
101101func createContactPoint (ctx context.Context , data * schema.ResourceData , meta interface {}) diag.Diagnostics {
102+ lock := & meta .(* client ).alertingMutex
102103 client := meta .(* client ).gapi
103104
104105 ps := unpackContactPoints (data )
105106 uids := make ([]string , 0 , len (ps ))
107+
108+ lock .Lock ()
109+ defer lock .Unlock ()
106110 for i := range ps {
107111 uid , err := client .NewContactPoint (& ps [i ])
108112 if err != nil {
@@ -116,13 +120,16 @@ func createContactPoint(ctx context.Context, data *schema.ResourceData, meta int
116120}
117121
118122func updateContactPoint (ctx context.Context , data * schema.ResourceData , meta interface {}) diag.Diagnostics {
123+ lock := & meta .(* client ).alertingMutex
119124 client := meta .(* client ).gapi
120125
121126 existingUIDs := unpackUIDs (data .Id ())
122127 ps := unpackContactPoints (data )
123128
124129 unprocessedUIDs := toUIDSet (existingUIDs )
125130 newUIDs := make ([]string , 0 , len (ps ))
131+ lock .Lock ()
132+ defer lock .Unlock ()
126133 for i := range ps {
127134 delete (unprocessedUIDs , ps [i ].UID )
128135 err := client .UpdateContactPoint (& ps [i ])
@@ -154,9 +161,13 @@ func updateContactPoint(ctx context.Context, data *schema.ResourceData, meta int
154161}
155162
156163func deleteContactPoint (ctx context.Context , data * schema.ResourceData , meta interface {}) diag.Diagnostics {
164+ lock := & meta .(* client ).alertingMutex
157165 client := meta .(* client ).gapi
158166
159167 uids := unpackUIDs (data .Id ())
168+
169+ lock .Lock ()
170+ defer lock .Unlock ()
160171 for _ , uid := range uids {
161172 if err := client .DeleteContactPoint (uid ); err != nil {
162173 return diag .FromErr (err )
0 commit comments