func()

in sdk/auth/credentials/providers/configuration.go [39:62]


func (p *ConfigurationProvider) Retrieve() (auth.Credential, error) {

	if p.Configuration.AccessKeyID != "" && p.Configuration.AccessKeySecret != "" {

		if p.Configuration.RoleArn != "" && p.Configuration.RoleSessionName != "" && p.Configuration.RoleSessionExpiration != nil {
			return credentials.NewRamRoleArnCredential(p.Configuration.AccessKeyID, p.Configuration.AccessKeySecret, p.Configuration.RoleArn, p.Configuration.RoleSessionName, *p.Configuration.RoleSessionExpiration), nil
		}

		if p.Configuration.AccessKeyStsToken != "" {
			return credentials.NewStsTokenCredential(p.Configuration.AccessKeyID, p.Configuration.AccessKeySecret, p.Configuration.AccessKeyStsToken), nil
		}

		return credentials.NewAccessKeyCredential(p.Configuration.AccessKeyID, p.Configuration.AccessKeySecret), nil
	}

	if p.Configuration.RoleName != "" {
		return credentials.NewEcsRamRoleCredential(p.Configuration.RoleName), nil
	}

	if p.Configuration.PrivateKey != "" && p.Configuration.PublicKeyID != "" && p.Configuration.SessionExpiration != nil {
		return credentials.NewRsaKeyPairCredential(p.Configuration.PrivateKey, p.Configuration.PublicKeyID, *p.Configuration.SessionExpiration), nil
	}
	return nil, ErrNoValidCredentialsFound
}