如何将存储库资源作为参数传递给AWS codepipeline模板?

时间:2017-12-19 23:40:42

标签: amazon-web-services amazon-cloudformation aws-codepipeline

我有一个用于AWS codepipeline构建的yml云形态模板(A),我希望在另一个模板(B)中对其进行变体。

原始(A)有一个存储库作为其最初通过cloudformation运行时创建的资源之一。我希望变体(B)模板使用原始(A)中生成的相同ECR存储库,用于代码构建。

我有没有办法(B)模板通过将存储库资源值作为参数传递来使用在A中创建的ECR资源?

例如,我希望在B中重用(不重新创建)的A中的资源类似于:

Repository:
  Type: AWS::ECR::Repository
  Properties:
    RepositoryName: !Sub comp/${ServiceName}
    RepositoryPolicyText:
        Version: 2012-10-17
        Statement:
          ...

1 个答案:

答案 0 :(得分:0)

我不确定你提到的资源是什么。但一般情况下,您可以使用Export部分的Output属性将任意值从一个堆栈导出到另一个堆栈

来自Exporting Stack Output Values

  

要在堆栈之间共享信息,请导出堆栈的输出值。   可以导入同一AWS账户和区域中的其他堆栈   导出的值。例如,您可能只有一个网络   用于导出公共子网和安全组的ID的堆栈   网络服务器。具有公共Web服务器的堆栈可以轻松导入这些堆栈   网络资源。您不需要硬编码资源ID   堆栈模板或传递ID作为输入参数。