Saltar al contenido principal

Soporte de Características ROS

InfraGuard soporta una amplia gama de características de plantillas ROS (Resource Orchestration Service) para análisis estático y validación de su código de infraestructura.

Funciones

InfraGuard soporta las siguientes funciones ROS:

Funciones de Cadena

Funciones de Codificación

Funciones de Lista

Funciones de Mapa

Funciones Matemáticas

Funciones Condicionales

Funciones de Utilidad

Condiciones

InfraGuard soporta completamente la característica Condiciones ROS, incluyendo:

  • Definición de Condición - Definir condiciones en la sección Conditions
  • Funciones de Condición - Usar Fn::Equals, Fn::And, Fn::Or, Fn::Not, Fn::If en condiciones
  • Referencias de Condición - Referenciar condiciones en recursos y salidas
  • Resolución de Dependencias - Resuelve automáticamente las dependencias de condiciones

Sintaxis Corta YAML

InfraGuard soporta la sintaxis corta YAML (notación de etiqueta) para funciones ROS:

  • !Ref - Forma corta de Ref
  • !GetAtt - Forma corta de Fn::GetAtt
  • Todas las demás funciones Fn::* pueden escribirse como !FunctionName

El analizador YAML convierte automáticamente estas formas cortas a su representación de mapa estándar durante la carga de la plantilla.

Características No Soportadas

InfraGuard se enfoca en análisis estático y actualmente no soporta las siguientes características en modo estático:

Funciones de Tiempo de Ejecución

  • Fn::GetAtt - Requiere creación real de recursos para recuperar atributos
  • Fn::GetAZs - Requiere consulta en tiempo de ejecución al proveedor de nube
  • Fn::GetStackOutput - Requiere acceso a salidas de otras pilas

Secciones de Plantilla

  • Locals - Definiciones de variables locales
  • Transform - Transformaciones y macros de plantilla
  • Rules - Reglas de validación de plantilla
  • Mappings - Mapeos de valores estáticos (no analizados para violaciones de políticas)

Referencias Especiales

  • Parámetros pseudo (p. ej., ALIYUN::StackId, ALIYUN::Region, etc.) - Parámetros proporcionados por el sistema

Estas características se preservarán tal cual en la salida del análisis sin evaluación o validación cuando se use el modo estático.

Consejo: Para plantillas que usan características no soportadas por análisis estático (como Fn::GetAtt, Fn::GetAZs, etc.), recomendamos usar --mode preview para aprovechar la API ROS PreviewStack para un análisis más preciso. El modo preview evalúa plantillas con contexto real del proveedor de nube, permitiendo soporte para funciones de tiempo de ejecución y otras características dinámicas.

Recursos Relacionados