environment.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package client
  2. import (
  3. "context"
  4. "fmt"
  5. "github.com/porter-dev/porter/api/types"
  6. )
  7. func (c *Client) ListEnvironments(
  8. ctx context.Context,
  9. projID, clusterID uint,
  10. ) (*types.ListEnvironmentsResponse, error) {
  11. resp := &types.ListEnvironmentsResponse{}
  12. err := c.getRequest(
  13. fmt.Sprintf("/projects/%d/clusters/%d/environments", projID, clusterID),
  14. nil,
  15. resp,
  16. )
  17. return resp, err
  18. }
  19. func (c *Client) GetDeployment(
  20. ctx context.Context,
  21. projID, clusterID, envID uint,
  22. req *types.GetDeploymentRequest,
  23. ) (*types.Deployment, error) {
  24. resp := &types.Deployment{}
  25. err := c.getRequest(
  26. fmt.Sprintf("/projects/%d/clusters/%d/environments/%d/deployment", projID, clusterID, envID),
  27. req,
  28. resp,
  29. )
  30. return resp, err
  31. }
  32. func (c *Client) UpdateDeployment(
  33. ctx context.Context,
  34. projID, gitInstallationID, clusterID uint,
  35. gitRepoOwner, gitRepoName string,
  36. req *types.UpdateDeploymentRequest,
  37. ) (*types.Deployment, error) {
  38. resp := &types.Deployment{}
  39. err := c.postRequest(
  40. fmt.Sprintf(
  41. "/projects/%d/gitrepos/%d/%s/%s/clusters/%d/deployment/update",
  42. projID, gitInstallationID, gitRepoOwner, gitRepoName, clusterID,
  43. ),
  44. req,
  45. resp,
  46. )
  47. return resp, err
  48. }
  49. func (c *Client) UpdateDeploymentStatus(
  50. ctx context.Context,
  51. projID, gitInstallationID, clusterID uint,
  52. gitRepoOwner, gitRepoName string,
  53. req *types.UpdateDeploymentStatusRequest,
  54. ) (*types.Deployment, error) {
  55. resp := &types.Deployment{}
  56. err := c.postRequest(
  57. fmt.Sprintf(
  58. "/projects/%d/gitrepos/%d/%s/%s/clusters/%d/deployment/update/status",
  59. projID, gitInstallationID, gitRepoOwner, gitRepoName, clusterID,
  60. ),
  61. req,
  62. resp,
  63. )
  64. return resp, err
  65. }
  66. func (c *Client) FinalizeDeployment(
  67. ctx context.Context,
  68. projID, gitInstallationID, clusterID uint,
  69. gitRepoOwner, gitRepoName string,
  70. req *types.FinalizeDeploymentRequest,
  71. ) (*types.Deployment, error) {
  72. resp := &types.Deployment{}
  73. err := c.postRequest(
  74. fmt.Sprintf(
  75. "/projects/%d/gitrepos/%d/%s/%s/clusters/%d/deployment/finalize",
  76. projID, gitInstallationID, gitRepoOwner, gitRepoName, clusterID,
  77. ),
  78. req,
  79. resp,
  80. )
  81. return resp, err
  82. }
  83. func (c *Client) DeleteDeployment(
  84. ctx context.Context,
  85. projID, clusterID, deploymentID uint,
  86. ) error {
  87. return c.deleteRequest(
  88. fmt.Sprintf(
  89. "/projects/%d/clusters/%d/deployments/%d",
  90. projID, clusterID, deploymentID,
  91. ),
  92. nil, nil,
  93. )
  94. }