lib/vagrant-vcloud/action/is_last_vm.rb
module VagrantPlugins
module VCloud
module Action
class IsLastVM
def initialize(app, env)
@app = app
end
def call(env)
cfg = env[:machine].provider_config
cnx = cfg.vcloud_cnx.driver
vapp_id = env[:machine].get_vapp_id
test_vapp = cnx.get_vapp(vapp_id)
if test_vapp[:vms_hash].count == 1
# Set the result to be true if the machine is running.
env[:result] = true
else
env[:result] = false
end
# Call the next if we have one (but we shouldn't, since this
# middleware is built to run with the Call-type middlewares)
@app.call(env)
end
end
end
end
end