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.
Tópicos
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 CloudFormation modelo formatado em YAML 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 formatados em YAML ao avaliá-los em relação às 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
stringliterais não contêm cadeias de caracteres de escape incorporadas. O Guard não oferece suporte a cadeias de escape incorporadas emstringliterais. Se sua intenção for analisar cadeias de caracteres JSON embutidas, use ajson_parse()função disponível no Guard 3.0.0 e versões posteriores. Para obter mais informações, consulte Usando funções integradas. -
Verifique se suas
!=comparações comparam tipos de dados compatíveis. Por exemplo, astringe an nãointsã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 convertidofalsepara satisfazer a PartialEqcaracterística em Rust.