微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

部署堆栈“未找到”时未解析某些给定参数

如何解决部署堆栈“未找到”时未解析某些给定参数

我想创建和部署一个模板,该模板本身从 AWS 服务目录中部署产品。这是我的模板:

**Could not parse the remainder: '(0,len(ctx.get("stages"))' from 'range(0,len(ctx.get("stages"))'**

当我尝试手动部署它时,我输入了所有参数值。它们绝对是正确的,并且来自正确的类型。但是一旦我部署它,我就会收到这样的错误

Parameters:
  ProductId:
    Type: String
  ProvisioningArtifactName:
    Type: String
  Description:
    Type: String
  Region:
    Type: CommaDelimitedList
  VpcSize:
    Type: String
  BastionHostKeyName:
    Type: String
  ProvisioningArtifactName:
    Type: String
Resources:
  VPCAndMore:
    Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct
    Properties:
      ProductId: ProductId
      ProvisioningArtifactName: ProvisioningArtifactName
      ProvisioningParameters:
        - Key: Description
          Value: Description
        - Key: AvailabilityZones
          Value: Region
        - Key: VpcSize
          Value: VpcSize
        - Key: BastionHostKeyName
          Value: BastionHostKeyName

由于某种原因,Product ProductId not found. (Service: ServiceCatalog,Status Code: 400,Request ID: 35f27a2a-1317-48d0-815e-16ebe949d039,Extended Request ID: null) 参数似乎没有解析。

我错过了什么?还是 CF 不支持 ProductId 之外的参数解析?

解决方法

对于 Intrinsic function Ref 需要引用如下定义的值:

Parameters:
  ProductId:
    Type: String
  ProvisioningArtifactName:
    Type: String
  Description:
    Type: String
  Region:
    Type: CommaDelimitedList
  VpcSize:
    Type: String
  BastionHostKeyName:
    Type: String
  ProvisioningArtifactName:
    Type: String
Resources:
  VPCAndMore:
    Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct
    Properties:
      ProductId: !Ref ProductId
      ProvisioningArtifactName: !Ref ProvisioningArtifactName
      ProvisioningParameters:
        - Key: Description
          Value: !Ref Description
        - Key: AvailabilityZones
          Value: !Ref Region
        - Key: VpcSize
          Value: !Ref VpcSize
        - Key: BastionHostKeyName
          Value: !Ref BastionHostKeyName
,

问题是您只插入了参数名称而没有引用它。

您需要使用内在函数 !Ref。像这样:

Parameters:
    ProductId:
    Type: String
    ProvisioningArtifactName:
    Type: String
    Description:
    Type: String
    Region:
    Type: CommaDelimitedList
    VpcSize:
    Type: String
    BastionHostKeyName:
    Type: String
    ProvisioningArtifactName:
    Type: String
Resources:
    VPCAndMore:
    Type: AWS::ServiceCatalog::CloudFormationProvisionedProduct
    Properties:
        ProductId: !Ref ProductId
        ProvisioningArtifactName: !Ref ProvisioningArtifactName
        ProvisioningParameters:
        - Key: Description
            Value: !Ref Description
        - Key: AvailabilityZones
            Value: !Ref Region
        - Key: VpcSize
            Value: !Ref  VpcSize
        - Key: BastionHostKeyName
            Value: !Ref BastionHostKeyName

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。