Я нахожусь в контрольно-пропускном пункте с этим, я пытался найти способ упростить мою работу, чтобы избежать использования гигантского блока операторов if.Я пришел к мысли, что я мог бы использовать s «Ref» с "Fn::Join"
, но, очевидно, он не работает или, по крайней мере, не так, как я визуально думаю, что он будет работать.
"Type": "AWS::WAFRegional::Rule",
"Properties":{
"Predicates": [{
"DataId":{
"Ref" : {"Fn::Join" : ["", [{"Ref" : "IpSets"}, "IPSet"]]},
Итак, как я наглядно вижу эту работу, это то, что "Ref" : IpSets
- это параметр, который мы устанавливаем при загрузке файла в CloudFormation.Таким образом, он снесет этот текст и объединит его с IpSet, чтобы создать что-то вроде DevIPSet.Так как это String после объединения, это будет «Ref»: «DevIPSet», и тогда это отодвинет набор IP, которые я отложил в сторону.
Это, очевидно, не работает и обращалось к сообществу, если есть какой-то прием, который я могу использовать.Я посмотрел в Mapping и не вижу, чтобы это работало с dataID либо.Единственное реальное решение, которое я нашел, это просто использовать Fn::If
и сделать гигантский блок, но это ужасно.