integration.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package forms
  2. import (
  3. ints "github.com/porter-dev/porter/internal/models/integrations"
  4. )
  5. // CreateGCPIntegrationForm represents the accepted values for creating a
  6. // GCP Integration
  7. type CreateGCPIntegrationForm struct {
  8. UserID uint `json:"user_id" form:"required"`
  9. ProjectID uint `json:"project_id" form:"required"`
  10. GCPKeyData string `json:"gcp_key_data" form:"required"`
  11. }
  12. // ToGCPIntegration converts the project to a gorm project model
  13. func (cgf *CreateGCPIntegrationForm) ToGCPIntegration() (*ints.GCPIntegration, error) {
  14. return &ints.GCPIntegration{
  15. UserID: cgf.UserID,
  16. ProjectID: cgf.ProjectID,
  17. GCPKeyData: []byte(cgf.GCPKeyData),
  18. }, nil
  19. }
  20. // CreateAWSIntegrationForm represents the accepted values for creating an
  21. // AWS Integration
  22. type CreateAWSIntegrationForm struct {
  23. UserID uint `json:"user_id" form:"required"`
  24. ProjectID uint `json:"project_id" form:"required"`
  25. AWSRegion string `json:"aws_region"`
  26. AWSClusterID string `json:"aws_cluster_id"`
  27. AWSAccessKeyID string `json:"aws_access_key_id"`
  28. AWSSecretAccessKey string `json:"aws_secret_access_key"`
  29. }
  30. // ToAWSIntegration converts the project to a gorm project model
  31. func (caf *CreateAWSIntegrationForm) ToAWSIntegration() (*ints.AWSIntegration, error) {
  32. return &ints.AWSIntegration{
  33. UserID: caf.UserID,
  34. ProjectID: caf.ProjectID,
  35. AWSRegion: caf.AWSRegion,
  36. AWSClusterID: []byte(caf.AWSClusterID),
  37. AWSAccessKeyID: []byte(caf.AWSAccessKeyID),
  38. AWSSecretAccessKey: []byte(caf.AWSSecretAccessKey),
  39. }, nil
  40. }