【问题标题】:Template validation error - Invalid template resource property模板验证错误 - 模板资源属性无效
【发布时间】:2018-07-11 09:45:27
【问题描述】:

我正在尝试创建作业队列模板,在该模板中声明输出值,以便可以将作业队列导入其他堆栈。

模板:

{
"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”的位置出现模板验证错误,谁能告诉我应该在这里给出什么。

在“Fn::Sub”中:“${AWS::StackName}-MyJobQueueExport”

MyJobQueueExport 应该和栈名一样?

【问题讨论】:

    标签: amazon-cloudformation aws-batch


    【解决方案1】:

    您只是放错了一个右括号,导致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"
                }
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      我收到了这个错误:

      模板验证错误 - 模板资源属性“prod”无效

      在我的参数部分,我不小心包含了一个映射:

      EnvType:
          Description: Environment Name
          Default: test
          Type: String
          AllowedValues:  [dev, test, prod]
      DisableTerminate:
          prod:
            YesorNo: 'true'
          test:
            YesorNo: 'false'
          dev:
            YesorNo: 'false'
      

      将 DisableTerminate 映射放在正确的部分解决了问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-26
        • 2020-10-21
        • 2018-12-15
        • 2017-12-23
        • 1970-01-01
        • 1970-01-01
        • 2016-03-19
        • 1970-01-01
        相关资源
        最近更新 更多