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

3 réponses
0
Réponse acceptée

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
EXPERT
James_S
répondu il y a 2 ans
0

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

répondu il y a 2 ans
0

That worked. Thanks again.

répondu il y a 2 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions