Eu não sei se você acabou descobrindo isso, mas vou postar minha solução para qualquer outra pessoa que se depara com essa pergunta enquanto pesquisa no Google.
Acabei criando um documento de comando personalizado com um parâmetro extra especificamente para o valor em que eu estava interessado. Dessa forma, não precisei citar o espaço reservado ao especificá-lo no modelo, apenas passá-lo diretamente. Exemplo, baseado no documento de comando RunShellScript existente:
{
"schemaVersion": "2.2",
"description": "Pass previous status to local script.",
"parameters": {
"scriptPath": {
"type": "String",
"descripton": "(Required) The absolute path to the local script.",
"maxChars": 4096
},
"lastStatus": {
"type": "String",
"description": "The previous status of the container.",
"maxChars": 100
}
"workingDirectory": {
"type": "String",
"default": "",
"description": "(Optional) The path to the working directory on your instance.",
"maxChars": 4096
},
"executionTimeout": {
"type": "String",
"default": "3600",
"description": "(Optional) The time in seconds for a command to complete before it is considered to have failed. Default is 3600 (1 hour). Maximum is 172800 (48 hours).",
"allowedPattern": "([1-9][0-9]{0,4})|(1[0-6][0-9]{4})|(17[0-1][0-9]{3})|(172[0-7][0-9]{2})|(172800)"
}
},
"mainSteps": [{
"action": "aws:runShellScript",
"name": "runShellScript",
"inputs": {
"runCommand": [
"{{ scriptPath }} '{{ lastStatus }}'"
],
"workingDirectory": "{{ workingDirectory }}",
"executionTimeout": "{{ executionTimeout }}"
}
}]
}
Em seguida, você pode definir apenas "lastStatus": "$.detail.lastStatus"
no caminho de entrada e {scriptPath: "/path/to/script", "lastStatus": <lastStatus>}
(observe a ausência de aspas) no modelo, e você deve estar pronto.
Eu não testei esse arranjo exatamente, mas eu testei um similar (o que eu queria extrair era a hora do evento), e isso funcionou perfeitamente.