Freigeben über


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*\)\]$