Compartilhar via


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

Sinopse

Define uma instância de recurso DSC em um 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

Descrição

A resources propriedade de um documento de Configuração de DSC sempre inclui pelo menos uma instância de recurso DSC. Juntas, as instâncias em uma configuração definem o estado desejado que a DSC pode obter, testar e definir em um computador.

Este documento descreve o esquema JSON para uma instância de recurso DSC válida em um documento de configuração.

Para obter mais informações sobre recursos de DSC, consulte Anatomia de um recurso DSC baseado em comando.

Propriedades obrigatórias

Cada instância de recurso deve ser um objeto que define estas propriedades:

Propriedades

name

A name propriedade de uma instância de recurso define o nome curto e legível para uma instância de recurso DSC. Essa propriedade deve ser exclusiva em um documento de Configuração de DSC. Se qualquer instância de recurso compartilhar o mesmo nome, a DSC gerará um erro.

O nome da instância deve ser uma cadeia de caracteres 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 dessa propriedade deve ser o nome de tipo totalmente qualificado válido para o recurso. Para obter mais informações sobre nomes de tipo, consulte Referência de esquema de nome de tipo totalmente qualificado do recurso DSC.

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

properties

O properties de uma instância de recurso define seu estado desejado. O valor dessa propriedade deve ser um objeto . Para recursos de declaração, o valor pode ser um objeto vazio ({}). A DSC usa o esquema de instância do Recurso DSC para validar as propriedades definidas.

Type:     object
Required: true

dependsOn

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

Essa propriedade define uma lista de instâncias de recurso DSC que a DSC deve processar com êxito antes de processar essa instância. Cada valor dessa propriedade deve ser a pesquisa de função resourceID() para outra instância na configuração. Várias instâncias podem depender da mesma instância, mas cada dependência de uma instância deve ser exclusiva na propriedade dessa dependsOn instância.

A resourceID() função usa essa 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 em um documento de configuração no formato YAML, sempre encapsule a resourceID() pesquisa entre aspas duplas (").

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

Observação

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

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

Para obter mais informações sobre como usar funções em documentos de configuração, consulte Referência de funções de documento de configuração de DSC. Para obter mais informações sobre a resourceId() função, consulte resourceId.

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