gpt4 book ai didi

java - 如何创建 SecurityGroupIngress 对象?

转载 作者:行者123 更新时间:2023-12-04 10:22:39 25 4
gpt4 key购买 nike

.securityGroupIngress()CfnSecurityGroup.Builder需要一个 List<Object> securityGroupIngress .我正在尝试向安全组添加入口规则:

CfnSecurityGroupIngress ingressRule =
CfnSecurityGroupIngress.Builder.create(this, "IngressRule")
.ipProtocol("tcp")
.fromPort(80)
.toPort(80)
.cidrIp("0.0.0.0/0")
.build();

List<Object> ingressRules = new ArrayList<>();
ingressRules.add(ingressRule)

进而:
CfnSecurityGroup.Builder.create(this, "SecurityGroup")
.groupName("ALB-SG")
.groupDescription("Allow traffic from the Internet to the ALB")
.vpcId(vpc.getRef())
.securityGroupIngress(ingressRules) // <--
.build();

当我尝试编译时,出现以下错误:
Caused by: software.amazon.jsii.JsiiException: Resolution error: Resolution error: Trying to resolve() a Construct at /Resources/${Token[SGStack.SecurityGroup.LogicalID.39]}/Properties/securityGroupIngress/0/node.
我的一个困惑点是 List<Object>需要 .securityGroupIngress()因为在 CloudFormation 中, SecurityGroupIngress (CfnSecurityGroupIngress) AWS::EC2::SecurityGroup 的属性 (CfnSecurityGroup)获取 Ingress 的列表对象。为什么是这样 List<Object>而不是 List<CfnSecurityGroupIngressProps>List<CfnSecurityGroupIngress> ?但最重要的是,我如何创建这个 List<Object>这是必需的吗?

最佳答案

使用 software.amazon.awscdk.services.ec2.CfnSecurityGroup.IngressProperty而不是 CfnSecurityGroupIngress :

IngressProperty
.builder()
.fromPort(80)
.toPort(80)
.ipProtocol("tcp")
.cidrIp("0.0.0.0/0")
.build()

关于java - 如何创建 SecurityGroupIngress 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60779797/

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