Allow device timeouts to be customized

This commit is contained in:
Joshua Spence
2023-02-28 15:10:42 +11:00
parent c52cc13660
commit 8b28a7d42e

View File

@@ -173,7 +173,7 @@ func resourceDeviceCreate(ctx context.Context, d *schema.ResourceData, meta inte
return diag.FromErr(err)
}
device, err = waitForDeviceState(ctx, d, meta, unifi.DeviceStateConnected, []unifi.DeviceState{unifi.DeviceStateAdopting, unifi.DeviceStatePending, unifi.DeviceStateProvisioning, unifi.DeviceStateUpgrading})
device, err = waitForDeviceState(ctx, d, meta, unifi.DeviceStateConnected, []unifi.DeviceState{unifi.DeviceStateAdopting, unifi.DeviceStatePending, unifi.DeviceStateProvisioning, unifi.DeviceStateUpgrading}, 5*time.Minute)
if err != nil {
return diag.FromErr(err)
}
@@ -204,7 +204,7 @@ func resourceDeviceUpdate(ctx context.Context, d *schema.ResourceData, meta inte
return diag.FromErr(err)
}
_, err = waitForDeviceState(ctx, d, meta, unifi.DeviceStateConnected, []unifi.DeviceState{unifi.DeviceStateAdopting, unifi.DeviceStateProvisioning})
_, err = waitForDeviceState(ctx, d, meta, unifi.DeviceStateConnected, []unifi.DeviceState{unifi.DeviceStateAdopting, unifi.DeviceStateProvisioning}, 1*time.Minute)
if err != nil {
return diag.FromErr(err)
}
@@ -231,7 +231,7 @@ func resourceDeviceDelete(ctx context.Context, d *schema.ResourceData, meta inte
return diag.FromErr(err)
}
_, err = waitForDeviceState(ctx, d, meta, unifi.DeviceStatePending, []unifi.DeviceState{unifi.DeviceStateConnected, unifi.DeviceStateDeleting})
_, err = waitForDeviceState(ctx, d, meta, unifi.DeviceStatePending, []unifi.DeviceState{unifi.DeviceStateConnected, unifi.DeviceStateDeleting}, 1*time.Minute)
if _, ok := err.(*unifi.NotFoundError); !ok {
return diag.FromErr(err)
}
@@ -345,7 +345,7 @@ func fromPortOverride(po unifi.DevicePortOverrides) (map[string]interface{}, err
}, nil
}
func waitForDeviceState(ctx context.Context, d *schema.ResourceData, meta interface{}, targetState unifi.DeviceState, pendingStates []unifi.DeviceState) (*unifi.Device, error) {
func waitForDeviceState(ctx context.Context, d *schema.ResourceData, meta interface{}, targetState unifi.DeviceState, pendingStates []unifi.DeviceState, timeout time.Duration) (*unifi.Device, error) {
c := meta.(*client)
site := d.Get("site").(string)
@@ -393,7 +393,7 @@ func waitForDeviceState(ctx context.Context, d *schema.ResourceData, meta interf
return device, state, err
},
Timeout: 5 * time.Minute,
Timeout: timeout,
NotFoundChecks: 30,
}