Input dell'utente nelle richieste di
VMware Aria Automation

Il progettista di modelli cloud usa i parametri di input in modo che gli utenti possano effettuare selezioni personalizzate al momento della richiesta.

Funzionamento degli input

Quando gli utenti forniscono input, non è più necessario salvare più copie del modello che sono solo leggermente diverse. Inoltre, gli input possono preparare un modello per le operazioni giorno 2. Vedere Come utilizzare gli input del modello cloud per gli aggiornamenti giorno 2 di VMware Aria Automation.
I seguenti input illustrano come creare un modello cloud per un server di database MySQL in cui gli utenti possono distribuire tale modello in ambienti di risorse cloud diversi e applicare ogni volta capacità e credenziali diverse.
Variabili di input

Aggiunta di parametri di input

Aggiungere una sezione
inputs
al codice del modello in cui impostare valori selezionabili.
Nell'esempio seguente è possibile selezionare le dimensioni della macchina, il sistema operativo e il numero di server in cluster.
inputs: wp-size: type: string enum: - small - medium description: Size of Nodes title: Node Size wp-image: type: string enum: - coreos - ubuntu title: Select Image/OS wp-count: type: integer default: 2 maximum: 5 minimum: 2 title: Wordpress Cluster Size description: Wordpress Cluster Size (Number of nodes)
Se non si è sicuri di come modificare il codice, è possibile fare clic sulla scheda
Input
dell'editor di codice e immettere le impostazioni in tale scheda. L'esempio seguente illustra alcuni input per il database MySQL menzionato in precedenza.
Scheda Input

Riferimenti ai parametri di input

