Ciao Sto cercando di utilizzare la funzione "IF" proprio come accennato nella documentazione di formazione cloud per RDS DeletionPolicy, ma per qualche motivo si dice che la mia funzione non restituisce un stringa.Errore di formato del modello di Cloudformation: Ogni membro di DeletionPolicy deve essere una stringa
AWS Documentation on conditional statements
qui è la condizione:
"DeletionPolicy" : { "Fn::If" : [ "CreateProdResources", "Snapshot", "Delete" ]}
e l'errore è quello nel titolo:
Template validation error: Template format error: Every DeletionPolicy member must be a string.
Altri tentativi che non ha funzionato:
Con una mappa:
"RdsDeletionPolicyMap" :{ "production" : { "policy" : "Snapshot" }, "staging" : { "policy" : "Delete" } }
E poi:
"DeletionPolicy" : { "Fn::FindInMap" : [ "RdsDeletionPolicyMap", {"Ref": "RailsEnvironment"}, "policy" ] }
Così come un semplice "Ref": ...
non ha funzionato pure. Sospetto molto che si tratti di un bug con cloudformation
IMO questo è sicuramente un bug. Qualche idea su come aggirarla? – Gleeb
È possibile aggiungere un'istruzione condizionale e disporre di 2 criteri di conservazione con quello appropriato aggiunto in base alla condizione. Sicuramente non ideale. –
Grazie, vedo male cosa posso farne – Gleeb