{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-appsync/json-schema/amazon-appsync-update-api-cache-request-schema.json",
  "title": "UpdateApiCacheRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-appsync-apicaches-api-openapi.yml#/components/schemas/UpdateApiCacheRequest",
  "type": "object",
  "properties": {
    "apiId": {
      "type": "string",
      "description": "The GraphQL API ID."
    },
    "ttl": {
      "type": "integer",
      "description": "TTL in seconds for cache entries. Valid values are 1–3,600 seconds."
    },
    "apiCachingBehavior": {
      "type": "string",
      "enum": [
        "FULL_REQUEST_CACHING",
        "PER_RESOLVER_CACHING",
        "OPERATION_LEVEL_CACHING"
      ],
      "description": "Caching behavior. FULL_REQUEST_CACHING: All requests from the same user are cached. Individual resolvers are automatically cached. All API calls will try to return responses from the cache. PER_RESOLVER_CACHING: Individual resolvers that you specify are cached. OPERATION_LEVEL_CACHING: Full requests are cached together and returned without executing resolvers."
    },
    "type": {
      "type": "string",
      "enum": [
        "T2_SMALL",
        "T2_MEDIUM",
        "R4_LARGE",
        "R4_XLARGE",
        "R4_2XLARGE",
        "R4_4XLARGE",
        "R4_8XLARGE",
        "SMALL",
        "MEDIUM",
        "LARGE",
        "XLARGE",
        "LARGE_2X",
        "LARGE_4X",
        "LARGE_8X",
        "LARGE_12X"
      ],
      "description": "The cache instance type. Valid values are SMALL MEDIUM LARGE XLARGE LARGE_2X LARGE_4X LARGE_8X (not available in all regions) LARGE_12X Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used. The following legacy instance types are available, but their use is discouraged: T2_SMALL: A t2.small instance type. T2_MEDIUM: A t2.medium instance type. R4_LARGE: A r4.large instance type. R4_XLARGE: A r4.xlarge instance type. R4_2XLARGE: A r4.2xlarge instance type. R4_4XLARGE: A r4.4xlarge instance type. "
    },
    "healthMetricsConfig": {
      "type": "string",
      "enum": [
        "ENABLED",
        "DISABLED"
      ],
      "description": "Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include: NetworkBandwidthOutAllowanceExceeded: The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration. EngineCPUUtilization: The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration. Metrics will be recorded by API ID. You can set the value to ENABLED or DISABLED."
    }
  },
  "required": [
    "apiId",
    "ttl",
    "apiCachingBehavior",
    "type"
  ]
}