Base
DDL for discovery plugins, a full example can be seen below
metadata :name => “mc”,
:description => "MCollective Broadcast based discovery", :author => "R.I.Pienaar <rip@devco.net>", :license => "ASL 2.0", :version => "0.1", :url => "http://marionette-collective.org/", :timeout => 2
discovery do
capabilities [:classes, :facts, :identity, :agents, :compound]
end
records valid capabilities for discovery plugins
# File lib/mcollective/ddl/discoveryddl.rb, line 22 22: def capabilities(*caps) 23: caps = [caps].flatten 24: 25: raise "Discovery plugin capabilities can't be empty" if caps.empty? 26: 27: caps.each do |cap| 28: if [:classes, :facts, :identity, :agents, :compound].include?(cap) 29: @entities[:discovery][:capabilities] << cap 30: else 31: raise "%s is not a valid capability, valid capabilities are :classes, :facts, :identity, :agents and :compound" % cap 32: end 33: end 34: end
Creates the definition for new discovery plugins
discovery do capabilities [:classes, :facts, :identity, :agents, :compound] end
# File lib/mcollective/ddl/discoveryddl.rb, line 41 41: def discovery(&block) 42: raise "Discovery plugins can only have one definition" if @entities[:discovery] 43: 44: @entities[:discovery] = {:capabilities => []} 45: 46: @current_entity = :discovery 47: block.call if block_given? 48: @current_entity = nil 49: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.