Skip to content

Instantly share code, notes, and snippets.

@igalic
Created December 14, 2022 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igalic/1beba16360db0d9eb6e60aa29739adfe to your computer and use it in GitHub Desktop.
Save igalic/1beba16360db0d9eb6e60aa29739adfe to your computer and use it in GitHub Desktop.
In [1]: from cloudinit.subp import subp
In [2]: from cloudinit.distros.parsers.ifconfig import Ifconfig
In [3]: ifs_txt, _ = subp(['ifconfig', '-a'])
In [4]: ifc = Ifconfig()
In [5]: ifc.parse(ifs_txt)
Out[5]:
defaultdict(list,
{'re0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x877458250>],
'52:54:00:26:9d:8d': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x877458250>,
<cloudinit.distros.parsers.ifconfig.Ifstate at 0x873624fd0>],
'eth0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x87745ef70>],
'52:54:00:9c:42:61': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x87745ef70>],
'lo0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x87745e100>],
'bridge0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x873624fd0>]})
In [6]: ifc.ifs_by_name()
Out[6]:
{'re0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x877458250>],
'eth0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x87745ef70>],
'lo0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x87745e100>],
'bridge0': [<cloudinit.distros.parsers.ifconfig.Ifstate at 0x873624fd0>]}
In [7]: ifc.ifs_by_mac()
Out[7]:
defaultdict(list,
{'52:54:00:26:9d:8d': [[<cloudinit.distros.parsers.ifconfig.Ifstate at 0x877458250>,
<cloudinit.distros.parsers.ifconfig.Ifstate at 0x873624fd0>]],
'52:54:00:9c:42:61': [[<cloudinit.distros.parsers.ifconfig.Ifstate at 0x87745ef70>]]})
In [8]:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment