2017-01-25 3 views
0

ich diese Vorlage Cloudformation haben:Template Fehler: Instanz von Fn :: GetAtt Referenzen undefined Ressource

"InstanceProfileProd": { 
    "Type" : "AWS::IAM::InstanceProfile", 
    "Properties": { 
    "Path": "/", 
    "Roles" : [ { "Ref" : "InstanceRole"} ] 
    } 
}, 

"CompLayer": { 
    "Type": "AWS::OpsWorks::Layer", 
    "DependsOn" : "OpsWorksServiceRole", 
    "Properties": { 
    "AutoAssignElasticIps" : false, 
    "AutoAssignPublicIps" : true, 
    "CustomJson" : { 
     }, 
     "awscli" : { 
     "profils" : { 
      "default" : { 
      "role_arn": { "Fn::GetAtt": [ "InstanceProfileProd","Arn" ] } 
      } 
     } 
     }, 
    }, 
    "CustomSecurityGroupIds" : { "Ref" : "SecurityGroupIds" }, 
    "EnableAutoHealing" : true, 
    "InstallUpdatesOnBoot": false, 
    "LifecycleEventConfiguration": { 
     "ShutdownEventConfiguration": { 
     "DelayUntilElbConnectionsDrained": false, 
     "ExecutionTimeout": 120 } 
     }, 
     "Name": "Layer", 
     "Shortname" : "layer1", 
     "StackId": { "Ref": "CompStack" }, 
    } 
}, 

Wenn ich die Vorlage bestätigen bekomme ich diesen Fehler:

An error occurred (ValidationError) when calling the ValidateTemplate operation: Template error: instance of Fn::GetAtt references undefined resource InstanceProfileProd 

Die Ressourcen sind alle richtig definiert und gut geschrieben; Ich verstehe nicht, warum ich diesen Fehler bekomme. Das Instanzprofil wird in allen Schichten meines opsworks-Stapels referenziert.

+0

Jenseits dem JSON Syntaxfehler, wenn das Problem weiterhin auftritt schreiben Sie bitte eine vollständige Stapel-Vorlage, die das Problem reproduziert, nicht nur einen kleinen Ausschnitt einer größeren Vorlage. Um die [FAQ] (http://stackoverflow.com/help/mcve) zu zitieren, "Das Problem ist möglicherweise nicht in dem Teil, den Sie vermuten, es ist, aber ein anderer Teil vollständig." – wjordan

Antwort

0

Ihr JSON ist nicht wohlgeformt.

  • Die Linie unter CustomJSON hat eine extra schließende Klammer, die entfernt werden soll:

    }, 
    
  • Es ist ein Tippfehler in profils, die nicht absichtlich scheint (obwohl wahrscheinlich in keinem Zusammenhang mit den aktuellen Fehlern)

    .

Verwandte Themen