code: async def connections(
          for_type: Optional[CONNECTION_TYPES] = None) -> List[Dict[str, str]]:
      
      fields = ['name', 'type', 'active']
      res, _ = await _call(['-t', '-f', ','.join(fields), 'connection', 'show'])
      found = _dict_from_terse_tabular(
          fields,
          res,
          # ’ethernet’ or ’wireless’ from ’802-11-wireless’ or ’802-4-ethernet’
          # and bools from ’yes’ or ’no
          transformers={'type': lambda s: s.split('-')[-1],
                        'active': lambda s: s.lower() == 'yes'}
      )
      if for_type is not None:
          should_return = []
          for c in found:
              if c['type'] == for_type.value:
                  should_return.append(c)
          return should_return
      else:
          return found
docs: Return the list of configured connections.
  
      This is all connections that nmcli knows about and manages.
      Each connection is a dict containing some basic information - the
      information retrievable from nmcli connection show. Further information
      should be queried on a connection by connection basis.
  
      If for_type is not None, it should be a str containing an element of
      CONNECTION_TYPES, and results will be limited to that connection type.