Class: MCollective::DDL::DiscoveryDDL
- Defined in:
- lib/mcollective/ddl/discoveryddl.rb
Overview
DDL for discovery plugins, a full example can be seen below
metadata :name => “mc”,
:description => "MCollective Broadcast based discovery",
:author => "R.I.Pienaar <[email protected]>",
:license => "ASL 2.0",
:version => "0.1",
:url => "http://marionette-collective.org/",
:timeout => 2
discovery do
capabilities [:classes, :facts, :identity, :agents, :compound]
end
Instance Attribute Summary
Attributes inherited from Base
#entities, #meta, #pluginname, #plugintype, #requirements, #usage
Instance Method Summary collapse
-
#capabilities(*caps) ⇒ Object
records valid capabilities for discovery plugins.
-
#discovery(&block) ⇒ Object
Creates the definition for new discovery plugins.
- #discovery_interface ⇒ Object
Methods inherited from Base
#findddlfile, #help, #initialize, #input, #loadddlfile, #metadata, #output, #requires, #template_for_plugintype, #validate_input_argument, #validate_requirements
Constructor Details
This class inherits a constructor from MCollective::DDL::Base
Instance Method Details
#capabilities(*caps) ⇒ Object
records valid capabilities for discovery plugins
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/mcollective/ddl/discoveryddl.rb', line 22 def capabilities(*caps) caps = [caps].flatten raise "Discovery plugin capabilities can't be empty" if caps.empty? caps.each do |cap| if [:classes, :facts, :identity, :agents, :compound].include?(cap) @entities[:discovery][:capabilities] << cap else raise "%s is not a valid capability, valid capabilities are :classes, :facts, :identity, :agents and :compound" % cap end end end |
#discovery(&block) ⇒ Object
Creates the definition for new discovery plugins
discovery do
capabilities [:classes, :facts, :identity, :agents, :compound]
end
41 42 43 44 45 46 47 48 49 |
# File 'lib/mcollective/ddl/discoveryddl.rb', line 41 def discovery(&block) raise "Discovery plugins can only have one definition" if @entities[:discovery] @entities[:discovery] = {:capabilities => []} @current_entity = :discovery block.call if block_given? @current_entity = nil end |
#discovery_interface ⇒ Object
17 18 19 |
# File 'lib/mcollective/ddl/discoveryddl.rb', line 17 def discovery_interface @entities[:discovery] end |