在对流层模板中使用 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?
我想在对流层的 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?