Exemplo de grupo de recursos que limita as opções ao centro de custos

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • Você pode usar grupos de recursos com planos gráficos para limitar as escolhas 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 em nuvem é cobrado em relação ao 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 Gestão de custos [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
    1. No Portal de administração de nuvem, navegue até Gerenciar > Grupos de recursos.
    2. 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 planos gráficos
    1. Navegar até Design > Planos gráficose clique no bloco do plano gráfico que você deseja abrir.
    2. Com o plano gráfico no estado Rascunho, clique no bloco Operação de provisionamento no Catálogo > Solicitar Operação guia.

      Operação de provisionamento

    3. 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.
    4. Na lista relacionada Variáveis de nuvem no formulário Conjunto de variáveis, clique na variável CostCenter.

      Variável de CostCenter

    5. No formulário Variável de nuvem, clique na guia Especificações de tipo.
    6. Observe os campos Pool e Pool Filter 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.

      Grupo de recursos e filtro usados no valor da fonte de dados da propriedade do catálogo do centro de custos

    7. 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.

    Usuário que é membro do centro de custos de vendas.

    Como testar 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.

    1. Represente a usuária A elene Rabeck neste exemplo.
    2. No Portal de usuário da nuvem, clique em Iniciar uma pilhae selecione o item do catálogo na nuvem (servidor virtual da AWS neste exemplo).
    3. Revise as seleções na lista Centro de custos.

      Vendas é a única seleção para o centro de custos deste usuário.

    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.

    1. No Portal de administração de nuvem, navegue até Design > Planos gráficos e clique em Servidor virtual da AWS.
    2. Clique no bloco Operação de provisionamento.
    3. 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.
    4. Na lista relacionada Variáveis de nuvem no formulário Conjunto de variáveis, clique na variável CostCenter.
    5. No formulário Variável de nuvem, clique na guia Especificações de tipo.
    6. Edite o campo Filtro de pool para mudar o filtro de UserCostCenter para All.

      Grupo de recursos e filtro usados no valor da fonte de dados da propriedade do catálogo do centro de custos

    7. Clique em Atualizare emPublicar..
    8. Represente a usuária A elene Rabeck neste exemplo.
    9. Em Portal de usuário da nuvem, inicie uma pilha e selecione Servidor virtual da AWS.
    10. Verifique se todos os centros de custos estão listados.

      Todos os centros de custos agora são exibidos para seleção.