blob: 285f68cb7af3506088d0755d278cc64f3790fb78 [file] [log] [blame]
giof8acc612025-04-26 08:20:55 +04001package status
2
3type InstanceMonitor struct {
4 m Monitor
5 instances map[string][]Resource
6}
7
8func NewInstanceMonitor(m Monitor) *InstanceMonitor {
9 return &InstanceMonitor{
10 m: m,
11 instances: map[string][]Resource{},
12 }
13}
14
15func (m *InstanceMonitor) Monitor(id string, resources []Resource) {
16 m.instances[id] = resources
17}
18
19func (m *InstanceMonitor) Get(id string) (ret map[Resource]Status, err error) {
20 ret = map[Resource]Status{}
21 for _, r := range m.instances[id] {
22 ret[r], err = m.m.Get(r)
23 if err != nil {
24 break
25 }
26 }
27 return
28}