我正在尝试创建jobqueue模板,在其中我声明输出值,以便可以将jobqueue导入到其他堆栈中。
模板:
{
"Resources": {
"MyJobQueue": {
"Type": "AWS::Batch::JobQueue",
"Properties": {
"ComputeEnvironmentOrder": [
{
"Order": 1,
"ComputeEnvironment": "testcompenv"
}
],
"State": "ENABLED",
"Priority": 1,
"JobQueueName": "testjobqueue"
}
},
"Outputs": {
"TestOutputName": {
"Description": "job queue arn",
"Value": {
"Ref": "MyJobQueue"
},
"Export": {
"Name": {
"Fn::Sub": "${AWS::StackName}-MyJobQueueExport"
}
}
}
}
}
}
错误:
Template validation error: Invalid template resource property 'TestOutputName'
我在“TestOutputName'”的位置收到模板验证错误任何人都可以告诉我应该在这里给予什么。
和In" Fn :: Sub":" $ {AWS :: StackName} -MyJobQueueExport"
MyJobQueueExport应该与堆栈名称相同吗?
答案 0 :(得分:2)
您只是错放了一个右括号,导致Outputs
最终低于Resources
。试试这个:
{
"Resources": {
"MyJobQueue": {
"Properties": {
"ComputeEnvironmentOrder": [
{
"ComputeEnvironment": "testcompenv",
"Order": 1
}
],
"JobQueueName": "testjobqueue",
"Priority": 1,
"State": "ENABLED"
},
"Type": "AWS::Batch::JobQueue"
}
},
"Outputs": {
"TestOutputName": {
"Description": "job queue arn",
"Export": {
"Name": {
"Fn::Sub": "${AWS::StackName}-MyJobQueueExport"
}
},
"Value": {
"Ref": "MyJobQueue"
}
}
}
}
答案 1 :(得分:0)
我收到此错误:
模板验证错误-无效的模板资源属性'prod'
在“参数”部分中,我不小心包含了一个映射:
EnvType:
Description: Environment Name
Default: test
Type: String
AllowedValues: [dev, test, prod]
DisableTerminate:
prod:
YesorNo: 'true'
test:
YesorNo: 'false'
dev:
YesorNo: 'false'
在正确的部分中放置DisableTerminate映射可以解决此问题。