added modes to config services that allows them to decide sets of configurations

This commit is contained in:
Blake Harnden 2020-01-21 14:00:55 -08:00
parent 1ca3b0e3f4
commit 0ea2f73a80
8 changed files with 64 additions and 18 deletions

View file

@ -15,3 +15,4 @@ class VpnClient(ConfigService):
shutdown = ["killall openvpn"]
validation_mode = ConfigServiceMode.BLOCKING
default_configs = []
modes = {}

View file

@ -20,6 +20,7 @@ class DefaultRoute(ConfigService):
shutdown = []
validation_mode = ConfigServiceMode.BLOCKING
default_configs = []
modes = {}
def data(self) -> Dict[str, Any]:
addresses = []
@ -45,6 +46,7 @@ class IpForwardService(ConfigService):
shutdown = []
validation_mode = ConfigServiceMode.BLOCKING
default_configs = []
modes = {}
def data(self) -> Dict[str, Any]:
devnames = []

View file

@ -19,6 +19,11 @@ class SimpleService(ConfigService):
Configuration(_id="value2", _type=ConfigDataTypes.STRING, label="Value 2"),
Configuration(_id="value3", _type=ConfigDataTypes.STRING, label="Value 3"),
]
modes = {
"mode1": {"value1": "m1", "value2": "m1", "value3": "m1"},
"mode2": {"value1": "m2", "value2": "m2", "value3": "m2"},
"mode3": {"value1": "m3", "value2": "m3", "value3": "m3"},
}
def get_text(self, name: str) -> str:
if name == "test1.sh":