cluster.go 1.2 KB

123456789101112131415161718192021222324
  1. package repository
  2. import (
  3. "github.com/porter-dev/porter/internal/features"
  4. "github.com/porter-dev/porter/internal/models"
  5. ints "github.com/porter-dev/porter/internal/models/integrations"
  6. )
  7. // ClusterRepository represents the set of queries on the
  8. // Cluster model
  9. type ClusterRepository interface {
  10. CreateClusterCandidate(cc *models.ClusterCandidate) (*models.ClusterCandidate, error)
  11. ReadClusterCandidate(projectID, ccID uint) (*models.ClusterCandidate, error)
  12. ListClusterCandidatesByProjectID(projectID uint) ([]*models.ClusterCandidate, error)
  13. UpdateClusterCandidateCreatedClusterID(id uint, createdClusterID uint) (*models.ClusterCandidate, error)
  14. CreateCluster(cluster *models.Cluster, launchDarklyClient *features.Client) (*models.Cluster, error)
  15. ReadCluster(projectID, clusterID uint) (*models.Cluster, error)
  16. ReadClusterByInfraID(projectID, infraID uint) (*models.Cluster, error)
  17. ListClustersByProjectID(projectID uint) ([]*models.Cluster, error)
  18. UpdateCluster(cluster *models.Cluster, launchDarklyClient *features.Client) (*models.Cluster, error)
  19. UpdateClusterTokenCache(tokenCache *ints.ClusterTokenCache) (*models.Cluster, error)
  20. DeleteCluster(cluster *models.Cluster) error
  21. }