Sha256: 13cecd115bd89ad219c18882881a8672e5b98def727cefdb52abb6f12f3ae2e3

Contents?: true

Size: 1.69 KB

Versions: 1

Compression:

Stored size: 1.69 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'
    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/shell'
      require 'config_builder/model/provisioner/puppet'
      require 'config_builder/model/provisioner/puppet_server'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-config_builder-0.12.0 lib/config_builder/model.rb