Receiving Validation Error on Payload input (Lambda) when using via SSM Automation Document

0

Hello,

I've cloned the AWS-UpdateWindowsAMI document and added two steps for invoking Lamda function to update the parameter store with the latest AMI ID and creating EC2 tags. I'm getting the error below when I run into the aws:invokelambdafunction block. Everything else works.

Step fails when it is validating and resolving the step inputs. Failed to resolve input: createImage.ImageId to type String. createImage is not defined in Automation Document MainSteps.. Please refer to Automation Service Troubleshooting Guide for more diagnosis details. VerificationErrorMessage Failed to resolve input: createImage.ImageId to type String. createImage is not defined in Automation Document MainSteps.

I've copied the LamdaFunction code straight of this document. This is the updatessmparam code in the document. I've only replaced the parameterName in the code.

{

  "name": "CreateImage",
  "action": "aws:createImage",
  "maxAttempts": 3,
  "onFailure": "Abort",
  "inputs": {
    "InstanceId": "{{ LaunchInstance.InstanceIds }}",
    "ImageName": "{{ TargetAmiName }}",
    "NoReboot": true,
    "ImageDescription": "{{ TargetImageDescription }}"
  }
},
{
  "name": "TerminateInstance",
  "action": "aws:changeInstanceState",
  "maxAttempts": 3,
  "onFailure": "Abort",
  "inputs": {
    "InstanceIds": [
      "{{ LaunchInstance.InstanceIds }}"
    ],
    "DesiredState": "terminated"
  }
},
{
  "name": "updateSsmParam",
  "action": "aws:invokeLambdaFunction",
  "timeoutSeconds": 1200,
  "maxAttempts": 1,
  "onFailure": "Continue",
  "inputs": {
    "FunctionName": "Automation-UpdateSsmParam",
    "Payload": "{\"parameterName\":\"/ami/latest/us-east-1/win2k19sf-cb\", \"parameterValue\":\"{{createImage.ImageId}}\"}"
  }
},

Any help would be appreciated. Thanks.

Justin

preguntada hace 2 años1082 visualizaciones
3 Respuestas
0
Respuesta aceptada

I think it might be case-sensitive, and your step name is CreateImage with a capital "C". Does it work if you change the value in updateSsmParam's Payload to CreateImage.ImageId?

profile pictureAWS
EXPERTO
James_S
respondido hace 2 años
0

Ok, I've updated the document. I'm running it again. Will let you know whether that worked or not.

respondido hace 2 años
0

That worked. Thanks again.

respondido hace 2 años

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas