Sha256: e5aaa57b91ddb6e5861344a73cbfa7677d1027aefff6e077bae03d0beaaba9e8

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

require 'vagrant/errors'
require 'config_builder/class_registry'
require 'config_builder/model_delegator'

module ConfigBuilder

  module Model

    require 'config_builder/model/base'

    require 'config_builder/model/root'

    require 'config_builder/model/ssh'
    require 'config_builder/model/winrm'
    #require 'config_builder/model/host'

    require 'config_builder/model/vm'
    require 'config_builder/model/synced_folder'

    def self.generate(hash)
      ConfigBuilder::Model::Root.new_from_hash(hash)
    end

    module Network
      require 'config_builder/model/network/forwarded_port'
      require 'config_builder/model/network/private_network'
    end

    module Provider

      @registry = ConfigBuilder::ClassRegistry.new(:provider)

      def self.new_from_hash(hash)
        @registry.generate(hash)
      end

      def self.register(name, klass)
        @registry.register(name, klass)
      end

      require 'config_builder/model/provider/virtualbox'
      require 'config_builder/model/provider/vmware'
      require 'config_builder/model/provider/vmware_fusion'
      require 'config_builder/model/provider/vmware_workstation'
      require 'config_builder/model/provider/libvirt'
      require 'config_builder/model/provider/vsphere'
      require 'config_builder/model/provider/azure'
    end

    module Provisioner

      @registry = ConfigBuilder::ClassRegistry.new(:provisioner)

      def self.new_from_hash(hash)
        @registry.generate(hash)
      end

      def self.register(name, klass)
        @registry.register(name, klass)
      end

      require 'config_builder/model/provisioner/file'
      require 'config_builder/model/provisioner/shell'
      require 'config_builder/model/provisioner/puppet'
      require 'config_builder/model/provisioner/puppet_server'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vagrant-config_builder-0.14.0 lib/config_builder/model.rb
vagrant-config_builder-0.13.0 lib/config_builder/model.rb