Sha256: ac9835a9e0cdba2a98caf69d81a3a4456fd38fd1c536f8c98107da8fbace7192
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
require 'log4r' require 'vagrant/util/platform' require File.expand_path("../pd_8", __FILE__) module VagrantPlugins module Parallels module Driver # Driver for Parallels Desktop 9. class PD_9 < PD_8 def initialize(uuid) super(uuid) @logger = Log4r::Logger.new("vagrant::provider::parallels::pd_9") end def read_settings vm = json { execute('list', @uuid, '--info', '--json', retryable: true) } vm.last end def read_state vm = json { execute('list', @uuid, '--json', retryable: true) } return nil if !vm.last vm.last.fetch('status').to_sym end def read_vms results = {} vms_arr = json([]) do execute('list', '--all', '--json', retryable: true) end templates_arr = json([]) do execute('list', '--all', '--json', '--template', retryable: true) end vms = vms_arr | templates_arr vms.each do |item| results[item.fetch('name')] = item.fetch('uuid') end results end # Parse the JSON from *all* VMs and templates. Then return an array of objects (without duplicates) def read_vms_info vms_arr = json([]) do execute('list', '--all','--info', '--json', retryable: true) end templates_arr = json([]) do execute('list', '--all','--info', '--json', '--template', retryable: true) end vms_arr | templates_arr end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vagrant-parallels-1.0.6 | lib/vagrant-parallels/driver/pd_9.rb |
vagrant-parallels-1.0.6.rc1 | lib/vagrant-parallels/driver/pd_9.rb |