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