Megosztás a következőn keresztül:


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:

  1. Ebben input az esetben a stdinDSC 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.
  2. Ha input igen, a envDSC 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.
  3. 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 inputstdin , 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ékek integer
    • arrayértékek number
    • arrayértékek string

    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óban foo 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 erre stdin .

  • 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]