È possibile progettare gli script di azione in modo da renderli generici e riutilizzabili definendo e utilizzando coppie di nomi e valori denominate proprietà software e convalidandole come parametri per gli script di azione. È possibile creare proprietà software che prevedano valori di tipo stringa, array, contenuti, booleani o interi. È possibile fornire il valore autonomamente, chiedere a un altro utente di fornire il valore o recuperare il valore da un altro componente di blueprint creando un binding.

Opzioni delle proprietà

È possibile elaborare il valore di qualsiasi proprietà stringa selezionando la casella di controllo Elaborate, nonché rendere qualsiasi proprietà codificata, sovrascrivibile o obbligatoria selezionando le caselle di controllo appropriate durante la configurazione delle proprietà di Software. Combinando queste opzioni con i propri valori è possibile raggiungere obiettivi di vario tipo. Ad esempio, è possibile chiedere agli architetti di blueprint di fornire un valore per una password e codificare tale valore quando utilizzano il componente software in un blueprint. Creare la proprietà password, ma lasciare la casella di testo del valore vuota. Selezionare Sovrascrivibile, Obbligatorio e Codificato. Se la password prevista appartiene all’utente finale, l’architetto di blueprint può selezionare Mostra nella richiesta per chiedere agli utenti di immettere la password quando compilano il modulo di richiesta.

Opzione

Descrizione

Codificato

Contrassegnare le proprietà come codificate per mascherare il valore e visualizzarle sovrapponendo asterischi in vRealize Automation. Se si cambia una proprietà da codificata a non codificata, vRealize Automation reimposta il valore della proprietà. Per sicurezza è necessario impostare un nuovo valore per la proprietà.

Sovrascrivibile

Consentire agli architetti di modificare il valore di questa proprietà quando assemblano un blueprint di applicazione. Il valore eventualmente immesso viene visualizzato come predefinito.

Obbligatorio

Impone agli architetti di specificare un valore per la proprietà o accettare il valore predefinito fornito.

Elaborate

I valori delle proprietà elaborate vengono assegnati dagli script del ciclo di vita di INSTALLAZIONE, CONFIGURAZIONE, AVVIO o AGGIORNAMENTO. Il valore assegnato viene propagato alle successive fasi del ciclo di vita disponibili e ai componenti che effettuano il binding a queste proprietà in un blueprint. Se si seleziona Valore elaborato per una proprietà non di tipo stringa, il tipo della proprietà viene modificato in Stringa.

Se si seleziona l'opzione di proprietà Elaborate, non specificare alcun valore per la proprietà personalizzata. Progettare script personalizzati per i valori elaborati.

Tabella 1. Esempi di script per l'opzione di proprietà Elaborate

Proprietà stringa campione

Sintassi 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"

Proprietà stringa

Le proprietà di stringhe prevedono valori di stringa. È possibile fornire la stringa autonomamente, chiedere a un altro utente di fornire il valore o recuperare il valore da un altro componente di blueprint creando un binding a un’altra proprietà di stringa. I valori di stringa possono contenere qualsiasi carattere ASCII. Per creare un binding di proprietà, usare la scheda Proprietà nella tela di progettazione 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. Quando si esegue il binding a una proprietà stringa di blueprint, accertarsi che il componente di blueprint sottoposto a binding non possa essere aggiunto a un cluster. Se il componente è in clustering, il valore di stringa diventa un array e non si recupera il valore previsto.

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

Proprietà array

Le proprietà di array prevedono un array di valori stringa, interi, decimali o booleani definiti [“value1”, “value2”, “value3”…]. È possibile fornire i valori autonomamente, chiedere a un altro utente di fornire i valori o recuperare i valori da un altro componente di blueprint creando un binding. Quando i valori di una proprietà array vengono definiti, è necessario includere l'array 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à nella tela del blueprint per selezionare la proprietà idonea per il binding. Se si esegue il binding a un array, è necessario progettare i componenti software affinché non prevedano l’array di un valore in un ordine specifico.

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
}

Proprietà contenuto

Il valore della proprietà contenuto è l'URL di un file per il download dei contenuti. L'agente di Software 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. Ad esempio, il componente JBOSS Application Server Software nell'applicazione campione Dukes Bank specifica cheetah_tgz_url come proprietà del contenuto. Gli elementi sono ospitati nell'appliance Software e l'URL punta a tale posizione nell'appliance. L'agente di Software scarica gli elementi dalla posizione specificata nella macchina virtuale distribuita.

Per informazioni sulle impostazioni di software.http.proxy che è possibile utilizzare con le proprietà di contenuti, vedere Tabella delle proprietà personalizzate che iniziano con S.

Proprietà stringa campione

Sintassi dello script

Uso del campione

cheetah_tgz_url = "http://app_content_server_ip:port/artifacts/software/jboss/cheetah-2.4.4.tar.gz"

Bash - $cheetah_tgz_url

tar -zxvf $cheetah_tgz_url

Windows CMD - %cheetah_tgz_url%

start /wait c:\unzip.exe
%cheetah_tgz_url%

Windows PowerShell - $cheetah_tgz_url

 & c:\unzip.exe
$cheetah_tgz_url

Proprietà booleana

Utilizzare il tipo di proprietà booleano per fornire le opzioni True e False nel menu a discesa Valore.

Proprietà numero intero

Utilizzare il tipo di proprietà booleano per zero e numeri interi positivi o negativi.

Proprietà decimale

Utilizzare il tipo di proprietà decimale per valori che rappresentano frazioni decimali senza ripetizioni.