Application Services ondersteunt de eigenschappen string, array, inhoud, berekend, booleaans, afzonderlijke selectie, geheel getal en dubbel.

Opmerking:

De namen van eigenschappen zijn hoofdlettergevoelig en kunnen alleen letters, cijfers, streepjes (-) en lage streepjes (_) bevatten.

Stringeigenschap

De waarde van een stringeigenschap kan een string of de waarde gebonden aan een andere stringeigenschap zijn. Een stringwaarde kan alleen ASCII-tekens bevatten. Voor een gebonden eigenschap gebruikt u het tabblad Eigenschappen in het blueprintcanvas om de juiste eigenschap voor het binden te selecteren. De eigenschapswaarde wordt vervolgens aan de actiescripts doorgegeven als onbewerkte stringdata.

Voorbeeldstringeigenschap

Scriptsyntaxis

Voorbeeldgebruik

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);

Arrayeigenschap

De waarde van een arrayeigenschap kan een array met strings zijn, gedefinieerd als [“waarde1”, “waarde2”, “waarde3”…] of de waarde gebonden aan een andere arrayeigenschap. Wanneer u de waarden voor een arrayeigenschap definieert, moet u de array met strings tussen vierkante haakjes plaatsen. Voor een array van strings kan de waarde in de arrayelementen alleen ASCII-tekens bevatten. Om een backslash correct te coderen in een waarde van een arrayeigenschap, moet u een extra backslash toevoegen, bijvoorbeeld ["c:\\test1\\test2"]. Voor een gebonden eigenschap gebruikt u het tabblad Eigenschappen in het blueprintcanvas om de juiste eigenschap voor het binden te selecteren.

Overweeg bijvoorbeeld om een virtual machine als load balancer te gebruiken om de belasting voor een cluster met virtual machines voor toepassingsservers te verdelen. In een dergelijk geval wordt een arrayeigenschap voor de load balancer-service gedefinieerd en ingesteld op de array IP-adressen van de virtual machines van de toepassingsserver.

Deze configuratiescripts van de load balancer-service gebruiken de arrayeigenschap om de juiste belastingsverdeling in te stellen op de besturingssystemen Red Hat, Windows en Ubuntu.

Voorbeeld van de arrayeigenschap

Scriptsyntaxis

Voorbeeldgebruik

operating_systems = ["Red Hat","Windows","Ubuntu"]

Bash - ${operating_systems[@]}

voor de gehele array van strings

${operating_systems[N]}

voor het individuele arrayelement

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

Windows CMD - %operating_systems_N%

waarbij N de positie van het element in de array vertegenwoordigt

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

Windows PowerShell - $operating_systems

voor de gehele array van strings

$operating_systems[N]

voor het individuele arrayelement

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

BeanShell - operating_systems[N]

waarbij N de positie van het element in de array vertegenwoordigt

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

Inhoudseigenschap

De waarde van de inhoudseigenschap is een URL naar een bestand voor het downloaden van inhoud. De Application Services-agent downloadt de inhoud van de URL naar de virtual machine en geeft de locatie van het lokale bestand in de virtual machine aan het script door.

Inhoudseigenschappen moeten als een geldige URL met het HTTP- of HTTPS-protocol worden gedefinieerd. Veronderstel bijvoorbeeld dat de Hyperic-artefacten worden gehost in de Application Services-toepassing en dat de URL verwijst naar die locatie in de toepassing. De Application Services-agent downloadt de artefacten vanaf de opgegeven locatie naar de geïmplementeerde virtual machine.

Voorbeeldstringeigenschap

Scriptsyntaxis

Voorbeeldgebruik

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();

Berekende eigenschap

Het berekende eigenschapstype staat geen eerste waarde toe wanneer deze wordt gedefinieerd. In plaats daarvan verkrijgt het berekende eigenschapstype de waarde uit de levenscyclusscripts INSTALLEREN, CONFIGUREREN of STARTEN. De toegewezen waarde wordt doorgegeven aan de daaropvolgende beschikbare levenscyclus en afhankelijke onderdelen.

