DSC-erőforrásjegyzék exportálási tulajdonságséma-referenciája
Áttekintés
Meghatározza, hogyan lehet lekérni egy DSC-erőforrás minden példányának aktuális állapotát.
Metaadatok
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
Description
Egy parancsalapú DSC-erőforrásnak, amely egyetlen paranccsal képes számba adni önmagának minden példányát, meg kell határoznia a tulajdonságot a export
jegyzékben. Ez a tulajdonság határozza meg, hogy a DSC hogyan tudja lekérni az aktuális állapotot minden erőforráspéldányhoz. A tulajdonság definiálásakor a felhasználók a következőket tehetik:
- Adja meg az erőforrás egy példányát a dsc config export parancs bemeneti konfigurációjában egy használható konfigurációs dokumentum létrehozásához.
- Adja meg az erőforrást a dsc erőforrás exportálási parancsával egy olyan konfigurációs dokumentum létrehozásához, amely meghatározza az erőforrás minden példányát.
- Adja meg az erőforrást a dsc erőforrás get paranccsal és a --all lehetőséggel, amely az erőforrás minden példányának aktuális állapotát adja vissza.
Amikor a DSC meghívja a tulajdonság által definiált parancsot, az erőforrásnak minden példány aktuális állapotát JSON-sorokként kell visszaadnia. Minden JSON-sornak a példányt képviselő objektumnak kell lennie, és ellenőriznie kell a megadott erőforráspéldány sémáját.
A DSC három módon küld adatokat erre a parancsra:
- Ebben
input
az esetben astdin
DSC sztringként küldi el az adatokat tömörített JSON-objektumként, szóközök és új vonalak nélkül az objektumtulajdonságok között. - Ha
input
igen, aenv
DSC környezeti változókként küldi el az adatokat. Létrehoz egy környezeti változót a bemeneti adatobjektum minden tulajdonságához a tulajdonság nevével és értékével. - Ha a
args
tömb JSON bemeneti argumentumdefiníciót tartalmaz, a DSC az adatokat az adatokat tömörített JSON-objektumként képviselő sztringként küldi el a megadott argumentumnak.
Ha nem definiálja a input
tulajdonságot, és nem határoz meg JSON bemeneti argumentumot, a DSC nem tudja átadni a bemeneti JSON-t az erőforrásnak. Egy parancshoz csak egy JSON bemeneti argumentumot definiálhat.
Meg kell adnia a input
tulajdonságot, egy JSON bemeneti argumentumot a args
tulajdonságtömbben, vagy mindkettőt.
Kötelező tulajdonságok
A export
definíciónak tartalmaznia kell az alábbi tulajdonságokat:
Tulajdonságok
Kivihető
A executable
tulajdonság határozza meg a futtatandó parancs nevét. Az értéknek a rendszer környezeti változójában PATH
felderíthető parancs nevének vagy a parancs teljes elérési útjának kell lennie. Fájlkiterjesztésre csak akkor van szükség, ha az operációs rendszer nem ismeri fel a parancsot végrehajthatóként.
Type: string
Required: true
args
A args
tulajdonság határozza meg a parancsnak átadni kívánt argumentumok listáját. Az argumentumok tetszőleges számú sztringet tartalmazhatnak. Ha az erőforrás tulajdonságcsomagját képviselő JSON-objektumot egy argumentumnak szeretné átadni, a tömbben egyetlen elemet [JSON-objektumként] definiálhat, jelezve az argumentum nevét a jsonInputArg
sztring tulajdonsággal, és hogy az argumentum kötelező-e a mandatory
logikai tulajdonsággal rendelkező parancshoz.
Type: array
Required: false
Default: []
Type: [string, object(JSON Input Argument)]
Sztringargumentumok
Az argumentumtömb bármely eleme lehet egy statikus argumentumot képviselő sztring, amely a parancsnak továbbítható, például config
vagy --format
.
Type: string
JSON bemeneti argumentum
A JSON bemeneti objektumot sztringként elfogadó parancs argumentumát határozza meg. A DSC átadja a JSON-bemenetet a névvel ellátott argumentumnak, ha elérhető. A JSON bemeneti argumentum jSON-objektumként van definiálva a következő tulajdonságokkal:
jsonInputArg
(kötelező) – a JSON-adatok parancshoz való átadásának argumentuma, például--input
: .mandatory
(nem kötelező) – Azt jelzi, hogy a DSC-nek mindig át kell-e adnia az argumentumot a parancsnak, még akkor is, ha nincs JSON-bemenet a parancshoz. Ebben az esetben a DSC egy üres sztringet ad át a JSON bemeneti argumentumnak.
Argumentumtömbenként csak egy JSON bemeneti argumentum definiálható.
Ha egy JSON bemeneti argumentumot és egy parancstípust input
határoz meg, a DSC mindkét módon elküldi a JSON-adatokat:
- Ha jSON bemeneti argumentumként
env
definiálinput
, a DSC beállít egy környezeti változót a JSON-bemenet minden tulajdonságához, és sztringként továbbítja a JSON bemeneti objektumot a definiált argumentumnak. - Ha egy JSON bemeneti argumentumot definiál
input
stdin
, a DSC a JSON-bemenetet az stdin és a sztring fölé továbbítja a definiált argumentumnak. - Ha egy JSON bemeneti argumentumot definiál a tulajdonság definiálása nélkül, a
input
DSC csak sztringként továbbítja a JSON-bemenetet a definiált argumentumnak.
Ha nem definiálja a input
tulajdonságot, és nem határoz meg JSON bemeneti argumentumot, a DSC nem tudja átadni a bemeneti JSON-t az erőforrásnak. Ez érvénytelensé teszi a jegyzékfájlt. Meg kell adnia a input
tulajdonságot, egy JSON bemeneti argumentumot a args
tulajdonságtömbben, vagy mindkettőt.
Type: object
RequiredProperties: [jsonInputArg]
bemenet
A input
tulajdonság határozza meg, hogyan adhatja át a bemenetet az erőforrásnak. Ha ez a tulajdonság nincs definiálva, és a definíció nem határoz meg JSON bemeneti argumentumot, a DSC nem küld bemenetet az erőforrásnak a export
művelet meghívásakor.
A tulajdonság értékének a következő sztringek egyikének kell lennie:
env
– Azt jelzi, hogy az erőforrás elvárja, hogy egy példány tulajdonságai környezeti változóként legyenek megadva ugyanazokkal a névvel és burkolattal.Ez a beállítás csak a következő adattípusokat támogatja a példánytulajdonságokhoz:
boolean
integer
number
string
array
értékekinteger
array
értékeknumber
array
értékekstring
Nem tömbértékek esetén a DSC a környezeti változót a megadott értékre állítja. Ha az adattípus értéktömb, a DSC vesszővel tagolt sztringként állítja be a környezeti változót. Például a tulajdonság
foo
értéke[1, 2, 3]
a környezeti változóbanfoo
a következőként"1,2,3"
lesz mentve: .Ha az erőforrásnak olyan összetett tulajdonságokat kell támogatnia, amelyek
object
értéke vagy több típusú tömbje van, állítsa ezt inkább errestdin
.stdin
– Azt jelzi, hogy az erőforrás egy példányt képviselő JSON-blobot vár a következőtől:stdin
. A JSON-nak meg kell felelnie az erőforrás példánysémának.
Type: string
Required: false
ValidValues: [env, stdin]