def generate_command
raise "undefined plugin type. cannot generate plugin. valid types are 'agent' and 'data'" if configuration["target"] == '.'
unless configuration[:pluginname]
puts "No plugin name specified. Using 'new_plugin'"
configuration[:pluginname] = "new_plugin"
end
load_plugin_config_values
case configuration[:target].downcase
when 'agent'
Generators::AgentGenerator.new(configuration[:pluginname], configuration[:actions], configuration[:pluginname],
configuration[:description], configuration[:author], configuration[:license],
configuration[:version], configuration[:url], configuration[:timeout])
when 'data'
raise "data plugin must have at least one output" unless configuration[:outputs]
Generators::DataGenerator.new(configuration[:pluginname], configuration[:outputs], configuration[:pluginname],
configuration[:description], configuration[:author], configuration[:license],
configuration[:version], configuration[:url], configuration[:timeout])
else
raise "invalid plugin type. cannot generate plugin '#{configuration[:target]}'"
end
end