Quando si crea un modello cloud in Cloud Assembly, la tavolozza dei tipi di risorse include tipi di risorse per l'account cloud e gli endpoint di integrazione supportati. In alcuni casi potrebbe essere necessario creare modelli cloud in base a un elenco esteso di tipi di risorse. È possibile creare tipi di risorse personalizzate, aggiungerle alla tela di progettazione e creare modelli cloud che supportino le esigenze di progettazione e distribuzione.

Nome della risorsa personalizzata e tipo di risorsa

Il nome della risorsa personalizzata identifica la risorsa personalizzata all'interno della tavolozza dei tipi di risorse del modello cloud.

Il tipo di risorsa di una risorsa personalizzata deve iniziare con Custom. e ogni tipo di risorsa deve essere univoco. Ad esempio, è possibile impostare Custom.ADUser come tipo di risorsa per una risorsa personalizzata che aggiunge gli utenti di Active Directory. Sebbene l'inclusione di Custom. non sia convalidata nella casella di testo, la stringa viene aggiunta automaticamente se viene rimossa.

Risorse personalizzate dell'azione di estendibilità

Con i tipi di risorse personalizzate, è possibile utilizzare le azioni di estendibilità nei modelli cloud per creare applicazioni complesse. Ad esempio, è possibile utilizzare l'integrazione nativa delle azioni di estendibilità con Amazon Web Services e Microsoft Azure per l'integrazione semplificata con i rispettivi servizi. È possibile creare risorse personalizzate dell'azione di estendibilità facendo clic sull'opzione Basato su nell'editor di risorse personalizzate e selezionando Schema definito dall'utente ABX.

Azioni del ciclo di vita per le risorse personalizzate dell'azione di estendibilità

Quando si utilizza un'azione di estendibilità per la risorsa personalizzata, è possibile definire le seguenti azioni del ciclo di vita:

  • Crea: questa azione di estendibilità viene richiamata quando si avvia una distribuzione.
  • Leggi: questa azione di estendibilità viene utilizzata per recuperare lo stato più recente della risorsa distribuita.
  • Aggiorna: questa azione di estendibilità viene richiamata quando si aggiorna una proprietà del modello cloud. Questa azione viene attivata solo quando una proprietà non è contrassegnata con recreateOnUpdate.
  • Elimina: questa azione di estendibilità viene richiamata quando si elimina una distribuzione.

Queste azioni del ciclo di vita possono essere selezionate manualmente dalle azioni di estendibilità esistenti o generate automaticamente selezionando Genera azioni. Quando si seleziona Genera azioni, è necessario specificare il progetto in cui verrà generata la nuova azione di estendibilità.

Nota: È possibile modificare le azioni di estendibilità associate alle azioni del ciclo di vita facendo clic sull'opzione Apri accanto all'azione specifica.

Risorse personalizzate di vRealize Orchestrator

Ogni risorsa personalizzata di vRealize Orchestrator è basata su un tipo di inventario dell'SDK e viene creata da un workflow di vRealize Orchestrator con un output che è un'istanza del tipo di SDK desiderato. I tipi primitivi, ad esempio Properties, Date, string e number non sono supportati per la creazione di tipi di risorse personalizzate.
Nota: I tipi di oggetti SDK possono essere differenziati da altri tipi di proprietà con i due punti (":"), utilizzati per separare il nome del plug-in e il nome del tipo. Ad esempio, AD:UserGroup è un tipo di oggetto SDK utilizzato per gestire i gruppi di utenti di Active Directory.
È possibile utilizzare i workflow integrati in vRealize Orchestrator oppure creare workflow personalizzati. L'utilizzo di vRealize Orchestrator per creare workflow Anything-as-a-Service (XaaS) significa che è possibile creare un modello cloud che aggiunge un utente di Active Directory alle macchine al momento della distribuzione o aggiungere un bilanciamento del carico F5 personalizzato a una distribuzione. È possibile creare risorse personalizzate di vRealize Orchestrator facendo clic sull'opzione Basato su nell'editor di risorse personalizzate e selezionando Inventario di vRO.

Tipo esterno di risorsa personalizzata di vRealize Orchestrator

La proprietà del tipo esterno definisce il tipo di risorsa personalizzata di vRealize Orchestrator. Quando si seleziona un workflow di creazione nel tipo di risorsa personalizzata in Cloud Assembly, il menu a discesa Tipo esterno viene visualizzato sotto tale workflow. Il menu a discesa include le proprietà dei tipi esterni, che vengono selezionate dai parametri di output del workflow di vRealize Orchestrator. Le proprietà di output del workflow selezionate incluse nel menu a discesa devono essere tipi di oggetti SDK non array, ad esempio VC:VirtualMachine o AD:UserGroup.

Nota: Quando si creano workflow personalizzati che utilizzano il plug-in di tipo dinamico, verificare che le variabili vengano create utilizzando il metodo DynamicTypesManager.getObject().

