mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-10 09:56:55 +00:00
* feat: add table output to cli apply command Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * factorise Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --------- Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> Co-authored-by: shuting <shuting@nirmata.com>
42 lines
776 B
Go
42 lines
776 B
Go
package table
|
|
|
|
type Table struct {
|
|
RawRows []Row
|
|
}
|
|
|
|
func (t *Table) Rows(compact bool) interface{} {
|
|
if !compact {
|
|
return t.RawRows
|
|
}
|
|
var rows []CompactRow
|
|
for _, row := range t.RawRows {
|
|
rows = append(rows, row.CompactRow)
|
|
}
|
|
return rows
|
|
}
|
|
|
|
func (t *Table) AddFailed(rows ...Row) {
|
|
for _, row := range rows {
|
|
if row.IsFailure {
|
|
t.RawRows = append(t.RawRows, row)
|
|
}
|
|
}
|
|
}
|
|
|
|
func (t *Table) Add(rows ...Row) {
|
|
t.RawRows = append(t.RawRows, rows...)
|
|
}
|
|
|
|
type CompactRow struct {
|
|
IsFailure bool
|
|
ID int `header:"id"`
|
|
Policy string `header:"policy"`
|
|
Rule string `header:"rule"`
|
|
Resource string `header:"resource"`
|
|
Result string `header:"result"`
|
|
}
|
|
|
|
type Row struct {
|
|
CompactRow `header:"inline"`
|
|
Message string `header:"message"`
|
|
}
|