         ], (err) =>
             opts.cb?(err)
         )
+
+    # return string, e.g., 'read_write' if the metadata indicates that google cloud storage is enabled in some way
+    _storage: (data) =>
+        {parse} = require('path')
+        for x in data.serviceAccounts ? []
+            for s in x.scopes
+                p = parse(s)
+                if p.name == 'devstorage'
+                    return p.ext.slice(1)
+        return false
 
     # Keep this instance running by checking on its status every interval_s seconds, and
     # if the status is TERMINATED, issue a start command.  The only way to stop this check

            preemptible  : undefined    # whether or not VM is preemptible
            type         : undefined    # the VM machine type
            zone         : undefined    # which zone VM is located in
            boot_size_GB : undefined    # size in GB of boot disk
            start        : undefined    # leave machine started after change, even if it was off
            cb           : undefined

                    type        : changes.type ? filename(data.machineType)
                    tags        : data.tags.items
                    preemptible : changes.preemptible ? data.scheduling.preemptible
                    storage     : changes.storage ? @_storage(data)
                    external    : data.networkInterfaces?[0]?.accessConfigs?[0]?.natIP   # keep same static external ip if possible
                    cb          : cb
            (cb) =>
                if no_change or data.status == 'RUNNING' or opts.start
