@@ -33,6 +33,7 @@ func ResourceBigtableInstance() *schema.Resource {
33
33
Timeouts : & schema.ResourceTimeout {
34
34
Create : schema .DefaultTimeout (60 * time .Minute ),
35
35
Update : schema .DefaultTimeout (60 * time .Minute ),
36
+ Read : schema .DefaultTimeout (60 * time .Minute ),
36
37
},
37
38
38
39
CustomizeDiff : customdiff .All (
@@ -257,7 +258,9 @@ func resourceBigtableInstanceRead(d *schema.ResourceData, meta interface{}) erro
257
258
258
259
instanceName := d .Get ("name" ).(string )
259
260
260
- instance , err := c .InstanceInfo (ctx , instanceName )
261
+ ctxWithTimeout , cancel := context .WithTimeout (ctx , d .Timeout (schema .TimeoutRead ))
262
+ defer cancel ()
263
+ instance , err := c .InstanceInfo (ctxWithTimeout , instanceName )
261
264
if err != nil {
262
265
if tpgresource .IsNotFoundGrpcError (err ) {
263
266
log .Printf ("[WARN] Removing %s because it's gone" , instanceName )
@@ -271,7 +274,7 @@ func resourceBigtableInstanceRead(d *schema.ResourceData, meta interface{}) erro
271
274
return fmt .Errorf ("Error setting project: %s" , err )
272
275
}
273
276
274
- clusters , err := c .Clusters (ctx , instance .Name )
277
+ clusters , err := c .Clusters (ctxWithTimeout , instance .Name )
275
278
if err != nil {
276
279
partiallyUnavailableErr , ok := err .(bigtable.ErrPartiallyUnavailable )
277
280
0 commit comments