func getAWSSession()

in pkg/controller/ingress/ingress_controller.go [86:110]


func getAWSSession(logger *zap.Logger) *session.Session {
	logger.Info("creating session for ec2metadata service")
	sess, err := session.NewSession(&aws.Config{Region: aws.String("us-west-2")})
	if err != nil {
		logger.Fatal("unable create session for ec2 metadata service call", zap.Error(err))
	}

	ec2metadataSvc := ec2metadata.New(sess)
	logger.Info("fetching ec2 identity document")
	ec2IdentityDocument, err := ec2metadataSvc.GetInstanceIdentityDocument()
	if err != nil {
		logger.Fatal("unable to determine region from ec2", zap.Error(err))
	}

	logger.Info("creating AWS api session", zap.String("region", ec2IdentityDocument.Region))
	sess, err = session.NewSession(&aws.Config{
		Region: aws.String(ec2IdentityDocument.Region),
	})

	if err != nil {
		logger.Fatal("unable to create session for AWS services", zap.Error(err))
	}

	return sess
}