                                 cb(err)
                             else
                                 # all the users must be in the same zone as this disk
-                                vms = (@gcloud.vm(name:misc.path_split(u).tail, zone:@zone) for u in data.users)
+                                vms = (@gcloud.vm(name:misc.path_split(u).tail, zone:@zone) for u in (data.users ? []))
                                 cb()
             (cb) =>
                 dbg('actually detach disk from that vm')

age_s = (time) -> (new Date() - time)/1000

onCompleteOpts =
    maxAttempts : 30

handle_operation = (err, operation, done, cb) ->
    if err

            type    : 'pd-standard'   # 'pd-standard' or 'pd-ssd'
            zone    : DEFAULT_ZONE
            cb      : undefined
        dbg = @dbg("create_disk(#{misc.to_json(misc.copy_without(opts, ['cb']))})")
        if opts.size_GB? and opts.size_GB < 10
            opts.cb?("size_GB must be at least 10")
            return
        opts.snapshot = @name
        @gcloud.create_disk(opts)

class GoogleCloud
    constructor: (opts={}) ->
