func()

in auth/auth.go [133:157]


func (p Auth) GetAWSSession() (awsSession *session.Session, e error) {

	roleArn, err := p.getRoleARN()
	if err != nil {
		return nil, err
	}

	fetcher := &authTokenFetcher{p.nameSpace, p.svcAcc, p.k8sClient}
	ar := stscreds.NewWebIdentityRoleProviderWithToken(p.stsClient, *roleArn, ProviderName, fetcher)
	config := aws.NewConfig().
		WithSTSRegionalEndpoint(endpoints.RegionalSTSEndpoint). // Use regional STS endpoint
		WithRegion(p.region).
		WithCredentials(credentials.NewCredentials(ar))

	// Include the provider in the user agent string.
	sess, err := session.NewSession(config)
	if err != nil {
		return nil, err
	}
	sess.Handlers.Build.PushFront(func(r *request.Request) {
		request.AddToUserAgent(r, ProviderName)
	})

	return session.Must(sess, err), nil
}