

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Valide les données par rapport aux AWS CloudFormation Guard règles afin de déterminer le succès ou l'échec.

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

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

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

`-a`, `--alphabetical`

Valide les fichiers d'un répertoire classé par ordre alphabétique.

`-h`, `--help`

Imprime les informations d'aide.

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

Valide les fichiers d'un répertoire trié par date de dernière modification.

`-P`, `--payload`

Fournissez des règles et des données au format JSON suivant via `stdin` :

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

Par exemple :

```
{"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\"" ]}
```

Pour « règles », spécifiez une liste des versions sous forme de chaîne des fichiers de règles. Pour « données », spécifiez une liste des versions sous forme de chaîne des fichiers de données.

Quand `--payload` est spécifié `--rules` et `--data` ne peut pas être précisé.

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

Imprime la sortie au format JSON.

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

Affiche l'échec de la clause, y compris un résumé.

`-V`, `--version`

Imprime les informations de version.

`-v`, `--verbose`

Augmente la verbosité de sortie. Peut être spécifié plusieurs fois.

`-z`, `--structured`

Imprime une liste de formats de sortie structurés et valides JSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip : single-line-summary

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

`-d`, `--data` (chaîne)

Fournit un fichier de données ou un répertoire de fichiers de données au format JSON ou YAML. Permet de transmettre plusieurs valeurs en utilisant cette option à plusieurs reprises.

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

Pour les arguments de répertoire tels que `data-dir1` ci-dessus, l'analyse n'est prise en charge que pour les fichiers portant les extensions suivantes : .yaml, .yml, .json, .jsn, .template

Si vous spécifiez le `--payload` drapeau, ne spécifiez pas l'`--data`option.

`-i`, `--input-parameters` (chaîne)

Fournit un fichier de paramètres ou un répertoire de fichiers de paramètres au format JSON ou YAML qui spécifie les paramètres supplémentaires à utiliser ainsi que les fichiers de données à utiliser comme contexte combiné. Tous les fichiers de paramètres transmis en entrée sont fusionnés et ce contexte combiné est à nouveau fusionné avec chaque fichier passé en argument pour`data`. De ce fait, chaque fichier est censé contenir des propriétés qui s'excluent mutuellement, sans aucun chevauchement. Permet de transmettre plusieurs valeurs en utilisant cette option à plusieurs reprises.

Pour les arguments de répertoire, l'analyse n'est prise en charge que pour les fichiers portant les extensions suivantes : .yaml, .yml, .json, .jsn, .template

`-o`, `--output-format` (chaîne)

Spécifie le format de sortie.

*Par défaut* : `single-line-summary`

*Valeurs autorisées* : `json` \| `yaml` \| `single-line-summary` \| `junit` \| `sarif`

`-r`, `--rules` (chaîne)

Fournit un fichier de règles ou un répertoire de fichiers de règles. Permet de transmettre plusieurs valeurs en utilisant cette option à plusieurs reprises.

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

Pour les arguments de répertoire tels que `rules-dir1` ci-dessus, l'analyse n'est prise en charge que pour les fichiers portant les extensions suivantes : .guard, .ruleset

Si vous spécifiez le `--payload` drapeau, ne spécifiez pas l'`--rules`option.

`--show-summary` (chaîne)

Contrôle si le tableau récapitulatif doit être affiché. `--show-summary fail`(par défaut) ou `--show-summary pass,fail` (afficher uniquement les règles qui ont réussi ou échoué) ou `--show-summary none` (pour le désactiver) ou `--show-summary all` (pour afficher toutes les règles qui réussissent, échouent ou sont ignorées).

*Par défaut* : `fail`

*Valeurs autorisées* : `none` \| `all` \| `pass` \| `fail` \| `skip`

`-t`, `--type` (chaîne)

Indique le format de vos données d'entrée. Lorsque vous spécifiez le type de données d'entrée, Guard affiche les noms logiques des ressources du CloudFormation modèle dans la sortie. Par défaut, Guard affiche les chemins et les valeurs des propriétés, tels que`Property [/Resources/vol2/Properties/Encrypted`.

*Valeurs autorisées* : `CFNTemplate`

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

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

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

Si Guard valide les modèles avec succès, la `validate` commande renvoie un statut de sortie de `0` (`$?`en bash). Si Guard identifie une violation des règles, la `validate` commande renvoie un rapport d'état des règles qui ont échoué.

```
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".]
```

## Consultez aussi
<a name="cfn-guard-validate-see-also"></a>
+ [Validation des données d'entrée par rapport aux règles Guard](validating-rules.md)
+ [Utilisation des paramètres d'entrée avec les règles Guard](using-input-parameters.md)