Enable passing JSON input properties as args to resource

Aberta
#1,475 1 comentário 1 reação 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
rust
Domínio
cli

Direção de pesquisa

Comece revisando o tratamento do manifesto de recursos e os pontos de entrada da avaliação de expressões para argumentos set. Defina como input() resolve propriedades, como resultados de objetos e valores secureString são tratados e como get/export continuam a exigir saída JSON; o manifesto de exemplo fornece o comportamento esperado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Issue-Enhancement Needs Triage
Summary of the new feature / enhancement

There might be an existing CLI tool or the developer wants their CLI tool to serve as both a user facing tool but also DSC resource. So in that case, they wouldn't want to receive and process a JSON payload.

Proposed technical implementation details (optional)

In the resource manifest, we can add support for expressions for the args:

{
    "$schema": "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json",
    "type": "Microsoft.Windows/User",
    "version": "1.0.0",
    "set": {
        "executable": "net.exe",
        "args": [
            "user",
            "[input().name]",
            "[input().password]",
            "/add"
        ]
    }
}

input() would be a new function that returned the values under properties. Normal dot-notation rules apply. Any functions that result in an object would be an error. secureString would resolve to plain-text.

For get and export, the tool would still be required to return JSON output and the manifest would specify something like:

"/output",
"json"
Linguagem predominante
Rust
Estrelas
543
Forks
78
Merge médio
2d 5h
PRs com merge (30d)
22

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de PowerShell/DSC

Todas as issues de PowerShell/DSC

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.