2
0

deployment_target.go 1.2 KB

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