Solução de problemas AWS CloudFormation Guard - AWS CloudFormation Guard

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á.

Solução de problemas AWS CloudFormation Guard

Se você encontrar problemas ao trabalhar com AWS CloudFormation Guard, consulte os tópicos desta seção.

A cláusula falha quando nenhum recurso do tipo selecionado está presente

Quando uma consulta usa um filtroResources.*[ Type == 'AWS::ApiGateway::RestApi' ], como, se não houver AWS::ApiGateway::RestApi recursos na entrada, a cláusula é avaliada como. FAIL

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

Para evitar esse resultado, atribua filtros às variáveis e use a verificação de when condição.

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

O Guard não avalia o CloudFormation modelo com referências abreviadas Fn::GetAtt

O Guard não suporta as formas abreviadas de funções intrínsecas. Por exemplo, o uso de!Join, !Sub em um AWS CloudFormation modelo YAML formatado não é suportado. Em vez disso, use as formas expandidas das funções CloudFormation intrínsecas. Por exemplo, useFn::Join, Fn::Sub em CloudFormation modelos YAML formatados ao avaliá-los de acordo com as regras do Guard.

Para obter mais informações sobre funções intrínsecas, consulte a referência da função intrínseca no Guia do usuário.AWS CloudFormation

Tópicos gerais de solução de problemas

  • Verifique se os string literais não contêm cadeias de caracteres de escape incorporadas. Atualmente, o Guard não oferece suporte a cadeias de escape incorporadas em string literais.

  • Verifique se suas != comparações comparam tipos de dados compatíveis. Por exemplo, a string e an não int são tipos de dados compatíveis para comparação. Ao realizar a != comparação, se os valores forem incompatíveis, ocorrerá um erro internamente. Atualmente, o erro é suprimido e convertido false para satisfazer a PartialEqcaracterística em Rust.