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


Parancsalapú DSC-erőforrásjegyzék sémahivatkozása

Áttekintés

A parancsalapú DSC-erőforrást meghatározó adatfájl.

Metaadatok

SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID:      https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.json
Type:          object

Leírás

Minden parancsalapú DSC-erőforrásnak rendelkeznie kell egy jegyzékfájlval. A jegyzékfájlnak a következőnek kell lennie:

  1. A PATH környezeti változóban is felfedezhető.
  2. Legyen JSON vagy YAML formátumban formázva.
  3. Kövesse az elnevezési konvenció <name>.dsc.resource.<extension>. Az érvényes bővítmények közé tartozik a json, a ymlés a yaml.
  4. Érvényesnek kell lennie a dokumentumban leírt sémára.

A dokumentum többi része a jegyzék sémáját írja le.

Kötelező tulajdonságok

A jegyzéknek tartalmaznia kell az alábbi tulajdonságokat:

Kellékek

$schema

A $schema tulajdonság a séma URI-ját jelzi, amelyet a jegyzék érvényesít. Ez a tulajdonság kötelező. A DSC ezzel az értékkel ellenőrzi a jegyzékfájlt a megfelelő JSON-sémával.

A séma minden verziójához három érvényes URL-cím található:

  • .../resource/manifest.json

    A canonical non-bundled séma URL-címe. Ha érvényesítésre használják, az érvényesítő ügyfélnek le kell kérnie ezt a sémát és minden hivatkozott sémát.

  • .../bundled/resource/manifest.json

    A csomagolt séma URL-címe. Ha érvényesítésre használják, az érvényesítő ügyfélnek csak le kell kérnie ezt a sémát.

    Ez a séma a JSON Schema 2020-12-hez bevezetett csomagküldő modellt használja. Bár a DSC továbbra is érvényesíteni tudja a dokumentumot, amikor ezt a sémát használja, más eszközök nem várt módon hibát vagy viselkedést okozhatnak.

  • .../bundled/resource/manifest.vscode.json

    A bővített szerzői séma URL-címe. Ez a séma sokkal nagyobb, mint a többi séma, mivel további definíciókat tartalmaz, amelyek környezeti segítséget és kódrészleteket biztosítanak, amelyeket a többiek nem tartalmaznak.

    Ez a séma olyan kulcsszavakat használ, amelyeket csak a VS Code ismer fel. Bár a DSC továbbra is érvényesíteni tudja a dokumentumot, amikor ezt a sémát használja, más eszközök nem várt módon hibát vagy viselkedést okozhatnak.

Type:        string
Required:    true
Format:      URI
ValidValues: [
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/resource/manifest.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/resource/manifest.vscode.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json
               https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json
             ]

típus

A type tulajdonság az erőforrás teljes típusnevét jelöli. Az erőforrás konfigurációs dokumentumokban való megadására szolgál, valamint a --resource jelölő értékeként a dsc resource * parancsok használatakor. További információ az erőforrástípusnevekről: DSC-erőforrás teljes típusnévséma-referencia.

Type:     string
Required: true
Pattern:  ^\w+(\.\w+){0,2}\/\w+$

verzió

A version tulajdonságnak érvényes szemantikai (szemantikai) sztringként az erőforrás aktuális verziójának kell lennie. A verzió az erőforrásra vonatkozik, nem az általa kezelt szoftverre.

Type:     string
Required: true
Pattern:  ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$

leírás

A description tulajdonság az erőforrás céljának szinopszisát határozza meg. A tulajdonság értékének rövid sztringnek kell lennie.

Type:     string
Required: false

fajta

A kind tulajdonság határozza meg, hogy a DSC hogyan kezelje az erőforrást. A DSC háromféle parancsalapú DSC-erőforrást támogat: Resource, Groupés Adapter.

Ha kind nincs definiálva az erőforrásjegyzékben, a DSC a tulajdonság értékét keresi. Ha a adapter tulajdonság az erőforrásjegyzékben van definiálva, a DSC a kind értékét Adapter. Ha a adapter tulajdonság nincs definiálva, a DSC a kind értékét Resource. A DSC nem tudja megállapítani, hogy a jegyzék egy csoporterőforráshoz tartozik-e.

