             return
         if @_rule3(data)
             return
+        if @_rule4(data)
+            return
 
     _rule0: (data) =>
         if data.gce_status == 'TERMINATED' and data.requested_status == 'RUNNING'

        if data.gce_status == 'RUNNING' and data.requested_status == 'RUNNING' and \
                  data.requested_preemptible and not data.gce_preemptible and data.gce_created <= misc.minutes_ago(@_switch_back_to_preemptible_m)
            dbg = @_dbg("rule3('#{data.name}')")
            dbg("switch running instance from non-pre-empt to preempt")
            @_action(data, 'preemptible', 'rule3')
            return true

    _action: (data, action, type, cb) =>

        meta.source = meta.source.slice(0,i+7) + zone + meta.source.slice(j)
        return

    _mutate_disk_name: (meta, name) =>
        i = meta.source.lastIndexOf('/')
        meta.source = meta.source.slice(0,i+1) + name
        return

    # 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
    # is to exit this process.
    keep_running: (opts={}) =>
        opts = defaults opts,
            interval_s : 30
        dbg = @dbg("keep_running(interval_s=#{opts.interval_s})")
        dbg()
        check = () =>
            dbg('check')
