簡體   English   中英

使用方法:Sub 或:Join in "AWS::CloudFormation,:Init", file key

[英]How to use !Sub or !Join in "AWS::CloudFormation::Init", file key

我目前正在創建一個 yaml 模板,我正在嘗試模塊化模板,以便它們可以在不同的項目中重復使用。 我遇到的問題是,如果我嘗試在文件名中使用 .Join 或 !Sub,我會不斷收到語法錯誤。

files: 
 /tmp/myfile2.txt: 
   content: "/tmp/myfile1.txt"
   mode: "120644"

我想創建一個項目特定目錄而不是 /tmp/,例如:

files: 
  /PROJECT_NAME/myfile2.txt: 
    content: "/tmp/myfile1.txt"
    mode: "120644"

PROJECT_NAME 是 CloudFormation 參數。

是否有可能實現這樣的目標:

files: 
  !Sub "/${PROJECT_NAME }/myfile2.txt": 
    content: |
      some shell commands
      some shell commands
      some shell commands
    mode: "120644"

我嘗試了多種方法來實現這一點,使用 Join: Fn:,Sub。 !子。

只是想知道以前是否有人做過這樣的事情?

謝謝!

只是想知道以前是否有人做過這樣的事情?

許多人嘗試並提交。 原因是您不能在 CloudFormation 中使用非字符串作為映射。 來自CFN 格式規范

map是鍵值對的集合,其中鍵始終是字符串

因此,建議的解決方案是使用UserData來定義動態生成的文件,而不是使用 CFN 元數據。

暫無
暫無

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

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