in internal/loader/configuration_client_manager.go [408:428]
func getWorkloadIdentityClientId(ctx context.Context, workloadIdentityAuth *acpv1.WorkloadIdentityParameters, namespace string) (string, error) {
if workloadIdentityAuth.ManagedIdentityClientIdReference == nil {
return *workloadIdentityAuth.ManagedIdentityClientId, nil
} else {
configMap, err := getConfigMap(ctx, types.NamespacedName{Namespace: namespace, Name: workloadIdentityAuth.ManagedIdentityClientIdReference.ConfigMap})
if err != nil {
return "", err
}
if _, ok := configMap.Data[workloadIdentityAuth.ManagedIdentityClientIdReference.Key]; !ok {
return "", fmt.Errorf("key '%s' does not exist", workloadIdentityAuth.ManagedIdentityClientIdReference.Key)
}
managedIdentityClientId := configMap.Data[workloadIdentityAuth.ManagedIdentityClientIdReference.Key]
if _, err = uuid.Parse(managedIdentityClientId); err != nil {
return "", fmt.Errorf("managedIdentityClientId %q is not a valid uuid", managedIdentityClientId)
}
return managedIdentityClientId, nil
}
}