Quando você cria um modelo de nuvem no Automation Assembler, a paleta de tipos de recursos inclui tipos de recursos para a conta de nuvem e os endpoints compatíveis. Você pode ter casos de uso em que deseja criar modelos de nuvem com base em uma lista expandida de tipos de recursos. Você pode criar tipos de recursos personalizados, adicioná-los à tela de criação e criar modelos de nuvem que atendam às suas necessidades de design e de implantação.

Nome do recurso personalizado e tipo de recurso

O nome do recurso personalizado identifica seu recurso personalizado dentro da paleta de tipo de recurso do modelo de nuvem.

O tipo de um recurso personalizado deve começar com Custom. e cada tipo de recurso devem ser exclusivos. Por exemplo, você pode definir Custom.ADUser como um tipo de recurso para um recurso personalizado que adiciona usuários do Active Directory. Embora a inclusão de Custom. não é validado na caixa de texto. A cadeia de caracteres será adicionada automaticamente se você a remover.

Recursos personalizados de ação de extensibilidade

Com tipos de recursos personalizados, você pode usar ações de extensibilidade em modelos de nuvem para criar aplicativos complexos. Por exemplo, você pode usar a integração nativa das ações de extensibilidade com a Amazon Web Services e o Microsoft Azure para fácil integração com os respectivos serviços. Você pode criar recursos personalizados de ação de extensibilidade clicando na opção Baseado em no editor de recursos personalizados e selecionando Esquema definido pelo usuário do ABX.

Ações de ciclo de vida para recursos personalizados de ação de extensibilidade

Ao usar uma ação de extensibilidade para seu recurso personalizado, você pode definir as seguintes ações de ciclo de vida:

  • Criar: essa ação de extensibilidade é chamada quando uma implantação é iniciada.
  • Ler: essa ação de extensibilidade é usada para recuperar o estado mais recente do recurso implantado.
  • Atualizar: essa ação de extensibilidade é chamada quando uma propriedade de modelo de nuvem é atualizada. Essa ação é disparada somente quando uma propriedade não está marcada com recreateOnUpdate.
  • Destruir: essa ação de extensibilidade é chamada quando uma implantação é excluída.

Essas ações de ciclo de vida podem ser selecionadas manualmente em suas ações de extensibilidade existentes ou geradas automaticamente selecionando Gerar Ações. Ao selecionar Gerar Ações, você deve especificar o projeto no qual a nova ação de extensibilidade será gerada.

Observação: Você pode editar as ações de extensibilidade associadas às suas ações de ciclo de vida clicando na opção Abrir ao lado da ação específica.

Recursos personalizados do Automation Orchestrator

Cada recurso personalizado do Automation Orchestrator baseia-se em um tipo de inventário de SDK e é criado por um fluxo de trabalho do Automation Orchestrator, que tem uma saída que é uma instância do seu tipo de SDK desejado. Não há suporte para tipos primitivos, como Properties, Date, string e number, para a criação de tipos de recursos personalizados.
Observação: Os tipos de objeto SDK podem ser diferenciados de outros tipos de propriedade Automation Orchestrator pelos dois pontos (":") usados para separar o nome de plug-in e o nome do tipo. Por exemplo, AD:UserGroup é um tipo de objeto SDK usado para gerenciar grupos de usuários do Active Directory.
Você pode usar os fluxos de trabalho internos no Automation Orchestrator ou pode criar seus próprios fluxos de trabalho. Usar o Automation Orchestrator para criar fluxos de trabalho de qualquer coisa como serviço/XaaS significa que você pode criar um modelo de nuvem que adiciona um usuário do Active Directory a máquinas no momento da implantação ou adicionar um balanceador de carga F5 personalizado a uma implantação. Você pode criar recursos personalizados do Automation Orchestrator clicando na opção Baseado em no editor de recursos personalizados e selecionando Inventário do vRO.

Tipo externo de recurso personalizado do Automation Orchestrator

A propriedade de tipo externo define o tipo do seu recurso personalizado do Automation Orchestrator. Quando você seleciona um fluxo de trabalho de criação como o tipo de recurso personalizado no Automation Assembler, a lista suspensa de tipos externos é exibida abaixo dele. A lista suspensa inclui propriedades de tipo externo, que são selecionadas entre os parâmetros de saída do fluxo de trabalho do Automation Orchestrator. As propriedades de saída do fluxo de trabalho selecionadas incluídas no menu suspenso devem ser tipos de objeto SDK que não são da matriz, como VC:VirtualMachine ou AD:UserGroup.

Observação: Ao criar fluxos de trabalho personalizados que usam o plug-in de tipo dinâmico, verifique se as suas variáveis são definidas usando o método DynamicTypesManager.getObject().

Ao definir seus tipos de recursos personalizados, você também define o escopo da disponibilidade do tipo externo selecionado. O tipo externo selecionado pode:

  • Ser compartilhado entre projetos.
  • Estar disponível apenas para o projeto selecionado.

Você só pode ter um tipo de recurso personalizado com um valor de tipo externo específico por escopo definido. Por exemplo, se você criar um recurso personalizado no seu projeto, que usa VC:VirtualMachine como um tipo externo, não será possível criar outro recurso personalizado para o mesmo projeto que usa o mesmo tipo externo. Você também não pode criar dois recursos personalizados compartilhados que usam o mesmo tipo externo.

Validação de ação de ciclo de vida do Automation Orchestrator

