status.go 1.2 KB

123456789101112131415161718192021222324252627
  1. package customcost
  2. import (
  3. "time"
  4. "github.com/opencost/opencost/core/pkg/opencost"
  5. cloudconfig "github.com/opencost/opencost/pkg/cloud"
  6. )
  7. // Status gives the details and metadata of a CloudCost integration
  8. type Status struct {
  9. Key string `json:"key"`
  10. Source string `json:"source"`
  11. Provider string `json:"provider"`
  12. Active bool `json:"active"`
  13. Valid bool `json:"valid"`
  14. LastRun time.Time `json:"lastRun"`
  15. NextRun time.Time `json:"nextRun"`
  16. RefreshRateDaily string `json:"RefreshRateDaily"`
  17. RefreshRateHourly string `json:"RefreshRateHourly"`
  18. Created time.Time `json:"created"`
  19. Runs int `json:"runs"`
  20. CoverageHourly map[string]opencost.Window `json:"coverageHourly"`
  21. CoverageDaily map[string]opencost.Window `json:"coverageDaily"`
  22. ConnectionStatus string `json:"connectionStatus"`
  23. Config cloudconfig.Config `json:"config"`
  24. }