//clean up all Application Version inside "versions" slice func clean(eb *elasticbeanstalk.ElasticBeanstalk, appName string, versions []*elasticbeanstalk.ApplicationVersionDescription, deleteSourceBundle bool) { for _, version := range versions { var buffer bytes.Buffer buffer.WriteString(fmt.Sprintf("Deleting version %s .......... ", *version.VersionLabel)) _, err := eb.DeleteApplicationVersion(&elasticbeanstalk.DeleteApplicationVersionInput{ ApplicationName: &appName, DeleteSourceBundle: &deleteSourceBundle, VersionLabel: version.VersionLabel, }) if err != nil { if awsErr, ok := err.(awserr.Error); ok { log.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) buffer.WriteString("Error") if reqErr, ok := err.(awserr.RequestFailure); ok { log.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) buffer.WriteString("Error") } } else { log.Println(err.Error()) buffer.WriteString("Error") } } else { buffer.WriteString("OK") } fmt.Println(buffer.String()) } }