Successivamente, nella sezione
resources
, fare riferimento a un parametro di input utilizzando la sintassi
${input.
property-name
}
.
Se un nome di proprietà include uno spazio, delimitarlo con parentesi quadre e virgolette doppie anziché utilizzare la notazione dei punti:
${input["
property name
"]}
Nel codice del modello cloud non è possibile utilizzare la parola
input
se non per indicare un parametro di input.
resources: WebTier: type: Cloud.Machine properties: name: wordpress flavor: '${input.wp-size}' image: '${input.wp-image}' count: '${input.wp-count}'

Input nidificato

Se si desidera organizzare o classificare gli input, l'input nidificato è supportato. Nell'esempio seguente, la CPU e la memoria sono insieme sotto l'intestazione principale di
livello
.
Un gruppo di input nidificati è diverso dalla creazione e dal riferimento a un gruppo di proprietà formale.
inputs: cluster: type: integer title: Cluster default: 1 minimum: 1 maximum: 4 level: type: object properties: cpu: type: integer title: CPU default: 1 minimum: 1 maximum: 4 memory: type: integer title: Memory default: 2048 minimum: 2048 maximum: 4096
Nella sezione
risorse
, per fare riferimento all'input nidificato, includere l'elemento principale nel percorso.
resources: Disk_1: type: Cloud.vSphere.Disk allocatePerInstance: true properties: capacityGb: 1 count: ${input.cluster} Machine_1: type: Cloud.vSphere.Machine allocatePerInstance: true properties: totalMemoryMB:
${input.level.memory}
attachedDisks: - source: ${slice(resource.Disk_1[*].id, count.index, count.index + 1)[0]} count: ${input.cluster} imageRef: ubuntu cpuCount:
${input.level.cpu}

Input facoltativo e obbligatorio

Per tutti i tipi ad eccezione di Booleano, l'immissione dell'utente è facoltativa per impostazione predefinita. Per richiedere l'input, eseguire una delle seguenti operazioni:
  • Impostare un valore predefinito.
  • Quando non sono presenti input nidificati, aggiungere la proprietà
    populateRequiredOnNonDefaultProperties
    :
    inputs: cluster: type: integer
    populateRequiredOnNonDefaultProperties: true
    title: Cluster minimum: 1 maximum: 4
    Si noti che è possibile applicare questa impostazione anche quando si fa riferimento a un gruppo di proprietà formale:
    inputs: pgmachine: type: object
    populateRequiredOnNonDefaultProperties: true
    $ref: /ref/property-groups/machine
  • Con gli input nidificati, aggiungere la proprietà
    populateRequiredForNestedProperties
    :
    inputs: cluster: type: integer title: Cluster default: 1 minimum: 1 maximum: 4 level: type: object properties: cpu: type: integer
    populateRequiredForNestedProperties: true
    title: CPU minimum: 1 maximum: 4 memory: type: integer
    populateRequiredForNestedProperties: true
    title: Memory minimum: 2048 maximum: 4096
    Si noti che è possibile applicare questa impostazione anche quando un riferimento a un gruppo di proprietà formale è nidificato:
    level: type: object properties: cpu: type: integer populateRequiredForNestedProperties: true title: CPU minimum: 1 maximum: 4 memory: type: integer populateRequiredForNestedProperties: true title: Memory minimum: 2048 maximum: 4096 pgrequester: type: object
    populateRequiredForNestedProperties: true
    $ref: /ref/property-groups/requesterDetails
Input facoltativo: per forzare l'input a rimanere facoltativo, impostare un valore predefinito vuoto utilizzando i segni di spunta:
owner: type: string minLength: 0 maxLength: 30 title: Owner Name description: Account Owner
default: ''
Input facoltativo

Invio di input a
Automation Orchestrator

Per fornire un input di modello cloud a un'azione di
Automation Orchestrator
, eseguire i passaggi seguenti. Con le azioni di
Automation Orchestrator
, l'utilizzo del modulo Input è più semplice rispetto alla digitazione diretta nel codice del modello cloud.
  1. Nell'istanza di
    Automation Orchestrator
    integrata con
    VMware Aria Automation
    , verificare che esista l'azione desiderata.
  2. Nella pagina di progettazione del modello in
    Automation Assembler
    , passare alla scheda
    Input
    e fare clic per aggiungere un nuovo input.
  3. Selezionare un tipo e quindi selezionare
    Origine esterna
    .
  4. Accanto ad Azione, fare clic sul pulsante
    Seleziona
    .
  5. Utilizzare il campo di ricerca Azione per individuare e selezionare l'azione di
    Automation Orchestrator
    .
  6. Immettere o selezionare qualsiasi parametro di azione.
Dopo aver salvato e creato l'input, viene visualizzato nel codice del modello cloud come input
$dynamicDefault
. Ad esempio:
inputs: backupnetwork: type: string $dynamicDefault: /data/vro-actions/com.insanpaolo/getBackupNetworkVLAN?network={{abcdef123456}}&tenant={{abcdef123456}}
Se il workflow di
Automation Orchestrator
a cui si inviano input viene eseguito per troppo tempo, causando un ritardo di più di 30 secondi, è possibile che si verifichino problemi di timeout in
VMware Aria Automation
.

Elenco delle proprietà di input

Proprietà
Descrizione
const
Utilizzata con oneOf. Valore reale associato al titolo descrittivo.
default
Valore precompilato per l'input.
Il valore predefinito deve essere di tipo corretto. Non immettere una parola come valore predefinito per un numero intero.
description
Testo della guida dell'utente per l'input.
encrypted
Indica se crittografare l'input inserito dall'utente. Può essere true o false.
Le password sono in genere crittografate.
È inoltre possibile creare proprietà crittografate riutilizzabili in più modelli cloud. Vedere Proprietà di Automation Assembler segrete.
enum
Menu a discesa di valori consentiti.
Utilizzare l'esempio seguente come guida per il formato.
enum: - value 1 - value 2
format
Imposta il formato previsto per l'input. Ad esempio, (25/04/19) supporta data-ora.
Consente di utilizzare il selettore della data nei moduli personalizzati di
Automation Service Broker
.
items
Dichiara gli elementi all'interno di una matrice. Supporta numeri, numeri interi, stringhe, valori booleani o oggetti.
maxItems
Numero massimo di elementi selezionabili in una matrice.
maxLength
Numero massimo di caratteri consentiti per una stringa.
Ad esempio, per fare in modo che un campo non contenga più di 25 caratteri, immettere
maxLength: 25
.
maximum
Valore massimo consentito per un numero o un numero intero.
minItems
Numero minimo di elementi selezionabili in una matrice.
minLength
Numero minimo di caratteri consentiti per una stringa.
minimum
Valore minimo consentito per un numero o un numero intero.
oneOf
Consente al modulo di input dell'utente di visualizzare un nome descrittivo (title) per un valore meno descrittivo (const). Se si aggiunge la proprietà
default
mostrata sopra in questa tabella, configurare per impostazione predefinita un valore const, non un titolo.
Valida per l'uso con i tipi stringa, numero intero e numero.
pattern
Caratteri consentiti per gli input stringa nella sintassi delle espressioni regolari.
Ad esempio
'[a-z]+'
o
'[a-z0-9A-Z@#$]+'
.
properties
Dichiara il blocco delle proprietà key:value per gli oggetti.
readOnly
Utilizzata per fornire solo un'etichetta del modulo.
title
Utilizzata con oneOf. Nome descrittivo per un valore const. Il titolo viene visualizzato nel modulo di input dell'utente al momento della distribuzione.
type
Tipo di dati numero, numero intero, stringa, booleano o oggetto.
Un tipo booleano aggiunge una casella di controllo vuota al modulo di richiesta Se si lascia invariata la casella, l'input non viene impostato su False.
Per impostare l'input su False, gli utenti devono selezionare e deselezionare la casella.
writeOnly
Sostituisce le pressioni dei tasti con asterischi nel modulo. Non può essere utilizzata con enum. Viene visualizzata come campo della password nei moduli personalizzati di
Automation Service Broker
.

Altri esempi

Stringa con enumerazione
image: type: string title: Operating System description: The operating system version to use. enum: - ubuntu 16.04 - ubuntu 18.04 default: ubuntu 16.04 shell: type: string title: Default shell Description: The default shell that will be configured for the created user. enum: - /bin/bash - /bin/sh
Numero intero con minimo e massimo
count: type: integer title: Machine Count description: The number of machines that you want to deploy. maximum: 5 minimum: 1 default: 1
Matrice di oggetti
tags: type: array title: Tags description: Tags that you want applied to the machines. items: type: object properties: key: type: string title: Key value: type: string title: Value
Stringa con nomi descrittivi
platform: type: string oneOf: - title: AWS const: platform:aws - title: Azure const: platform:azure - title: vSphere const: platform:vsphere default: platform:aws
Stringa con convalida del pattern
username: type: string title: Username description: The name for the user that will be created when the machine is provisioned. pattern: ^[a-zA-Z]+$
Stringa come password
password: type: string title: Password description: The initial password that will be required to logon to the machine. Configured to reset on first login. encrypted: true writeOnly: true
Stringa come area di testo
ssh_public_key: type: string title: SSH public key maxLength: 256
Booleano
public_ip: type: boolean title: Assign public IP address description: Choose whether your machine should be internet facing. default: false
Selettore calendario data e ora
leaseDate: type: string title: Lease Date format: date-time