class MCollective::DDL::DataDDL
A DDL
file for the data query plugins.
Query plugins can today take only one input by convention in the DDL
that is called :query, otherwise the input is identical to the standard input.
metadata :name => “Agent”,
:description => "Meta data about installed MColletive Agents", :author => "R.I.Pienaar <rip@devco.net>", :license => "ASL 2.0", :version => "1.0", :url => "https://docs.puppetlabs.com/mcollective/", :timeout => 1
dataquery :description => “Agent Meta Data” do
input :query, :prompt => "Agent Name", :description => "Valid agent name", :type => :string, :validation => /^[\w\_]+$/, :maxlength => 20 [:license, :timeout, :description, :url, :version, :author].each do |item| output item, :description => "Agent #{item}", :display_as => item.to_s.capitalize end
end
Public Instance Methods
dataquery(input, &block)
click to toggle source
# File lib/mcollective/ddl/dataddl.rb 31 def dataquery(input, &block) 32 raise "Data queries need a :description" unless input.include?(:description) 33 raise "Data queries can only have one definition" if @entities[:data] 34 35 @entities[:data] = {:description => input[:description], 36 :input => {}, 37 :output => {}} 38 39 @current_entity = :data 40 block.call if block_given? 41 @current_entity = nil 42 end
dataquery_interface()
click to toggle source
Returns the interface for the data query
# File lib/mcollective/ddl/dataddl.rb 51 def dataquery_interface 52 @entities[:data] || {} 53 end
input(argument, properties)
click to toggle source
Calls superclass method
MCollective::DDL::Base#input
# File lib/mcollective/ddl/dataddl.rb 44 def input(argument, properties) 45 raise "The only valid input name for a data query is 'query'" if argument != :query 46 47 super 48 end