Amazon-Web-Services

CloudFormation 堆棧 yaml 語法?

  • July 12, 2017

我正在嘗試創建一個具有類似標籤的 SecurityGroup Name: SG-StackName。此程式碼在 json 中完美執行:

"Resources": {
   "SecurityGroup": {
       "Type": "AWS::EC2::SecurityGroup",
       "Properties": {
           ...
           "Tags": [{
                   "Key": "Name",
                   "Value": {
                       "Fn::Join" : [ "", [
                           "SG-",
                           {   "Ref" : "AWS::StackName"    }
                       ]]
                   }
               }
           ]
       }
   },

現在我正在嘗試將其轉換為 yaml:

Resources: 
 SecurityGroup: 
   Type: AWS::EC2::SecurityGroup
   Properties: 
     ...
     Tags: 
       - Key: Name
       - Value: !Join
         - ''
         - - 'SG-'
           - Ref: AWS::StackName

堆棧建構失敗並出現錯誤“在標籤屬性中找不到鍵”。模板的錯誤在哪裡?

標籤定義中有一個額外的“-”字元。它應該類似於下面的程式碼片段(我不確定 Join 語法,我個人通常使用 Sub):

Tags: 
   - Key: Name
     Value: !Sub "SG-${AWS::StackName}"

引用自:https://serverfault.com/questions/861615