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
Si vous rencontrez des problèmes lors de l' AWS CloudFormation Guard utilisation, consultez les rubriques de cette section.
Rubriques
La clause échoue lorsqu'aucune ressource du type sélectionné n'est présente
Lorsqu'une requête utilise un filtre tel queResources.*[ 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
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 exempleFn::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 dans le guide de AWS CloudFormation l'utilisateur.
Rubriques générales de résolution des problèmes
-
Vérifiez que
stringles 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 dansstringles littéraux. Si votre intention est d'analyser des chaînes JSON intégrées, utilisez lajson_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. -
Vérifiez que vos
!=comparaisons comparent les types de données compatibles. Par exemple, astringet an neintsont 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 convertiefalsepour satisfaire le PartialEqtrait dans Rust.