environment.go 2.7 KB

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