2017-11-26 5 views
0

Ist es möglich, Fn :: ImportValue in Fn :: GetAtt zu verwenden. Derzeit versuche ich Folgendes zu tunAWS Cloudformation Fn :: ImportValue in Fn :: GetAtt

"ParentId": { 
     "Fn::GetAtt": [ 
      { 
      "Fn::ImportValue": { 
       "Fn::Sub": "${ParentStack}:RestApi" 
      } 
      }, 
      "RootResourceId" 
     ] 
    } 

Aber ich bin mit einem Fehler konfrontiert. "Vorlagenfehler: jedes Fn :: GetAtt-Objekt benötigt zwei nicht leere Parameter, den Ressourcennamen und das Ressourcenattribut".

Antwort

1

Obwohl es ein bisschen komplex ist, sieht die Syntax korrekt aus, daher ist das Problem wahrscheinlich, dass der erste Parameter in einen leeren Wert aufgelöst wird (da der zweite eindeutig eine Zeichenfolge ist, die Sie angegeben haben).

Sie könnten versuchen herauszufinden, ob dies der Fall ist, indem Sie alle Teile des Stapels entfernen, die fehlschlagen, eine Ausgabe an den Stapel erstellen und sehen, ob es einen Wert hat.

Etwas wie:

"Outputs" : { 
    "ParentStack" : { 
     "Value" : "Fn::Ref": "ParentStack" 
    }, 
    "ParentStackRestAPI" : { 
     "Value" : "Fn::Sub": "${ParentStack}:RestApi" 
    }, 
    "ImportedValue" : { 
     "Value" : "Fn::ImportValue": { 
      "Fn::Sub": "${ParentStack}:RestApi" 
     } 
    } 
} 
Verwandte Themen