

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS CloudFormation Guard Parâmetros da CLI e referência de comandos
<a name="cfn-guard-command-reference"></a>

Os seguintes parâmetros e comandos globais estão disponíveis por meio da interface de linha de AWS CloudFormation Guard comando (CLI).

**Topics**
+ [Parâmetros globais da CLI do Guard](cfn-guard-global-parameters.md)
+ [árvore de análise](cfn-guard-parse-tree.md)
+ [régua](cfn-guard-rulegen.md)
+ [teste](cfn-guard-test.md)
+ [validar](cfn-guard-validate.md)

# Parâmetros globais da CLI do Guard
<a name="cfn-guard-global-parameters"></a>

Você pode usar os parâmetros a seguir com qualquer comando da AWS CloudFormation Guard CLI.

`-h`, `--help`

Imprime informações de ajuda.

`-V`, `--version`

Imprime as informações da versão.

# árvore de análise
<a name="cfn-guard-parse-tree"></a>

Gera uma árvore de análise para as AWS CloudFormation Guard regras definidas em um arquivo de regras.

## Sintaxe
<a name="cfn-guard-parse-tree-synopsis"></a>

```
cfn-guard parse-tree 
--output <value>
--rules <value>
```

## Parâmetros
<a name="cfn-guard-parse-tree-flags"></a>

`-h`, `--help`

Imprime informações de ajuda.

`-p`, `--print-json`

Imprime a saída no formato JSON.

`-y`, `--print-yaml`

Imprime a saída no formato YAML.

`-V`, `--version`

Imprime as informações da versão.

## Opções
<a name="cfn-guard-parse-tree-options"></a>

`-o`, `--output`

Grava a árvore gerada em um arquivo de saída.

`-r`, `--rules`

Fornece um arquivo de regras.

## Exemplos
<a name="cfn-guard-parse-tree-examples"></a>

```
cfn-guard parse-tree --output output.json --rules rules.guard
```

# régua
<a name="cfn-guard-rulegen"></a>

Pega um arquivo de AWS CloudFormation modelo em formato JSON ou YAML e gera automaticamente um conjunto de AWS CloudFormation Guard regras que correspondem às propriedades dos recursos do modelo. Esse comando é uma forma útil de começar a escrever regras ou criar ready-to-use regras a partir de modelos conhecidos em boas condições.

## Sintaxe
<a name="cfn-guard-rulgen-synopsis"></a>

```
cfn-guard rulegen
--output <value>  
--template <value>
```

## Parâmetros
<a name="cfn-guard-rulegen-flags"></a>

`-h`, `--help`

Imprime informações de ajuda.

`-V`, `--version`

Imprime as informações da versão.

## Opções
<a name="cfn-guard-rulegen-options"></a>

`-o`, `--output`

Grava as regras geradas em um arquivo de saída. Dada a possibilidade de surgirem centenas ou até milhares de regras, recomendamos o uso dessa opção.

`-t`, `--template`

Fornece o caminho para um arquivo CloudFormation de modelo no formato JSON ou YAML.

## Exemplos
<a name="cfn-guard-rulegen-examples"></a>

```
cfn-guard rulegen --output rules.guard --template template.json
```

# teste
<a name="cfn-guard-test"></a>

Valida um arquivo de AWS CloudFormation Guard regras em relação a um arquivo de teste de unidade do Guard no formato JSON ou YAML para determinar o sucesso de regras individuais.

## Sintaxe
<a name="cfn-guard-test-synopsis"></a>

```
cfn-guard test 
--rules-file <value>
--test-data <value>
```

## Parâmetros
<a name="cfn-guard-test-flags"></a>

`-a`, `--alphabetical`

Classifique em ordem alfabética dentro de um diretório.

`-h`, `--help`

Imprime informações de ajuda.

`-m`, `--last-modified`

Classifica pelos horários da última modificação em um diretório

`-V`, `--version`

Imprime as informações da versão.

`-v`, `--verbose`

Aumenta a verbosidade da saída. Pode ser especificado várias vezes.

A saída detalhada segue a estrutura do arquivo de regras do Guard. Cada bloco no arquivo de regras é um bloco na saída detalhada. O bloco mais alto é cada regra. Se houver `when` condições contrárias à regra, elas aparecerão como um bloco de condições entre irmãos.

## Opções
<a name="cfn-guard-test-options"></a>

`-d`, `--dir`

Forneça o diretório raiz para as regras.

`-o`, `--output-format`

Especifique o formato no qual a saída deve ser exibida.

*Padrão*: `single-line-summary`

*Valores permitidos*: `json` \$1 `yaml` \$1 `single-line-summary` \$1 `junit`

`-r`, `--rules-file`

Fornece o nome de um arquivo de regras.

`-t`, `--test-data`

Fornece o nome de um arquivo ou diretório para arquivos de dados no formato JSON ou YAML.

## Exemplos
<a name="cfn-guard-test-examples"></a>

```
cfn-guard test --rules-file rules.guard --test-data example.json
```

## Output
<a name="cfn-guard-test-output"></a>

```
PASS|FAIL Expected Rule = rule_name, Status = SKIP|FAIL|PASS, Got Status = SKIP|FAIL|PASS
```

## Consulte também
<a name="cfn-guard-test-see-also"></a>

[Testando as regras do Guard](testing-rules.md)

# validar
<a name="cfn-guard-validate"></a>

Valida os dados em relação AWS CloudFormation Guard às regras para determinar o sucesso ou o fracasso.

## Sintaxe
<a name="cfn-guard-validate-synopsis"></a>

