DSC dla systemu Linux nxArchive Resource

Zasób nxArchive w programie PowerShell Desired State Configuration (DSC) udostępnia mechanizm rozpakowywania plików archiwum (tar, .zip) w określonej ścieżce w węźle systemu Linux.

Składnia

nxArchive <string> #ResourceName
{
    SourcePath = <string>
    DestinationPath = <string>
    [ Checksum = <string> { ctime | mtime | md5 }  ]
    [ Force = <bool> ]
    [ DependsOn = <string[]> ]
    [ Ensure = <string> { Absent | Present }  ]
}

Właściwości

Właściwość Opis
SourcePath Określa ścieżkę źródłową pliku archiwum. Powinien to być plik tar, .zip lub tar.gz.
DestinationPath Określa lokalizację, w której chcesz upewnić się, że zawartość archiwum jest wyodrębniona.
Suma kontrolna Definiuje typ używany podczas określania, czy archiwum źródłowe zostało zaktualizowane. Wartości to: ctime, mtime lub md5. Wartość domyślna to md5.
Force Niektóre operacje na plikach (takie jak zastępowanie pliku lub usuwanie katalogu, który nie jest pusty) spowoduje wystąpienie błędu. Użycie właściwości Force zastępuje takie błędy. Wartość domyślna to $false.

Wspólne właściwości

Właściwość Opis
Dependson Wskazuje, że konfiguracja innego zasobu musi zostać uruchomiona przed skonfigurowaniem tego zasobu. Jeśli na przykład identyfikator bloku skryptu konfiguracji zasobu, który chcesz uruchomić jako pierwszy, to ResourceName, a jego typ to ResourceType, składnia użycia tej właściwości to DependsOn = "[ResourceType]ResourceName".
Zapewnienia Określa, czy zawartość archiwum istnieje w lokalizacji docelowej. Ustaw tę właściwość na Wartość Prezent , aby upewnić się, że zawartość istnieje. Ustaw go na Nieobecny , aby upewnić się, że nie istnieją. Wartość domyślna to Obecny.

Przykład

W poniższym przykładzie pokazano, jak używać zasobu nxArchive , aby upewnić się, że zawartość pliku archiwum o nazwie website.tar istnieje i są wyodrębniane w danym miejscu docelowym.

Import-DSCResource -ModuleName nx

nxFile SyncArchiveFromWeb
{
   Ensure = "Present"
   SourcePath = "http://release.contoso.com/releases/website.tar"
   DestinationPath = "/usr/release/staging/website.tar"
   Type = "File"
   Checksum = "mtime"
}

nxArchive SyncWebDir
{
   SourcePath = "/usr/release/staging/website.tar"
   DestinationPath = "/usr/local/apache2/htdocs/"
   Force = $false
   DependsOn = "[nxFile]SyncArchiveFromWeb"
}