down.go 652 B

12345678910111213141516171819202122232425262728293031323334
  1. package amazon
  2. import (
  3. "context"
  4. "fmt"
  5. )
  6. func (c *client) ComposeDown(ctx context.Context, projectName string, deleteCluster bool) error {
  7. err := c.api.DeleteStack(ctx, projectName)
  8. if err != nil {
  9. return err
  10. }
  11. err = c.WaitStackCompletion(ctx, projectName, StackDelete)
  12. if err != nil {
  13. return err
  14. }
  15. if !deleteCluster {
  16. return nil
  17. }
  18. fmt.Printf("Delete cluster %s", c.Cluster)
  19. if err = c.api.DeleteCluster(ctx, c.Cluster); err != nil {
  20. return err
  21. }
  22. fmt.Printf("... done. \n")
  23. return nil
  24. }
  25. type downAPI interface {
  26. DeleteStack(ctx context.Context, name string) error
  27. DeleteCluster(ctx context.Context, name string) error
  28. }