【问题标题】:Receiving a validation error detected: Value '[AWS:RDS::DBInstance]' at 'typeNameList' failed接收到检测到的验证错误:“typeNameList”处的值“[AWS:RDS::DBInstance]”失败
【发布时间】:2021-08-19 22:56:58
【问题描述】:

我正在尝试创建运行 MySQL 数据库的 RDS 服务器并收到以下错误:

1 validation error detected: Value '[AWS:RDS::DBInstance]' at 'typeNameList' failed to satisfy constraint: Member must satisfy constraint: [Member must have length less than or equal to 204, Member must have length greater than or equal to 10, Member must satisfy regular expression pattern: [A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}]

AWSTemplateFormatVersion: 2010-09-09

Parameters:
  DBName:
    Type: String
    AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
  MUser:
    Type: String
    AllowedPattern: '[a-zA-Z][a-zA-Z0-9]*'
  MPass:
    Type: String
    AllowedPattern: '[a-zA-Z0-9]*'
    Description: "It shouldn't be less than 8 characters"
    
Resources:
  MyDBInstance:
    Type: AWS:RDS::DBInstance
    Properties:
      DBName: !Ref DBName
      MasterUserPassword: !Ref MUser
      MasterUserPassword: !Ref MPass
      Engine: MySQL
      DBInstanceClass: db.t2.micro
      StorageType: gp2
      PubliclyAccessible: True
      AllocatedStorage: "20"
      DBInstanceIdentifier: !Join ["-", [ "MyDBInstance", !Ref "AWS::Region" ]]
      AvailabilityZone: !Select [1, !GetAZs ""]

【问题讨论】:

  • 嗨。我注意到你所有的问题都得到了回答,没有一个被接受。接受好的答案是一种很好的做法,并且可以减少重复。 @PatMyron 很好,你甚至写了“它成功了。谢谢你”,那么为什么不接受呢?

标签: amazon-web-services amazon-ec2 amazon-cloudformation amazon-rds


【解决方案1】:

缺少一个冒号。应该是AWS::RDS::DBInstance

建议在编写模板以及自动完成和文档链接时,尝试使用 VSCode 中的 CloudFormation Linter 来查看其中的一些内联错误

【讨论】:

  • 是否有任何 linter 在您键入它们而不是从命令行运行时会显示错误?
  • 谢谢,这解决了我的问题。当然赞成你的回答 :) 在我的情况下,它是 AWS::IAM:Role - 在 Role 之前缺少一个冒号。
  • 令人惊讶的是,这个小错字在 CF 中造成了多大的麻烦,以及获得(相当模糊的)错误消息需要多长时间。我一定要抓住棉绒!
  • 这应该被标记为正确答案。
猜你喜欢
  • 2011-05-20
  • 2020-07-04
  • 1970-01-01
  • 2019-04-17
  • 2016-10-07
  • 2013-12-29
  • 2013-10-24
  • 2019-01-08
  • 1970-01-01
相关资源
最近更新 更多