Recurso nxScript de DSC para Linux
El recurso nxScript de la configuración de estado deseado (DSC) de PowerShell ofrece un mecanismo para ejecutar scripts de Linux en un nodo de Linux.
Sintaxis
nxScript <string> #ResourceName
{
GetScript = <string>
SetScript = <string>
TestScript = <string>
[ User = <string> ]
[ Group = <string> ]
[ DependsOn = <string[]> ]
}
Propiedades
Propiedad | Descripción |
---|---|
GetScript | Proporciona un script para devolver el estado actual de la máquina. Este script se ejecuta al invocar el script GetDscConfiguration.py. El script debe comenzar con el par de caracteres shebang, como por ejemplo: #!/bin/bash . |
SetScript | Proporciona un script que define el estado correcto de la máquina. Cuando se invoca el script StartDscConfiguration.py, el bloque TestScript se ejecuta primero. Si el bloque TestScript devuelve un código de salida distinto de 0, se ejecutará el bloque SetScript. Si el bloque TestScript devuelve un código de salida de 0, no se ejecutará el bloque SetScript. El script debe comenzar con el par de caracteres shebang, como por ejemplo: #!/bin/bash . |
TestScript | Proporciona un script que evalúa si el nodo tiene actualmente el estado correcto. Cuando se invoca el script StartDscConfiguration.py, este se ejecuta. Si devuelve un código de salida distinto de 0, se ejecutará el bloque SetScript. Si devuelve un código de salida de 0, no se ejecutará el bloque SetScript. El bloque TestScript también se ejecuta cuando se invoca el script TestDscConfiguration. Sin embargo, en este caso, el bloque SetScript no se ejecutará, independientemente del código de salida que se devuelva del bloque TestScript. El bloque TestScript debe tener contenido y debe devolver un código de salida de 0 si la configuración real coincide con la configuración del estado deseado actual, y un código de salida distinto de 0 si no coincide. La configuración de estado deseado actual es la última configuración establecida en el nodo que está usando DSC. El script debe comenzar con el par de caracteres shebang, como por ejemplo: #!/bin/bash . |
Usuario | El usuario con el que se ejecutará el script. |
Grupo | El grupo con el que se ejecutará el script. |
Propiedades comunes
Propiedad | Descripción |
---|---|
DependsOn | Indica que la configuración de otro recurso debe ejecutarse antes de que se configure este recurso. Por ejemplo, si el elemento ID del bloque del script de configuración del recurso que quiere ejecutar primero es ResourceName y su tipo es ResourceType, la sintaxis para usar esta propiedad es DependsOn = "[ResourceType]ResourceName" . |
Ejemplo
En el ejemplo siguiente se muestra el uso del recurso nxScript para realizar una administración de configuración adicional.
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
'@
}
}
Colaborar con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.