Schema för DSC-konfigurationsdokumentresursinstans
Synopsis
Definierar en DSC-resursinstans i ett konfigurationsdokument.
Metadata
SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.resource.json
Type: object
Description
Egenskapen resources
för ett DSC-konfigurationsdokument innehåller alltid minst en DSC-resursinstans. Tillsammans definierar instanserna i en konfiguration önskat tillstånd som DSC kan hämta, testa och ange på en dator.
Det här dokumentet beskriver JSON-schemat för en giltig DSC-resursinstans i ett konfigurationsdokument.
Mer information om DSC-resurser finns i Anatomi för en kommandobaserad DSC-resurs.
Nödvändiga egenskaper
Varje resursinstans måste vara ett objekt som definierar dessa egenskaper:
Egenskaper
name
Egenskapen name
för en resursinstans definierar det korta, läsbara namnet för en DSC-resursinstans. Den här egenskapen måste vara unik i ett DSC-konfigurationsdokument. Om några resursinstanser har samma namn genererar DSC ett fel.
Instansnamnet måste vara en icke-tom sträng som endast innehåller bokstäver, siffror och blanksteg.
Type: string
Required: true
MinimumLength: 1
Pattern: ^[a-zA-Z0-9 ]+$
typ
Egenskapen type
identifierar instansens DSC-resurs. Värdet för den här egenskapen måste vara det giltiga fullständigt kvalificerade typnamnet för resursen. Mer information om typnamn finns i schemareferensen för DSC-resursens fullständigt kvalificerade typnamn.
Type: string
Required: true
Pattern: ^\w+(\.\w+){0,2}\/\w+$
properties
För properties
en resursinstans definierar du önskat tillstånd. Värdet för den här egenskapen måste vara ett objekt. För kontrollresurser kan värdet vara ett tomt objekt ({}
). DSC använder DSC-resursens instansschema för att verifiera de definierade egenskaperna.
Type: object
Required: true
dependsOn
Om du vill deklarera att en resursinstans är beroende av en annan instans i konfigurationen definierar du dependsOn
egenskapen.
Den här egenskapen definierar en lista över DSC-resursinstanser som DSC måste bearbeta innan den här instansen bearbetas. Varje värde för den här egenskapen måste vara resourceID() -funktionssökningen för en annan instans i konfigurationen. Flera instanser kan vara beroende av samma instans, men varje beroende för en instans måste vara unikt i den instansens dependsOn
egenskap.
Funktionen resourceID()
använder den här syntaxen:
"[resourceId('<resource-type-name>', '<instance-name>']"
Värdet <resource-type-name>
är egenskapen för type
den beroende resursen och <instance-name>
är beroendets name
egenskap. När du lägger till ett beroende i ett YAML-formatkonfigurationsdokument omsluter du alltid sökningen resourceID()
med dubbla citattecken ("
).
Den här instansen beror till exempel på en instans av resursen Microsoft.Windows/Registry
med namnet Tailspin Key
:
- name: Tailspin Key
type: Microsoft.Windows/Registry
properties:
keyPath: HKCU\tailspin
_ensure: Present
- name: Update Tailspin Automatically
type: Microsoft.Windows/Registry
properties:
keyPath: HKCU\tailspin\updates
valueName: automatic
valueData:
String: enable
dependsOn:
- "[resourceId('Microsoft.Windows/Registry', 'Tailspin Key')]"
Anteckning
När du definierar beroenden för kapslade resursinstanser kan instanser bara referera till beroenden i samma resursprovider eller gruppinstans. De kan inte använda resourceId()
funktionen för att söka efter instanser på den översta nivån i konfigurationsdokumentet eller inuti en annan provider eller gruppinstans.
Om en instans på den översta nivån är beroende av en kapslad instans använder du resourceId()
funktionen för att leta upp instansen av providern eller gruppen som innehåller beroendeinstansen i stället.
Mer information om hur du använder funktioner i konfigurationsdokument finns i referens för dokumentfunktioner för DSC-konfiguration. Mer information om funktionen finns i resourceId()
resourceId.
Type: array
Required: false
ItemsMustBeUnique: true
ItemsType: string
ItemsPattern: ^\[resourceId\(\s*'\w+(\.\w+){0,2}\/\w+'\s*,\s*'[a-zA-Z0-9 ]+'\s*\)\]$