Exemplo de grupo de recursos que limita as opções ao centro de custos
Você pode usar grupos de recursos com planos gráficos para limitar as opções no formulário de solicitação do catálogo na nuvem.
Caso de uso: Restringir seleção de centro de custos
Neste exemplo, o custo do ativo de nuvem é cobrado do orçamento do centro de custos do usuário. O sistema-base UserCostCenter grupo de recursos garante que um usuário possa selecionar somente recursos em seu centro de custos.
Considerações
- O plug-in Cost Management [con.snc.cost_management] está ativo.
- Os centros de custos são definidos e os usuários são associados aos centros de custos.
- Pelo menos um plano gráfico está definido. Este exemplo usa um plano gráfico chamado AWS Virtual Server.
- Você recebeu a função sn_cmp_cloud_admin e conhece scripts JavaScript e JSON.
Componentes
- Revisar filtro de grupo de recursos
- No Portal de administração de nuvem, navegue até .
- Abra o CostCenterPool e revise os filtros do grupo de recursos relacionados.
- Todos é um filtro de consulta que retorna todos os centros de custos na tabela.
- UserCostCenter é um filtro de script que pesquisa o centro de custos associado ao usuário que está solicitando o item.
Este é o script para o filtro UserCostCenter :getFilteredRecords(); //Do not remove function declaration /** * @returns filtered records in the format [{"value"="lookupValue",label="displayValue"}] */ function getFilteredRecords() { var filteredRecords = []; var userId = gs.getUserID(); var userGr = new GlideRecord('sys_user'); if (userGr.get(userId)){ var costCenterId = userGr.getValue('cost_center'); if (costCenterId){ var costCenterGr = new GlideRecord('cmn_cost_center'); if (costCenterGr.get(costCenterId)){ var costCenter = {}; costCenter.value = costCenterGr.getUniqueValue(); costCenter.label = costCenterGr.getValue('name'); filteredRecords.push(costCenter); } } } //force to string return new global.JSON().encode(filteredRecords); }
- Parâmetros do formulário do catálogo de plano gráfico
- Navegar até e clique no bloco do plano gráfico que você deseja abrir.
- Com o plano gráfico no estado Rascunho, clique no bloco Operação de provisionamento no guia.
- Na lista relacionada Conjuntos de variáveis, clique no conjunto de variáveis Informações gerais. Por padrão, a variável CostCenter está neste conjunto de variáveis.
- Na lista relacionada Variáveis de nuvem no formulário Conjunto de variáveis, clique na variável CostCenter.
- No formulário Variável de nuvem, clique na guia Especificações de tipo.
- Observe os campos Pool e Filtro de pool que se referem ao grupo de recursos e ao filtro.
- CostCenterPool é o nome do grupo de recursos.
- UserCostCenter é o script de filtro que extrai as opções de centro de custos para o usuário selecionar.
- Defina o plano gráfico como Publicado.
- Usuário do centro de custos
- Identifique um usuário que seja membro de um centro de custos e que tenha acesso ao Portal de usuário da nuvem.
Testando o filtro do grupo de recursos
Depois de revisar os componentes que compõem este caso de uso, teste o item do catálogo na nuvem para verificar se os usuários podem selecionar somente o centro de custos.
- Represente a usuária Alena Rabeck neste exemplo.
- No Portal de usuário da nuvem, clique em Iniciar uma pilhae selecione o item do catálogo na nuvem (AWS Virtual Server neste exemplo).
- Revise as seleções na lista Centro de custos.
Com o valor da fonte de dados CostCenterPool::UserCostCenter para este item do catálogo, a única opção para o Centro de custos é o centro de custos do qual o usuário é membro.
Alterando o filtro do grupo de recursos
Teste se o filtro grupo de recursos está controlando o comportamento do campo Centro de custos, alterando-o e exibindo os resultados.
- No Portal de administração de nuvem, navegue até e clique em AWS Virtual Server.
- Clique no bloco Operação de provisionamento.
- Na lista relacionada Conjuntos de variáveis, clique no conjunto de variáveis Informações gerais. Por padrão, a variável CostCenter está neste conjunto de variáveis.
- Na lista relacionada Variáveis de nuvem no formulário Conjunto de variáveis, clique na variável CostCenter.
- No formulário Variável de nuvem, clique na guia Especificações de tipo.
- Edite o campo Filtro de pool para mudar o filtro de UserCostCenter para All.
- Clique em Atualizare emPublicar..
- Represente a usuária Alena Rabeck neste exemplo.
- Em Portal de usuário da nuvem, inicie uma pilha e selecione AWS Virtual Server.
- Verifique se todos os centros de custos estão listados.