Sha256: 4a9b4d4e3c9704256de05a5d9712f39315928407dcc08e3e7418a8c579d1f629

Contents?: true

Size: 879 Bytes

Versions: 12

Compression:

Stored size: 879 Bytes

Contents

module Nucleon
module Extension
class Vagrant < Nucleon.plugin_class(:nucleon, :extension)

  def network_new_node_config(config)
    plugin   = config[:plugin]
    provider = plugin.plugin_provider

    if provider == :vagrant
      image_name   = string(config.delete(:image))
      machine_type = symbol(config.delete(:machine_type))
      hostname     = string(config[:hostname])

      public_ip    = string(config.delete(:public_ip))

      case machine_type
      when :docker
        config.set([ :vm, :providers, :docker, :image ], image_name)
      else
        config.set([ :vm, :providers, machine_type, :private_network ], public_ip) if public_ip
        config.set([ :vm, :providers, machine_type, :override, :vm, :box ], image_name)
      end

      config.set([ :vm, :providers, :docker, :create_args ], [ "--hostname='#{hostname}'" ])
    end
  end
end
end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
corl-0.5.18 lib/nucleon/extension/vagrant.rb
corl-0.5.17 lib/nucleon/extension/vagrant.rb
corl-0.5.16 lib/nucleon/extension/vagrant.rb
corl-0.5.15 lib/nucleon/extension/vagrant.rb
corl-0.5.14 lib/nucleon/extension/vagrant.rb
corl-0.5.13 lib/nucleon/extension/vagrant.rb
corl-0.5.12 lib/nucleon/extension/vagrant.rb
corl-0.5.11 lib/nucleon/extension/vagrant.rb
corl-0.5.10 lib/nucleon/extension/vagrant.rb
corl-0.5.9 lib/nucleon/extension/vagrant.rb
corl-0.5.8 lib/nucleon/extension/vagrant.rb
corl-0.5.7 lib/nucleon/extension/vagrant.rb