我们运行一个代码行,将python CDK代码版本1.91.0合成到Cloudformation模板并执行它们
目前,我正在尝试设置一个传输网关,并与组织和一些帐户共享它。创建基本共享没有问题,但只要我添加了一个传输网关的资源(注意,为了测试目的,我是静态地这样做的),Cloudformation模板验证就失败了,声称合成的Json模板格式不正确。在前段时间}我使用纯json验证器、云结构构建器和CLI aws cloudformation验证器验证了comlete json模板,结果非常好
所以我可能在这里遇到了一个边缘案例,或者在交通网关Arn上做了一些根本性的错误
from aws_cdk import (
aws_ram as ram,
)
ram.CfnResourceShare(
self,
id="TransitGWRessourceShare",
name="TransitGWRessourceShare",
allow_external_principals=False,
principals=[
"arn:aws:organizations::1234567890:ou/o-123456asdf/ou-123-asbasdf",
"1234567890",
],
resource_arns=[
"arn:aws:ec2:eu-central-1:1234567890:transit-gateway/tgw-XXXX",
],
)
经过多次尝试后,我发现一个错误,资源arn导致了问题,通过一个合成json模板的cat,我能够揭示在合成过程中添加了一些神秘的点
代码管道阶跃的Cat输出
"TransitGW": {
"Type": "AWS::EC2::TransitGateway",
"Properties": {
"AmazonSideAsn": XXXX,
"AutoAcceptSharedAttachments": "enable",
"DefaultRouteTableAssociation": "disable",
"DefaultRouteTablePropagation": "disable",
"DnsSupport": "enable",
"MulticastSupport": "disable",
],
"VpnEcmpSupport": "enable"
},
},
"TransitGWRessourceShare": {
"Type": "AWS::RAM::ResourceShare",
"Properties": {
"Name": "TransitGWRessourceShare",
"AllowExternalPrincipals": false,
"Principals": [
"arn:aws:organizations::123456789:ou/o-xxxx/ou-xxxx-xxxx",
"123456789"
],
"ResourceArns": [
"arn:aws:ec2:eu-central-1:··1234567890:transit-gateway/tgw-XXXX"
]
},
"Metadata": {
"aws:cdk:path": "automation-cicd/dev/InfraBase/TransitGWRessourceShare"
}
},
谢谢你的帮助
因为它可能会在将来帮助别人——我会自己解决;)
我发现,由于arn的副本,我在公交网关arn的行中有一些零宽度空格字符
https://en.wikipedia.org/wiki/Zero-width_space
我从未在很多编辑器中看到过它,我可以在vi中看到它
从而生成一个合成模板
相关问题 更多 >
编程相关推荐