         opts = defaults opts,
             size_GB   : undefined  # if specified must be at least as large as existing disk
             type      : undefined  # 'pd-standard' or 'pd-ssd'; if not given same as current
+            zone      : undefined
             cb        : required
         dbg = @dbg("reconfigure(name=#{misc.to_json(misc.copy_without(opts, ['cb']))})")
-        if not opts.size_GB? and not opts.type?
-            opts.cb()  # nothing to do
+        dbg()
+        if not opts.size_GB? and not opts.type? and not opts.zone?
+            dbg("nothing to do")
+            opts.cb()
             return
         @_utility
             size_GB : opts.size_GB
             type    : opts.type
+            zone    : opts.zone
             delete  : true
             cb      : opts.cb
 

                if err
                    opts.cb(err)
                else
                    disks = (@gcloud.disk(zone:@zone, name:misc.path_split(x.source).tail) for x in data.disks)
                    opts.cb(undefined, disks)

    status : (opts) =>


    delete: (opts) =>
        opts = defaults opts,
            keep_disks : undefined
            cb : undefined
        dbg = @dbg("delete")
        dbg("starting")
