Sha256: 6f86358da950944255b838b37f19cd24616118ece65ef40632ba7d760fe452cf

Contents?: true

Size: 829 Bytes

Versions: 3

Compression:

Stored size: 829 Bytes

Contents

require 'fog'

module Vcloud
  module NetLauncher
    class NetLaunch

      def initialize
        @config_loader = Vcloud::Core::ConfigLoader.new
      end

      def run(config_file = nil, options = {})
        config = @config_loader.load_config(config_file)

        if options[:mock] || ENV['FOG_MOCK']
          ::Fog.mock!
        end

        config[:org_vdc_networks].each do |net_config|
          net_config[:fence_mode] ||= 'isolated'
          Vcloud::NetLauncher.logger.info("Provisioning orgVdcNetwork #{net_config[:name]}.")
          begin
            net = Vcloud::Core::OrgVdcNetwork.provision(net_config)
          rescue RuntimeError => e
            Vcloud::NetLauncher.logger.error("Could not provision orgVdcNetwork: #{e.message}")
            raise
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vcloud-net_launcher-0.0.3 lib/vcloud/net_launcher/net_launch.rb
vcloud-net_launcher-0.0.2 lib/vcloud/net_launcher/net_launch.rb
vcloud-net_launcher-0.0.1 lib/vcloud/net_launcher/net_launch.rb