docs: def __parse_options(config_file, section, options):
      """ Parse the section options
  
      :type config_file: ConfigParser object
      :param config_file: The config file object to use
      :type section: str
      :param section: Which section to read in the configuration file
      :type options: list of dicts
      :param options:
          A list of options to parse. Example list::
          [{
              'key': 'aws_access_key_id',
              'option': 'aws-access-key-id',
              'required': False,
              'type': str
          }]
      :returns: dict
      """
      configuration = {}
      for option in options:
          try:
              if option.get('type') == 'str':
                  configuration[option.get('key')] = \
                      config_file.get(section, option.get('option'))
              elif option.get('type') == 'int':
                  try:
                      configuration[option.get('key')] = \
                          config_file.getint(section, option.get('option'))
                  except ValueError:
                      print('Error: Expected an integer value for {0}'.format(
                          option.get('option')))
                      sys.exit(1)
              elif option.get('type') == 'float':
                  try:
                      configuration[option.get('key')] = \
                          config_file.getfloat(section, option.get('option'))
                  except ValueError:
                      print('Error: Expected an float value for {0}'.format(
                          option.get('option')))
                      sys.exit(1)
              elif option.get('type') == 'bool':
                  try:
                      configuration[option.get('key')] = \
                          config_file.getboolean(section, option.get('option'))
                  except ValueError:
                      print('Error: Expected an boolean value for {0}'.format(
                          option.get('option')))
                      sys.exit(1)
              elif option.get('type') == 'dict':
                  configuration[option.get('key')] = \
                      ast.literal_eval(
                          config_file.get(section, option.get('option')))
              else:
                  configuration[option.get('key')] = \
                      config_file.get(section, option.get('option'))
          except ConfigParser.NoOptionError:
              if option.get('required'):
                  print('Missing [{0}] option "{1}" in configuration'.format(
                      section, option.get('option')))
                  sys.exit(1)
  
      return configuration