Not sure if 'exists?' will pick up a newly detected lun.  I think it all depends on whether the luns are cached in the @host object or if every call to 'host.datastore.find{|d|d.name==resource[:datastore]}' will query the vcs.