में एक aws_api_gateway_integration के लिए एक अनुरोध टेम्पलेट निर्दिष्ट Terraform documentation for AWS_API_GATEWAY_INTEGRATION में, निम्न पैरामीटर समर्थित हैं:terraform
- rest_api_id
- RESOURCE_ID
- http_method
- प्रकार
- uri
- integration_http_method
वे इस उदाहरण दे:
resource "aws_api_gateway_integration" "MyDemoIntegration" {
rest_api_id = "${aws_api_gateway_rest_api.MyDemoAPI.id}"
resource_id = "${aws_api_gateway_resource.MyDemoResource.id}"
http_method = "${aws_api_gateway_method.MyDemoMethod.http_method}"
type = "MOCK"
}
लेकिन मैं के रूप में आप यूआई के साथ कर सकते हैं एक मानचित्रण टेम्पलेट (और साथ ही एक लैम्ब्डा एकीकरण) निर्दिष्ट करने के लिए चाहते हैं,:
हालांकि मुझे टेराफॉर्म के साथ ऐसा करने का कोई तरीका नहीं दिखता है। क्या संभव है?
नोट: क्या मैं वर्तमान में कर रहा हूँ apply
विन्यास के बाकी ing है (लैम्ब्डा, एस 3, iam आदि ...), और फिर मानचित्रण टेम्पलेट मैन्युअल रूप से जोड़ने के बाद (और साथ ही लैम्ब्डा के एकीकरण प्रकार) ।
लेकिन फिर हर बार जब मैं terraform apply
कुछ अन्य कॉन्फ़िगरेशन (उदाहरण: एस 3) लागू करने के लिए, टेराफॉर्म मैपिंग टेम्पलेट और एकीकरण प्रकार को वापस ले देता है।
"को वापस लाने में" योजना इस तरह दिखता है:
(आप पैरामीटर uri
, type
, integration_http_method
और request_templates
उपयोग करने के लिए):
~ aws_api_gateway_integration.post_hit_integration
request_templates.#: "1" => "0"
request_templates.application/json: "{\n \"body\" : $input.json('$'),\n \"headers\": {\n #foreach($param in $input.params().header.keySet())\n \"$param\": \"$util.escapeJavaScript($input.params().header.get($param))\" #if($foreach.hasNext),#end\n \n #end \n },\n \"stage\" : \"$context.stage\"\n}" => ""
uri: "arn:aws:apigateway:eu-west-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-west-1:000000000000:function:create_hit/invocations" => ""
मैं इस के लिए हर जगह तलाश रहे हैं, आपको बहुत बहुत धन्यवाद। मैं पूरी तरह से शीर्षलेखों की गणना करना शुरू कर रहा था। – jstlaurent