func listBuckets(svc *s3.S3) ([]*Bucket, error) { res, err := svc.ListBuckets(&s3.ListBucketsInput{}) if err != nil { return nil, err } buckets := make([]*Bucket, len(res.Buckets)) for i, b := range res.Buckets { buckets[i] = &Bucket{ Name: *b.Name, CreationDate: *b.CreationDate, } locRes, err := svc.GetBucketLocation(&s3.GetBucketLocationInput{ Bucket: b.Name, }) if err != nil { buckets[i].Error = err continue } if locRes.LocationConstraint == nil { buckets[i].Region = "us-east-1" } else { buckets[i].Region = *locRes.LocationConstraint } } return buckets, nil }
func s3connect(svc *s3.S3) (*s3.ListBucketsOutput, error) { logger.Info("Attempting to connect...") var params *s3.ListBucketsInput resp, err := svc.ListBuckets(params) if err != nil { return nil, err } return resp, nil }
func ListBuckets(svc *s3.S3) { //svc := s3.New(session.New(),&aws.Config{Region: aws.String("us-east-1")}) var params *s3.ListBucketsInput resp, err := svc.ListBuckets(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func createBucket(bucket string, s3serv *s3.S3) { if resp, err := s3serv.ListBuckets(nil); err == nil { for _, b := range resp.Buckets { if *b.Name == bucket { return } } if resp, err := s3serv.CreateBucket(&s3.CreateBucketInput{ Bucket: aws.String(bucket)}); err == nil { } else { fmt.Println(err, resp) } } }