Application Services supporta le proprietà di tipo stringa, array, contenuto, elaborata, booleano, di selezione singola, intero e doppio.

Nota: ai nomi delle proprietà viene applicata la distinzione tra maiuscole e minuscole e possono contenere solo caratteri alfabetici, numerici, il trattino (-) o il carattere di sottolineatura (_).

Proprietà stringa

Il valore della proprietà stringa può essere una stringa o il valore associato a un'altra proprietà stringa. Il valore di una stringa può contenere qualsiasi caratteri ASCII. Per una proprietà associata, usare la scheda Proprietà nel canvas del blueprint per selezionare la proprietà idonea per il binding. Il valore della proprietà viene quindi passato agli script dell'azione come dati della stringa non elaborati.

Proprietà stringa campione Sintassi dello script Uso del campione
admin_email = "admin@email987.com" Bash - $admin_email
echo $admin_email
Windows CMD - %admin_email%
echo %admin_email%
Windows PowerShell - $admin_email
write-output  $admin_email
BeanShell - admin_email
print(admin_email);

Proprietà array

Il valore della proprietà array può essere un array di stringhe definito come [“value1”, “value2”, “value3”…] oppure il valore associato a un'altra proprietà array. Quando i valori di una proprietà array vengono definiti, è necessario includere l'array delle stringhe tra parentesi quadre. Per un array delle stringhe, il valore degli elementi dell'array può contenere qualsiasi carattere ASCIl. Per codificare correttamente una barra rovesciata in un valore della proprietà array, aggiungere un'altra barra rovesciata, ad esempio, ["c:\\test1\\test2"]. Per una proprietà associata, usare la scheda Proprietà nel canvas del blueprint per selezionare la proprietà idonea per il binding.

Ad esempio, se si prende in considerazione una macchina virtuale del bilanciamento del carico che bilancia il carico di un cluster delle macchine virtuali del server delle applicazioni. In tale caso, la proprietà array viene definita per il servizio del bilanciamento del carico e impostata sull'array degli indirizzi IP delle macchine virtuali del server delle applicazioni.

Questi script di configurazione del servizio di bilanciamento del carico usano la proprietà array per configurare lo schema di bilanciamento appropriato sui sistemi operativi Red Hat, Windows e Ubuntu.

Proprietà array campione Sintassi dello script Uso del campione
operating_systems = ["Red Hat","Windows","Ubuntu"]

Bash - ${operating_systems[@]}

per l'intero array delle stringhe

${operating_systems[N]}

per l'elemento di array individuale

