Sha256: 6d5a44f10204a87e154f64eb3f927b247ebc32d26ebcd84b9fd0b8379d1941d3
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
module MCollective module DDL # 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 => "https://docs.puppetlabs.com/mcollective/", # :timeout => 2 # # discovery do # capabilities [:classes, :facts, :identity, :agents, :compound, :federations] # end class DiscoveryDDL < Base def discovery_interface @entities[:discovery] end # records valid capabilities for discovery plugins 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, :federations].include?(cap) @entities[:discovery][:capabilities] << cap else raise "%s is not a valid capability, valid capabilities are :classes, :facts, :identity, :agents, :compound, and :federations" % cap end end end # Creates the definition for new discovery plugins # # discovery do # capabilities [:classes, :facts, :identity, :agents, :compound] # end def discovery(&block) raise "Discovery plugins can only have one definition" if @entities[:discovery] @entities[:discovery] = {:capabilities => []} @current_entity = :discovery yield if block_given? @current_entity = nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
choria-mcorpc-support-2.26.5 | lib/mcollective/ddl/discoveryddl.rb |