Exemple #1
0
    def _load_rulesets_recursively(
        self, folder: CREFolder, only_varname: Optional[RulesetName] = None
    ) -> None:
        for subfolder in folder.subfolders():
            self._load_rulesets_recursively(subfolder, only_varname)

        self._load_folder_rulesets(folder, only_varname)
 def dump_structure(wato_folder: hosts_and_folders.CREFolder, indent=0):
     indent_space = " " * indent * 6
     sys.stdout.write(
         f"{indent_space + '->' + str(wato_folder):80} {wato_folder.path()}\n"
     )
     sys.stdout.write("\n".join(
         f"{indent_space}  {x}"
         for x in pprint.pformat(wato_folder.attributes()).split("\n")) +
                      "\n")
     for subfolder in wato_folder.subfolders():
         dump_structure(subfolder, indent + 1)
Exemple #3
0
def _find_usages_of_contact_group_in_hosts_and_folders(
    name: GroupName, folder: CREFolder
) -> List[Tuple[str, str]]:
    used_in = []
    for subfolder in folder.subfolders():
        used_in += _find_usages_of_contact_group_in_hosts_and_folders(name, subfolder)

    attributes = folder.attributes()
    if name in attributes.get("contactgroups", {}).get("groups", []):
        used_in.append((_("Folder: %s") % folder.alias_path(), folder.edit_url()))

    for host in folder.hosts().values():
        attributes = host.attributes()
        if name in attributes.get("contactgroups", {}).get("groups", []):
            used_in.append((_("Host: %s") % host.name(), host.edit_url()))

    return used_in
Exemple #4
0
    def _save_rulesets_recursively(self, folder: CREFolder) -> None:
        for subfolder in folder.subfolders():
            self._save_rulesets_recursively(subfolder)

        self._save_folder(folder)