簡體   English   中英

如果尚未創建新的SSM參數,如何創建AWS雲形成條件?

[英]How can I create an AWS Cloud Formation condition for creating a new SSM Parameter if not already created?

是否有人在Cloudformation模板中使用了條件作為SSM參數存儲參數“如果未在創建之前創建或什么都不做”,例如Cloudformation中的條件?

我已經嘗試了很多方法,但是沒有運氣。 也可以搜索它,但是周圍沒有真正的工作工具。

我在真正的CF模板之外嘗試過的最簡單方法是這種方法,但無法正常工作。 AWS Cloudformation部分沒有詳細的文檔。

Parameters:
  DAXClusterUrl:
      Description: DAX Cluster Url
      Type: 'AWS::SSM::Parameter::Name<String>'
      Default: "/testservice/dev/AWS_CLUSTER_ENDPOINT"

Conditions:
  CreateDAXClusterUrlParameter: !Not [!Equals ["", !Ref DAXClusterUrl]]

Resources:
  DAXClusterUrlParameter:
    Condition: CreateDAXClusterUrlParameter
    Type: 'AWS::SSM::Parameter'
    Properties:
      Name: "/testservice/dev/AWS_CLUSTER_ENDPOINT"
      Type: String
      Value: "TestURL"
      Description: '-'

我認為您在這里所做的嘗試是不可能的。 Cloudformation僅允許非常有限類型的編程和條件語句。

根據要實現的目標,可以使用一些解決方法。 例如,如果您嘗試執行此操作,因為您需要多次部署堆棧,則可以手動創建SSM參數,也可以在其他CFN堆棧中創建SSM參數並將其作為參數傳遞。 或者,如果仍然在單獨的CFN堆棧中創建SSM參數,則可以將其添加到模板的outputs部分,然后使用Fn::ImportValue方法創建跨堆棧引用。

編輯

在OP發表評論之后,我進行了更多研究,盡管評論中的鏈接僅強制將參數的值確定為某種方式,但動態引用可能會在此處提供解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM