Skip to content

❌ El emulador ignora Conditions y crea el recurso igual

Verificado el 2026-08-08 contra Floci 1.6.0.

🔍 Qué pasó

Una plantilla con un recurso condicionado creaba el recurso aunque la condición fuera falsa:

yaml
Parameters:
  Entorno: { Type: String, Default: dev, AllowedValues: [dev, prod] }
Conditions:
  EsProd: !Equals [!Ref Entorno, prod]
Resources:
  Base: { Type: AWS::S3::Bucket, Properties: { BucketName: cond2-base } }
  SoloEnProd:
    Type: AWS::SQS::Queue
    Condition: EsProd
    Properties: { QueueName: solo-prod }

Con Entorno=dev, la pila quedó CREATE_COMPLETE y su inventario listaba los dos recursos. La cola solo-prod existía de verdad.

🎯 Qué debería pasar en AWS

SoloEnProd no se crea, y el inventario de la pila solo muestra Base.

🛠️ Cómo convivir con ello

  • No uses Conditions para aprender su comportamiento: lo que veas aquí no es lo que hará AWS.
  • Si necesitas dos variantes de una plantilla en el laboratorio, escribe dos plantillas en vez de una con condiciones.

⚠️ Consecuencia general: una plantilla que aquí se despliega bien puede comportarse distinto en AWS real. Ver también tipos de recurso no validados.

Apuntes de AWS con Floci