

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.

# Résolution des problèmes AWS CloudFormation Guard
<a name="troubleshooting"></a>

Si vous rencontrez des problèmes lors de l' AWS CloudFormation Guard utilisation, consultez les rubriques de cette section.

**Topics**
+ [La clause échoue lorsqu'aucune ressource du type sélectionné n'est présente](#troubleshooting-when-conditions-filters)
+ [Guard n'évalue pas le CloudFormation modèle contenant des références abrégées Fn::GetAtt](#troubleshooting-cfn-intrinsic-functions)
+ [Rubriques générales de résolution des problèmes](#troubleshooting-general)

## La clause échoue lorsqu'aucune ressource du type sélectionné n'est présente
<a name="troubleshooting-when-conditions-filters"></a>

Lorsqu'une requête utilise un filtre tel que`Resources.*[ Type == 'AWS::ApiGateway::RestApi' ]`, s'il n'y a aucune `AWS::ApiGateway::RestApi` ressource dans l'entrée, la clause est évaluée à`FAIL`.

```
%api_gws.Properties.EndpointConfiguration.Types[*] == "PRIVATE"
```

Pour éviter ce résultat, attribuez des filtres aux variables et utilisez le contrôle des `when` conditions.

```
let api_gws = Resources.*[ Type == 'AWS::ApiGateway::RestApi' ]
    when %api_gws !empty { ...}
```

## Guard n'évalue pas le CloudFormation modèle contenant des références abrégées Fn::GetAtt
<a name="troubleshooting-cfn-intrinsic-functions"></a>

Guard ne prend pas en charge les formes abrégées des fonctions intrinsèques. Par exemple, l'utilisation de`!Join`, `!Sub` dans un CloudFormation modèle au format YAML n'est pas prise en charge. Utilisez plutôt les formes étendues des fonctions CloudFormation intrinsèques. Par exemple`Fn::Join`, utilisez-le `Fn::Sub` dans les CloudFormation modèles au format YAML lorsque vous les évaluez par rapport aux règles Guard.

Pour plus d'informations sur les fonctions intrinsèques, consultez la [référence aux fonctions intrinsèques](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) dans le *guide de AWS CloudFormation l'utilisateur*.

## Rubriques générales de résolution des problèmes
<a name="troubleshooting-general"></a>
+ Vérifiez que `string` les littéraux ne contiennent pas de chaînes échappées intégrées. Guard ne prend pas en charge les chaînes d'échappement intégrées dans `string` les littéraux. Si votre intention est d'analyser des chaînes JSON intégrées, utilisez la `json_parse()` fonction disponible dans Guard 3.0.0 et versions ultérieures. Pour de plus amples informations, veuillez consulter [Utilisation des fonctions intégrées](writing-rules.md#built-in-functions).
+ Vérifiez que vos `!=` comparaisons comparent les types de données compatibles. Par exemple, a `string` et an ne `int` sont pas des types de données compatibles à des fins de comparaison. Lorsque vous effectuez une `!=` comparaison, si les valeurs sont incompatibles, une erreur se produit en interne. Actuellement, l'erreur est supprimée et convertie `false` pour satisfaire le [PartialEq](https://doc.rust-lang.org/std/cmp/trait.PartialEq.html)trait dans Rust.