{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/MethodSetting",
  "title": "MethodSetting",
  "type": "object",
  "properties": {
    "metricsEnabled": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is <code>/{method_setting_key}/metrics/enabled</code>, and the value is a Boolean."
        }
      ]
    },
    "loggingLevel": {
      "allOf": [
        {
          "$ref": "#/components/schemas/String"
        },
        {
          "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is <code>/{method_setting_key}/logging/loglevel</code>, and the available levels are <code>OFF</code>, <code>ERROR</code>, and <code>INFO</code>. Choose <code>ERROR</code> to write only error-level entries to CloudWatch Logs, or choose <code>INFO</code> to include all <code>ERROR</code> events as well as extra informational events."
        }
      ]
    },
    "dataTraceEnabled": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is <code>/{method_setting_key}/logging/dataTrace</code>, and the value is a Boolean."
        }
      ]
    },
    "throttlingBurstLimit": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Integer"
        },
        {
          "description": "Specifies the throttling burst limit. The PATCH path for this setting is <code>/{method_setting_key}/throttling/burstLimit</code>, and the value is an integer."
        }
      ]
    },
    "throttlingRateLimit": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Double"
        },
        {
          "description": "Specifies the throttling rate limit. The PATCH path for this setting is <code>/{method_setting_key}/throttling/rateLimit</code>, and the value is a double."
        }
      ]
    },
    "cachingEnabled": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is <code>/{method_setting_key}/caching/enabled</code>, and the value is a Boolean."
        }
      ]
    },
    "cacheTtlInSeconds": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Integer"
        },
        {
          "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is <code>/{method_setting_key}/caching/ttlInSeconds</code>, and the value is an integer."
        }
      ]
    },
    "cacheDataEncrypted": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Specifies whether the cached responses are encrypted. The PATCH path for this setting is <code>/{method_setting_key}/caching/dataEncrypted</code>, and the value is a Boolean."
        }
      ]
    },
    "requireAuthorizationForCacheControl": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is <code>/{method_setting_key}/caching/requireAuthorizationForCacheControl</code>, and the value is a Boolean."
        }
      ]
    },
    "unauthorizedCacheControlHeaderStrategy": {
      "allOf": [
        {
          "$ref": "#/components/schemas/UnauthorizedCacheControlHeaderStrategy"
        },
        {
          "description": "Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is <code>/{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy</code>, and the available values are <code>FAIL_WITH_403</code>, <code>SUCCEED_WITH_RESPONSE_HEADER</code>, <code>SUCCEED_WITHOUT_RESPONSE_HEADER</code>."
        }
      ]
    }
  },
  "description": "Specifies the method setting properties."
}