AWS CloudFormation Update – YAML, Cross-Stack References, Simplified Substitution


新聞來源:AWS CloudFormation Update – YAML, Cross-Stack References, Simplified Substitution

有三個很重大的更新:

  • YAML Support: 主要的新功能,可以用 YAML 寫 Template。CloudFormation 的 Function 則是用 !GetAtt 表示。
  • Cross Stack References: 可以用 ImportValue function 參考其他 stack 的變數。被參照的 stack reference 就不能刪除。
  • Simplified Substitution: 可以用 This is ${VarName} 的方式做字串取代。
    • 原本要都要透過 Fn:Join 做字串串接,Template 會變得很難閱讀。
    • 現在可以透過這樣的方式: !Sub | "This is ${VarName}"
    • 很多地方需要使用 userdata 啟動 ec2 時,需要把整段 bash 放入,透過這個新的表示方式就很容易閱讀

官方文件

後記

看到這些功能其實很有感覺,現代的 DevOps 工具都差不多有類似的功能,像是字串格式取代、自訂變數、利用一些關鍵符號實作特定功能 … 等,其實這些都算是 DSL 的實作,把這些工具都可以算是再創造一種新的 DSL,只是目前大部份都是利用現成的資料結構格式在定義,像是 JSON、YAML 等資料結構。

比較好的 DSL 除了有資料結構,也都會具備一些簡單的邏輯、流程控制、資源管理的功能,這些功能透過特殊的語法達到。

現在很夯的前端語言,像是 ReactVueAngularJS 我想也應該都有類似特性。每次看到這些東西,都會想到以前寫類似概念的 功能,感觸很深刻。


Comments