code: def list_security_groups(call=None):
      '''
      Lists all security groups available to the user and the user's groups.
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f list_security_groups opennebula
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_security_groups function must be called with -f or --function.'
          )
  
      server, user, password = _get_xml_rpc()
      auth = ':'.join([user, password])
      secgroup_pool = server.one.secgrouppool.info(auth, -2, -1, -1)[1]
  
      groups = {}
      for group in _get_xml(secgroup_pool):
          groups[group.find('NAME').text] = _xml_to_dict(group)
  
      return groupf list_security_groups(call=None):
      '''
      Lists all security groups available to the user and the user's groups.
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f list_security_groups opennebula
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_security_groups function must be called with -f or --function.'
          )
  
      server, user, password = _get_xml_rpc()
      auth = ':'.join([user, password])
      secgroup_pool = server.one.secgrouppool.info(auth, -2, -1, -1)[1]
  
      groups = {}
      for group in _get_xml(secgroup_pool):
          groups[group.find('NAME').text] = _xml_to_dict(group)
  
      return groups
docs: Lists all security groups available to the user and the user's groups.
  
      .. versionadded:: 2016.3.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-cloud -f list_security_groups opennebula