for (( i = 0 ; i < ${#operating_systems[@]}; i++ )); do
   echo ${operating_systems[$i]}
done

Windows CMD - %operating_systems_N%

dove N rappresenta la posizione dell'elemento nell'array

for /F "delims== tokens=2" %%A in ('set operating_systems_') do (
    echo %%A
)

Windows PowerShell - $operating_systems

per l'intero array delle stringhe

$operating_systems[N]

per l'elemento di array individuale

foreach ($os in $operating_systems){
   write-output  $os
}

BeanShell - operating_systems[N]

dove N rappresenta la posizione dell'elemento nell'array

for(index=0;index < operating_systems.length; index++) {
   print(operating_systems[index]);
}

Proprietà contenuto

Il valore della proprietà contenuto è l'URL di un file per il download dei contenuti. L'agente di Application Services scarica i contenuti dall'URL nella macchina virtuale e passa la posizione del file locale nella macchina virtuale allo script.

Le proprietà contenuto devono essere definite come URL valido con il protocollo HTTP o HTTPS. Si supponga, ad esempio, che gli elementi Hyperic siano ospitati nell'appliance Application Services e che l'URL punti a quella posizione nell'appliance. L'agente di Application Services scarica gli elementi dalla posizione specificata nella macchina virtuale distribuita.

Proprietà stringa campione Sintassi dello script Uso del campione
HQ_PACKAGE = "http://DarwinServerIP/artifacts/services/hyperic/hyperic-hq-agent-linux.tar.gz" Bash - $HQ_PACKAGE
tar -zxvf $HQ_PACKAGE
Windows CMD - %HQ_PACKAGE%
start /wait c:\unzip.exe
%HQ_PACKAGE%
Windows PowerShell - $HQ_PACKAGE
 & c:\unzip.exe
$HQ_PACKAGE
BeanShell - HQ_PACKAGE
import java.io.BufferedOutputStream;
	import java.io.File;
	import java.io.FileInputStream;
	import java.io.FileOutputStream;
	import java.util.zip.ZipEntry;
	import java.util.zip.ZipInputStream;

	destDir = new File(bsh.cwd);
            if (!destDir.exists()) {
                destDir.mkdir();
            }
            zipIn = new ZipInputStream(new FileInputStream(HQ_PACKAGE));
            entry = zipIn.getNextEntry();
            // iterates over entries in the zip file
            while (entry != null) {
                String filePath = bsh.cwd + File.separator + entry.getName();
                if (!entry.isDirectory()) {
                    // if the entry is a file, extracts it
                    bos = new BufferedOutputStream(new FileOutputStream(filePath));
                    bytesIn = new byte[4096];
                    read = 0;
                    while ((read = zipIn.read(bytesIn)) != -1) {
                        bos.write(bytesIn, 0, read);
                    }
                    bos.close();
                } else {
                    // if the entry is a directory, make the directory
                    dir = new File(filePath);
                    dir.mkdir();
                }
                zipIn.closeEntry();
                entry = zipIn.getNextEntry();
            }
            zipIn.close();

Proprietà elaborata

Il tipo di proprietà elaborata non consente un valore iniziale quando viene definito. Al contrario, il tipo di proprietà elaborata prende il valore dagli script del ciclo di vita di INSTALLAZIONE, CONFIGURAZIONE o AVVIO. Il valore assegnato viene propagato al successivo ciclo di vita disponibile e ai componenti dipendenti.

Nota: le proprietà elaborate definite negli script di azione non sono disponibili per lo script dei cicli di vita AGGIORNAMENTO, ROLLBACK o DISINSTALLAZIONE. È necessario impostare il valore della proprietà elaborata negli script dei rispettivi cicli di vita.
Proprietà stringa campione Sintassi dello script Uso del campione
my_unique_id = "" Bash - $my_unique_id
export my_unique_id="0123456789"
Windows CMD - %my_unique_id%
set my_unique_id=0123456789
Windows PowerShell - $my_unique_id
$my_unique_id = "0123456789"
BeanShell - my_unique_id
my_unique_id = "0123456789";

Proprietà booleana

Il tipo di proprietà booleana fornisce le scelte Sì e No nel menu a discesa Valore, ma il valore selezionato viene modificato in Vero o Falso quando si fa clic su un'altra parte della pagina. Application Services visualizza i valori Sì e No per evitare confusione e fornire una coerenza con l'interfaccia della console di vRealize Automation modificando però Sì con Vero e No con Falso per l'uso negli script di azione.

Proprietà di selezione singola

La proprietà di selezione singola consente di specificare più valori di stringa dai quali l'utente può effettuare una selezione.

Proprietà numero intero

La proprietà di tipo numero intero accetta valori quali lo zero, un numero intero positivo o un numero intero negativo.

Proprietà doppia

Il tipo di proprietà doppia archivia i valori a virgola mobile con precisione in quattro luoghi.

Riferimento del tipo di proprietà

I riferimenti dei tipi di proprietà mostrano a quali tipi di proprietà è possibile fare riferimento per la configurazione.

Tipo di proprietà Tipo di proprietà da associare Auto-Bind Expose Auto-Bind Consume Accettare il valore di proprietà iniziale
Stringa Stringa, array, contenuto ed elaborata
Contenuto N/A N/A N/A
Array Stringa, contenuto ed elaborata N/A
Elaborata N/A N/A N/A

Le proprietà array possono anche essere associate a una proprietà array "all" del nodo predefinito in un cluster. La proprietà "all", in un'espressione regolare, è un metodo per raccogliere tutti i valori di una data proprietà in un nodo di cluster.

Per ulteriori informazioni sul binding delle proprietà, vedere Binding con altre proprietà. Per comprendere i concetti di Auto-Bind Expose e Auto-Bind Consume, vedere Binding automatico con altre proprietà.

Esempio di un valore di proprietà stringa quando vengono associati diversi tipi di proprietà.

Tipo di proprietà campione Tipo di proprietà da associare Risultato del binding (A viene associata a B)
Stringa (proprietà A) Stringa (proprietà B="Hi") A="Hi"
Stringa (proprietà A) Contenuto (proprietà B="http://my.com/content") A="http://my.com/content"
Stringa (proprietà A) Array (proprietà B=["1","2"]) A="["1","2"]"
Stringa (proprietà A) Elaborata (proprietà B="Hello") A="Hello"

Esempio di un valore di proprietà array quando si effettua il binding di diversi tipi di proprietà.

Tipo di proprietà campione Tipo di proprietà da associare Risultato del binding (A viene associata a B)
Array (proprietà A) Stringa (proprietà B="Hi") A="Hi"
Array (proprietà A) Contenuto (proprietà B="http://my.com/content") A="http://my.com/content"
Array (proprietà A) Elaborata (proprietà B="Hello") A="Hello"