cluster.go 963 B

12345678910111213141516171819202122232425262728293031323334
  1. package kubemodel
  2. import (
  3. "errors"
  4. "time"
  5. )
  6. // @bingen:generate:Cluster
  7. type Cluster struct {
  8. UID string `json:"uid"` // @bingen:field[version=1]
  9. Provider Provider `json:"provider"` // @bingen:field[version=1]
  10. Account string `json:"account"` // @bingen:field[version=1]
  11. Name string `json:"name"` // @bingen:field[version=1]
  12. Start time.Time `json:"start"` // @bingen:field[version=1]
  13. End time.Time `json:"end"` // @bingen:field[version=1]
  14. }
  15. func (kms *KubeModelSet) RegisterCluster(uid string) error {
  16. if uid == "" {
  17. err := errors.New("RegisterCluster: uid is nil")
  18. kms.Error(err)
  19. return err
  20. }
  21. if kms.Cluster == nil {
  22. kms.Cluster = &Cluster{UID: uid}
  23. } else if uid != kms.Cluster.UID {
  24. kms.Warnf("RegisterCluster(%s): attempting to change cluster UID from %s to %s", uid, kms.Cluster.UID, uid)
  25. } else {
  26. kms.Debugf("RegisterCluster(%s): cluster already registered", uid)
  27. }
  28. return nil
  29. }