1
8
10 - def __init__(self, missingArgument, hostgroupName):
12
43
45 me = {}
46 me["members"] = [member.nameid for member in self.get_members()]
47 me["hosts"] = self.hosts
48 me["parents"] = [hg.get_name() for hg in self.get_parents()]
49
50
51
52 configDict["hostgroups"][self.get_name()] = me
53
55 if isinstance(item, list):
56 l.extend(item)
57 else:
58 l.append(item)
59
62
65
68
71
74
77
80
83
86
89
92
94 ret = "HostGroup: " + self.name + " threshold: " + str(self.threshold) + " parent: " + self.parent + "\n"
95 ret += "members: {\n"
96 for itm in self.members:
97 ret += str(itm) + "\n"
98 ret += "}\n"
99 ret += "hosts: {\n"
100 for itm in self.hosts:
101 ret += str(itm) + "\n"
102 ret += "}\n"
103 ret += "services: {\n"
104 for itm in self.services:
105 ret += str(itm) + "\n"
106 ret += "}\n"
107 return ret
108
109
114
116 return "HostgroupService { " + str([str(s) for s in self.services]) + ", " + str([p.name for p in self.periods]) + "}"
117
118
120 parsedHostGroups = []
121 for hgname, hgValues in hostgroups.items():
122 hostGroup = HostGroup(hgname)
123 hostGroup.members = [m for m in members if m.nameid in hgValues['members']]
124 hostGroup.hosts = [h for h in hosts if h.name in hgValues['hosts']]
125 hostGroup.threshold = hgValues['threshold']
126 if 'parent' in hgValues:
127 hostGroup.parent = hgValues['parent']
128 hostGroup.services = []
129 for serviceName, servicePeriods in hgValues['services'].items():
130 services = []
131 for host in hosts:
132 service = host.getHostServiceByName(serviceName)
133 if service is not None:
134 services.append(service)
135 else:
136 log.w("could not find HostService(" + str(serviceName) + ") for host " + host.name)
137 hostGroupPeriods = [p for p in periods if p.name in servicePeriods]
138 hostGroup.services.append(HostGroupService(services, hostGroupPeriods))
139 parsedHostGroups.append(hostGroup)
140 return parsedHostGroups
141