Quando si definiscono i tipi di risorse personalizzate, si definisce anche l'ambito della disponibilità del tipo esterno selezionato. Il tipo esterno selezionato può essere:

  • Condiviso tra i progetti.
  • Disponibile solo per il progetto selezionato.

È possibile disporre di un solo tipo di risorsa personalizzata con un valore di tipo esterno specifico per ambito definito. Ad esempio, se si crea una risorsa personalizzata nel progetto che utilizza VC:VirtualMachine come tipo esterno, non è possibile creare un'altra risorsa personalizzata per lo stesso progetto che utilizza lo stesso tipo di esterno. Non è inoltre possibile creare due risorse personalizzate condivise che utilizzano lo stesso tipo esterno.

Convalida dell'azione del ciclo di vita di vRealize Orchestrator

Quando si aggiungono i workflow di creazione, eliminazione e aggiornamento come azioni del ciclo di vita per la risorsa personalizzata, Cloud Assembly verifica che i workflow selezionati dispongano delle definizioni delle proprietà di input e output corrette.

  • Il workflow di creazione deve disporre di un parametro di output che sia un tipo di oggetto SDK, ad esempio SSH:Host o SQL:Database. Se il workflow selezionato non supera la convalida, non è possibile aggiungere i workflow di aggiornamento o eliminazione oppure salvare le modifiche apportate alla risorsa personalizzata.
  • Il workflow di eliminazione deve disporre di un parametro di input che sia un tipo di oggetto SDK che corrisponda al tipo esterno della risorsa personalizzata.
  • Il workflow di aggiornamento deve disporre sia di un parametro di input che di un tipo di oggetto SDK che corrisponda al tipo esterno della risorsa personalizzata.

Schema delle proprietà delle risorse personalizzate

È possibile visualizzare lo schema delle proprietà delle risorse personalizzate selezionando la scheda Proprietà. Lo schema include il nome, il tipo di dati, il tipo di proprietà e, se disponibile, la descrizione di una determinata proprietà. Lo schema definisce anche se una proprietà specifica è obbligatoria o facoltativa nel modello cloud.
Nota: Per lo schema della proprietà delle risorse personalizzate dell'azione di estendibilità, tutte le proprietà sono obbligatorie nel modello cloud.
Quando si aggiungono i workflow di vRealize Orchestrator alla risorsa personalizzata, i relativi parametri di input e output vengono aggiunti come proprietà.

Per le risorse personalizzate dell'azione di estendibilità, è necessario creare manualmente lo schema delle proprietà delle risorse personalizzate dell'azione di estendibilità nella scheda Proprietà. È possibile creare lo schema della proprietà utilizzando la scheda Codice o Modulo.

  • Codice: consente di creare lo schema della proprietà utilizzando il contenuto YAML.
  • Modulo: facendo clic su Nuova proprietà, è possibile creare una nuova proprietà configurandone il nome, il nome visualizzato, la descrizione, il tipo di proprietà e il valore predefinito.

Moduli di richiesta personalizzati per operazioni giorno 2

È possibile semplificare il modulo di richiesta delle operazioni giorno 2 incluse nella risorsa personalizzata aggiungendo e modificando diversi tipi di proprietà delle risorse.

Ad esempio, è possibile associare il valore di un parametro di input nel modulo di richiesta a un'origine esterna, ad esempio un'azione di vRealize Orchestrator che recupera il nome di una distribuzione o del progetto. È inoltre possibile associare il valore di uno specifico parametro di input al valore calcolato di altre due caselle di testo incluse nello stesso modulo di richiesta.

Nota: Questa funzionalità è disponibile sia per le risorse personalizzate che per le azioni risorsa. È possibile personalizzare il valore delle proprietà di input del modulo di richiesta nella scheda Valori della pagina Parametri richiesta dell'editor delle risorse personalizzate o delle azioni risorsa.

Convalida del modulo di richiesta delle operazioni giorno 2

È possibile convalidare il modulo di richiesta delle operazioni giorno 2 aggiungendo una convalida esterna. Utilizzando una convalida esterna, si impedisce all'utente di inviare il modulo di richiesta finché i parametri di convalida non vengono soddisfatti. È possibile aggiungere una convalida esterna dalla scheda Convalide della pagina Parametri richiesta dell'editor della risorsa personalizzata o dell'azione risorsa. Dopo aver selezionato la scheda, è possibile trascinare un elemento di Convalida Orchestrator nella tela e aggiungere un'azione vRealize Orchestrator che si desidera utilizzare per la convalida.

Ad esempio, è possibile creare una risorsa personalizzata che includa un'operazione giorno 2 per la modifica di una password utente. Per questo caso d'uso, è possibile aggiungere un'azione vRealize Orchestrator con i parametri di input newPassword e confirmPassword che utilizzano il tipo SecureString.

Nota: Questo è uno script di esempio per la convalida della password di un utente. Per il proprio caso d'uso, è possibile decidere di utilizzare uno script diverso.
if (newPassword != confirmPassword) {
    return 'passwords are different';
}
if (newPassword.lenght < 7) {
    return 'password must be at least 10 symbols';
}
return null;