在对流层模板中使用 if 语句是否有任何解决方法?

Is there any workaround to use if statement in troposphere templates?

我想在对流层的 add_resource 中添加一个 if 语句,但我做不到。有什么解决方法吗?

s3_bucket = t.add_resource(Bucket(
    "MyBucket",
    if 2>1:
       BucketName="bucket1",
    else:
       BucketName="bucket2",
    CorsConfiguration=CorsConfiguration(
        "CorsConfiguration",
        CorsRules=[CorsRules(
            "AllowOrganization",
            AllowedMethods=["GET"],
            AllowedOrigins=["*"],
        )]
    ),
    Tags=Tags(
        Environment="aa",
    )
))

编辑:

我也尝试过使用三元运算符,但没有用。

BucketName= if 2 > 1: "bucket2" else: "bucket3",

如果你想控制参数,那么你可以在函数之前做你的if语句。

if 2 > 1:
    BucketName="bucket1"
else:
    BucketName="bucket2"

s3_bucket = t.add_resource(Bucket(
        "MyBucket",
        BucketName,
        ...
    ))

或者您可以使用三元运算符:

s3_bucket = t.add_resource(Bucket(
        "MyBucket",
        "bucket1" if 2 > 1 else "bucket2",
        ...
    ))

注意:2 > 1 将始终为真。但是我猜你会用一个变量代替2?