Quando você adiciona fluxos de trabalho Criar, Excluir e Atualizar como ações de ciclo de vida ao seu recurso personalizado, o Automation Assembler valida se os fluxos de trabalho selecionados têm definições de propriedade de entrada e saída corretas.

  • O fluxo de trabalho Criar deve ter um parâmetro de saída que seja um tipo de objeto SDK, como SSH:Host ou SQL:Database. Se o fluxo de trabalho selecionado não passar na validação, você não poderá adicionar fluxos de trabalho Atualizar ou Excluir ou salvar as alterações no recurso personalizado.
  • O fluxo de trabalho Excluir deve ter um parâmetro de entrada que seja um tipo de objeto SDK que corresponda ao tipo externo do recurso personalizado.
  • O fluxo de trabalho Atualizar deve ter um parâmetro de entrada e de saída que seja um tipo de objeto SDK que corresponda ao tipo externo do recurso personalizado.

Esquema de propriedades de recursos personalizados

É possível editar e visualizar o esquema de propriedades de recursos personalizados selecionando a guia Propriedades. O esquema inclui o nome, o tipo de dados, o tipo de propriedade e, se disponível, a descrição de uma determinada propriedade. O esquema também define se uma propriedade específica é necessária ou opcional no modelo de nuvem.
Observação: Para o esquema de propriedade dos recursos personalizados de ação de extensibilidade, todas as propriedades são necessárias no modelo de nuvem.
Quando você adiciona fluxos de trabalho do Automation Orchestrator ao recurso personalizado, seus parâmetros de entrada e de saída são adicionados como propriedades. Para os recursos personalizados de ação de extensibilidade, você deve criar manualmente o esquema de propriedade dos recursos personalizados de ação de extensibilidade na guia Propriedades.
Observação: As propriedades definidas no esquema de recursos personalizados de ação de extensibilidade também devem ser valores retornados na ação Ler do seu recurso personalizado e ter os mesmos nomes. Por exemplo, se o seu esquema inclui as propriedades domain e location, a ação Ler também deve retornar as mesmas propriedades com os mesmos nomes.
Nessa guia, você também pode modificar e formatar as propriedades dos seus recursos personalizados baseados em ações de extensibilidade do Automation Orchestrator. Por exemplo, você pode alterar o nome de exibição de uma determinada propriedade ou adicionar restrições.
Observação: Ao adicionar restrições à seção de itens de campos de matriz ou à seção de propriedades de campos de objetos no esquema de propriedades, verifique se você validou essas restrições, pois restrições aplicadas incorretamente podem causar problemas com o recurso personalizado. Por exemplo, ao adicionar uma restrição máxima a uma matriz de números, você deve verificar se essa restrição não quebra o valor padrão da propriedade.

Você pode editar o esquema de propriedades para recursos personalizados navegando até a guia Propriedades e usando a guia Código ou Formulário.

  • Código: edite o esquema de propriedade usando o conteúdo YAML. Ao selecionar essa opção, o esquema de propriedade é definido usando o esquema JSON.
  • Formulário: para recursos personalizados de ação de extensibilidade, ao clicar em Nova Propriedade, você cria uma nova propriedade configurando o nome, o nome para exibição, a descrição, o tipo de propriedade e o valor padrão. Para recursos personalizados do Automation Orchestrator, você também pode ocultar propriedades não obrigatórias e não calculadas do esquema, clicando em Remover propriedade.

Formulários de Solicitação Personalizados de Operação de Dia 2

Você pode simplificar o formulário de solicitação das operações de dia 2 incluído em seu recurso personalizado adicionando e modificando diferentes tipos de propriedades de recursos.

Por exemplo, é possível vincular o valor de um parâmetro de entrada no formulário de solicitação a uma fonte externa, como uma ação do Automation Orchestrator que recupera um nome de implantação ou um nome do projeto. Você também pode vincular o valor de um parâmetro de entrada específico ao valor calculado de duas outras caixas de texto incluídas no mesmo formulário de solicitação.

Observação: Essa funcionalidade está disponível para recursos personalizados e ações de recursos. Você pode personalizar o valor das propriedades de entrada do seu formulário de solicitação na guia Valores da página Parâmetros de Solicitação do editor de ação de recurso ou recurso personalizado.

Validação do formulário de solicitação de operação de Dia 2

Você pode validar o formulário de solicitação das suas operações de dia 2 adicionando uma validação externa. Usando uma validação externa, você impede que o usuário possa enviar o formulário de solicitação até que os parâmetros de validação sejam satisfeitos. Você pode adicionar validação externa na guia Validações da página Parâmetros de Solicitação do editor de ação de recurso ou recurso personalizado. Depois de selecionar a guia, você poderá arrastar um elemento Validação de Orquestrador até a tela e adicionar uma ação do Automation Orchestrator que deseja usar para validação.

Por exemplo, você pode criar um recurso personalizado que inclui uma operação de dia 2 para alterar uma senha do usuário. Para esse caso de uso, é possível adicionar uma ação do Automation Orchestrator com o newPassword e parâmetros de entrada do confirmPassword que usam o tipo SecureString.

Observação: Este é um script de amostra para validar uma senha de usuário. Para seu próprio caso de uso, você pode decidir para usar um script diferente.
if (newPassword != confirmPassword) {
    return 'passwords are different';
}
if (newPassword.lenght < 7) {
    return 'password must be at least 10 symbols';
}
return null;