api_caches
Creates, updates, deletes, gets or lists an api_caches resource.
Overview
| Name | api_caches |
| Type | Resource |
| Id | aws.appsync.api_caches |
Fields
The following fields are returned by SELECT queries:
- get_api_cache
| Name | Datatype | Description |
|---|---|---|
api_caching_behavior | string | 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. (FULL_REQUEST_CACHING, PER_RESOLVER_CACHING, OPERATION_LEVEL_CACHING) |
at_rest_encryption_enabled | boolean | At-rest encryption flag for cache. You cannot update this setting after creation. |
health_metrics_config | string | 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. (ENABLED, DISABLED) |
status | string | 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. (AVAILABLE, CREATING, DELETING, MODIFYING, FAILED) |
transit_encryption_enabled | boolean | Transit encryption flag when connecting to cache. You cannot update this setting after creation. |
ttl | integer (int64) | TTL in seconds for cache entries. Valid values are 1–3,600 seconds. |
type_ | string | 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. (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) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get_api_cache | select | api_id, region | Retrieves an ApiCache object. | |
create_api_cache | insert | api_id, region, ttl, apiCachingBehavior, type | Creates a cache for the GraphQL API. | |
update_api_cache | update | api_id, region, ttl, apiCachingBehavior, type | Updates the cache for the GraphQL API. | |
delete_api_cache | delete | api_id, region | Deletes an ApiCache object. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
api_id | string | The API ID. |
region | string | AWS region (default: us-east-1) |
SELECT examples
- get_api_cache
Retrieves an ApiCache object.
SELECT
api_caching_behavior,
at_rest_encryption_enabled,
health_metrics_config,
status,
transit_encryption_enabled,
ttl,
type_
FROM aws.appsync.api_caches
WHERE api_id = '{{ api_id }}' -- required
AND region = '{{ region }}' -- required
;
INSERT examples
- create_api_cache
- Manifest
Creates a cache for the GraphQL API.
INSERT INTO aws.appsync.api_caches (
ttl,
transitEncryptionEnabled,
atRestEncryptionEnabled,
apiCachingBehavior,
type,
healthMetricsConfig,
api_id,
region
)
SELECT
{{ ttl }} /* required */,
{{ transitEncryptionEnabled }},
{{ atRestEncryptionEnabled }},
'{{ apiCachingBehavior }}' /* required */,
'{{ type }}' /* required */,
'{{ healthMetricsConfig }}',
'{{ api_id }}',
'{{ region }}'
RETURNING
api_cache
;
# Description fields are for documentation purposes
- name: api_caches
props:
- name: api_id
value: "{{ api_id }}"
description: Required parameter for the api_caches resource.
- name: region
value: "{{ region }}"
description: Required parameter for the api_caches resource.
- name: ttl
value: {{ ttl }}
- name: transitEncryptionEnabled
value: {{ transitEncryptionEnabled }}
- name: atRestEncryptionEnabled
value: {{ atRestEncryptionEnabled }}
- name: apiCachingBehavior
value: "{{ apiCachingBehavior }}"
valid_values: ['FULL_REQUEST_CACHING', 'PER_RESOLVER_CACHING', 'OPERATION_LEVEL_CACHING']
- name: type
value: "{{ type }}"
valid_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_12X']
- name: healthMetricsConfig
value: "{{ healthMetricsConfig }}"
valid_values: ['ENABLED', 'DISABLED']
UPDATE examples
- update_api_cache
Updates the cache for the GraphQL API.
UPDATE aws.appsync.api_caches
SET
ttl = {{ ttl }},
apiCachingBehavior = '{{ apiCachingBehavior }}',
type = '{{ type }}',
healthMetricsConfig = '{{ healthMetricsConfig }}'
WHERE
api_id = '{{ api_id }}' --required
AND region = '{{ region }}' --required
AND ttl = '{{ ttl }}' --required
AND apiCachingBehavior = '{{ apiCachingBehavior }}' --required
AND type = '{{ type }}' --required
RETURNING
api_cache;
DELETE examples
- delete_api_cache
Deletes an ApiCache object.
DELETE FROM aws.appsync.api_caches
WHERE api_id = '{{ api_id }}' --required
AND region = '{{ region }}' --required
;