Tópico anterior: Regras de atributo explícitas de usuário globalPróximo tópico: Desempenho da função de provisionamento


Funções de regras integradas

Você pode usar funções de regras integradas em suas expressões de regra para executar várias transformações nos valores. O formato geral de invocação de funções de regras integradas é:

%[*]$$function(arg[,…])[:offset,length]%

em que o asterisco indicador com vários valores (*) e as especificações de subsequência de caracteres de deslocamento e comprimento são mais uma vez opcionais.

As funções integradas reconhecidas são as seguintes:

Função de regra integrada

Descrição

ALLOF

Mescla todos os parâmetros em um atributo com vários valores. A ordem é preservada e as duplicatas são removidas. Por exemplo, se os atributos de usuário estiverem definidos para o seguinte:

eTCustomField01: { A, B }
eTCustomField02: { A, C }

Então, a regra:

%*ALLOF(%*UCU01%,%*UCU02%)%

retorna três valores {A, B, C}.

DATE

Retorna a data atual em formato dd/mm/aaaa. A expressão de regra %D% é equivalente a uma das seguintes:

%$$DATE()%
%$$DATE%

FIRSTOF

Retorna o primeiro valor de qualquer um dos parâmetros. Usado para inserir um valor padrão se um atributo não for definido:

%$$FIRSTOF(%UCU01%,'unknown')%
%$$FIRSTOF(%LN%,%UCU01%,%U%)%

Se nenhum dos valores estiver definido, o resultado será nenhum valor. Para incluir uma sequência de caracteres constante em um argumento, coloque-a entre aspas simples.

INDEX

Retorna um valor de um atributo com vários valores. Índice 1 é o primeiro valor. Se o índice for maior do que o número de valores, o resultado será o valor não definido (vazio). As regras a seguir são equivalentes ao seguinte:

%$$INDEX(%*UCU01%,1)%

%$$FIRSTOF(%*UCU01%)%

NOTEMPTY

Retorna o único valor de seu argumento, mas informa uma falha se o valor deste atributo não estiver definido.

Exemplo 1:

Falha na criação ou atualização da conta se o usuário não tiver um atributo UID atribuído:

%$$NOTEMPTY(%UID%)%

Exemplo 2:

Use o nome. Caso não esteja definido, use o sobrenome. Se nenhum dos dois estiver definido, haverá falha na criação ou atualização da conta.

%$$NOTEMPTY(

%$$FIRSTOF(

%UF%,

%UL%

)%

)%

PRIMARYEMAIL

Retorna o endereço de email principal extraído dos vários endereços de email. A expressão %UE% é equivalente ao seguinte:

%$$PRIMARYEMAIL(%UEP%)%

RDNVALUE

Trata o valor do atributo como um nome distinto LDAP e extrai o nome comum do objeto do DN:

%*$$RDNVALUE(%#eTRoleDN%)%

Essa função retorna os nomes comuns de todas as funções de provisionamento atribuídas. Se o usuário pertencer a duas funções de provisionamento com o mesmo nome comum, esse nome da função será listado uma vez.

TOLOWER

Converte texto com letra maiúscula em texto com letra minúscula:

%$$TOLOWER(%AC%)%

TOUPPER

Converte texto com letra minúscula em texto com letra maiúscula:

%$$TOUPPER(%U%)%

TRIM

Remove espaços em branco à direita e à esquerda de um valor de atributo.

Por exemplo, “%UF %UL%” geralmente cria um valor com um nome e um sobrenome separados por um espaço em branco. No entanto, se o usuário possui um atributo de nome em branco, esta regra gera um valor que termina com um espaço em branco à direita. No entanto, usar

“%$$TRIM(%UF% %UL%)%

garante que nenhum espaço em branco à direita ou à esquerda existe no valor de atributo da conta, mesmo se um ou outro de Nome e Sobrenome não estiver definido.