Class: VagrantPlugins::WinAzure::Action::Provision
- Inherits:
-
Vagrant::Action::Builtin::Provision
- Object
- Vagrant::Action::Builtin::Provision
- VagrantPlugins::WinAzure::Action::Provision
- Defined in:
- lib/vagrant-azure/action/provision.rb
Instance Method Summary collapse
-
#run_provisioner(env) ⇒ Object
Override the core vagrant method and branch out for windows.
Instance Method Details
#run_provisioner(env) ⇒ Object
Override the core vagrant method and branch out for windows
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/vagrant-azure/action/provision.rb', line 11 def run_provisioner(env) env[:ui].info "Provisioner: #{env[:provisioner].class.to_s}" env[:machine].id =~ /@/ vm = env[:azure_vm_service].get_virtual_machine($`, $') env[:ui].info "VM OS: #{vm.os_type.to_sym}" if vm.os_type.to_sym == :Windows # Raise an error if we're not on a Windows Host. # Non-Windows OS will be supported once we move to WinRb/WinRm env[:ui].info "Is Host OS Windows?: #{Vagrant::Util::Platform.windows?}" raise 'Unsupported OS for Windows Provisioning' unless \ Vagrant::Util::Platform.windows? env[:ui].info "Provisioning for Windows" # TODO: Add Shell, Chef-solo and other provisioners case env[:provisioner].class.to_s when "VagrantPlugins::Shell::Provisioner" VagrantPlugins::WinAzure::Provisioner::Shell.new( env ).provision_for_windows when "VagrantPlugins::Puppet::Provisioner::Puppet" VagrantPlugins::WinAzure::Provisioner::Puppet.new( env ).provision_for_windows when "VagrantPlugins::Chef::Provisioner::ChefSolo" VagrantPlugins::WinAzure::Provisioner::ChefSolo.new( env ).provision_for_windows end else env[:ui].info "Provisioning using SSH" env[:provisioner].provision end end |