{ lib, config, ... }:
let
inherit (lib)
mkOption
concatStringsSep
;
inherit (lib.types)
listOf
str
;
in
{
options = {
protocols.rstp = mkOption {
type = listOf str;
description = ''
List of interfaces on which Rapid Spanning Tree Protocol should be enabled.
'';
};
netconf.xmls.protocols = mkOption {
type = str;
visible = false;
readOnly = true;
};
};
config.netconf.xmls.protocols =
let
rstps = map (intf: "${intf}") config.protocols.rstp;
in
''
${concatStringsSep "" rstps}
'';
}