如何在条件模板中使用正则表达式

时间:2019-09-11 17:07:04

标签: amazon-cloudformation troposphere

我在对流层CF模板中使用了一个条件,但是不幸的是有10个以上的条件,AWS CF仅支持其中的10个。条件检查应用程序名称是否以特定名称开头。有没有一种可以在条件中使用正则表达式的方法,所以我只能写一个条件而不是10个条件,并声明如果名称以appname *开头,可以做些什么

我正在为每个角色添加条件,但是由于aws仅支持10个角色,因此我不能添加更多条件。

conditions = {
"RoleEqualCollectors01" :  Equals(
        Ref(ThorRole),
        "collectors01",
           ),

        ...,
        ...,

    "RoleEqualCollectors22" :  Equals(
        Ref(ThorRole),
        "collectors22",
           ),

"Collector" :  Or(
        Condition("RoleEqualCollectors01"),
        ...,
        ...,
        Condition("RoleEqualCollectors22")
    ),

有没有办法我可以这样指定,

conditions = {
"RoleEqualCollectors" :  Equals(
        Ref(ThorRole),
        "collectors*",
           ),

"Collector" :  Or(
        Condition("RoleEqualCollectors*"),
    ),

1 个答案:

答案 0 :(得分:0)

仅发现AWS有一个Or条件限制,它需要最少2个条件和最多10个条件,可以解决,我做了三个单独的Or条件,然后结合了所有条件的Final_Or条件。 or1:Fn ::或1,2,3,4,5,6,7,8,9,10的条件

or2:Fn ::或11、12、13、14、15、16、17、18、19、20的条件

or3:Fn ::或21、22的条件

Final_Or:Fn :: Or代表or1,or2或or3