gpt4 book ai didi

amazon-web-services - 需要 Properties 键的条件逻辑语法

转载 作者:行者123 更新时间:2023-12-03 07:39:47 24 4
gpt4 key购买 nike

我需要帮助来弄清楚 Cloudformation 部分的语法,该部分处理为私有(private)子网路由表创建默认路由。模板的逻辑是堆栈创建者在启动时选择 dev 或 prod。如果选择 prod,则会创建 2 个 NAT 网关,每个可用区一个。如果选择 dev,则会创建单个 NAT 实例。在默认专用路由的资源定义中,我需要能够在使用 InstanceID: 和 GatewayID: 之间进行选择,具体取决于选择的选项。

我尝试过的方法不起作用:

  DefaultPrivateRoute1:
Type: AWS::EC2::Route
Properties:
!If
- IsProd
-
GatewayId: !Ref NatGateway1
RouteTableId: !Ref PrivateRouteTable1
DestinationCidrBlock: 0.0.0.0/0
- InstanceId: !Ref NATInstance
RouteTableId: !Ref PrivateRouteTable1
DestinationCidrBlock: 0.0.0.0/0

测试:prod:卡在 DefaultPrivateRoute1“已启动资源创建”上,然后失败并显示“路由未在预期时间内稳定”

开发人员:有效!

 DefaultPrivateRoute1:
Type: AWS::EC2::Route
Properties:
!If
- IsProd
-
GatewayId: !Ref NatGateway1
- InstanceId: !Ref NATInstance
RouteTableId: !Ref PrivateRouteTable1
DestinationCidrBlock: 0.0.0.0/0

测试:prod:在 DefaultPrivateRoute1 上失败,“必须指定 DestinationCidrBlock 和 DestinationIpv6CidrBlock 之一,且不能为空”

开发人员:有效!

  DefaultPrivateRoute1:
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref PrivateRouteTable1
DestinationCidrBlock: 0.0.0.0/0
!If
- IsProd
-
GatewayId: !Ref NatGateway1
- InstanceId: !Ref NATInstance

测试:prod:模板格式错误:YAML 格式不正确。 (第 200 行,第 7 列)(!If 语句后的第一行)

dev:模板格式错误:YAML 格式不正确。 (第 200 行,第 7 列)(!If 语句后的第一行)

有人知道如何格式化它吗?

最佳答案

正确的属性是 NatGatewayId,而不是 GatewayId。

Type: AWS::EC2::Route
Properties:
!If
- IsProd
- NatGatewayId: !Ref NatGateway1
RouteTableId: !Ref PrivateRouteTable1
DestinationCidrBlock: 0.0.0.0/0
- InstanceId: !Ref NATInstanceBastion
RouteTableId: !Ref PrivateRouteTable1
DestinationCidrBlock: 0.0.0.0/0

关于amazon-web-services - 需要 Properties 键的条件逻辑语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72465429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com