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 Answers
0
Accepted Answer

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
answered 2 years ago
0

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

answered 2 years ago
0

That worked. Thanks again.

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions