docs: def config_present(name, value):
      '''
      Ensure configuration property is set to value in /usbkey/config
  
      name : string
          name of property
      value : string
          value of property
  
      '''
      name = name.lower()
      ret = {'name': name,
             'changes': {},
             'result': None,
             'comment': ''}
  
      # load confiration
      config = _load_config()
  
      # handle bool and None value
      if isinstance(value, (bool)):
          value = 'true' if value else 'false'
      if not value:
          value = ""
  
      if name in config:
          if six.text_type(config[name]) == six.text_type(value):
              # we're good
              ret['result'] = True
              ret['comment'] = 'property {0} already has value "{1}"'.format(name, value)
          else:
              # update property
              ret['result'] = True
              ret['comment'] = 'updated property {0} with value "{1}"'.format(name, value)
              ret['changes'][name] = value
              config[name] = value
      else:
          # add property
          ret['result'] = True
          ret['comment'] = 'added property {0} with value "{1}"'.format(name, value)
          ret['changes'][name] = value
          config[name] = value
  
      # apply change if needed
      if not __opts__['test'] and ret['changes']:
          ret['result'] = _write_config(config)
  
      return ret