Ao personalizar um formulário de solicitação do Service Broker, é possível basear o comportamento de alguns campos nos resultados de uma ação do vRealize Orchestrator.

Existem várias maneiras de usar ações do vRealize Orchestrator. Talvez você tenha uma ação que extraia os dados de uma terceira fonte ou é possível usar um script que defina o tamanho e o custo.

O primeiro exemplo baseia-se em campos manualmente adicionados, para que você entenda o processo subjacente. O segundo exemplo usa a mesma premissa, mas depende de um campo de modelo.

O terceiro exemplo é baseado em uma opção personalizada que é adicionada ao formulário de solicitação de catálogo, no qual o usuário seleciona uma pasta com base nos resultados de uma ação do vRealize Orchestrator personalizada.

O quarto exemplo usa atributos de fluxo de trabalho do vRealize Orchestrator para personalizar um campo no formulário de solicitação.

Além dos exemplos a seguir, outros exemplos estão disponíveis no blog VMware Cloud Management.

Exemplo de tamanho e custo como campos manualmente adicionados

Neste caso de uso, você deseja que o usuário do catálogo selecione um tamanho de máquina virtual e, em seguida, exiba o custo dessa máquina por dia. Para fazer isso, você tem um script do vRealize Orchestrator que correlaciona o tamanho e o custo. Em seguida, adicione um campo de tamanho e um campo de custo ao formulário personalizado do modelo. O campo de tamanho determina o valor que será exibido no campo de custo.

  1. No vRealize Orchestrator, configure uma ação chamada getWindows10Cost.
    Exemplo de uma ação do vRealize Orchestrator com tamanho e custo
  2. Adicione um script.

    Você pode usar o exemplo de script a seguir.

    var cost = "Unknown";
    
    switch(deploymentSize) {
    	case 'small' : cost = "$15";break;
    	case 'medium' : cost = "$25";break;
    	case 'large' : cost = "$45";break ;
    	
    	default : break ;
    }
    
    return cost;
  3. Adicione deploymentSize como uma cadeia de caracteres de entrada.
  4. No Service Broker, adicione e configure um campo Tamanho para um formulário personalizado do modelo.

    Configure o campo de tamanho como elemento suspenso com os valores Pequeno, Médio e Grande.

    Valores de campo de tamanho preenchidos no formulário personalizado.

    Na guia Valores, configure os seguintes valores de propriedades.

    • Valor padrão = Grande
    • Opções do valor
      • Origem do valor = Constante
      • Definição de valor = pequeno|Pequeno,médio|Médio,grande|Grande
  5. Adicione o campo de custo como um campo de texto para exibir o custo, conforme definido na ação do vRealize Orchestrator com base no valor selecionado no campo do tamanho.
    Valor do campo de custo preenchido no formulário personalizado.

    Na guia Valores, configure os seguintes valores de propriedades.

    • Valor padrão = Origem externa
    • Selecionar ação = <sua pasta de ações do vRealize Orchestrator>/getWindows10Cost
    • Entradas de ação
      • deploymentSize. Esse valor foi configurado na ação como entrada.
      • Campo
      • Tamanho. Este é o campo que você criou anteriormente.
  6. Habilite o formulário personalizado e salve-o.
  7. Para verificar se ele está funcionando, solicite o item no catálogo. Você deve ver o campo Custo preenchido com base no valor de Tamanho selecionado.
    Exemplo preenchido no catálogo

Exemplo de custo com base no elemento de esquema

Neste caso de uso, você deseja que o usuário do catálogo veja o custo dessa máquina por dia com base na propriedade de tipo no modelo. Para esse exemplo, use o script do vRealize Orchestrator do exemplo anterior. Porém, nesse caso de uso, o custo é baseado no tamanho do tipo selecionado pelo usuário no formulário personalizado quando ele solicita o item de catálogo Service Broker.

O modelo de exemplo simples inclui um campo de entrada de tamanho no qual o usuário seleciona a propriedade de tipo.
Exemplo de entradas para o mapeamento de tipos no modelo
O formulário personalizado usa o campo chamado Select machine size neste exemplo.
Opções de valor no designer de formulários personalizados
A entrada deploymentSize de custo é baseada no campo Selecionar tamanho da máquina.
Custo com base no campo de tamanho do esquema na solicitação de catálogo

Pasta de destino com base em um exemplo de ação personalizada

