     detach: (opts) =>
         opts = defaults opts,
             vm : undefined   # if not given, detach from all users of this disk
-            cb : undefined
+            cb : undefined   # (err, list_of_vms_that_we_detached_disk_from)
         dbg = @dbg("detach")
         vms = undefined
         async.series([

            type    : 'pd-standard'   # 'pd-standard' or 'pd-ssd'
            zone    : DEFAULT_ZONE
            cb      : undefined
        dbg = @dbg("create_disk(#{misc.to_json(opts)})")
        dbg("starting...")
        config =
            sourceSnapshot : "global/snapshots/#{@name}"
        config.sizeGb = opts.size_GB if opts.size_GB?
        config.type = "zones/#{opts.zone}/diskTypes/#{opts.type}"
        @gcloud._gce.zone(opts.zone).createDisk opts.name, config, (err, disk, operation, apiResponse) =>
            handle_operation(err, operation, (->dbg('done')), (err) => opts.cb?(err))


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

    detach_disk: (opts) =>
        opts = defaults opts,
            disk : required
            cb   : undefined
        dbg = @dbg("detach_disk")
        if not (opts.disk instanceof Disk)
            dbg("not Disk")
