updateApiCache method

Future<UpdateApiCacheResponse> updateApiCache({
  1. required ApiCachingBehavior apiCachingBehavior,
  2. required String apiId,
  3. required int ttl,
  4. 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
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.

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);
}