Terraform 0.11

aws_api_gateway_method_settings




terraform

aws_api_gateway_method_settings

एक एपीआई गेटवे विधि सेटिंग्स प्रदान करता है, जैसे लॉगिंग या निगरानी।

उदाहरण उपयोग

resource "aws_api_gateway_method_settings" "s" {
  rest_api_id = "${aws_api_gateway_rest_api.test.id}"
  stage_name  = "${aws_api_gateway_stage.test.stage_name}"
  method_path = "${aws_api_gateway_resource.test.path_part}/${aws_api_gateway_method.test.http_method}"

  settings {
    metrics_enabled = true
    logging_level   = "INFO"
  }
}

resource "aws_api_gateway_rest_api" "test" {
  name = "MyDemoAPI"
  description = "This is my API for demonstration purposes"
}

resource "aws_api_gateway_deployment" "test" {
  depends_on = ["aws_api_gateway_integration.test"]
  rest_api_id = "${aws_api_gateway_rest_api.test.id}"
  stage_name = "dev"
}

resource "aws_api_gateway_stage" "test" {
  stage_name = "prod"
  rest_api_id = "${aws_api_gateway_rest_api.test.id}"
  deployment_id = "${aws_api_gateway_deployment.test.id}"
}

resource "aws_api_gateway_resource" "test" {
  rest_api_id = "${aws_api_gateway_rest_api.test.id}"
  parent_id   = "${aws_api_gateway_rest_api.test.root_resource_id}"
  path_part   = "mytestresource"
}

resource "aws_api_gateway_method" "test" {
  rest_api_id   = "${aws_api_gateway_rest_api.test.id}"
  resource_id   = "${aws_api_gateway_resource.test.id}"
  http_method   = "GET"
  authorization = "NONE"
}

resource "aws_api_gateway_integration" "test" {
  rest_api_id = "${aws_api_gateway_rest_api.test.id}"
  resource_id = "${aws_api_gateway_resource.test.id}"
  http_method = "${aws_api_gateway_method.test.http_method}"
  type        = "MOCK"

  request_templates {
    "application/xml" = <<EOF
{
   "body" : $input.json('$')
}
EOF
  }
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • rest_api_id - (आवश्यक) REST API की आईडी
  • stage_name - (आवश्यक) मंच का नाम
  • method_path - (आवश्यक) एक अलग विधि ओवरराइड के लिए {resource_path}/{http_method} रूप में परिभाषित किया गया, या स्टेज में सभी तरीकों को ओवरराइड करने के लिए */*
  • settings - (आवश्यक) सेटिंग्स ब्लॉक, नीचे देखें।

settings

  • metrics_enabled - (वैकल्पिक) निर्दिष्ट करता है कि क्या इस विधि के लिए Amazon CloudWatch मीट्रिक सक्षम हैं।
  • logging_level - (वैकल्पिक) इस विधि के लिए लॉगिंग स्तर को निर्दिष्ट करता है, जो अमेज़ॅन क्लाउडवर्क्स लॉग में धकेल दी गई लॉग प्रविष्टियों को प्रभावित करता है। उपलब्ध स्तर OFF , ERROR और INFO
  • data_trace_enabled - (वैकल्पिक) निर्दिष्ट करता है कि क्या डेटा ट्रेस लॉगिंग इस विधि के लिए सक्षम है, जो अमेज़न CloudWatch लॉग में धकेल दिए गए लॉग प्रविष्टियों को प्रभावित करता है।
  • throttling_burst_limit - (वैकल्पिक) थ्रॉटलिंग फट सीमा निर्दिष्ट करता है।
  • throttling_rate_limit - (वैकल्पिक) थ्रॉटलिंग दर सीमा निर्दिष्ट करता है।
  • caching_enabled - (वैकल्पिक) निर्दिष्ट करता है कि क्या अनुरोधों को कैश किया जाना चाहिए और अनुरोधों के लिए लौटाया जाना चाहिए। कैश किए जाने वाले प्रतिक्रियाओं के लिए मंच पर एक कैश क्लस्टर सक्षम होना चाहिए।
  • cache_ttl_in_seconds - (वैकल्पिक) सेकंड के लिए, कैश्ड प्रतिक्रियाओं के लिए रहने का समय (TTL) निर्दिष्ट करता है। TTL जितना अधिक होगा, उतनी ही लंबी प्रतिक्रिया होगी।
  • cache_data_encrypted - (वैकल्पिक) निर्दिष्ट करता है कि कैश की गई प्रतिक्रियाएँ एन्क्रिप्ट की गई हैं या नहीं।
  • require_authorization_for_cache_control - (वैकल्पिक) निर्दिष्ट करता है कि कैश अमान्य अनुरोध के लिए प्राधिकरण की आवश्यकता है या नहीं।
  • unauthorized_cache_control_header_strategy - (वैकल्पिक) निर्दिष्ट करता है कि कैश अमान्य के लिए अनधिकृत अनुरोधों को कैसे संभालना है। उपलब्ध मान FAIL_WITH_403 , SUCCEED_WITH_RESPONSE_HEADER , SUCCEED_WITHOUT_RESPONSE_HEADER