conjunto de recursos dsc
Sinopse
Invoca a operação definida de um recurso.
Syntax
Propriedades da instância do stdin
<instance-properties> | dsc resource set [Options] --resource <RESOURCE>
Propriedades da instância da opção de entrada
dsc resource set --input '<instance-properties>' --resource <RESOURCE>
Propriedades da instância do arquivo
dsc resource set --path <instance-properties-filepath> --resource <RESOURCE>
Descrição
O set
subcomando impõe o estado desejado de uma instância de recurso e retorna o estado final.
Esse subcomando define uma instância de um recurso DSC específico. Para definir vários recursos, use um grupo de recursos ou o comando dsc config set .
O estado desejado da instância a ser definida deve ser passado para esse comando como um objeto JSON ou YAML.
As propriedades do objeto devem ser propriedades válidas para o recurso. As propriedades da instância podem ser passadas para esse comando de stdin, como uma cadeia de caracteres com a opção --input
ou de um arquivo salvo com a opção --path
.
Esse subcomando só pode ser invocado para recursos DSC baseados em comando que definem a set
seção de seu manifesto de recurso. Se esse subcomando for chamado para um recurso que não define uma operação definida, o DSC gerará um erro.
Importante
O dsc resource set
comando sempre invoca a set
operação para o recurso. Os recursos podem, mas não são necessários, implementar uma lógica que pré-atesta uma instância para a set
operação.
Isso é diferente de como o conjunto de configurações dsc funciona, em que o DSC sempre testa uma instância, sinteticamente ou invocando a test
operação para o recurso e invoca set
apenas para uma instância se ela não estiver no estado desejado.
Os recursos baseados em comando indicam se eles implementam o pretest para a set
operação definindo a propriedade set.implementsPretest no manifesto do recurso. Se essa propriedade for definida como true
, ela indicará que o recurso implementa o pré-teste. Se set.implementsPretest
estiver definido false
como ou for indefinido, o manifesto indicará que o recurso não implementa o pré-teste.
Se um recurso indicar que ele implementa o pré-teste, os usuários deverão esperar que o recurso modifique apenas uma instância durante uma set
operação se o pré-teste mostrar que a instância não está no estado desejado.
Se um recurso não implementar o pré-teste, os usuários deverão esperar que o recurso sempre modifique uma instância durante uma set
operação.
Para recursos que não implementam pré-testes para a operação, a set
Microsoft recomenda sempre chamar dsc resource test
em uma instância para ver se ela está no estado desejado antes de invocar dsc resource set
. Isso pode ajudar a evitar erros acidentais causados por recursos que não implementam um comando totalmente idempotente set
.
Exemplos
Exemplo 1 – Definir um recurso com propriedades de stdin
O comando garante que a Example
chave exista no hive de usuário atual. Ele especifica as propriedades da instância de recurso como JSON e as passa de stdin.
'{
"keyPath": "HKCU\\Example",
"_exist": true
}' | dsc resource set --resource Microsoft.Windows/Registry
Exemplo 2 – Definir um recurso com a opção de entrada
O comando garante que a Example
chave exista no hive de usuário atual. Ele especifica as propriedades da instância de recurso como JSON e as passa com a opção de entrada .
dsc resource set --resource Microsoft.Windows/Registry --input '{
"keyPath": "HKCU\\Example",
"_exist": true
}'
Exemplo 3 – Definir um recurso com propriedades de um arquivo YAML
O comando garante que a Example
chave exista no hive de usuário atual. Ele especifica o caminho para um arquivo yaml que define as propriedades da instância de recurso com a opção path .
cat ./example.yaml
keyPath: HKCU\\Example
_exist: true
dsc resource set --resource Microsoft.Windows/Registry --path ./example.yaml
Opções
-r, --resource
Especifica o nome de tipo totalmente qualificado do recurso DSC a ser usado, como Microsoft.Windows/Registry
.
A sintaxe de nome de tipo totalmente qualificado é: <owner>[.<group>][.<area>]/<name>
, em que:
- O
owner
é o autor ou organização que mantém o recurso. - Os
group
earea
são componentes de nome opcionais que habilitam o espaçamento de nomes para um recurso. - O
name
identifica o componente que o recurso gerencia.
Type: String
Mandatory: true
-i, --input
Especifica um objeto JSON ou YAML com as propriedades que definem o estado desejado de uma instância de recurso DSC. O DSC valida o objeto em relação ao esquema de instância do recurso. Se a validação falhar, o DSC gerará um erro.
Essa opção não pode ser usada com propriedades de instância sobre stdin ou a opção --path
. Escolha se deseja passar as propriedades da instância para o comando sobre stdin, de um arquivo com a opção --path
ou com a opção --input
.
Type: String
Mandatory: false
-p, --path
Define o caminho para um arquivo de texto a ser lido como entrada para o comando em vez de canalizar a entrada de stdin ou passá-la como uma cadeia de caracteres com a opção --input
. O arquivo especificado deve conter JSON ou YAML que represente propriedades válidas para o recurso. O DSC valida o objeto em relação ao esquema de instância do recurso. Se a validação falhar ou se o arquivo especificado não existir, o DSC gerará um erro.
Essa opção é mutuamente exclusiva com a opção --input
. Quando você usa essa opção, o DSC ignora qualquer entrada de stdin.
Type: String
Mandatory: false
-f, --format
A --format
opção controla o formato de saída do console para o comando . Se a saída do comando for redirecionada ou capturada como uma variável, a saída será sempre JSON.
Type: String
Mandatory: false
DefaultValue: yaml
ValidValues: [json, pretty-json, yaml]
-h, --help
Exibe a ajuda para o comando ou subcomando atual. Quando você especifica essa opção, o aplicativo ignora todas as opções e argumentos após essa.
Type: Boolean
Mandatory: false
Saída
Esse comando retorna a saída JSON que inclui o estado real da instância antes e depois da operação definida e a lista de propriedades que a operação de conjunto modificou. Para obter mais informações, consulte esquema de resultados do conjunto de recursos dsc.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de