```
cfn-guard validate
--data <value>
--output-format <value>
--rules <value>
--show-summary <value>
--type <value>
```

## Parâmetros
<a name="cfn-guard-validate-flags"></a>

`-a`, `--alphabetical`

Valida arquivos em um diretório ordenado alfabeticamente.

`-h`, `--help`

Imprime informações de ajuda.

`-m`, `--last-modified`

Valida arquivos em um diretório ordenado pelos horários da última modificação.

`-P`, `--payload`

Forneça regras e dados no seguinte formato JSON por meio `stdin` de:

```
{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}
```

Por exemplo:

```
{"data": ["{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}","{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}"], "rules" : [ "Parameters.InstanceName == \"TestInstance\"","Parameters.InstanceName == \"TestInstance\"" ]}
```

Para “regras”, especifique uma lista da versão da string dos arquivos de regras. Para “dados”, especifique uma lista da versão da string dos arquivos de dados.

Quando `--payload` é especificado `--rules` e `--data` não pode ser especificado.

`-p`, `--print-json`

Imprime a saída no formato JSON.

`-s`, `--show-clause-failures`

Mostra a falha da cláusula, incluindo um resumo.

`-V`, `--version`

Imprime as informações da versão.

`-v`, `--verbose`

Aumenta a verbosidade da saída. Pode ser especificado várias vezes.

`-z`, `--structured`

Imprime uma lista de formatos de saída estruturados e válidosJSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip: single-line-summary

## Opções
<a name="cfn-guard-validate-options"></a>

`-d`, `--data` (sequência de caracteres)

Fornece um arquivo de dados ou diretório de arquivos de dados em JSON ou YAML. Suporta a passagem de vários valores usando essa opção repetidamente.

Exemplo: `--data template1.yaml --data ./data-dir1 --data template2.yaml`

Para argumentos de diretório como os `data-dir1` acima, o escaneamento só é suportado para arquivos com as seguintes extensões: .yaml, .yml, .json, .jsn, .template

Se você especificar o `--payload` sinalizador, não especifique a `--data` opção.

`-i`, `--input-parameters` (sequência de caracteres)

Fornece um arquivo de parâmetros ou diretório de arquivos de parâmetros em JSON ou YAML que especifica quaisquer parâmetros adicionais a serem usados junto com os arquivos de dados a serem usados como um contexto combinado. Todos os arquivos de parâmetros passados como entrada são mesclados e esse contexto combinado é novamente mesclado com cada arquivo passado como argumento para. `data` Devido a isso, espera-se que cada arquivo contenha propriedades mutuamente exclusivas, sem qualquer sobreposição. Suporta a passagem de vários valores usando essa opção repetidamente.

Para argumentos de diretório, a varredura só é compatível com arquivos com as seguintes extensões: .yaml, .yml, .json, .jsn, .template

`-o`, `--output-format` (sequência de caracteres)

Especifica o formato da saída.

*Padrão*: `single-line-summary`

*Valores permitidos*: `json` \$1 `yaml` \$1 `single-line-summary` \$1 `junit` \$1 `sarif`

`-r`, `--rules` (sequência de caracteres)

Fornece um arquivo de regras ou um diretório de arquivos de regras. Suporta a passagem de vários valores usando essa opção repetidamente.

Exemplo: `--rules rule1.guard --rules ./rules-dir1 --rules rule2.guard`

Para argumentos de diretório como os `rules-dir1` acima, a varredura só é suportada para arquivos com as seguintes extensões: .guard, .ruleset

Se você especificar o `--payload` sinalizador, não especifique a `--rules` opção.

`--show-summary` (string)

Controla se a tabela de resumo precisa ser exibida. `--show-summary fail`(padrão) ou `--show-summary pass,fail` (mostre apenas as regras aprovadas ou reprovadas) ou `--show-summary none` (para desativá-las) ou `--show-summary all` (para mostrar todas as regras aprovadas, reprovadas ou ignoradas).

*Padrão*: `fail`

*Valores permitidos*: `none` \$1 `all` \$1 `pass` \$1 `fail` \$1 `skip`

`-t`, `--type` (sequência de caracteres)

Fornece o formato dos seus dados de entrada. Quando você especifica o tipo de dados de entrada, o Guard exibe os nomes lógicos dos recursos do CloudFormation modelo na saída. Por padrão, o Guard exibe caminhos e valores de propriedades, como`Property [/Resources/vol2/Properties/Encrypted`.

*Valores permitidos*: `CFNTemplate`

## Exemplo
<a name="cfn-guard-validate-examples"></a>

```
cfn-guard validate --data example.json --rules rules.guard
```

## Output
<a name="cfn-guard-validate-output"></a>

Se o Guard validar com êxito os modelos, o `validate` comando retornará um status de saída de `0` (`$?`em bash). Se o Guard identificar uma violação de regra, o `validate` comando retornará um relatório de status das regras que falharam.

```
example.json Status = FAIL
FAILED rules
rules.guard/policy_effect_is_deny    FAIL
---
Evaluation of rules rules.guard against data example.json 
--
Property [/path/to/Effect] in data [example.json] is not compliant with [policy_effect_is_deny] because provided value ["Allow"] did not match expected value ["Deny"]. Error Message [ Policy statement "Effect" must be "Deny".]
```

## Consulte também
<a name="cfn-guard-validate-see-also"></a>
+ [Validando os dados de entrada de acordo com as regras do Guard](validating-rules.md)
+ [Usando parâmetros de entrada com regras do Guard](using-input-parameters.md)