Referência de esquema de propriedade de resolução de manifesto de recurso DSC
Sinopse
Indica como chamar o recurso para resolver um documento de configuração aninhado de uma fonte externa.
Metadados
SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.resolve.json
Type: object
Descrição
Define como o DSC deve chamar o recurso DSC para resolver uma fonte externa para o documento de configuração DSC aninhado. Defina esse método para de recursos do importador e defina o tipo propriedade na raiz do manifesto como Import
.
O DSC envia dados para o comando de três maneiras:
- Quando
input
éstdin
, o DSC envia os dados como uma cadeia de caracteres que representa os dados como um objeto JSON compactado sem espaços ou novas linhas entre as propriedades do objeto. - Quando
input
éenv
, o DSC envia os dados como variáveis de ambiente. Ele cria uma variável de ambiente para cada propriedade no objeto de dados de entrada, usando o nome e o valor da propriedade. - Quando a matriz
args
inclui uma definição de argumento de entrada JSON, o DSC envia os dados como uma cadeia de caracteres que representa os dados como um objeto JSON compactado para o argumento especificado.
Se você não definir a propriedade input
e não definir um argumento de entrada JSON, o DSC não poderá passar o JSON de entrada para o recurso. Você só pode definir um argumento de entrada JSON para um comando.
Você deve definir a propriedade input
, um argumento de entrada JSON na matriz de propriedades args
ou ambos.
Propriedades necessárias
A definição de resolve
deve incluir estas propriedades:
Propriedades
executável
A propriedade executable
define o nome do comando a ser executado. O valor deve ser o nome de um comando detetável na variável de ambiente PATH
do sistema ou o caminho completo para o comando. Uma extensão de arquivo só é necessária quando o comando não é reconhecível pelo sistema operacional como um executável.
Type: string
Required: true
Args
A propriedade args
define a lista de argumentos a serem passados para o comando. Os argumentos podem ser qualquer número de strings. Se desejar passar o objeto JSON que representa o conjunto de propriedades do recurso para um argumento, você pode definir um único item na matriz como um [objeto JSON], indicando o nome do argumento com a propriedade string jsonInputArg
e se o argumento é obrigatório para o comando com a propriedade booleana mandatory
.
Type: array
Required: false
Default: []
Type: [string, object(JSON Input Argument)]
Argumentos de cadeia de caracteres
Qualquer item na matriz de argumentos pode ser uma cadeia de caracteres que representa um argumento estático para passar para o comando, como config
ou --format
.
Type: string
Argumento de entrada JSON
Define um argumento para o comando que aceita o objeto de entrada JSON como uma cadeia de caracteres. O DSC passa a entrada JSON para o argumento nomeado quando disponível. Um argumento de entrada JSON é definido como um objeto JSON com as seguintes propriedades:
jsonInputArg
(obrigatório) - o argumento para passar os dados JSON para o comando, como--input
.mandatory
(opcional) - Indique se o DSC deve sempre passar o argumento para o comando, mesmo quando não há entrada JSON para o comando. Nesse caso, o DSC passa uma cadeia de caracteres vazia para o argumento de entrada JSON.
Você só pode definir um argumento de entrada JSON por matriz de argumentos.
Se você definir um argumento de entrada JSON e um tipo de input
para um comando, o DSC enviará os dados JSON de ambas as maneiras:
- Se você definir
input
comoenv
e um argumento de entrada JSON, o DSC definirá uma variável de ambiente para cada propriedade na entrada JSON e passará o objeto de entrada JSON como uma cadeia de caracteres para o argumento definido. - Se você definir
input
comostdin
e um argumento de entrada JSON, o DSC passará a entrada JSON sobre stdin e como uma cadeia de caracteres para o argumento definido. - Se você definir um argumento de entrada JSON sem definir a propriedade
input
, o DSC passará apenas a entrada JSON como uma cadeia de caracteres para o argumento definido.
Se você não definir a propriedade input
e não definir um argumento de entrada JSON, o DSC não poderá passar o JSON de entrada para o recurso. Isso torna o manifesto inválido. Você deve definir a propriedade input
, um argumento de entrada JSON na matriz de propriedades args
ou ambos.
Type: object
RequiredProperties: [jsonInputArg]
entrada
A propriedade input
define como passar a entrada para o recurso. Se essa propriedade não estiver definida e a definição não definir um argumento de entrada JSON, o DSC não enviará nenhuma entrada para o recurso ao invocar a operação resolve
.
O valor dessa propriedade deve ser uma das seguintes cadeias de caracteres:
env
- Indica que o recurso espera que as propriedades de uma instância sejam especificadas como variáveis de ambiente com os mesmos nomes e invólucro.Esta opção suporta apenas os seguintes tipos de dados para propriedades de exemplo:
boolean
integer
number
string
array
de valores deinteger
array
de valores denumber
array
de valores destring
Para valores que não sejam de matriz, o DSC define a variável de ambiente como o valor especificado as-is. Quando o tipo de dados é uma matriz de valores, o DSC define a variável de ambiente como uma cadeia de caracteres delimitada por vírgula. Por exemplo, a propriedade
foo
com um valor de[1, 2, 3]
é salva na variável de ambientefoo
como"1,2,3"
.Se o recurso precisar oferecer suporte a propriedades complexas com um valor
object
ou matrizes de vários tipos, defina isso comostdin
em vez disso.stdin
- Indica que o recurso espera um blob JSON representando uma instância destdin
. O JSON deve aderir ao esquema de instância para o recurso.
Type: string
Required: false
ValidValues: [env, stdin]
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários