DSC linuxos nxScript-erőforráshoz

A PowerShell Desired State Configuration (DSC) nxScript-erőforrása egy Linux-szkriptek Linux-csomóponton való futtatására szolgáló mechanizmust biztosít.

Syntax

nxScript <string> #ResourceName
{
    GetScript = <string>
    SetScript = <string>
    TestScript = <string>
    [ User = <string> ]
    [ Group = <string> ]
    [ DependsOn = <string[]> ]
}

Tulajdonságok

Tulajdonság Leírás
GetScript Egy szkriptet biztosít a gép aktuális állapotának visszaadásához. Ez a szkript a GetDscConfiguration.py-szkript meghívásakor fut. A szkriptnek egy shebanggel kell kezdődnie, például #!/bin/bash.
SetScript Egy szkriptet biztosít, amely a gépet a megfelelő állapotba helyezi. A StartDscConfiguration.py szkript meghívásakor először a TestScript fut. Ha a TestScript-blokk a 0-stól eltérő kilépési kódot ad vissza, a SetScript blokk fog futni. Ha a TestScript 0 kilépési kódot ad vissza, a SetScript nem fog futni. A szkriptnek egy shebanggel kell kezdődnie, például #!/bin/bash.
TestScript Egy szkriptet biztosít, amely kiértékeli, hogy a csomópont jelenleg a megfelelő állapotban van-e. A StartDscConfiguration.py szkript meghívásakor a szkript lefut. Ha nem 0 kilépési kódot ad vissza, a SetScript futni fog. Ha 0-s kilépési kódot ad vissza, a SetScript nem fog futni. A TestScript a TestDscConfiguration szkript meghívásakor is fut. Ebben az esetben azonban a SetScript nem fog futni, függetlenül attól, hogy milyen kilépési kódot ad vissza a TestScript. A TestScriptnek tartalmat kell tartalmaznia, és 0 kilépési kódot kell visszaadnia, ha a tényleges konfiguráció megfelel az aktuális kívánt állapotkonfigurációnak, és egy 0-nál nem nagyobb kilépési kódot, ha nem egyezik. Az aktuális célállapot-konfiguráció a DSC-t használó csomópont utolsó konfigurációja. A szkriptnek egy shebanggel kell kezdődnie, például #!/bin/bash.
Felhasználó A szkriptet futtató felhasználó.
Group A parancsfájlt futtató csoport.

Közös tulajdonságok

Tulajdonság Leírás
DependsOn Azt jelzi, hogy egy másik erőforrás konfigurációjának futnia kell az erőforrás konfigurálása előtt. Ha például a futtatni kívánt erőforrás-konfigurációs szkriptblokk azonosítója ResourceName, típusa Pedig ResourceType, akkor a tulajdonság használatának szintaxisa.DependsOn = "[ResourceType]ResourceName"

Példa

Az alábbi példa bemutatja, hogy az nxScript-erőforrással további konfigurációkezelést végezhet.

Import-DSCResource -ModuleName nx

Node $node
{
    nxScript KeepDirEmpty {

    GetScript = @"
#!/bin/bash
ls /tmp/mydir/ | wc -l
"@

    SetScript = @"
#!/bin/bash
rm -rf /tmp/mydir/*
"@

    TestScript = @'
#!/bin/bash
filecount=`ls /tmp/mydir | wc -l`
if [ $filecount -gt 0 ]
then
    exit 1
else
    exit 0
fi
'@
    }
}