updateApiCache method
Future<UpdateApiCacheResponse>
updateApiCache({
- required ApiCachingBehavior apiCachingBehavior,
- required String apiId,
- required int ttl,
- required ApiCacheType type,
Updates the cache for the GraphQL API.
May throw BadRequestException. May throw ConcurrentModificationException. May throw NotFoundException. May throw UnauthorizedException. May throw InternalFailureException.
Parameter apiCachingBehavior
:
Caching behavior.
- FULL_REQUEST_CACHING: All requests are fully cached.
- PER_RESOLVER_CACHING: Individual resolvers that you specify are cached.
Parameter apiId
:
The GraphQL API Id.
Parameter ttl
:
TTL in seconds for cache entries.
Valid values are between 1 and 3600 seconds.
Parameter 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
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.
Implementation
Future<UpdateApiCacheResponse> updateApiCache({
required ApiCachingBehavior apiCachingBehavior,
required String apiId,
required int ttl,
required ApiCacheType type,
}) async {
ArgumentError.checkNotNull(apiCachingBehavior, 'apiCachingBehavior');
ArgumentError.checkNotNull(apiId, 'apiId');
ArgumentError.checkNotNull(ttl, 'ttl');
ArgumentError.checkNotNull(type, 'type');
final $payload = <String, dynamic>{
'apiCachingBehavior': apiCachingBehavior.toValue(),
'ttl': ttl,
'type': type.toValue(),
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/v1/apis/${Uri.encodeComponent(apiId)}/ApiCaches/update',
exceptionFnMap: _exceptionFns,
);
return UpdateApiCacheResponse.fromJson(response);
}