diff --git a/protokube/pkg/protokube/aws_volume.go b/protokube/pkg/protokube/aws_volume.go index 7f2aaa760e..c24bb72815 100644 --- a/protokube/pkg/protokube/aws_volume.go +++ b/protokube/pkg/protokube/aws_volume.go @@ -58,7 +58,10 @@ func NewAWSVolumes() (*AWSVolumes, error) { deviceMap: make(map[string]string), } - s := session.New() + s, err := session.NewSession() + if err != nil { + return nil, fmt.Errorf("error starting new AWS session: %v", err) + } s.Handlers.Send.PushFront(func(r *request.Request) { // Log requests glog.V(4).Infof("AWS API Request: %s/%s", r.ClientInfo.ServiceName, r.Operation.Name) diff --git a/upup/pkg/fi/cloudup/awsup/aws_cloud.go b/upup/pkg/fi/cloudup/awsup/aws_cloud.go index ef7618e7b8..ba4fcd90d7 100644 --- a/upup/pkg/fi/cloudup/awsup/aws_cloud.go +++ b/upup/pkg/fi/cloudup/awsup/aws_cloud.go @@ -168,22 +168,46 @@ func NewAWSCloud(region string, tags map[string]string) (AWSCloud, error) { requestLogger := newRequestLogger(2) - c.cf = cloudformation.New(session.New(), config) + sess, err := session.NewSession() + if err != nil { + return c, err + } + c.cf = cloudformation.New(sess, config) c.cf.Handlers.Send.PushFront(requestLogger) - c.ec2 = ec2.New(session.New(), config) + sess, err = session.NewSession() + if err != nil { + return c, err + } + c.ec2 = ec2.New(sess, config) c.ec2.Handlers.Send.PushFront(requestLogger) - c.iam = iam.New(session.New(), config) + sess, err = session.NewSession() + if err != nil { + return c, err + } + c.iam = iam.New(sess, config) c.iam.Handlers.Send.PushFront(requestLogger) - c.elb = elb.New(session.New(), config) + sess, err = session.NewSession() + if err != nil { + return c, err + } + c.elb = elb.New(sess, config) c.elb.Handlers.Send.PushFront(requestLogger) - c.autoscaling = autoscaling.New(session.New(), config) + sess, err = session.NewSession() + if err != nil { + return c, err + } + c.autoscaling = autoscaling.New(sess, config) c.autoscaling.Handlers.Send.PushFront(requestLogger) - c.route53 = route53.New(session.New(), config) + sess, err = session.NewSession() + if err != nil { + return c, err + } + c.route53 = route53.New(sess, config) c.route53.Handlers.Send.PushFront(requestLogger) awsCloudInstances[region] = c diff --git a/upup/pkg/fi/cloudup/awsup/aws_utils.go b/upup/pkg/fi/cloudup/awsup/aws_utils.go index ae4520be7f..61cd12da67 100644 --- a/upup/pkg/fi/cloudup/awsup/aws_utils.go +++ b/upup/pkg/fi/cloudup/awsup/aws_utils.go @@ -45,7 +45,12 @@ func ValidateRegion(region string) error { config := aws.NewConfig().WithRegion(awsRegion) config = config.WithCredentialsChainVerboseErrors(true) - client := ec2.New(session.New(), config) + sess, err := session.NewSession() + if err != nil { + return fmt.Errorf("Error starting a new AWS session: %v", err) + } + + client := ec2.New(sess, config) response, err := client.DescribeRegions(request) if err != nil { diff --git a/util/pkg/vfs/s3context.go b/util/pkg/vfs/s3context.go index b65f0a9077..8495b1e01a 100644 --- a/util/pkg/vfs/s3context.go +++ b/util/pkg/vfs/s3context.go @@ -65,8 +65,11 @@ func (s *S3Context) getClient(region string) (*s3.S3, error) { } } - session := session.New() - s3Client = s3.New(session, config) + sess, err := session.NewSession() + if err != nil { + return nil, fmt.Errorf("error starting new AWS session:%v", err) + } + s3Client = s3.New(sess, config) s.clients[region] = s3Client }