Tema
❌ 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
Conditionspara 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.