docstr: Check the configuration meets all input_restrictions
  
  Args:
      configuration (dict): The configuration to check and convert to OutputProperties
      output (StreamAlert.OutputDispatcher): The output to map the configuration to
  Returns:
      OrderedDict: If the configuration is valid for the passed OutputDispatcher else None
docstr_tok: ["Check","the","configuration","meets","all","input_restrictions","Args",":","configuration","(","dict",")",":","The","configuration","to","check","and","convert","to","OutputProperties","output","(","StreamAlert.OutputDispatcher",")",":","The","output","to","map","the","configuration","to","Returns",":","OrderedDict",":","If","the","configuration","is","valid","for","the","passed","OutputDispatcher","else","None"]
code: def convert_configuration_to_properties(configuration, output):
      """Check the configuration meets all input_restrictions
  
      Args:
          configuration (dict): The configuration to check and convert to OutputProperties
          output (StreamAlert.OutputDispatcher): The output to map the configuration to
      Returns:
          OrderedDict: If the configuration is valid for the passed OutputDispatcher else None
      """
      properties = output.get_user_defined_properties()
  
      for name, value in configuration.items():
          if name not in properties:
              LOGGER.error(
                  "unknown key %s passed for service: %s",
                  name,
                  output.__service__,
              )
              break
  
          prop = properties[name]
          if not response_is_valid(value, prop.input_restrictions):
              # Error messages are handled by response_is_valid
              break
  
          properties[name] = prop._replace(value=value)
      else:
          return properties
  
imports: import json
  from streamalert.shared.logger import get_logger
  from streamalert.alert_processor.outputs.output_base import StreamAlertOutput, OutputCredentialsProvider
  from streamalert_cli.helpers import user_input, response_is_valid
  from streamalert_cli.outputs.helpers import output_exists
  from streamalert_cli.utils import CLICommand, generate_subparser
label_desc: Use image node_id 3 for calling the OutputSetFromFileSubCommand obj's underlying member method code with example usage: obj.convert_configuration_to_properties(configuration, output) and returns: properties