Informazioni di riferimento sullo schema delle proprietà di esportazione del manifesto della risorsa DSC
Definisce come recuperare lo stato corrente di ogni istanza di una risorsa DSC.
SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.export.json
Type: object
Una risorsa DSC basata su comandi che può enumerare ogni istanza di se stessa con un singolo comando deve definire la export
proprietà nel manifesto. Questa proprietà definisce come DSC può ottenere lo stato corrente per ogni istanza di risorsa. Quando questa proprietà è definita, gli utenti possono:
- Specificare un'istanza della risorsa nella configurazione di input per il comando dsc config export per generare un documento di configurazione utilizzabile.
- Specificare la risorsa con il comando di esportazione delle risorse dsc per generare un documento di configurazione che definisce ogni istanza della risorsa.
- Specificare la risorsa con il comando get della risorsa DSC e l'opzione --all per restituire lo stato corrente per ogni istanza della risorsa.
Quando dsc chiama il comando definito da questa proprietà, la risorsa deve restituire lo stato corrente di ogni istanza come righe JSON. Ogni riga JSON deve essere un oggetto che rappresenta l'istanza e convalidare lo schema dell'istanza di risorsa definita.
DSC invia i dati a questo comando in tre modi:
- Quando
input
èstdin
, DSC invia i dati come stringa che rappresentano i dati come oggetto JSON compresso senza spazi o nuove righe tra le proprietà dell'oggetto. - Quando
input
èenv
, DSC invia i dati come variabili di ambiente. Crea una variabile di ambiente per ogni proprietà nell'oggetto dati di input usando il nome e il valore della proprietà. - Quando la
args
matrice include una definizione di argomento di input JSON, DSC invia i dati come stringa che rappresentano i dati come oggetto JSON compresso all'argomento specificato.
Se non si definisce la input
proprietà e non si definisce un argomento di input JSON, DSC non può passare il codice JSON di input alla risorsa. È possibile definire un solo argomento di input JSON per un comando.
È necessario definire la input
proprietà, un argomento di input JSON nella args
matrice di proprietà o entrambi.
La export
definizione deve includere queste proprietà:
La executable
proprietà definisce il nome del comando da eseguire. Il valore deve essere il nome di un comando individuabile nella variabile di ambiente del PATH
sistema o nel percorso completo del comando. Un'estensione di file è necessaria solo quando il comando non è riconoscibile dal sistema operativo come eseguibile.
Type: string
Required: true
La args
proprietà definisce l'elenco di argomenti da passare al comando. Gli argomenti possono essere qualsiasi numero di stringhe. Se si vuole passare l'oggetto JSON che rappresenta il contenitore di proprietà per la risorsa a un argomento, è possibile definire un singolo elemento nella matrice come oggetto [JSON], che indica il nome dell'argomento con la jsonInputArg
proprietà stringa e se l'argomento è obbligatorio per il comando con la mandatory
proprietà booleana.
Type: array
Required: false
Default: []
Type: [string, object(JSON Input Argument)]
Qualsiasi elemento della matrice di argomenti può essere una stringa che rappresenta un argomento statico da passare al comando, ad esempio config
o --format
.
Type: string
Definisce un argomento per il comando che accetta l'oggetto di input JSON come stringa. DSC passa l'input JSON all'argomento denominato quando disponibile. Un argomento di input JSON è definito come oggetto JSON con le proprietà seguenti:
jsonInputArg
(obbligatorio) : l'argomento per passare i dati JSON al comando, ad esempio--input
.mandatory
(facoltativo) - Indicare se DSC deve sempre passare l'argomento al comando, anche quando non è disponibile alcun input JSON per il comando. In questo caso DSC passa una stringa vuota all'argomento di input JSON.
È possibile definire un solo argomento di input JSON per matrice di argomenti.
Se si definisce un argomento di input JSON e un input
tipo per un comando, DSC invia i dati JSON in entrambi i modi:
- Se si definisce
input
comeenv
e un argomento di input JSON, DSC imposta una variabile di ambiente per ogni proprietà nell'input JSON e passa l'oggetto di input JSON come stringa all'argomento definito. - Se si definisce
input
comestdin
e un argomento di input JSON, DSC passa l'input JSON su stdin e come stringa all'argomento definito. - Se si definisce un argomento di input JSON senza definire la
input
proprietà, DSC passa solo l'input JSON come stringa all'argomento definito.
Se non si definisce la input
proprietà e non si definisce un argomento di input JSON, DSC non può passare il codice JSON di input alla risorsa. Ciò rende il manifesto non valido. È necessario definire la input
proprietà, un argomento di input JSON nella args
matrice di proprietà o entrambi.
Type: object
RequiredProperties: [jsonInputArg]
La input
proprietà definisce come passare l'input alla risorsa. Se questa proprietà non è definita e la definizione non definisce un argomento di input JSON, DSC non invia alcun input alla risorsa quando richiama l'operazione export
.
Il valore di questa proprietà deve essere una delle stringhe seguenti:
env
- Indica che la risorsa prevede che le proprietà di un'istanza vengano specificate come variabili di ambiente con gli stessi nomi e maiuscole.Questa opzione supporta solo i tipi di dati seguenti per le proprietà dell'istanza:
boolean
integer
number
string
array
diinteger
valoriarray
dinumber
valoriarray
distring
valori
Per i valori non di matrice, DSC imposta la variabile di ambiente sul valore specificato come è. Quando il tipo di dati è una matrice di valori, DSC imposta la variabile di ambiente come stringa delimitata da virgole. Ad esempio, la proprietà
foo
con un valore di viene salvata nellafoo
variabile di[1, 2, 3]
ambiente come"1,2,3"
.Se la risorsa deve supportare proprietà complesse con un
object
valore o matrici multitipo, impostare questa opzione sustdin
.stdin
- Indica che la risorsa prevede un BLOB JSON che rappresenta un'istanza dastdin
. Il codice JSON deve rispettare lo schema dell'istanza per la risorsa.
Type: string
Required: false
ValidValues: [env, stdin]
Feedback su DSC
DSC è un progetto di open source. Selezionare un collegamento per fornire feedback: