deployment_target.go 1.4 KB

12345678910111213141516171819202122
  1. package repository
  2. import (
  3. "github.com/porter-dev/porter/internal/models"
  4. )
  5. // DeploymentTargetRepository represents the set of queries on the DeploymentTarget model
  6. type DeploymentTargetRepository interface {
  7. // DeploymentTargetBySelectorAndSelectorType finds a deployment target for a projectID and clusterID by its selector and selector type
  8. DeploymentTargetBySelectorAndSelectorType(projectID uint, clusterID uint, selector, selectorType string) (*models.DeploymentTarget, error)
  9. // ListForCluster returns all deployment targets for a project and cluster
  10. ListForCluster(projectID uint, clusterID uint, preview bool) ([]*models.DeploymentTarget, error)
  11. // List returns all deployment targets for a project
  12. List(projectID uint, preview bool) ([]*models.DeploymentTarget, error)
  13. // CreateDeploymentTarget creates a new deployment target
  14. CreateDeploymentTarget(deploymentTarget *models.DeploymentTarget) (*models.DeploymentTarget, error)
  15. // DeploymentTarget retrieves a deployment target by its id if a uuid is provided or by name
  16. DeploymentTarget(projectID uint, deploymentTargetIdentifier string) (*models.DeploymentTarget, error)
  17. // DeploymentTargetById retrieves a deployment target by its uuid
  18. // This bypasses the projectID check, and should only be used to retrieve a deployment target for a cloud project.
  19. DeploymentTargetById(deploymentTargetIdentifier string) (*models.DeploymentTarget, error)
  20. }