Opmerking:

Berekende eigenschappen die in de actiescripts worden gedefinieerd, zijn niet beschikbaar in de levenscyclusscripts BIJWERKEN, TERUGDRAAIEN of ONTKOPPELEN. U moet de waarde voor de berekende eigenschap in de respectieve levenscyclusscripts instellen.

Voorbeeldstringeigenschap

Scriptsyntaxis

Voorbeeldgebruik

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

Eigenschap booleaans

Het eigenschapstype booleaans biedt de keuze tussen Ja en Nee in het vervolgkeuzemenu Waarde, maar de waarden die u selecteert, worden gewijzigd in True of False wanneer u op een ander deel van de pagina klikt. Application Services geeft de waarden Ja en Nee weer om verwarring te vermijden en consistent te blijven met de interface van de vRealize Automation-console, maar wijzigt Ja in True en Nee in False voor gebruik in de actiescripts.

Eigenschap afzonderlijke selectie

Met de eigenschap afzonderlijke selectie kunt u meerdere waarden voor strings opgeven, waaruit de gebruiker één waarde kan selecteren.

Eigenschap geheel getal

Voor het eigenschapstype geheel getal kunnen de waarden nul, een positief geheel getal of een negatief geheel getal worden gebruikt.

Eigenschap dubbel

Met het eigenschapstype dubbel kunnen zwevende-kommawaarden met een nauwkeurigheid tot vier posities worden opgeslagen.

Referentie van eigenschapstype

Referenties van het eigenschapstype tonen naar welke eigenschapstypen u voor configuratiedoeleinden kunt verwijzen.

Eigenschapstype

Eigenschapstype om te binden

Automatisch binden weergeven

Automatisch binden gebruiken

Eerste eigenschapswaarde accepteren

String

String, array, inhoud en berekend

Ja

Ja

Ja

Inhoud

N.v.t.

N.v.t.

N.v.t.

Ja

Array

String, inhoud en berekend

N.v.t.

Ja

Ja

Berekend

N.v.t.

Ja

N.v.t.

N.v.t.

Arrayeigenschappen kunnen ook in een cluster aan een vooraf gedefinieerde arrayeigenschap all van een knooppunt worden gebonden. De eigenschap all is, in een normale uitdrukking, een methode om alle waarden voor een gegeven eigenschap in een geclusterd knooppunt te verzamelen.

Zie Binden met andere eigenschappen voor meer informatie over het binden van eigenschappen. Zie Automatisch binden met andere eigenschappen om de concepten Automatisch binden weergeven en Automatisch binden gebruiken te begrijpen.

Voorbeeld van de waarde van een stringeigenschap bij het binden van verschillende typen eigenschappen.

Voorbeeld van eigenschapstype

Eigenschapstype om te binden

Uitkomst van binden (A bindt zich aan B)

String (eigenschap A)

String (eigenschap B="Hi")

A="Hi"

String (eigenschap A)

Inhoud (eigenschap B="http://my.com/content")

A="http://my.com/content"

String (eigenschap A)

Array (eigenschap B=["1","2"])

A="["1","2"]"

String (eigenschap A)

Berekend (eigenschap B="Hallo")

A="Hallo"

Voorbeeld van de waarde van een arrayeigenschap bij het binden van verschillende typen eigenschappen.

Voorbeeld van eigenschapstype

Eigenschapstype om te binden

Uitkomst van binden (A bindt zich aan B)

Array (eigenschap A)

String (eigenschap B="Hi")

A="Hi"

Array (eigenschap A)

Inhoud (eigenschap B="http://my.com/content")

A="http://my.com/content"

Array (eigenschap A)

Berekend (eigenschap B="Hallo")

A="Hallo"