Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas AWS CloudFormation Guard
Si encuentra problemas al trabajar con él AWS CloudFormation Guard, consulte los temas de esta sección.
Temas
La cláusula falla cuando no hay recursos del tipo seleccionado
Cuando una consulta usa un filtro, por ejemploResources.*[ Type == 'AWS::ApiGateway::RestApi'
], si no hay AWS::ApiGateway::RestApi recursos en la entrada, la cláusula se evalúa como tal. FAIL
%api_gws.Properties.EndpointConfiguration.Types[*] == "PRIVATE"
Para evitar este resultado, asigne filtros a las variables y utilice la comprobación de when condiciones.
let api_gws = Resources.*[ Type == 'AWS::ApiGateway::RestApi' ] when %api_gws !empty { ...}
Guard no evalúa la CloudFormation plantilla con referencias abreviadas Fn::GetAtt
Guard no admite las formas abreviadas de funciones intrínsecas. Por ejemplo, no se !Join admite su uso !Sub en una CloudFormation plantilla con formato YAML. En su lugar, utilice las formas expandidas de las funciones intrínsecas CloudFormation . Por ejemploFn::Join, utilízalas Fn::Sub en CloudFormation plantillas con formato YAML para evaluarlas según las reglas de Guard.
Para obtener más información sobre las funciones intrínsecas, consulte la referencia sobre las funciones intrínsecas en la Guía del AWS CloudFormation usuario.
Temas generales de solución de problemas
-
Compruebe que
stringlos literales no contengan cadenas de escape incrustadas. Guard no admite cadenas de escape incrustadas en losstringliterales. Si su intención es analizar cadenas JSON en línea, utilice lajson_parse()función disponible en Guard 3.0.0 y versiones posteriores. Para obtener más información, consulte Uso de funciones integradas. -
Compruebe que sus
!=comparaciones comparen tipos de datos compatibles. Por ejemplo, astringy an nointson tipos de datos compatibles para la comparación. Al realizar la!=comparación, si los valores son incompatibles, se produce un error interno. Actualmente, el error se suprime y se conviertefalsepara cumplir con la PartialEqcaracterística en Rust.