diff options
| author | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-03-23 16:39:42 -0700 |
|---|---|---|
| committer | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-03-23 16:39:42 -0700 |
| commit | 0bdbe18b3f3981c1e1f661e211e20ccab1278f81 (patch) | |
| tree | c602ca1f0777073be8cf789f643296b86515eeff /lib/puppet/interface | |
| parent | 635751d809af309c7c36c0c9d7a94a731ef8bd1c (diff) | |
| parent | c25fb94725c9abfb36e67938356f97823f8b605e (diff) | |
| download | puppet-0bdbe18b3f3981c1e1f661e211e20ccab1278f81.tar.gz puppet-0bdbe18b3f3981c1e1f661e211e20ccab1278f81.tar.xz puppet-0bdbe18b3f3981c1e1f661e211e20ccab1278f81.zip | |
Merge branch 'tickets/master/6770'
Conflicts:
lib/puppet/interface/certificate.rb
spec/unit/application/interface_base_spec.rb
spec/unit/interface/interface_collection_spec.rb
Diffstat (limited to 'lib/puppet/interface')
23 files changed, 55 insertions, 53 deletions
diff --git a/lib/puppet/interface/certificate_request.rb b/lib/puppet/interface/certificate_request.rb deleted file mode 100644 index b85c15fef..000000000 --- a/lib/puppet/interface/certificate_request.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'puppet/interface/indirector' - -Puppet::Interface::Indirector.interface(:certificate_request) do -end diff --git a/lib/puppet/interface/certificate_revocation_list.rb b/lib/puppet/interface/certificate_revocation_list.rb deleted file mode 100644 index 956fb6494..000000000 --- a/lib/puppet/interface/certificate_revocation_list.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'puppet/interface/indirector' - -Puppet::Interface::Indirector.interface(:certificate_revocation_list) do -end diff --git a/lib/puppet/interface/configurer.rb b/lib/puppet/interface/configurer.rb deleted file mode 100644 index 0d21c4d72..000000000 --- a/lib/puppet/interface/configurer.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'puppet/interface' - -Puppet::Interface.interface(:configurer) do - action(:synchronize) do - invoke do |certname| - facts = Puppet::Interface.interface(:facts).find(certname) - catalog = Puppet::Interface.interface(:catalog).download(certname, facts) - report = Puppet::Interface.interface(:catalog).apply(catalog) - report - end - end -end diff --git a/lib/puppet/interface/interface_collection.rb b/lib/puppet/interface/interface_collection.rb index 47ed702aa..d626c4f72 100644 --- a/lib/puppet/interface/interface_collection.rb +++ b/lib/puppet/interface/interface_collection.rb @@ -1,7 +1,7 @@ require 'puppet/interface' module Puppet::Interface::InterfaceCollection - @interfaces = {} + @interfaces = Hash.new { |hash, key| hash[key] = {} } def self.interfaces unless @loaded @@ -24,20 +24,22 @@ module Puppet::Interface::InterfaceCollection return @interfaces.keys end - def self.[](name) - @interfaces[underscorize(name)] if interface?(name) + def self.[](name, version) + @interfaces[underscorize(name)][version] if interface?(name, version) end - def self.interface?(name) + def self.interface?(name, version) name = underscorize(name) - require "puppet/interface/#{name}" unless @interfaces.has_key? name - return @interfaces.has_key? name + unless @interfaces.has_key?(name) && @interfaces[name].has_key?(version) + require "puppet/interface/v#{version}/#{name}" + end + return @interfaces.has_key?(name) && @interfaces[name].has_key?(version) rescue LoadError return false end def self.register(interface) - @interfaces[underscorize(interface.name)] = interface + @interfaces[underscorize(interface.name)][interface.version] = interface end def self.underscorize(name) diff --git a/lib/puppet/interface/key.rb b/lib/puppet/interface/key.rb deleted file mode 100644 index 57519883d..000000000 --- a/lib/puppet/interface/key.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'puppet/interface/indirector' - -Puppet::Interface::Indirector.interface(:key) do -end diff --git a/lib/puppet/interface/resource.rb b/lib/puppet/interface/resource.rb deleted file mode 100644 index 130f40fce..000000000 --- a/lib/puppet/interface/resource.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'puppet/interface/indirector' - -Puppet::Interface::Indirector.interface(:resource) do -end diff --git a/lib/puppet/interface/resource_type.rb b/lib/puppet/interface/resource_type.rb deleted file mode 100644 index 70bf3b95a..000000000 --- a/lib/puppet/interface/resource_type.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'puppet/interface/indirector' - -Puppet::Interface::Indirector.interface(:resource_type) do -end diff --git a/lib/puppet/interface/status.rb b/lib/puppet/interface/status.rb deleted file mode 100644 index 432d1ce54..000000000 --- a/lib/puppet/interface/status.rb +++ /dev/null @@ -1,4 +0,0 @@ -require 'puppet/interface/indirector' - -Puppet::Interface::Indirector.interface(:status) do -end diff --git a/lib/puppet/interface/catalog.rb b/lib/puppet/interface/v0.0.1/catalog.rb index defe32127..7d61528bc 100644 --- a/lib/puppet/interface/catalog.rb +++ b/lib/puppet/interface/v0.0.1/catalog.rb @@ -1,6 +1,6 @@ require 'puppet/interface/indirector' -Puppet::Interface::Indirector.interface(:catalog) do +Puppet::Interface::Indirector.define(:catalog, '0.0.1') do action(:apply) do invoke do |catalog| report = Puppet::Transaction::Report.new("apply") @@ -28,7 +28,7 @@ Puppet::Interface::Indirector.interface(:catalog) do facts_to_upload = {:facts_format => :b64_zlib_yaml, :facts => CGI.escape(facts.render(:b64_zlib_yaml))} catalog = nil retrieval_duration = thinmark do - catalog = Puppet::Interface.interface(:catalog).find(certname, facts_to_upload) + catalog = Puppet::Interface[:catalog, '0.0.1'].find(certname, facts_to_upload) end catalog = catalog.to_ral catalog.finalize diff --git a/lib/puppet/interface/catalog/select.rb b/lib/puppet/interface/v0.0.1/catalog/select.rb index 32d9b7c45..35f1a1e0b 100644 --- a/lib/puppet/interface/catalog/select.rb +++ b/lib/puppet/interface/v0.0.1/catalog/select.rb @@ -1,5 +1,5 @@ # Select and show a list of resources of a given type. -Puppet::Interface.interface(:catalog) do +Puppet::Interface.define(:catalog, '0.0.1') do action :select do invoke do |host,type| catalog = Puppet::Resource::Catalog.indirection.find(host) diff --git a/lib/puppet/interface/certificate.rb b/lib/puppet/interface/v0.0.1/certificate.rb index 86ac6d6ea..2615e3d86 100644 --- a/lib/puppet/interface/certificate.rb +++ b/lib/puppet/interface/v0.0.1/certificate.rb @@ -1,7 +1,7 @@ require 'puppet/interface/indirector' require 'puppet/ssl/host' -Puppet::Interface::Indirector.interface(:certificate) do +Puppet::Interface::Indirector.define(:certificate, '0.0.1') do action :generate do invoke do |name| @@ -19,7 +19,7 @@ Puppet::Interface::Indirector.interface(:certificate) do end end - action :sign do |name| + action :sign do invoke do |name| Puppet::SSL::Host.indirection.save(Puppet::SSL::Host.new(name)) end diff --git a/lib/puppet/interface/v0.0.1/certificate_request.rb b/lib/puppet/interface/v0.0.1/certificate_request.rb new file mode 100644 index 000000000..e5ed1b51e --- /dev/null +++ b/lib/puppet/interface/v0.0.1/certificate_request.rb @@ -0,0 +1,4 @@ +require 'puppet/interface/indirector' + +Puppet::Interface::Indirector.define(:certificate_request, '0.0.1') do +end diff --git a/lib/puppet/interface/v0.0.1/certificate_revocation_list.rb b/lib/puppet/interface/v0.0.1/certificate_revocation_list.rb new file mode 100644 index 000000000..f6d8a3d6d --- /dev/null +++ b/lib/puppet/interface/v0.0.1/certificate_revocation_list.rb @@ -0,0 +1,4 @@ +require 'puppet/interface/indirector' + +Puppet::Interface::Indirector.define(:certificate_revocation_list, '0.0.1') do +end diff --git a/lib/puppet/interface/config.rb b/lib/puppet/interface/v0.0.1/config.rb index 79d2ee7c1..b33e19bb4 100644 --- a/lib/puppet/interface/config.rb +++ b/lib/puppet/interface/v0.0.1/config.rb @@ -1,6 +1,6 @@ require 'puppet/interface' -Puppet::Interface.interface(:config) do +Puppet::Interface.define(:config, '0.0.1') do action(:print) do invoke do |*args| Puppet.settings[:configprint] = args.join(",") diff --git a/lib/puppet/interface/v0.0.1/configurer.rb b/lib/puppet/interface/v0.0.1/configurer.rb new file mode 100644 index 000000000..38536b684 --- /dev/null +++ b/lib/puppet/interface/v0.0.1/configurer.rb @@ -0,0 +1,12 @@ +require 'puppet/interface' + +Puppet::Interface.define(:configurer, '0.0.1') do + action(:synchronize) do + invoke do |certname| + facts = Puppet::Interface[:facts, '0.0.1'].find(certname) + catalog = Puppet::Interface[:catalog, '0.0.1'].download(certname, facts) + report = Puppet::Interface[:catalog, '0.0.1'].apply(catalog) + report + end + end +end diff --git a/lib/puppet/interface/facts.rb b/lib/puppet/interface/v0.0.1/facts.rb index 97e22714b..c4bbad845 100644 --- a/lib/puppet/interface/facts.rb +++ b/lib/puppet/interface/v0.0.1/facts.rb @@ -1,7 +1,7 @@ require 'puppet/interface/indirector' require 'puppet/node/facts' -Puppet::Interface::Indirector.interface(:facts) do +Puppet::Interface::Indirector.define(:facts, '0.0.1') do set_default_format :yaml # Upload our facts to the server diff --git a/lib/puppet/interface/file.rb b/lib/puppet/interface/v0.0.1/file.rb index f38af2b92..91904e8e0 100644 --- a/lib/puppet/interface/file.rb +++ b/lib/puppet/interface/v0.0.1/file.rb @@ -1,5 +1,5 @@ require 'puppet/interface/indirector' -Puppet::Interface::Indirector.interface(:file) do +Puppet::Interface::Indirector.define(:file, '0.0.1') do set_indirection_name :file_bucket_file end diff --git a/lib/puppet/interface/v0.0.1/key.rb b/lib/puppet/interface/v0.0.1/key.rb new file mode 100644 index 000000000..fbc9b67b1 --- /dev/null +++ b/lib/puppet/interface/v0.0.1/key.rb @@ -0,0 +1,4 @@ +require 'puppet/interface/indirector' + +Puppet::Interface::Indirector.define(:key, '0.0.1') do +end diff --git a/lib/puppet/interface/node.rb b/lib/puppet/interface/v0.0.1/node.rb index 8940fd7dd..4ecec1478 100644 --- a/lib/puppet/interface/node.rb +++ b/lib/puppet/interface/v0.0.1/node.rb @@ -1,5 +1,5 @@ require 'puppet/interface/indirector' -Puppet::Interface::Indirector.interface(:node) do +Puppet::Interface::Indirector.define(:node, '0.0.1') do set_default_format :yaml end diff --git a/lib/puppet/interface/report.rb b/lib/puppet/interface/v0.0.1/report.rb index 56a58f6aa..bacb46e70 100644 --- a/lib/puppet/interface/report.rb +++ b/lib/puppet/interface/v0.0.1/report.rb @@ -1,6 +1,6 @@ require 'puppet/interface/indirector' -Puppet::Interface::Indirector.interface(:report) do +Puppet::Interface::Indirector.define(:report, '0.0.1') do action(:submit) do invoke do |report| begin diff --git a/lib/puppet/interface/v0.0.1/resource.rb b/lib/puppet/interface/v0.0.1/resource.rb new file mode 100644 index 000000000..1a6f3b69d --- /dev/null +++ b/lib/puppet/interface/v0.0.1/resource.rb @@ -0,0 +1,4 @@ +require 'puppet/interface/indirector' + +Puppet::Interface::Indirector.define(:resource, '0.0.1') do +end diff --git a/lib/puppet/interface/v0.0.1/resource_type.rb b/lib/puppet/interface/v0.0.1/resource_type.rb new file mode 100644 index 000000000..6f5547c4d --- /dev/null +++ b/lib/puppet/interface/v0.0.1/resource_type.rb @@ -0,0 +1,4 @@ +require 'puppet/interface/indirector' + +Puppet::Interface::Indirector.define(:resource_type, '0.0.1') do +end diff --git a/lib/puppet/interface/v0.0.1/status.rb b/lib/puppet/interface/v0.0.1/status.rb new file mode 100644 index 000000000..7f4b56a2b --- /dev/null +++ b/lib/puppet/interface/v0.0.1/status.rb @@ -0,0 +1,4 @@ +require 'puppet/interface/indirector' + +Puppet::Interface::Indirector.define(:status, '0.0.1') do +end |
