This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::AppSync::ApiCache
The AWS::AppSync::ApiCache resource represents the input of a
                CreateApiCache operation.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::AppSync::ApiCache", "Properties" : { "ApiCachingBehavior" :String, "ApiId" :String, "AtRestEncryptionEnabled" :Boolean, "HealthMetricsConfig" :String, "TransitEncryptionEnabled" :Boolean, "Ttl" :Number, "Type" :String} }
YAML
Type: AWS::AppSync::ApiCache Properties: ApiCachingBehavior:StringApiId:StringAtRestEncryptionEnabled:BooleanHealthMetricsConfig:StringTransitEncryptionEnabled:BooleanTtl:NumberType:String
Properties
- ApiCachingBehavior
- 
                    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. 
 Required: Yes Type: String Allowed values: FULL_REQUEST_CACHING | PER_RESOLVER_CACHING | OPERATION_LEVEL_CACHINGUpdate requires: No interruption 
- 
                            
- ApiId
- 
                    The GraphQL API ID. Required: Yes Type: String Update requires: Replacement 
- AtRestEncryptionEnabled
- 
                    This parameter has been deprecated. At-rest encryption flag for cache. You cannot update this setting after creation. Required: No Type: Boolean Update requires: No interruption 
- HealthMetricsConfig
- 
                    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 ENABLEDorDISABLED.Required: No Type: String Update requires: No interruption 
- 
                            
- TransitEncryptionEnabled
- 
                    This parameter has been deprecated. Transit encryption flag when connecting to cache. You cannot update this setting after creation. Required: No Type: Boolean Update requires: No interruption 
- Ttl
- 
                    TTL in seconds for cache entries. Valid values are 1–3,600 seconds. Required: Yes Type: Number Update requires: No interruption 
- Type
- 
                    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. 
- 
                            R4_8XLARGE: A r4.8xlarge instance type. 
 Required: Yes Type: String Allowed values: 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_12XUpdate requires: No interruption 
- 
                            
Examples
ApiCache Creation Example
The following example creates an ApiCache for your GraphQL API.
YAML
Parameters: graphQlApiId: Type: String Resources: ApiCache: Type: AWS::AppSync::ApiCache Properties: ApiId: !Ref graphQlApiId Type: SMALL ApiCachingBehavior: FULL_REQUEST_CACHING Ttl: 1200 TransitEncryptionEnabled: true AtRestEncryptionEnabled: true
JSON
{ "Parameters": { "graphQlApiId": { "Type": "String" } }, "Resources": { "ApiCache": { "Type": "AWS::AppSync::ApiCache", "Properties": { "ApiId": { "Ref": "graphQlApiId" }, "Type": "SMALL", "ApiCachingBehavior": "FULL_REQUEST_CACHING", "Ttl": 1200, "TransitEncryptionEnabled": true, "AtRestEncryptionEnabled": true } } } }