0

我在对流层 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*"),
    ),

4

1 回答 1

0

刚刚发现 AWS 对 Or 条件有限制,它需要最少 2 个和最多 10 个条件,有一个变通方法,我做了三个单独的 Or 条件,然后是一个 Final_Or 条件,它结合了所有这些条件。or1: Fn::Or 条件为 1,2, 3, 4, 5, 6, 7, 8, 9, 10

or2: Fn::Or 条件为 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

or3: Fn::Or 条件为 21, 22

Final_Or: Fn::Or for or1, or2, or3

于 2019-09-11T20:04:47.547 回答