func getSTSCreds()

in pkg/conn/conn.go [247:264]


func getSTSCreds(region string, roleArn string) *credentials.Credentials {
	t := getDefaultSession()

	stsCred := getSTSCredsFromRegionEndpoint(t, region, roleArn)
	// Make explicit call to fetch credentials.
	_, err := stsCred.Get()
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case sts.ErrCodeRegionDisabledException:
				log.Errorf("Region : %v - %v", region, aerr.Error())
				log.Info("Credentials for provided RoleARN will be fetched from STS primary region endpoint instead of regional endpoint.")
				stsCred = getSTSCredsFromPrimaryRegionEndpoint(t, roleArn, region)
			}
		}
	}
	return stsCred
}