You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.4 KiB

10 months ago
from leapp.models import fields, Model
from leapp.topics import SystemInfoTopic
class IfCfgProperty(Model):
"""
Key-value pair for ifcfg properties.
This model is not expected to be used as a message (produced/consumed by actors).
It is used from within the IfCfg model.
"""
topic = SystemInfoTopic
name = fields.String()
""" Name of a property """
value = fields.Nullable(fields.String())
""" Value of a property """
class IfCfg(Model):
"""
IfCfg file describing legacy network configuration
Produced for every ifcfg file loaded from key-value ("sysconfig")
format described in nm-settings-ifcfg-rh(5) manual.
"""
topic = SystemInfoTopic
filename = fields.String()
""" Path to file this model was populated from """
properties = fields.List(fields.Model(IfCfgProperty), default=[])
""" The list of name-value pairs from ifcfg file """
secrets = fields.Nullable(fields.List(fields.Model(IfCfgProperty)))
""" The list of name-value pairs from keys file """
rules = fields.Nullable(fields.List(fields.String()))
""" The list of traffic rules for IPv4 """
rules6 = fields.Nullable(fields.List(fields.String()))
""" The list of traffic rules for IPv6 """
routes = fields.Nullable(fields.List(fields.String()))
""" The list of routes for IPv4 """
routes6 = fields.Nullable(fields.List(fields.String()))
""" The list of routes for IPv6 """