             read_only : false
             cb        : required
         if not (opts.vm instanceof VM)
-            opts.cb("vm must be an instance of VM")
-            return
+            if typeof(opts.vm) == 'string'
+                opts.vm = @gcloud.vm(name:opts.vm, zone:@zone)
+            else
+                opts.cb("vm must be an instance of VM")
+                return
         opts.vm.attach_disk
             disk      : @
             read_only : opts.read_only

        opts = defaults opts,
            cb  : required
        @dbg("get_operations")()
        @_gce.getOperations {filter:"status ne DONE", maxResults:500}, (err, operations) => opts.cb(err, operations)

    _check_db: (cb) =>
        if not @db

                        cb   : cb
                async.map(vms, f, cb)

            ], (err) => opts.cb?(err))

class Snapshot
    constructor: (@gcloud, @name) ->
