Пример #1
0
//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())
	}
}