class MCollective::DDL::DataDDL - mcollective version 2.12.5

# 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