U kunt uw actiescripts op een algemene en herbruikbare manier ontwerpen door naam- en waardeparen die software-eigenschappen worden genoemd, te definiëren en te verbruiken en ze als parameters door te geven aan uw actiescripts. U kunt software-eigenschappen maken die string-, array-, inhouds-, boolean- of integerwaarden verwachten. U kunt de waarde zelf opgeven, iemand anders kan worden verplicht de waarde op te geven of de waarde kan worden opgehaald bij een ander blueprintonderdeel door een binding te maken.

Eigenschapsopties

U kunt de waarde van elke stringeigenschap berekenen door het selectievakje 'berekend' in te schakelen en u kunt elke eigenschap gecodeerd, overschrijfbaar of vereist maken door de overeenkomstige selectievakjes te selecteren wanneer u Software-eigenschappen configureert. Combineer deze opties met uw waarden om verschillende doelen te bereiken. U wilt bijvoorbeeld blueprintarchitecten verplichten een waarde voor een wachtwoord op te geven en die waarde te versleutelen wanneer ze uw softwareonderdeel gebruiken in een blueprint. Maak de wachtwoordeigenschap, maar laat het waardetekstvak leeg. Selecteer Overschrijfbaar, Vereist, en Versleuteld. Als het verwachte wachtwoord bij uw eindgebruiker hoort, kan de blueprintarchitect Weergeven in aanvraag selecteren om uw gebruikers te verplichten het wachtwoord in te voeren wanneer ze het aanvraagformulier invullen.

Optie

Beschrijving

Gecodeerd

Geeft aan dat de eigenschap gecodeerd is en dat de waarde in vRealize Automation gemaskeerd wordt weergeven met sterretjes. Als u de eigenschap terugzet op ongecodeerd, wordt de eigenschapswaarde opnieuw ingesteld door vRealize Automation. U moet om veiligheidsredenen een nieuwe waarde voor de eigenschap instellen.

Overschrijfbaar

U kunt architecten bij het samenstellen van een toepassingsbluepint toestaan de waarde van deze eigenschap te overschrijven. De waarde die u invoert, wordt als standaardwaarde weergegeven.

Vereist

U kunt vereisen dat architecten een waarde voor deze eigenschap opgeven of anders uw standaardwaarde moeten accepteren.

Berekend

Waarden voor berekende bronnen worden toegewezen door de levenscyclusscripts INSTALL, CONFIGURE, START en UPDATE. De toegewezen waarde wordt doorgegeven naar de daaropvolgende beschikbare levenscyclusfasen en naar onderdelen die gebonden zijn aan deze eigenschappen in een blueprint. Als u Berekend selecteert voor een eigenschap die geen stringeigenschap is, wordt het eigenschapstype gewijzigd in string.

Als u de berekende eigenschapsoptie selecteert, laat u de waarde voor uw aangepaste eigenschap leeg. Ontwerp uw scripts voor de berekende waarden.

Tabel 1. Scriptvoorbeelden voor de berekende eigenschapswaarde

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"

Stringeigenschap

Stringeigenschappen verwachten stringwaarden. U kunt de waarde zelf opgeven, iemand anders kan worden verplicht de waarde op te geven of de waarde kan worden opgehaald bij een ander blueprintonderdeel door een binding te maken met een andere stringeigenschap. Stringwaarden kunnen alle ASCII-tekens bevatten. Als u een eigenschapsbinding wilt maken, gebruikt u het tabblad Eigenschappen op het ontwerpcanvas om de juiste eigenschap voor een binding te selecteren. De eigenschapswaarde wordt vervolgens aan de actiescripts doorgegeven als onbewerkte stringdata. Wanneer u een binding maakt met een stringeigenschap van een blueprint, zorgt u dat het blueprintonderdeel waarmee u de binding maakt, niet kan worden geclusterd. Als het onderdeel is geclusterd, wordt de stringwaarde een array en ontvangt u niet de waarde die u verwacht.

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

Arrayeigenschap

Arrayeigenschappen verwachten een array met stringwaarden, integerwaarden, decimale waarden of boolean-warden die worden gedefinieerd als [“waarde1”, “waarde2”, “waarde3”…]. U kunt de waarde zelf opgeven, iemand anders kan worden verplicht de waarde op te geven of de waarde kan worden opgehaald bij een ander blueprintonderdeel door een binding te maken met een eigenschap. Wanneer u waarden opgeeft voor een array-eigenschap, moet u de array insluiten in vierkante haakjes. 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 ontwerpcanvas om de juiste eigenschap voor het binden te selecteren. Als u een binding maakt met een array, moet u echter wel uw eigen softwareonderdelen ontwerpen zodat ze geen array met waarden in een bepaalde volgorde verwachten.

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
}

Inhoudseigenschap

De waarde van de inhoudseigenschap is een URL naar een bestand voor het downloaden van inhoud. De Software-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. Het Software-onderdeel van de JBOSS-toepassingsserver in de Dukes Bank-voorbeeldtoepassing geeft bijvoorbeeld een inhoudseigenschap cheetah_tgz_url op. De artefacten worden gehost in de Software-toepassing en de URL verwijst naar die locatie in de toepassing. De Software-agent downloadt de artefacten vanaf de opgegeven locatie naar de geïmplementeerde virtual machine.

Ga voor meer informatie over software.http.proxy-instellingen die kunnen worden gebruikt met inhoudseigenschappen naar Tabel aangepaste eigenschappen met S.

Voorbeeldstringeigenschap

Scriptsyntaxis

Voorbeeldgebruik

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

Eigenschap booleaans

Gebruik het eigenschapstype boolean om keuzes voor Waar en Onwaar op te geven in het vervolgkeuzemenu Waarde.

Eigenschap geheel getal

Gebruik het eigenschapstype integer voor nullen, en positieve of negatieve integers.

Decimale eigenschap

Gebruik het eigenschapstype decimaal voor waarden die niet-herhaalde decimale fracties voorstellen.