status.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package kubecost
  2. import "time"
  3. // ETLStatus describes ETL metadata
  4. type ETLStatus struct {
  5. Coverage Window `json:"coverage"`
  6. LastRun time.Time `json:"lastRun"`
  7. Progress float64 `json:"progress"`
  8. RefreshRate string `json:"refreshRate"`
  9. Resolution string `json:"resolution"`
  10. MaxBatch string `json:"maxBatch"`
  11. StartTime time.Time `json:"startTime"`
  12. UTCOffset string `json:"utcOffset"`
  13. Backup *DirectoryStatus `json:"backup,omitempty"`
  14. }
  15. // DirectoryStatus describes metadata of a directory of files
  16. type DirectoryStatus struct {
  17. Path string `json:"path"`
  18. Size string `json:"size"`
  19. LastModified time.Time `json:"lastModified"`
  20. FileCount int `json:"fileCount"`
  21. Files []FileStatus `json:"files"`
  22. }
  23. // FileStatus describes the metadata of a single file
  24. type FileStatus struct {
  25. Name string `json:"name"`
  26. Size string `json:"size"`
  27. LastModified time.Time `json:"lastModified"`
  28. Details map[string]string `json:"details,omitempty"`
  29. Errors []string `json:"errors,omitempty"`
  30. Warnings []string `json:"warnings,omitempty"`
  31. }