DSC-Konfigurationsdokumentressource instance Schema
Zusammenfassung
Definiert eine DSC-Ressource instance in einem Konfigurationsdokument.
Metadaten
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
Beschreibung
Die resources
Eigenschaft eines DSC-Konfigurationsdokuments enthält immer mindestens eine DSC-Ressourcen-instance. Zusammen definieren die Instanzen in einer Konfiguration den gewünschten Zustand, den DSC auf einem Computer abrufen, testen und festlegen kann.
In diesem Dokument wird das JSON-Schema für eine gültige DSC-Ressourcen-instance in einem Konfigurationsdokument beschrieben.
Weitere Informationen zu DSC-Ressourcen finden Sie unter Anatomie einer befehlsbasierten DSC-Ressource.
Erforderliche Eigenschaften
Jede Ressource instance muss ein Objekt sein, das diese Eigenschaften definiert:
Eigenschaften
name
Die name
Eigenschaft einer Ressource instance definiert den kurzen, lesbaren Namen für eine DSC-Ressourcen-instance. Diese Eigenschaft muss innerhalb eines DSC-Konfigurationsdokuments eindeutig sein. Wenn Ressourceninstanzen denselben Namen haben, löst DSC einen Fehler aus.
Der instance Name muss eine nicht leere Zeichenfolge sein, die nur Buchstaben, Zahlen und Leerzeichen enthält.
Type: string
Required: true
MinimumLength: 1
Pattern: ^[a-zA-Z0-9 ]+$
Typ
Die type
-Eigenschaft identifiziert die DSC-Ressource des instance. Der Wert für diese Eigenschaft muss der gültige vollqualifizierte Typname für die Ressource sein. Weitere Informationen zu Typnamen finden Sie unter Vollständig qualifizierte DSC-Ressourcentypnamensschemareferenz.
Type: string
Required: true
Pattern: ^\w+(\.\w+){0,2}\/\w+$
properties
Der properties
einer Ressource instance ihren gewünschten Zustand definieren. Der Wert dieser Eigenschaft muss ein -Objekt sein. Für Assertionsressourcen kann der Wert ein leeres Objekt ({}
) sein. DSC verwendet das instance Schema der DSC-Ressource, um die definierten Eigenschaften zu überprüfen.
Type: object
Required: true
dependsOn
Um zu deklarieren, dass eine Ressource instance von einem anderen instance in der Konfiguration abhängig ist, definieren Sie die dependsOn
-Eigenschaft.
Diese Eigenschaft definiert eine Liste von DSC-Ressourceninstanzen, die DSC vor der Verarbeitung dieses instance erfolgreich verarbeiten muss. Jeder Wert für diese Eigenschaft muss die resourceID()-Funktionssuche für eine andere instance in der Konfiguration sein. Mehrere Instanzen können vom gleichen instance abhängen, aber jede Abhängigkeit für eine instance muss in der Eigenschaft dieses dependsOn
instance eindeutig sein.
Die resourceID()
Funktion verwendet die folgende Syntax:
"[resourceId('<resource-type-name>', '<instance-name>']"
Der <resource-type-name>
Wert ist die type
Eigenschaft der abhängigen Ressource und <instance-name>
die Eigenschaft der name
Abhängigkeit. Wenn Sie eine Abhängigkeit in einem Konfigurationsdokument im YAML-Format hinzufügen, umschließen Sie die resourceID()
Suche immer in doppelte Anführungszeichen ("
).
Diese instance hängt beispielsweise von einer instance der Ressource mit dem Microsoft.Windows/Registry
Namen abTailspin 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')]"
Hinweis
Beim Definieren von Abhängigkeiten für geschachtelte Ressourceninstanzen können Instanzen nur auf Abhängigkeiten in demselben Ressourcenanbieter oder derselben Gruppe verweisen instance. Sie können die resourceId()
Funktion nicht verwenden, um Instanzen auf der obersten Ebene des Konfigurationsdokuments oder innerhalb eines anderen Anbieters oder einer Gruppe instance.
Wenn ein instance der obersten Ebene von einem geschachtelten instance abhängig ist, verwenden Sie die resourceId()
Funktion, um stattdessen die instance des Anbieters oder der Gruppe zu suchen, die die Abhängigkeit instance enthält.
Weitere Informationen zur Verwendung von Funktionen in Konfigurationsdokumenten finden Sie unter Referenz zu DSC-Konfigurationsdokumentfunktionen. Weitere Informationen zur resourceId()
Funktion finden Sie unter resourceId.
Type: array
Required: false
ItemsMustBeUnique: true
ItemsType: string
ItemsPattern: ^\[resourceId\(\s*'\w+(\.\w+){0,2}\/\w+'\s*,\s*'[a-zA-Z0-9 ]+'\s*\)\]$