# File lib/mcollective/ddl/agentddl.rb, line 178
      def validate_rpc_request(action, arguments)
        # is the action known?
        unless actions.include?(action)
          raise DDLValidationError, "Attempted to call action #{action} for #{@pluginname} but it's not declared in the DDL"
        end

        input = action_interface(action)[:input] || {}

        input.keys.each do |key|
          unless input[key][:optional]
            unless arguments.keys.include?(key)
              raise DDLValidationError, "Action #{action} needs a #{key} argument"
            end
          end

          if arguments.keys.include?(key)
            validate_input_argument(input, key, arguments[key])
          end
        end

        true
      end