github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/control/controlstatus/status_summary.go (about)

     1  package controlstatus
     2  
     3  // StatusSummary is a struct containing the counts of each possible control status
     4  type StatusSummary struct {
     5  	Alarm int `json:"alarm"`
     6  	Ok    int `json:"ok"`
     7  	Info  int `json:"info"`
     8  	Skip  int `json:"skip"`
     9  	Error int `json:"error"`
    10  }
    11  
    12  func (s *StatusSummary) PassedCount() int {
    13  	return s.Ok + s.Info
    14  }
    15  
    16  func (s *StatusSummary) FailedCount() int {
    17  	return s.Alarm + s.Error
    18  }
    19  
    20  func (s *StatusSummary) TotalCount() int {
    21  	return s.Alarm + s.Ok + s.Info + s.Skip + s.Error
    22  }
    23  
    24  func (s *StatusSummary) Merge(summary *StatusSummary) {
    25  	s.Alarm += summary.Alarm
    26  	s.Ok += summary.Ok
    27  	s.Info += summary.Info
    28  	s.Skip += summary.Skip
    29  	s.Error += summary.Error
    30  }