Nesse caso de uso, você deseja que o usuário do catálogo selecione entre as pastas que estão disponíveis para ele ao mover uma máquina de uma pasta para outra. Para esse exemplo, crie uma ação personalizada no vRealize Orchestrator que retorne as pastas disponíveis para o usuário que está solicitando a ação do catálogo. Em seguida, personalize o campo Pasta de destino no formulário de solicitação de catálogo.

No catálogo, o fluxo de trabalho Mover máquinas virtuais até a pasta, que é usado neste exemplo, é exposto como uma ação de recurso personalizada criada no Cloud Assembly.

  1. No vRealize Orchestrator, crie uma ação denominada getFolderForUser.
    1. Na guia Script, adicione entradas de ação, selecione o tipo de retorno da saída e adicione um script.

      Você pode usar o exemplo de script a seguir.

      var parentTargetDirName = "users";
      var sdkConnection = VcPlugin.findSdkConnectionForUUID(vcUuid);
      var rootFolder = sdkConnection.getAllVmFolders(null, "xpath:matches(name,'" + parentTargetDirName + "')")[0];
      var result = new Array();
      for each(var folder in rootFolder.childEntity) {
          if (folder instanceof VcFolder && folder.permission.length > 0) {
              var entityPrivilege = sdkConnection.authorizationManager.hasUserPrivilegeOnEntities([folder], username, ["System.Read"])[0];
              if (entityPrivilege.privAvailability[0].isGranted) {
                  result.push(folder);
              }
          }
      }
      return result;
    2. Quando terminar de editar a ação, clique em Salvar.
  2. Em Cloud Assembly, crie uma ação de recurso personalizada denominada ChangeFolder.
    1. Selecione o tipo de recurso Cloud.vSphere.Machine.
    2. Selecione o fluxo de trabalho Mover máquinas virtuais para a pasta.
  3. Personalize o formulário de solicitação que os usuários veem quando solicitam a ação.
    1. Abra a ação ChangeFolder.
    2. Clique em Editar Parâmetros de Solicitação.
    3. Personalize como o campo Pasta de destino é apresentado aos usuários.
      Opções do valor Valor de amostra
      Origem do valor Origem externa
      Selecionar ação getFolderForUser
      Entradas de ação

      username Field

      Clique em Selecionar string > Campos de informações da solicitação > Solicitado por.

      Clique em Selecionar.

      Entradas de ação

      vcUuid

      Clique em Selecionar string > Campos de informações da solicitação > Propriedades de recursos > UUID do vCenter.

      Clique em Selecionar.

    4. Clique em Salvar.

Quando um usuário solicita a ação no catálogo, ele pode selecionar uma pasta de destino para a máquina virtual a partir das pastas que estão disponíveis para ele.

Exemplo de nome do host com base em atributos de fluxo de trabalho

Nesse caso de uso, você deseja personalizar o campo URL no formulário de solicitação usando atributos de fluxo de trabalho do vRealize Orchestrator. Para fazer isso, você precisa de um fluxo de trabalho do vRealize Orchestrator com um atributo ou uma variável que tenha um valor constante ou que esteja vinculado a um elemento de configuração. O atributo ou a variável deve ter um valor inicial definido porque a associação é feita antes da execução do fluxo de trabalho.
  1. No vRealize Orchestrator, crie ou clone um fluxo de trabalho existente. Por exemplo, clone o fluxo de trabalho Adicionar um Host REST.
    1. Na guia Variáveis, adicione uma variável e associe-a a um elemento de configuração.
      Opções do valor Valor de amostra
      Nome hostname
      Tipo string
      Configuração Ative a opção Associar à configuração.

      Na caixa de texto Configuração, selecione a configuração à qual você deseja associar a variável. Por exemplo, selecione o elemento Configuração do vRO: hostname personalizado.

    2. Salve o fluxo de trabalho.
  2. Importe o fluxo de trabalho no Service Broker.
  3. Personalize o formulário de solicitação.
    1. Clique no elemento URL no designer de formulários.
    2. Na guia Valores, defina a origem do valor como Associação.
    3. Clique em Campo de Valor > Campos de informações da solicitação.
    4. Selecione a variável hostname ou qualquer um dos atributos de fluxo de trabalho disponíveis.
  4. Salve e ative o formulário.

Quando um usuário solicita o fluxo de trabalho do catálogo, o campo URL é preenchido com base na variável hostname.

Se você alternar para um projeto diferente, os atributos de fluxo de trabalho serão recalculados porque esse fluxo de trabalho pode ser proveniente de uma integração diferente com o vRealize Orchestrator.