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