Create the basic provider plugin interface.

Non-functional at this point.
This commit is contained in:
Mitchell Hashimoto 2012-07-14 16:57:54 -07:00
parent 45c4248d09
commit 3b82f2efc4
4 changed files with 14 additions and 0 deletions

View File

@ -91,6 +91,7 @@ module Vagrant
c.register([:"1", :config]) { Plugin::V1::Config } c.register([:"1", :config]) { Plugin::V1::Config }
c.register([:"1", :guest]) { Plugin::V1::Guest } c.register([:"1", :guest]) { Plugin::V1::Guest }
c.register([:"1", :host]) { Plugin::V1::Host } c.register([:"1", :host]) { Plugin::V1::Host }
c.register([:"1", :provider]) { Plugin::V1::Provider }
c.register([:"1", :provisioner]) { Plugin::V1::Provisioner } c.register([:"1", :provisioner]) { Plugin::V1::Provisioner }
# Returns a `Vagrant::Registry` object that contains all the built-in # Returns a `Vagrant::Registry` object that contains all the built-in

View File

@ -10,6 +10,7 @@ module Vagrant
autoload :Guest, "vagrant/plugin/v1/guest" autoload :Guest, "vagrant/plugin/v1/guest"
autoload :Host, "vagrant/plugin/v1/host" autoload :Host, "vagrant/plugin/v1/host"
autoload :Plugin, "vagrant/plugin/v1/plugin" autoload :Plugin, "vagrant/plugin/v1/plugin"
autoload :Provider, "vagrant/plugin/v1/provider"
autoload :Provisioner, "vagrant/plugin/v1/provisioner" autoload :Provisioner, "vagrant/plugin/v1/provisioner"
end end
end end

View File

@ -0,0 +1,11 @@
module Vagrant
module Plugin
module V1
# This is the base class for a provider for the V1 API. A provider
# is responsible for creating compute resources to match the needs
# of a Vagrant-configured system.
class Provider
end
end
end
end

View File

@ -16,6 +16,7 @@ describe Vagrant do
described_class.plugin("1", :config).should == Vagrant::Plugin::V1::Config described_class.plugin("1", :config).should == Vagrant::Plugin::V1::Config
described_class.plugin("1", :guest).should == Vagrant::Plugin::V1::Guest described_class.plugin("1", :guest).should == Vagrant::Plugin::V1::Guest
described_class.plugin("1", :host).should == Vagrant::Plugin::V1::Host described_class.plugin("1", :host).should == Vagrant::Plugin::V1::Host
described_class.plugin("1", :provider).should == Vagrant::Plugin::V1::Provider
described_class.plugin("1", :provisioner).should == Vagrant::Plugin::V1::Provisioner described_class.plugin("1", :provisioner).should == Vagrant::Plugin::V1::Provisioner
end end
end end