Csoporterőforrás definiálásakor mindig explicit módon határozza meg a jegyzékben szereplő kind tulajdonságot Group.

További információ: DSC-erőforrástípus sémahivatkozása.

Type:        string
Required:    false
ValidValues: [Resource, Adapter, Group]

Címkék

A tags tulajdonság az erőforrás kereshető kifejezéseinek listáját határozza meg. A tulajdonság értékének sztringtömbnek kell lennie. Minden címke csak alfanumerikus karaktereket és aláhúzásjeleket tartalmazhat. Más karakterek nem engedélyezettek. Minden címkének egyedinek kell lennie.

Type:              array
Required:          false
ItemsMustBeUnique: true
ItemsType:         string
ItemsPattern:      ^\w+$

kivitel

A export tulajdonság határozza meg, hogyan hívhatja meg az erőforrást az egyes példányok aktuális állapotának lekéréséhez. Ha ez a tulajdonság meg van határozva, a felhasználók a következőt tehetik:

  • Adja meg az erőforrás egy példányát a dsc konfiguráció exportálási parancs bemeneti konfigurációjában használható konfigurációs dokumentum létrehozásához.
  • Adja meg az erőforrást a dsc erőforrásexportálási paranccsal az erőforrás minden példányát meghatározó konfigurációs dokumentum létrehozásához.
  • Adja meg az erőforrást a dsc erőforrás get parancsával és a --all beállítással, amely az erőforrás minden példányának aktuális állapotát adja vissza.

A tulajdonság értékének objektumnak kell lennie. Az objektum executable tulajdonsága, amely meghatározza a meghívandó parancs nevét, kötelező. A args tulajdonság megadása nem kötelező. További információ: DSC-erőforrásjegyzék exportálási tulajdonságséma-referencia.

Type:     object
Required: true

kap

A get tulajdonság határozza meg, hogyan hívhatja meg az erőforrást egy példány aktuális állapotának lekéréséhez. Ez a tulajdonság minden erőforrás esetében kötelező.

A tulajdonság értékének objektumnak kell lennie. Az objektum executable tulajdonsága, amely meghatározza a meghívandó parancs nevét, kötelező. A args és input tulajdonságok megadása nem kötelező. További információ: DSC-erőforrásjegyzék tulajdonságséma-referencia.

Type:     object
Required: true

beállít

A set tulajdonság határozza meg, hogyan hívhatja meg az erőforrást egy példány kívánt állapotának beállításához. Azt is meghatározza, hogyan dolgozza fel az erőforrás kimenetét ehhez a metódushoz. Ha ez a tulajdonság nincs definiálva, a DSC nem tudja kezelni az erőforrás példányait. Csak az aktuális állapotukat tudja lekérni, és tesztelni, hogy a példány a kívánt állapotban van-e.

A tulajdonság értékének objektumnak kell lennie. A meghívandó parancs nevét meghatározó executable tulajdonság megadása kötelező. A argsinput, implementsPretestés returns tulajdonságok megadása nem kötelező. További információ: DSC-erőforrásjegyzék-készlet tulajdonságséma-referencia.

Type:     object
Required: false

whatIf

Meghatározza, hogy a DSC-nek hogyan kell meghívnia a DSC-erőforrást annak jelzéséhez, hogy a beállított parancs módosít-e egy példányt, és hogyan dolgozza fel a DSC-erőforrás kimenetét. Ha egy erőforrás nem definiálja ezt a metódust a jegyzékben, a DSC szintetizálja ezt a viselkedést az erőforrás tesztműveletének eredményének a beállított eredményké alakításával.

A tulajdonság értékének objektumnak kell lennie. A meghívandó parancs nevét meghatározó executable tulajdonság megadása kötelező. A argsinput, implementsPretestés returns tulajdonságok megadása nem kötelező. További információ: DSC-erőforrásjegyzék whatIf tulajdonságséma-referencia.

