Input dell'utente nelle richieste di
VMware Aria Automation
Last Updated February 5, 2025

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