deployment_target.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package client
  2. import (
  3. "context"
  4. "fmt"
  5. "github.com/google/uuid"
  6. "github.com/porter-dev/porter/api/types"
  7. )
  8. // CreateDeploymentTarget creates a deployment target with the given request options
  9. func (c *Client) CreateDeploymentTarget(
  10. ctx context.Context,
  11. projectId uint,
  12. req *types.CreateDeploymentTargetRequest,
  13. ) (*types.CreateDeploymentTargetResponse, error) {
  14. resp := &types.CreateDeploymentTargetResponse{}
  15. err := c.postRequest(
  16. fmt.Sprintf("/projects/%d/targets", projectId),
  17. req,
  18. resp,
  19. )
  20. return resp, err
  21. }
  22. // ListDeploymentTargets retrieves all deployment targets in a project
  23. func (c *Client) ListDeploymentTargets(
  24. ctx context.Context,
  25. projectId uint,
  26. includePreviews bool,
  27. ) (*types.ListDeploymentTargetsResponse, error) {
  28. resp := &types.ListDeploymentTargetsResponse{}
  29. req := &types.ListDeploymentTargetsRequest{
  30. Preview: includePreviews,
  31. }
  32. err := c.getRequest(
  33. fmt.Sprintf("/projects/%d/targets", projectId),
  34. req,
  35. resp,
  36. )
  37. return resp, err
  38. }
  39. // DeleteDeploymentTarget deletes a deployment target in a project
  40. func (c *Client) DeleteDeploymentTarget(
  41. ctx context.Context,
  42. projectId uint,
  43. deploymentTargetID uuid.UUID,
  44. ) error {
  45. return c.deleteRequest(
  46. fmt.Sprintf("/projects/%d/targets/%s", projectId, deploymentTargetID.String()),
  47. nil,
  48. nil,
  49. )
  50. }