Sha256: ff10eb55e9ee1bd8ee1b5f09bca820627ff813d268339c56ce4b703837b38af3

Contents?: true

Size: 860 Bytes

Versions: 16

Compression:

Stored size: 860 Bytes

Contents

require "bosh-bootstrap/network_providers"
require "bosh-bootstrap/network_providers/dummy"

class Bosh::Bootstrap::Network

  attr_reader :provider_name
  attr_reader :provider_client

  def initialize(provider_name, provider_client)
    @provider_name = provider_name
    @provider_client = provider_client
  end

  def deploy
    network_provider.perform
  end

  # Attempt to load and instantiate a NetworkProviders class
  # Else return NetworkProviders::Dummy which does nothing
  def network_provider
    @network_provider ||= begin
      begin
        require "bosh-bootstrap/network_providers/#{provider_name}"
        klass = Bosh::Bootstrap::NetworkProviders.provider_class(provider_name)
      rescue LoadError
        klass = Bosh::Bootstrap::NetworkProviders.provider_class("dummy")
      end
      klass.new(provider_client)
    end
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
bosh-bootstrap-0.12.0 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.15 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.14 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.13 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.12 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.11 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.9 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.8 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.7 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.6 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.5 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.4 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.3 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.2 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.1 lib/bosh-bootstrap/network.rb
bosh-bootstrap-0.11.0 lib/bosh-bootstrap/network.rb