File tree Expand file tree Collapse file tree 2 files changed +23
-4
lines changed
Expand file tree Collapse file tree 2 files changed +23
-4
lines changed Original file line number Diff line number Diff line change @@ -748,16 +748,23 @@ func (d *Driver) Kill() error {
748748}
749749
750750func (d * Driver ) Remove () error {
751+ multierr := mcnutils.MultiError {
752+ Errs : []error {},
753+ }
754+
751755 if err := d .terminate (); err != nil {
752- return fmt . Errorf ( "unable to terminate instance: %s" , err )
756+ multierr . Errs = append ( multierr . Errs , err )
753757 }
754758
755- // remove keypair
756759 if err := d .deleteKeyPair (); err != nil {
757- return fmt . Errorf ( "unable to remove key pair: %s" , err )
760+ multierr . Errs = append ( multierr . Errs , err )
758761 }
759762
760- return nil
763+ if len (multierr .Errs ) == 0 {
764+ return nil
765+ }
766+
767+ return multierr
761768}
762769
763770func (d * Driver ) getInstance () (* ec2.Instance , error ) {
Original file line number Diff line number Diff line change @@ -11,6 +11,18 @@ import (
1111 "time"
1212)
1313
14+ type MultiError struct {
15+ Errs []error
16+ }
17+
18+ func (e MultiError ) Error () string {
19+ aggregate := ""
20+ for _ , err := range e .Errs {
21+ aggregate += err .Error () + "\n "
22+ }
23+ return aggregate
24+ }
25+
1426// GetHomeDir returns the home directory
1527// TODO: Having this here just strikes me as dangerous, but some of the drivers
1628// depend on it ;_;
You can’t perform that action at this time.
0 commit comments