teszt

A test tulajdonság határozza meg, hogyan hívhatja meg az erőforrást annak teszteléséhez, hogy egy példány a kívánt állapotban van-e. Azt is meghatározza, hogyan dolgozza fel az erőforrás kimenetét ehhez a metódushoz. Ha ez a tulajdonság nincs definiálva, a DSC egy alapszintű szintetikus tesztet végez a DSC-erőforrás példányaihoz.

A tulajdonság értékének objektumnak kell lennie. Az objektum executable tulajdonsága, amely meghatározza a meghívandó parancs nevét, kötelező. A argsinputés returns tulajdonságok megadása nem kötelező. További információ: DSC-erőforrásjegyzék-teszt tulajdonságséma-referencia.

Type:     object
Required: false

érvényesít

A validate tulajdonság határozza meg, hogyan hívhat meg egy DSC-csoporterőforrást a példányok ellenőrzéséhez. Ez a tulajdonság a DSC-csoporterőforrások esetében kötelező. A DSC figyelmen kívül hagyja ezt a tulajdonságot az összes többi erőforrás esetében.

A tulajdonság értékének objektumnak kell lennie. Az objektum executable tulajdonsága, amely meghatározza a meghívandó parancs nevét, kötelező. A args tulajdonság megadása nem kötelező. További információ: DSC-erőforrásjegyzék tulajdonságséma-referenciájának ellenőrzése.

Type:     object
Required: false

szolgáltató

Ha meg van adva, a provider tulajdonság DSC-erőforrás-szolgáltatóként határozza meg az erőforrást.

A tulajdonság értékének objektumnak kell lennie. Az objektum list és config tulajdonságai kötelezőek. A list tulajdonság határozza meg, hogyan hívhatja meg a szolgáltatót a szolgáltató által kezelhető erőforrások visszaadására. A config tulajdonság határozza meg, hogy a szolgáltató hogyan vár bemenetet. További információ: DSC-erőforrásjegyzék-szolgáltató tulajdonságséma-referenciája.

exitCodes

A exitCodes tulajdonság érvényes kilépési kódok készletét határozza meg az erőforráshoz és jelentésükhöz. Adja meg ezt a tulajdonságot kulcs-érték párok készleteként, ahol:

  • A kulcs egy aláírt egész számot tartalmazó sztring, amely az erőforrás ismert kilépési kódjára képez le. A kilépési kódnak konstans aláírt egész számnak kell lennie. A kilépési kódhoz nem használhat alternatív formátumokat. Például a "Hozzáférés megtagadva" 0x80070005 hexadecimális értéke helyett adja meg a kilépési kódot -2147024891.
  • Az érték egy sztring, amely az emberi olvasó kilépési kódjának szemantikai jelentését írja le.

A DSC a 0 kilépési kódot sikeres műveletként, a többi kilépési kódot pedig hibaként értelmezi.

Borravaló

Ha az erőforrásjegyzéket yaml-ben szerkeszti, ügyeljen arra, hogy a kilépési kódot egyetlen idézőjelbe burkolja, hogy a YAML-fájl megfelelően elemezhető legyen. Például:

exitCodes:
  '0': Success
  '1': Invalid parameter
  '2': Invalid input
  '3': Registry error
  '4': JSON serialization failed
Type:                object
Required:            false
PropertyNamePattern: ^-?[0-9]+#
PropertyValueType:   string

séma

A schema tulajdonság határozza meg, hogyan szerezheti be az erőforrás egy példányát érvényesítő JSON-sémát. Ennek a tulajdonságnak mindig olyan objektumnak kell lennie, amely az alábbi tulajdonságok egyikét határozza meg:

  • command – A command tulajdonság megadásakor a DSC meghívja a megadott parancsot a JSON-séma lekéréséhez.
  • embedded – A embedded tulajdonság megadásakor a DSC a definiált értéket használja JSON-sémaként.

További információ: DSC-erőforrásjegyzék sématulajdonság-referenciája.

Type:     object
Required: true