namespace :opsmgr do
desc "Alias for opsmgr:destroy:vms" task :destroy, [:environment] => %w(opsmgr:destroy:vms) namespace :destroy do desc "- Clear our Resource Pool, deleting stemcells, all installed products' VMs (including Ops Mgr)" task :vms, [:environment, :om_version] do |_, args| require 'opsmgr/cmd/ops_manager' require 'opsmgr/environments' require 'opsmgr/api/client' env = Opsmgr::Environments.for(args.environment) begin installation_settings = Opsmgr::Api::Client.new(env, args.om_version).installation_settings.as_hash rescue installation_settings = { 'infrastructure' => {} } end require 'vm_shepherd' shep = VmShepherd::Shepherd.new(settings: env.settings_with_merged_folders(installation_settings)) shep.clean_environment shep.destroy end desc "- Clear our Resource Pool, deleting stemcells, all installed products' VMs (including Ops Mgr) without merging settings" task :vms_raw, [:environment] do |_, args| require 'opsmgr/environments' require 'vm_shepherd' env = Opsmgr::Environments.for(args.environment) shep = VmShepherd::Shepherd.new(settings: env.settings) shep.clean_environment shep.destroy end desc '- Destroy Existing Ops Manager' task :opsmgr, [:environment] do |_, args| require 'opsmgr/environments' require 'vm_shepherd' env = Opsmgr::Environments.for(args.environment) shep = VmShepherd::Shepherd.new(settings: env.settings) shep.destroy end end
end # Copyright © 2014-2015 Pivotal Software, Inc. # All rights reserved. # THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE # USE OR OTHER DEALINGS IN THE SOFTWARE.