Partilhar via


Esquema da instância de recurso do documento de Configuração do DSC

Sinopse

Define uma instância de Recurso do DSC num documento de configuração.

Metadados

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

A resources propriedade de um documento de Configuração do DSC inclui sempre, pelo menos, uma instância de Recurso do DSC. Em conjunto, as instâncias numa configuração definem o estado pretendido que o DSC pode obter, testar e definir num computador.

Este documento descreve o esquema JSON de uma instância de Recurso DSC válida num documento de configuração.

Para obter mais informações sobre os Recursos do DSC, veja Anatomia de um Recurso DSC baseado em comandos.

Propriedades Necessárias

Cada instância de recurso tem de ser um objeto que defina estas propriedades:

Propriedades

name

A name propriedade de uma instância de recurso define o nome curto e legível por humanos para uma instância de Recurso do DSC. Esta propriedade tem de ser exclusiva num documento de Configuração do DSC. Se alguma instância de recurso partilhar o mesmo nome, o DSC gera um erro.

O nome da instância tem de ser uma cadeia não vazia que contenha apenas letras, números e espaços.

Type:          string
Required:      true
MinimumLength: 1
Pattern:       ^[a-zA-Z0-9 ]+$

tipo

A type propriedade identifica o Recurso DSC da instância. O valor desta propriedade tem de ser o nome de tipo completamente qualificado válido para o recurso. Para obter mais informações sobre nomes de tipos, veja Referência de esquema de nome de tipo completamente qualificado do Recurso DSC.

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

propriedades

A properties instância de um recurso define o estado pretendido. O valor desta propriedade tem de ser um objeto. Para recursos de asserção, o valor pode ser um objeto vazio ({}). O DSC utiliza o esquema de instância do Recurso do DSC para validar as propriedades definidas.

Type:     object
Required: true

dependsOn

Para declarar que uma instância de recurso está dependente de outra instância na configuração, defina a dependsOn propriedade.

Esta propriedade define uma lista de instâncias de Recursos do DSC que o DSC tem de processar com êxito antes de processar esta instância. Cada valor para esta propriedade tem de ser a pesquisa da função resourceID() para outra instância na configuração. Várias instâncias podem depender da mesma instância, mas todas as dependências de uma instância têm de ser exclusivas na propriedade dessa dependsOn instância.

A resourceID() função utiliza esta sintaxe:

"[resourceId('<resource-type-name>', '<instance-name>']"

O <resource-type-name> valor é a type propriedade do recurso dependente e <instance-name> é a propriedade da name dependência. Ao adicionar uma dependência num documento de configuração de formato YAML, embrulhe sempre a resourceID() pesquisa em aspas duplas (").

Por exemplo, esta instância depende de uma instância do recurso com o Microsoft.Windows/Registry nome 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')]"

Nota

Ao definir dependências para instâncias de recursos aninhadas, as instâncias só podem referenciar dependências no mesmo fornecedor de recursos ou instância de grupo. Não podem utilizar a resourceId() função para procurar instâncias no nível superior do documento de configuração ou dentro de outro fornecedor ou instância de grupo.

Se uma instância de nível superior depender de uma instância aninhada, utilize a resourceId() função para procurar a instância do fornecedor ou grupo que contém a instância de dependência.

Para obter mais informações sobre como utilizar funções em documentos de configuração, veja Referência de funções de documentos de Configuração do DSC. Para obter mais informações sobre a resourceId() função, veja resourceId.

Type:              array
Required:          false
ItemsMustBeUnique: true
ItemsType:         string
ItemsPattern:      ^\[resourceId\(\s*'\w+(\.\w+){0,2}\/\w+'\s*,\s*'[a-zA-Z0-9 ]+'\s*\)\]$