Recurso nxPackage de DSC para LinuxDSC for Linux nxPackage Resource

O recurso nxPackage na Configuração de Estado Desejado (DSC) do Windows PowerShell fornece um mecanismo para gerenciar pacotes em um nó do Linux.The nxPackage resource in PowerShell Desired State Configuration (DSC) provides a mechanism to manage packages on a Linux node.

SintaxeSyntax

nxPackage <string> #ResourceName
{
    Name = <string>
    [ Ensure = <string> { Absent | Present }  ]
    [ PackageManager = <string> { Yum | Apt | Zypper } ]
    [ PackageGroup = <bool>]
    [ Arguments = <string> ]
    [ ReturnCode = <uint32> ]
    [ LogPath = <string> ]
    [ DependsOn = <string[]> ]

}

PropriedadesProperties

PropriedadeProperty DescriçãoDescription
NomeName O nome do pacote para o qual você deseja garantir um estado específico.The name of the package for which you want to ensure a specific state.
EnsureEnsure Determina se é necessário verificar se o pacote existe.Determines whether to check if the package exists. Defina essa propriedade como "Present" para garantir que o pacote exista.Set this property to "Present" to ensure the package exists. Defina-a como "Absent" para garantir que o pacote não exista.Set it to "Absent" to ensure the package does not exist. O valor padrão é "Present".The default value is "Present".
PackageManagerPackageManager Há suporte para os valores "yum", "apt" e "zypper".Supported values are "yum", "apt", and "zypper". Especifica o gerenciador de pacotes que deve ser usado ao instalar pacotes.Specifies the package manager to use when installing packages. Se FilePath for especificado, o caminho fornecido será usado para instalar o pacote.If FilePath is specified, the provided path will be used to install the package. Caso contrário, será usado um Gerenciador de Pacotes para instalar o pacote por meio de um repositório pré-configurado.Otherwise, a Package Manager will be used to install the package from a pre-configured repository. Se não for fornecido o PackageManager ou o FilePath, o gerenciador de pacotes padrão para o sistema será usado.If neither PackageManager nor FilePath are provided, the default package manager for the system will be used.
FilePathFilePath O caminho do arquivo em que o pacote resideThe file path where the package resides
PackageGroupPackageGroup Se for $true, o Nome deverá ser o nome de um grupo de pacotes para usar com um PackageManager.If $true, the Name is expected to be the name of a package group for use with a PackageManager. PackageGroup não é válido ao fornecer um FilePath.PacakgeGroup is not valid when providing a FilePath.
ArgumentosArguments Uma cadeia de caracteres de argumentos que será passada para o pacote exatamente conforme fornecido.A string of arguments that will be passed to the package exactly as provided.
ReturnCodeReturnCode O código de retorno esperado.The expected return code. Se o código de retorno real não corresponder ao valor esperado fornecido aqui, a configuração gerará um erro.If the actual return code does not match the expected value provided here, the configuration will return an error.
DependsOnDependsOn Indica que a configuração de outro recurso deve ser executada antes de ele ser configurado.Indicates that the configuration of another resource must run before this resource is configured. Por exemplo, se a ID do bloco de script de configuração do recurso que você deseja executar primeiro for ResourceName e seu tipo for ResourceType, a sintaxe para usar essa propriedade será DependsOn = "[ResourceType]ResourceName".For example, if the ID of the resource configuration script block that you want to run first is ResourceName and its type is ResourceType, the syntax for using this property is DependsOn = "[ResourceType]ResourceName".

ExemploExample

O exemplo a seguir assegura que o pacote denominado "httpd" seja instalado em um computador Linux usando o gerenciador de pacotes “Yum”.The following example ensures that the package named "httpd" is installed on a Linux computer, using the “Yum” package manager.

Import-DSCResource -Module nx 

Node $node {
nxPackage httpd
{
    Name = "httpd"
    Ensure = "Present"
    PackageManager = "Yum"
}
}