我在Terraform中有以下配置:
// ...
resource "aws_api_gateway_integration_response" "post_pet_200_integration" {
rest_api_id = "${aws_api_gateway_rest_api.my_pets_api.id}"
resource_id = "${aws_api_gateway_resource.pets_resource.id}"
http_method = "${aws_api_gateway_method.post_pet_method.http_method}"
status_code = "${aws_api_gateway_method_response.post_pet_200.status_code}"
response_parameters = "foo"
}
运行terraform apply
时,我得到:
错误:
- aws_api_gateway_integration_response.post_pet_200_integration :: 无效或未知密钥:response_parameters
关于dateValue(Connection)
的文档说:
response_parameters < - (可选)表示响应参数 可以发回给来电者
为什么我不能使用这个变量?
我尝试了以下操作:camelcase,有/无s,放入aws_api_gateway_method_response
或aws_api_gateway_deployment
块,而是放置一个terraform map
变量类型而不是字符串。但我每次都有同样的错误。我也尝试从这个配置中获取灵感:aws_api_gateway_integration_response,但我仍然遇到了同样的错误。
编辑: terraform的版本是0.6.14。
答案 0 :(得分:0)
我不确定这是否是terraform中的错误。我会让terraform社区对此做出回应。
如果responseParameters的格式无效,或者如果指定的方法响应参数不存在,则API Gateway会抛出错误。格式应该是:
$client = new GuzzleHttp\Client();
$res = $client->request('POST', 'https://ancient-test.chargebee.com/api/v1/portal_sessions', [
'auth' => ['test_rdsfgfgfddsffds', 'password'],
'json' => [customer => [id => 'EXAMPLE']]
]);
以下是相关的api参考:https://docs.aws.amazon.com/apigateway/api-reference/resource/integration-response/#responseParameters