in provider/secrets_manager_provider.go [69:94]
func (p *SecretsManagerProvider) fetchSecretManagerValue(
ctx context.Context,
descriptor *SecretDescriptor,
curMap map[string]*v1alpha1.ObjectVersion,
) (value []*SecretValue, err error) {
for _, client := range p.clients {
secretVal, err := p.fetchSecretManagerValueWithClient(ctx, client, descriptor, curMap)
//check if fatal(4XX status error) exist to error out the mount
if utils.IsFatalError(err) {
return nil, err
} else if err != nil {
klog.Warning(err)
}
if len(secretVal) > 0 && len(value) == 0 {
value = secretVal
}
}
if len(value) == 0 {
return nil, fmt.Errorf("Failed to fetch secret from all regions. Verify secret exists and required permissions are granted for: %s", descriptor.ObjectName)
}
return value, nil
}