{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-appsync/json-schema/amazon-appsync-get-api-cache-response-schema.json",
  "title": "GetApiCacheResponse",
  "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/GetApiCacheResponse",
  "type": "object",
  "properties": {
    "apiCache": {
      "$ref": "#/$defs/ApiCache"
    }
  },
  "$defs": {
    "ApiCache": {
      "type": "object",
      "properties": {
        "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."
        },
        "transitEncryptionEnabled": {
          "type": "boolean",
          "description": "Transit encryption flag when connecting to cache. You cannot update this setting after creation."
        },
        "atRestEncryptionEnabled": {
          "type": "boolean",
          "description": "At-rest encryption flag for cache. You cannot update this setting after creation."
        },
        "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. "
        },
        "status": {
          "type": "string",
          "enum": [
            "AVAILABLE",
            "CREATING",
            "DELETING",
            "MODIFYING",
            "FAILED"
          ],
          "description": "The cache instance status. AVAILABLE: The instance is available for use. CREATING: The instance is currently creating. DELETING: The instance is currently deleting. MODIFYING: The instance is currently modifying. FAILED: The instance has failed creation."
        },
        "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."
        }
      }
    }
  }
}