Files
grafana/pkg/services/supportbundles/interface.go
T
Jo c74d86ca27 SupportBundles: Move support bundles to services (#60986)
* move support bundles to services

* update CODEOWNERS
2023-01-04 17:33:18 +01:00

46 lines
1.0 KiB
Go

package supportbundles
import "context"
type SupportItem struct {
Filename string
FileBytes []byte
}
type State string
const (
StatePending State = "pending"
StateComplete State = "complete"
StateError State = "error"
StateTimeout State = "timeout"
)
func (s State) String() string {
return string(s)
}
type Bundle struct {
UID string `json:"uid"`
State State `json:"state"`
FilePath string `json:"filePath"`
Creator string `json:"creator"`
CreatedAt int64 `json:"createdAt"`
ExpiresAt int64 `json:"expiresAt"`
}
type CollectorFunc func(context.Context) (*SupportItem, error)
type Collector struct {
UID string `json:"uid"`
DisplayName string `json:"displayName"`
Description string `json:"description"`
IncludedByDefault bool `json:"includedByDefault"`
Default bool `json:"default"`
Fn CollectorFunc `json:"-"`
}
type Service interface {
RegisterSupportItemCollector(collector Collector)
}