Schemat wystąpienia zasobu dokumentu konfiguracji DSC
Streszczenie
Definiuje wystąpienie zasobu DSC w dokumencie konfiguracji.
Metadane
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
Opis
Właściwość resources
dokumentu konfiguracji DSC zawsze zawiera co najmniej jedno wystąpienie zasobu DSC. Razem wystąpienia w konfiguracji definiują żądany stan, który DSC może uzyskać, przetestować i ustawić na maszynie.
W tym dokumencie opisano schemat JSON dla prawidłowego wystąpienia zasobu DSC w dokumencie konfiguracji.
Aby uzyskać więcej informacji na temat zasobów DSC, zobacz Anatomia zasobu DSC opartego na poleceniach.
Wymagane właściwości
Każde wystąpienie zasobu musi być obiektem definiującym następujące właściwości:
Właściwości
name
Właściwość name
wystąpienia zasobu definiuje krótką, czytelną dla człowieka nazwę wystąpienia zasobu DSC. Ta właściwość musi być unikatowa w dokumencie konfiguracji DSC. Jeśli jakiekolwiek wystąpienia zasobów mają taką samą nazwę, rozszerzenie DSC zgłasza błąd.
Nazwa wystąpienia musi być ciągiem niepustym zawierającym tylko litery, cyfry i spacje.
Type: string
Required: true
MinimumLength: 1
Pattern: ^[a-zA-Z0-9 ]+$
typ
Właściwość type
identyfikuje zasób DSC wystąpienia. Wartość tej właściwości musi być prawidłową w pełni kwalifikowaną nazwą typu zasobu. Aby uzyskać więcej informacji na temat nazw typów, zobacz Dokumentacja schematu w pełni kwalifikowanej nazwy typu zasobu DSC.
Type: string
Required: true
Pattern: ^\w+(\.\w+){0,2}\/\w+$
properties
Element properties
wystąpienia zasobu definiuje żądany stan. Wartość tej właściwości musi być obiektem. W przypadku zasobów asercji wartość może być pustym obiektem ({}
). Rozszerzenie DSC używa schematu wystąpienia zasobu DSC do weryfikowania zdefiniowanych właściwości.
Type: object
Required: true
dependsOn
Aby zadeklarować, że wystąpienie zasobu jest zależne od innego wystąpienia w konfiguracji, zdefiniuj dependsOn
właściwość .
Ta właściwość definiuje listę wystąpień zasobów DSC, które należy pomyślnie przetworzyć przed przetworzeniem tego wystąpienia. Każda wartość tej właściwości musi być wyszukiwaniem funkcji resourceID() dla innego wystąpienia w konfiguracji. Wiele wystąpień może zależeć od tego samego wystąpienia, ale każda zależność dla wystąpienia musi być unikatowa dependsOn
we właściwości tego wystąpienia.
Funkcja resourceID()
używa tej składni:
"[resourceId('<resource-type-name>', '<instance-name>']"
Wartość <resource-type-name>
jest właściwością type
zasobu zależnego i <instance-name>
jest właściwością zależności name
. Podczas dodawania zależności w dokumencie konfiguracji formatu YAML zawsze zawijaj resourceID()
wyszukiwanie w cudzysłowach ("
).
Na przykład to wystąpienie zależy od wystąpienia Microsoft.Windows/Registry
zasobu o nazwie 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')]"
Uwaga
Podczas definiowania zależności dla zagnieżdżonych wystąpień zasobów wystąpienia mogą odwoływać się tylko do zależności w tym samym dostawcy zasobów lub wystąpieniu grupy. Nie mogą używać resourceId()
funkcji do wyszukiwania wystąpień na najwyższym poziomie dokumentu konfiguracji lub wewnątrz innego dostawcy lub wystąpienia grupy.
Jeśli wystąpienie najwyższego poziomu zależy od wystąpienia zagnieżdżonego, użyj resourceId()
funkcji , aby wyszukać wystąpienie dostawcy lub grupy zawierającej wystąpienie zależności.
Aby uzyskać więcej informacji na temat używania funkcji w dokumentach konfiguracji, zobacz dokumentacja funkcji konfiguracji DSC. Aby uzyskać więcej informacji na temat resourceId()
funkcji, zobacz resourceId.
Type: array
Required: false
ItemsMustBeUnique: true
ItemsType: string
ItemsPattern: ^\[resourceId\(\s*'\w+(\.\w+){0,2}\/\w+'\s*,\s*'[a-zA-Z0-9 ]+'\s*\)\]$