diff --git a/internal/provider/resource_device.go b/internal/provider/resource_device.go index ab0d392..d625bcf 100644 --- a/internal/provider/resource_device.go +++ b/internal/provider/resource_device.go @@ -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, }