我想在 terraform 运行 destroy 时从 lambda 中进行调用。
Jenkins 在远程服务器上运行 terraform 作业。
根据 this 文档,我定义了以下的 provisioner:
为什么我在本地执行提供程序时会收到“/bin/sh:aws:找不到命令”的消息?
根据 this 文档,我定义了以下的 provisioner:
provisioner "local-exec" {
when = destroy
command = "aws lambda invoke --function-name ${var.lambda_name} --payload '{ \"someProperty\": \"someValue\" }' response.json"
}
lambda invoke的命令语法是根据AWS CLI命令参考来执行的。
但是,在运行Terraform时会出现以下错误:
Error running command 'aws lambda invoke --function-name my-lambda-name --payload '{ "someProperty": "someValue" }' response.json': exit status 127. Output: /bin/sh: aws: command not found
为什么我在本地执行提供程序时会收到“/bin/sh:aws:找不到命令”的消息?