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

yaml 中的 Cloud 形成模板将如何检查导出的堆栈是否存在使用嵌套?堆栈

如何解决yaml 中的 Cloud 形成模板将如何检查导出的堆栈是否存在使用嵌套?堆栈

基于以下代码尝试实现 YAML 模板,并想检查导出的堆栈是否存在。请指教。

Outputs:
  Publicsubnet:
    Description: The subnet ID to use for public web servers
    Value:
      Ref: Publicsubnet
    Export:
      Name:
        'Fn::Sub': '${AWS::StackName}-subnetID'
  WebServerSecurityGroup:
    Description: The security group ID to use for public web servers
    Value:
      'Fn::GetAtt':
        - WebServerSecurityGroup
        - GroupId
    Export:
      Name:
        'Fn::Sub': '${AWS::StackName}-SecurityGroupID'

Resources:
  WebServerInstance:
    Type: 'AWS::EC2::Instance'
    Properties:
      InstanceType: t2.micro
      ImageId: ami-a1b23456
      NetworkInterfaces:
        - GroupSet:
            - !ImportValue 
              'Fn::Sub': '${NetworkStackNameParameter}-SecurityGroupID'
          AssociatePublicIpAddress: 'true'
          DeviceIndex: '0'
          DeleteOnTermination: 'true'
          subnetId: !ImportValue 
            'Fn::Sub': '${NetworkStackNameParameter}-subnetID'

解决方法

使用普通的 CloudFormation (CFN) 无法做到这一点。导出的值桅杆已经存在,您无法使用 CFN 检查它是否存在。

唯一的方法是以 lambda 函数的形式创建 custom resource。该函数将使用 AWS 开发工具包来检查给定的导出是否存在,并将检查结果返回到您的模板以供进一步处理。

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