我尝试使用下面的cloudformation堆栈,但总是失败,出现以下错误:
模板错误:每个Fn::Split对象都需要两个参数,(1)字符串分隔符和(2)要拆分的字符串或返回要拆分字符串的函数。
{
"Type": "AWS::Route53Resolver::ResolverRule",
"Properties": {
"DomainName": {"Fn::Sub": "ad.${EnvName}.yyy.xxx.com"},
"Name": {"Fn::Sub": "${EnvName}"},
"ResolverEndpointId": "1",
"RuleType": "FORWARD",
"Tags" : [
{
"Key": "Name",
"Value": {
"Fn::Sub": "${EnvName}-ADResolverRule"
}
}
],
"TargetIps": [
{
"Ip": {
"Fn::Select": [
0,
{
"Fn::Split": [
",",
{
"Fn::GetAtt": [
"MicrosoftAD",
"DnsIpAddresses"
]
}
]
}
]
},
"Port": "53"
}
]
}
}不知道为什么,因为我有Fn::Split函数的值,任何帮助都会很感激。
谢谢。
发布于 2020-01-08 05:47:33
问题看起来是你不需要在这里调用split。当您调用Fn::GetAtt时,在这种情况下,它不是在创建字符串。如果你看一下documentation,它会生成一个列表对象。查看各种examples,您会发现拆分是不必要的。
https://stackoverflow.com/questions/59636051
复制相似问题