Ошибка шаблона: экземпляр Fn::GetAtt ссылается на неопределенный ресурс

У меня есть этот шаблон cloudformation:

"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" },
  }
},

Когда я проверяю шаблон, я получаю эту ошибку:

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

Все ресурсы правильно определены и хорошо написаны; Я не понимаю, почему я получаю эту ошибку. Профиль экземпляра упоминается во всех слоях моего стека opsworks.


person JavaQueen    schedule 25.01.2017    source источник
comment
Помимо синтаксической ошибки JSON, если ваша проблема все еще возникает, опубликуйте полный шаблон стека, который воспроизводит проблему, а не только небольшой раздел более крупного шаблона. Цитируя FAQ, проблема может заключаться не в той части, которую вы подозреваете, а в другой части.   -  person wjordan    schedule 25.01.2017


Ответы (1)


Ваш JSON неправильно сформирован.

  • В строке ниже CustomJSON есть лишняя закрывающая скобка, которую следует удалить:

    },
    
  • В profils есть опечатка, которая не кажется преднамеренной (хотя, вероятно, не связана с текущей ошибкой).

person wjordan    schedule 25.01.2017