aws-sdk-appsync 1.21.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,6 +14,10 @@ module Aws::AppSync
14
14
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
15
15
  AdditionalAuthenticationProvider = Shapes::StructureShape.new(name: 'AdditionalAuthenticationProvider')
16
16
  AdditionalAuthenticationProviders = Shapes::ListShape.new(name: 'AdditionalAuthenticationProviders')
17
+ ApiCache = Shapes::StructureShape.new(name: 'ApiCache')
18
+ ApiCacheStatus = Shapes::StringShape.new(name: 'ApiCacheStatus')
19
+ ApiCacheType = Shapes::StringShape.new(name: 'ApiCacheType')
20
+ ApiCachingBehavior = Shapes::StringShape.new(name: 'ApiCachingBehavior')
17
21
  ApiKey = Shapes::StructureShape.new(name: 'ApiKey')
18
22
  ApiKeyLimitExceededException = Shapes::StructureShape.new(name: 'ApiKeyLimitExceededException')
19
23
  ApiKeyValidityOutOfBoundsException = Shapes::StructureShape.new(name: 'ApiKeyValidityOutOfBoundsException')
@@ -27,8 +31,14 @@ module Aws::AppSync
27
31
  Blob = Shapes::BlobShape.new(name: 'Blob')
28
32
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
29
33
  BooleanValue = Shapes::BooleanShape.new(name: 'BooleanValue')
34
+ CachingConfig = Shapes::StructureShape.new(name: 'CachingConfig')
35
+ CachingKeys = Shapes::ListShape.new(name: 'CachingKeys')
30
36
  CognitoUserPoolConfig = Shapes::StructureShape.new(name: 'CognitoUserPoolConfig')
31
37
  ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
38
+ ConflictDetectionType = Shapes::StringShape.new(name: 'ConflictDetectionType')
39
+ ConflictHandlerType = Shapes::StringShape.new(name: 'ConflictHandlerType')
40
+ CreateApiCacheRequest = Shapes::StructureShape.new(name: 'CreateApiCacheRequest')
41
+ CreateApiCacheResponse = Shapes::StructureShape.new(name: 'CreateApiCacheResponse')
32
42
  CreateApiKeyRequest = Shapes::StructureShape.new(name: 'CreateApiKeyRequest')
33
43
  CreateApiKeyResponse = Shapes::StructureShape.new(name: 'CreateApiKeyResponse')
34
44
  CreateDataSourceRequest = Shapes::StructureShape.new(name: 'CreateDataSourceRequest')
@@ -45,6 +55,8 @@ module Aws::AppSync
45
55
  DataSourceType = Shapes::StringShape.new(name: 'DataSourceType')
46
56
  DataSources = Shapes::ListShape.new(name: 'DataSources')
47
57
  DefaultAction = Shapes::StringShape.new(name: 'DefaultAction')
58
+ DeleteApiCacheRequest = Shapes::StructureShape.new(name: 'DeleteApiCacheRequest')
59
+ DeleteApiCacheResponse = Shapes::StructureShape.new(name: 'DeleteApiCacheResponse')
48
60
  DeleteApiKeyRequest = Shapes::StructureShape.new(name: 'DeleteApiKeyRequest')
49
61
  DeleteApiKeyResponse = Shapes::StructureShape.new(name: 'DeleteApiKeyResponse')
50
62
  DeleteDataSourceRequest = Shapes::StructureShape.new(name: 'DeleteDataSourceRequest')
@@ -57,13 +69,18 @@ module Aws::AppSync
57
69
  DeleteResolverResponse = Shapes::StructureShape.new(name: 'DeleteResolverResponse')
58
70
  DeleteTypeRequest = Shapes::StructureShape.new(name: 'DeleteTypeRequest')
59
71
  DeleteTypeResponse = Shapes::StructureShape.new(name: 'DeleteTypeResponse')
72
+ DeltaSyncConfig = Shapes::StructureShape.new(name: 'DeltaSyncConfig')
60
73
  DynamodbDataSourceConfig = Shapes::StructureShape.new(name: 'DynamodbDataSourceConfig')
61
74
  ElasticsearchDataSourceConfig = Shapes::StructureShape.new(name: 'ElasticsearchDataSourceConfig')
62
75
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
63
76
  FieldLogLevel = Shapes::StringShape.new(name: 'FieldLogLevel')
77
+ FlushApiCacheRequest = Shapes::StructureShape.new(name: 'FlushApiCacheRequest')
78
+ FlushApiCacheResponse = Shapes::StructureShape.new(name: 'FlushApiCacheResponse')
64
79
  FunctionConfiguration = Shapes::StructureShape.new(name: 'FunctionConfiguration')
65
80
  Functions = Shapes::ListShape.new(name: 'Functions')
66
81
  FunctionsIds = Shapes::ListShape.new(name: 'FunctionsIds')
82
+ GetApiCacheRequest = Shapes::StructureShape.new(name: 'GetApiCacheRequest')
83
+ GetApiCacheResponse = Shapes::StructureShape.new(name: 'GetApiCacheResponse')
67
84
  GetDataSourceRequest = Shapes::StructureShape.new(name: 'GetDataSourceRequest')
68
85
  GetDataSourceResponse = Shapes::StructureShape.new(name: 'GetDataSourceResponse')
69
86
  GetFunctionRequest = Shapes::StructureShape.new(name: 'GetFunctionRequest')
@@ -83,6 +100,7 @@ module Aws::AppSync
83
100
  GraphqlApis = Shapes::ListShape.new(name: 'GraphqlApis')
84
101
  HttpDataSourceConfig = Shapes::StructureShape.new(name: 'HttpDataSourceConfig')
85
102
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
103
+ LambdaConflictHandlerConfig = Shapes::StructureShape.new(name: 'LambdaConflictHandlerConfig')
86
104
  LambdaDataSourceConfig = Shapes::StructureShape.new(name: 'LambdaDataSourceConfig')
87
105
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
88
106
  ListApiKeysRequest = Shapes::StructureShape.new(name: 'ListApiKeysRequest')
@@ -123,6 +141,7 @@ module Aws::AppSync
123
141
  StartSchemaCreationRequest = Shapes::StructureShape.new(name: 'StartSchemaCreationRequest')
124
142
  StartSchemaCreationResponse = Shapes::StructureShape.new(name: 'StartSchemaCreationResponse')
125
143
  String = Shapes::StringShape.new(name: 'String')
144
+ SyncConfig = Shapes::StructureShape.new(name: 'SyncConfig')
126
145
  TagKey = Shapes::StringShape.new(name: 'TagKey')
127
146
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
128
147
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -135,6 +154,8 @@ module Aws::AppSync
135
154
  UnauthorizedException = Shapes::StructureShape.new(name: 'UnauthorizedException')
136
155
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
137
156
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
157
+ UpdateApiCacheRequest = Shapes::StructureShape.new(name: 'UpdateApiCacheRequest')
158
+ UpdateApiCacheResponse = Shapes::StructureShape.new(name: 'UpdateApiCacheResponse')
138
159
  UpdateApiKeyRequest = Shapes::StructureShape.new(name: 'UpdateApiKeyRequest')
139
160
  UpdateApiKeyResponse = Shapes::StructureShape.new(name: 'UpdateApiKeyResponse')
140
161
  UpdateDataSourceRequest = Shapes::StructureShape.new(name: 'UpdateDataSourceRequest')
@@ -159,6 +180,14 @@ module Aws::AppSync
159
180
 
160
181
  AdditionalAuthenticationProviders.member = Shapes::ShapeRef.new(shape: AdditionalAuthenticationProvider)
161
182
 
183
+ ApiCache.add_member(:ttl, Shapes::ShapeRef.new(shape: Long, location_name: "ttl"))
184
+ ApiCache.add_member(:api_caching_behavior, Shapes::ShapeRef.new(shape: ApiCachingBehavior, location_name: "apiCachingBehavior"))
185
+ ApiCache.add_member(:transit_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "transitEncryptionEnabled"))
186
+ ApiCache.add_member(:at_rest_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "atRestEncryptionEnabled"))
187
+ ApiCache.add_member(:type, Shapes::ShapeRef.new(shape: ApiCacheType, location_name: "type"))
188
+ ApiCache.add_member(:status, Shapes::ShapeRef.new(shape: ApiCacheStatus, location_name: "status"))
189
+ ApiCache.struct_class = Types::ApiCache
190
+
162
191
  ApiKey.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
163
192
  ApiKey.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
164
193
  ApiKey.add_member(:expires, Shapes::ShapeRef.new(shape: Long, location_name: "expires"))
@@ -186,6 +215,12 @@ module Aws::AppSync
186
215
  BadRequestException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
187
216
  BadRequestException.struct_class = Types::BadRequestException
188
217
 
218
+ CachingConfig.add_member(:ttl, Shapes::ShapeRef.new(shape: Long, location_name: "ttl"))
219
+ CachingConfig.add_member(:caching_keys, Shapes::ShapeRef.new(shape: CachingKeys, location_name: "cachingKeys"))
220
+ CachingConfig.struct_class = Types::CachingConfig
221
+
222
+ CachingKeys.member = Shapes::ShapeRef.new(shape: String)
223
+
189
224
  CognitoUserPoolConfig.add_member(:user_pool_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "userPoolId"))
190
225
  CognitoUserPoolConfig.add_member(:aws_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "awsRegion"))
191
226
  CognitoUserPoolConfig.add_member(:app_id_client_regex, Shapes::ShapeRef.new(shape: String, location_name: "appIdClientRegex"))
@@ -194,6 +229,17 @@ module Aws::AppSync
194
229
  ConcurrentModificationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
195
230
  ConcurrentModificationException.struct_class = Types::ConcurrentModificationException
196
231
 
232
+ CreateApiCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
233
+ CreateApiCacheRequest.add_member(:ttl, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "ttl"))
234
+ CreateApiCacheRequest.add_member(:transit_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "transitEncryptionEnabled"))
235
+ CreateApiCacheRequest.add_member(:at_rest_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "atRestEncryptionEnabled"))
236
+ CreateApiCacheRequest.add_member(:api_caching_behavior, Shapes::ShapeRef.new(shape: ApiCachingBehavior, required: true, location_name: "apiCachingBehavior"))
237
+ CreateApiCacheRequest.add_member(:type, Shapes::ShapeRef.new(shape: ApiCacheType, required: true, location_name: "type"))
238
+ CreateApiCacheRequest.struct_class = Types::CreateApiCacheRequest
239
+
240
+ CreateApiCacheResponse.add_member(:api_cache, Shapes::ShapeRef.new(shape: ApiCache, location_name: "apiCache"))
241
+ CreateApiCacheResponse.struct_class = Types::CreateApiCacheResponse
242
+
197
243
  CreateApiKeyRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
198
244
  CreateApiKeyRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
199
245
  CreateApiKeyRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Long, location_name: "expires"))
@@ -249,6 +295,8 @@ module Aws::AppSync
249
295
  CreateResolverRequest.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
250
296
  CreateResolverRequest.add_member(:kind, Shapes::ShapeRef.new(shape: ResolverKind, location_name: "kind"))
251
297
  CreateResolverRequest.add_member(:pipeline_config, Shapes::ShapeRef.new(shape: PipelineConfig, location_name: "pipelineConfig"))
298
+ CreateResolverRequest.add_member(:sync_config, Shapes::ShapeRef.new(shape: SyncConfig, location_name: "syncConfig"))
299
+ CreateResolverRequest.add_member(:caching_config, Shapes::ShapeRef.new(shape: CachingConfig, location_name: "cachingConfig"))
252
300
  CreateResolverRequest.struct_class = Types::CreateResolverRequest
253
301
 
254
302
  CreateResolverResponse.add_member(:resolver, Shapes::ShapeRef.new(shape: Resolver, location_name: "resolver"))
@@ -276,6 +324,11 @@ module Aws::AppSync
276
324
 
277
325
  DataSources.member = Shapes::ShapeRef.new(shape: DataSource)
278
326
 
327
+ DeleteApiCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
328
+ DeleteApiCacheRequest.struct_class = Types::DeleteApiCacheRequest
329
+
330
+ DeleteApiCacheResponse.struct_class = Types::DeleteApiCacheResponse
331
+
279
332
  DeleteApiKeyRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
280
333
  DeleteApiKeyRequest.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "id"))
281
334
  DeleteApiKeyRequest.struct_class = Types::DeleteApiKeyRequest
@@ -312,15 +365,27 @@ module Aws::AppSync
312
365
 
313
366
  DeleteTypeResponse.struct_class = Types::DeleteTypeResponse
314
367
 
368
+ DeltaSyncConfig.add_member(:base_table_ttl, Shapes::ShapeRef.new(shape: Long, location_name: "baseTableTTL"))
369
+ DeltaSyncConfig.add_member(:delta_sync_table_name, Shapes::ShapeRef.new(shape: String, location_name: "deltaSyncTableName"))
370
+ DeltaSyncConfig.add_member(:delta_sync_table_ttl, Shapes::ShapeRef.new(shape: Long, location_name: "deltaSyncTableTTL"))
371
+ DeltaSyncConfig.struct_class = Types::DeltaSyncConfig
372
+
315
373
  DynamodbDataSourceConfig.add_member(:table_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "tableName"))
316
374
  DynamodbDataSourceConfig.add_member(:aws_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "awsRegion"))
317
375
  DynamodbDataSourceConfig.add_member(:use_caller_credentials, Shapes::ShapeRef.new(shape: Boolean, location_name: "useCallerCredentials"))
376
+ DynamodbDataSourceConfig.add_member(:delta_sync_config, Shapes::ShapeRef.new(shape: DeltaSyncConfig, location_name: "deltaSyncConfig"))
377
+ DynamodbDataSourceConfig.add_member(:versioned, Shapes::ShapeRef.new(shape: Boolean, location_name: "versioned"))
318
378
  DynamodbDataSourceConfig.struct_class = Types::DynamodbDataSourceConfig
319
379
 
320
380
  ElasticsearchDataSourceConfig.add_member(:endpoint, Shapes::ShapeRef.new(shape: String, required: true, location_name: "endpoint"))
321
381
  ElasticsearchDataSourceConfig.add_member(:aws_region, Shapes::ShapeRef.new(shape: String, required: true, location_name: "awsRegion"))
322
382
  ElasticsearchDataSourceConfig.struct_class = Types::ElasticsearchDataSourceConfig
323
383
 
384
+ FlushApiCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
385
+ FlushApiCacheRequest.struct_class = Types::FlushApiCacheRequest
386
+
387
+ FlushApiCacheResponse.struct_class = Types::FlushApiCacheResponse
388
+
324
389
  FunctionConfiguration.add_member(:function_id, Shapes::ShapeRef.new(shape: String, location_name: "functionId"))
325
390
  FunctionConfiguration.add_member(:function_arn, Shapes::ShapeRef.new(shape: String, location_name: "functionArn"))
326
391
  FunctionConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "name"))
@@ -335,6 +400,12 @@ module Aws::AppSync
335
400
 
336
401
  FunctionsIds.member = Shapes::ShapeRef.new(shape: String)
337
402
 
403
+ GetApiCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
404
+ GetApiCacheRequest.struct_class = Types::GetApiCacheRequest
405
+
406
+ GetApiCacheResponse.add_member(:api_cache, Shapes::ShapeRef.new(shape: ApiCache, location_name: "apiCache"))
407
+ GetApiCacheResponse.struct_class = Types::GetApiCacheResponse
408
+
338
409
  GetDataSourceRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
339
410
  GetDataSourceRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location: "uri", location_name: "name"))
340
411
  GetDataSourceRequest.struct_class = Types::GetDataSourceRequest
@@ -412,6 +483,9 @@ module Aws::AppSync
412
483
  InternalFailureException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
413
484
  InternalFailureException.struct_class = Types::InternalFailureException
414
485
 
486
+ LambdaConflictHandlerConfig.add_member(:lambda_conflict_handler_arn, Shapes::ShapeRef.new(shape: String, location_name: "lambdaConflictHandlerArn"))
487
+ LambdaConflictHandlerConfig.struct_class = Types::LambdaConflictHandlerConfig
488
+
415
489
  LambdaDataSourceConfig.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "lambdaFunctionArn"))
416
490
  LambdaDataSourceConfig.struct_class = Types::LambdaDataSourceConfig
417
491
 
@@ -528,6 +602,8 @@ module Aws::AppSync
528
602
  Resolver.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
529
603
  Resolver.add_member(:kind, Shapes::ShapeRef.new(shape: ResolverKind, location_name: "kind"))
530
604
  Resolver.add_member(:pipeline_config, Shapes::ShapeRef.new(shape: PipelineConfig, location_name: "pipelineConfig"))
605
+ Resolver.add_member(:sync_config, Shapes::ShapeRef.new(shape: SyncConfig, location_name: "syncConfig"))
606
+ Resolver.add_member(:caching_config, Shapes::ShapeRef.new(shape: CachingConfig, location_name: "cachingConfig"))
531
607
  Resolver.struct_class = Types::Resolver
532
608
 
533
609
  Resolvers.member = Shapes::ShapeRef.new(shape: Resolver)
@@ -539,6 +615,11 @@ module Aws::AppSync
539
615
  StartSchemaCreationResponse.add_member(:status, Shapes::ShapeRef.new(shape: SchemaStatus, location_name: "status"))
540
616
  StartSchemaCreationResponse.struct_class = Types::StartSchemaCreationResponse
541
617
 
618
+ SyncConfig.add_member(:conflict_handler, Shapes::ShapeRef.new(shape: ConflictHandlerType, location_name: "conflictHandler"))
619
+ SyncConfig.add_member(:conflict_detection, Shapes::ShapeRef.new(shape: ConflictDetectionType, location_name: "conflictDetection"))
620
+ SyncConfig.add_member(:lambda_conflict_handler_config, Shapes::ShapeRef.new(shape: LambdaConflictHandlerConfig, location_name: "lambdaConflictHandlerConfig"))
621
+ SyncConfig.struct_class = Types::SyncConfig
622
+
542
623
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
543
624
 
544
625
  TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
@@ -568,6 +649,15 @@ module Aws::AppSync
568
649
 
569
650
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
570
651
 
652
+ UpdateApiCacheRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
653
+ UpdateApiCacheRequest.add_member(:ttl, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "ttl"))
654
+ UpdateApiCacheRequest.add_member(:api_caching_behavior, Shapes::ShapeRef.new(shape: ApiCachingBehavior, required: true, location_name: "apiCachingBehavior"))
655
+ UpdateApiCacheRequest.add_member(:type, Shapes::ShapeRef.new(shape: ApiCacheType, required: true, location_name: "type"))
656
+ UpdateApiCacheRequest.struct_class = Types::UpdateApiCacheRequest
657
+
658
+ UpdateApiCacheResponse.add_member(:api_cache, Shapes::ShapeRef.new(shape: ApiCache, location_name: "apiCache"))
659
+ UpdateApiCacheResponse.struct_class = Types::UpdateApiCacheResponse
660
+
571
661
  UpdateApiKeyRequest.add_member(:api_id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "apiId"))
572
662
  UpdateApiKeyRequest.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "id"))
573
663
  UpdateApiKeyRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
@@ -625,6 +715,8 @@ module Aws::AppSync
625
715
  UpdateResolverRequest.add_member(:response_mapping_template, Shapes::ShapeRef.new(shape: MappingTemplate, location_name: "responseMappingTemplate"))
626
716
  UpdateResolverRequest.add_member(:kind, Shapes::ShapeRef.new(shape: ResolverKind, location_name: "kind"))
627
717
  UpdateResolverRequest.add_member(:pipeline_config, Shapes::ShapeRef.new(shape: PipelineConfig, location_name: "pipelineConfig"))
718
+ UpdateResolverRequest.add_member(:sync_config, Shapes::ShapeRef.new(shape: SyncConfig, location_name: "syncConfig"))
719
+ UpdateResolverRequest.add_member(:caching_config, Shapes::ShapeRef.new(shape: CachingConfig, location_name: "cachingConfig"))
628
720
  UpdateResolverRequest.struct_class = Types::UpdateResolverRequest
629
721
 
630
722
  UpdateResolverResponse.add_member(:resolver, Shapes::ShapeRef.new(shape: Resolver, location_name: "resolver"))
@@ -664,6 +756,19 @@ module Aws::AppSync
664
756
  "uid" => "appsync-2017-07-25",
665
757
  }
666
758
 
759
+ api.add_operation(:create_api_cache, Seahorse::Model::Operation.new.tap do |o|
760
+ o.name = "CreateApiCache"
761
+ o.http_method = "POST"
762
+ o.http_request_uri = "/v1/apis/{apiId}/ApiCaches"
763
+ o.input = Shapes::ShapeRef.new(shape: CreateApiCacheRequest)
764
+ o.output = Shapes::ShapeRef.new(shape: CreateApiCacheResponse)
765
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
766
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
767
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
768
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
769
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
770
+ end)
771
+
667
772
  api.add_operation(:create_api_key, Seahorse::Model::Operation.new.tap do |o|
668
773
  o.name = "CreateApiKey"
669
774
  o.http_method = "POST"
@@ -744,6 +849,19 @@ module Aws::AppSync
744
849
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
745
850
  end)
746
851
 
852
+ api.add_operation(:delete_api_cache, Seahorse::Model::Operation.new.tap do |o|
853
+ o.name = "DeleteApiCache"
854
+ o.http_method = "DELETE"
855
+ o.http_request_uri = "/v1/apis/{apiId}/ApiCaches"
856
+ o.input = Shapes::ShapeRef.new(shape: DeleteApiCacheRequest)
857
+ o.output = Shapes::ShapeRef.new(shape: DeleteApiCacheResponse)
858
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
859
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
860
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
861
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
862
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
863
+ end)
864
+
747
865
  api.add_operation(:delete_api_key, Seahorse::Model::Operation.new.tap do |o|
748
866
  o.name = "DeleteApiKey"
749
867
  o.http_method = "DELETE"
@@ -820,6 +938,32 @@ module Aws::AppSync
820
938
  o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
821
939
  end)
822
940
 
941
+ api.add_operation(:flush_api_cache, Seahorse::Model::Operation.new.tap do |o|
942
+ o.name = "FlushApiCache"
943
+ o.http_method = "DELETE"
944
+ o.http_request_uri = "/v1/apis/{apiId}/FlushCache"
945
+ o.input = Shapes::ShapeRef.new(shape: FlushApiCacheRequest)
946
+ o.output = Shapes::ShapeRef.new(shape: FlushApiCacheResponse)
947
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
948
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
949
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
950
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
951
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
952
+ end)
953
+
954
+ api.add_operation(:get_api_cache, Seahorse::Model::Operation.new.tap do |o|
955
+ o.name = "GetApiCache"
956
+ o.http_method = "GET"
957
+ o.http_request_uri = "/v1/apis/{apiId}/ApiCaches"
958
+ o.input = Shapes::ShapeRef.new(shape: GetApiCacheRequest)
959
+ o.output = Shapes::ShapeRef.new(shape: GetApiCacheResponse)
960
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
961
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
962
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
963
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
964
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
965
+ end)
966
+
823
967
  api.add_operation(:get_data_source, Seahorse::Model::Operation.new.tap do |o|
824
968
  o.name = "GetDataSource"
825
969
  o.http_method = "GET"
@@ -1044,6 +1188,19 @@ module Aws::AppSync
1044
1188
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1045
1189
  end)
1046
1190
 
1191
+ api.add_operation(:update_api_cache, Seahorse::Model::Operation.new.tap do |o|
1192
+ o.name = "UpdateApiCache"
1193
+ o.http_method = "POST"
1194
+ o.http_request_uri = "/v1/apis/{apiId}/ApiCaches/update"
1195
+ o.input = Shapes::ShapeRef.new(shape: UpdateApiCacheRequest)
1196
+ o.output = Shapes::ShapeRef.new(shape: UpdateApiCacheResponse)
1197
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1198
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1199
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1200
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
1201
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1202
+ end)
1203
+
1047
1204
  api.add_operation(:update_api_key, Seahorse::Model::Operation.new.tap do |o|
1048
1205
  o.name = "UpdateApiKey"
1049
1206
  o.http_method = "POST"
@@ -62,6 +62,75 @@ module Aws::AppSync
62
62
  include Aws::Structure
63
63
  end
64
64
 
65
+ # @!attribute [rw] ttl
66
+ # TTL in seconds for cache entries.
67
+ #
68
+ # Valid values are between 1 and 3600 seconds.
69
+ # @return [Integer]
70
+ #
71
+ # @!attribute [rw] api_caching_behavior
72
+ # Caching behavior.
73
+ #
74
+ # * **FULL\_REQUEST\_CACHING**\: All requests are fully cached.
75
+ #
76
+ # * **PER\_RESOLVER\_CACHING**\: Individual resovlers that you specify
77
+ # are cached.
78
+ # @return [String]
79
+ #
80
+ # @!attribute [rw] transit_encryption_enabled
81
+ # Transit encryption flag when connecting to cache. This setting
82
+ # cannot be updated after creation.
83
+ # @return [Boolean]
84
+ #
85
+ # @!attribute [rw] at_rest_encryption_enabled
86
+ # At rest encryption flag for cache. This setting cannot be updated
87
+ # after creation.
88
+ # @return [Boolean]
89
+ #
90
+ # @!attribute [rw] type
91
+ # The cache instance type.
92
+ #
93
+ # * **T2\_SMALL**\: A t2.small instance type.
94
+ #
95
+ # * **T2\_MEDIUM**\: A t2.medium instance type.
96
+ #
97
+ # * **R4\_LARGE**\: A r4.large instance type.
98
+ #
99
+ # * **R4\_XLARGE**\: A r4.xlarge instance type.
100
+ #
101
+ # * **R4\_2XLARGE**\: A r4.2xlarge instance type.
102
+ #
103
+ # * **R4\_4XLARGE**\: A r4.4xlarge instance type.
104
+ #
105
+ # * **R4\_8XLARGE**\: A r4.8xlarge instance type.
106
+ # @return [String]
107
+ #
108
+ # @!attribute [rw] status
109
+ # The cache instance status.
110
+ #
111
+ # * **AVAILABLE**\: The instance is available for use.
112
+ #
113
+ # * **CREATING**\: The instance is currently creating.
114
+ #
115
+ # * **DELETING**\: The instance is currently deleting.
116
+ #
117
+ # * **MODIFYING**\: The instance is currently modifying.
118
+ #
119
+ # * **FAILED**\: The instance has failed creation.
120
+ # @return [String]
121
+ #
122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ApiCache AWS API Documentation
123
+ #
124
+ class ApiCache < Struct.new(
125
+ :ttl,
126
+ :api_caching_behavior,
127
+ :transit_encryption_enabled,
128
+ :at_rest_encryption_enabled,
129
+ :type,
130
+ :status)
131
+ include Aws::Structure
132
+ end
133
+
65
134
  # Describes an API key.
66
135
  #
67
136
  # Customers invoke AWS AppSync GraphQL API operations with API keys as
@@ -235,6 +304,37 @@ module Aws::AppSync
235
304
  include Aws::Structure
236
305
  end
237
306
 
307
+ # The caching configuration for a resolver that has caching enabled.
308
+ #
309
+ # @note When making an API call, you may pass CachingConfig
310
+ # data as a hash:
311
+ #
312
+ # {
313
+ # ttl: 1,
314
+ # caching_keys: ["String"],
315
+ # }
316
+ #
317
+ # @!attribute [rw] ttl
318
+ # The TTL in seconds for a resolver that has caching enabled.
319
+ #
320
+ # Valid values are between 1 and 3600 seconds.
321
+ # @return [Integer]
322
+ #
323
+ # @!attribute [rw] caching_keys
324
+ # The caching keys for a resolver that has caching enabled.
325
+ #
326
+ # Valid values are entries from the `$context.identity` and
327
+ # `$context.arguments` maps.
328
+ # @return [Array<String>]
329
+ #
330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CachingConfig AWS API Documentation
331
+ #
332
+ class CachingConfig < Struct.new(
333
+ :ttl,
334
+ :caching_keys)
335
+ include Aws::Structure
336
+ end
337
+
238
338
  # Describes an Amazon Cognito user pool configuration.
239
339
  #
240
340
  # @note When making an API call, you may pass CognitoUserPoolConfig
@@ -281,6 +381,92 @@ module Aws::AppSync
281
381
  include Aws::Structure
282
382
  end
283
383
 
384
+ # Represents the input of a `CreateApiCache` operation.
385
+ #
386
+ # @note When making an API call, you may pass CreateApiCacheRequest
387
+ # data as a hash:
388
+ #
389
+ # {
390
+ # api_id: "String", # required
391
+ # ttl: 1, # required
392
+ # transit_encryption_enabled: false,
393
+ # at_rest_encryption_enabled: false,
394
+ # api_caching_behavior: "FULL_REQUEST_CACHING", # required, accepts FULL_REQUEST_CACHING, PER_RESOLVER_CACHING
395
+ # type: "T2_SMALL", # required, accepts T2_SMALL, T2_MEDIUM, R4_LARGE, R4_XLARGE, R4_2XLARGE, R4_4XLARGE, R4_8XLARGE
396
+ # }
397
+ #
398
+ # @!attribute [rw] api_id
399
+ # The GraphQL API Id.
400
+ # @return [String]
401
+ #
402
+ # @!attribute [rw] ttl
403
+ # TTL in seconds for cache entries.
404
+ #
405
+ # Valid values are between 1 and 3600 seconds.
406
+ # @return [Integer]
407
+ #
408
+ # @!attribute [rw] transit_encryption_enabled
409
+ # Transit encryption flag when connecting to cache. This setting
410
+ # cannot be updated after creation.
411
+ # @return [Boolean]
412
+ #
413
+ # @!attribute [rw] at_rest_encryption_enabled
414
+ # At rest encryption flag for cache. This setting cannot be updated
415
+ # after creation.
416
+ # @return [Boolean]
417
+ #
418
+ # @!attribute [rw] api_caching_behavior
419
+ # Caching behavior.
420
+ #
421
+ # * **FULL\_REQUEST\_CACHING**\: All requests are fully cached.
422
+ #
423
+ # * **PER\_RESOLVER\_CACHING**\: Individual resovlers that you specify
424
+ # are cached.
425
+ # @return [String]
426
+ #
427
+ # @!attribute [rw] type
428
+ # The cache instance type.
429
+ #
430
+ # * **T2\_SMALL**\: A t2.small instance type.
431
+ #
432
+ # * **T2\_MEDIUM**\: A t2.medium instance type.
433
+ #
434
+ # * **R4\_LARGE**\: A r4.large instance type.
435
+ #
436
+ # * **R4\_XLARGE**\: A r4.xlarge instance type.
437
+ #
438
+ # * **R4\_2XLARGE**\: A r4.2xlarge instance type.
439
+ #
440
+ # * **R4\_4XLARGE**\: A r4.4xlarge instance type.
441
+ #
442
+ # * **R4\_8XLARGE**\: A r4.8xlarge instance type.
443
+ # @return [String]
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCacheRequest AWS API Documentation
446
+ #
447
+ class CreateApiCacheRequest < Struct.new(
448
+ :api_id,
449
+ :ttl,
450
+ :transit_encryption_enabled,
451
+ :at_rest_encryption_enabled,
452
+ :api_caching_behavior,
453
+ :type)
454
+ include Aws::Structure
455
+ end
456
+
457
+ # Represents the output of a `CreateApiCache` operation.
458
+ #
459
+ # @!attribute [rw] api_cache
460
+ # The `ApiCache` object.
461
+ # @return [Types::ApiCache]
462
+ #
463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCacheResponse AWS API Documentation
464
+ #
465
+ class CreateApiCacheResponse < Struct.new(
466
+ :api_cache)
467
+ include Aws::Structure
468
+ end
469
+
284
470
  # @note When making an API call, you may pass CreateApiKeyRequest
285
471
  # data as a hash:
286
472
  #
@@ -338,6 +524,12 @@ module Aws::AppSync
338
524
  # table_name: "String", # required
339
525
  # aws_region: "String", # required
340
526
  # use_caller_credentials: false,
527
+ # delta_sync_config: {
528
+ # base_table_ttl: 1,
529
+ # delta_sync_table_name: "String",
530
+ # delta_sync_table_ttl: 1,
531
+ # },
532
+ # versioned: false,
341
533
  # },
342
534
  # lambda_config: {
343
535
  # lambda_function_arn: "String", # required
@@ -615,6 +807,17 @@ module Aws::AppSync
615
807
  # pipeline_config: {
616
808
  # functions: ["String"],
617
809
  # },
810
+ # sync_config: {
811
+ # conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
812
+ # conflict_detection: "VERSION", # accepts VERSION, NONE
813
+ # lambda_conflict_handler_config: {
814
+ # lambda_conflict_handler_arn: "String",
815
+ # },
816
+ # },
817
+ # caching_config: {
818
+ # ttl: 1,
819
+ # caching_keys: ["String"],
820
+ # },
618
821
  # }
619
822
  #
620
823
  # @!attribute [rw] api_id
@@ -662,6 +865,14 @@ module Aws::AppSync
662
865
  # The `PipelineConfig`.
663
866
  # @return [Types::PipelineConfig]
664
867
  #
868
+ # @!attribute [rw] sync_config
869
+ # The `SyncConfig` for a resolver attached to a versioned datasource.
870
+ # @return [Types::SyncConfig]
871
+ #
872
+ # @!attribute [rw] caching_config
873
+ # The caching configuration for the resolver.
874
+ # @return [Types::CachingConfig]
875
+ #
665
876
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolverRequest AWS API Documentation
666
877
  #
667
878
  class CreateResolverRequest < Struct.new(
@@ -672,7 +883,9 @@ module Aws::AppSync
672
883
  :request_mapping_template,
673
884
  :response_mapping_template,
674
885
  :kind,
675
- :pipeline_config)
886
+ :pipeline_config,
887
+ :sync_config,
888
+ :caching_config)
676
889
  include Aws::Structure
677
890
  end
678
891
 
@@ -812,6 +1025,32 @@ module Aws::AppSync
812
1025
  include Aws::Structure
813
1026
  end
814
1027
 
1028
+ # Represents the input of a `DeleteApiCache` operation.
1029
+ #
1030
+ # @note When making an API call, you may pass DeleteApiCacheRequest
1031
+ # data as a hash:
1032
+ #
1033
+ # {
1034
+ # api_id: "String", # required
1035
+ # }
1036
+ #
1037
+ # @!attribute [rw] api_id
1038
+ # The API ID.
1039
+ # @return [String]
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCacheRequest AWS API Documentation
1042
+ #
1043
+ class DeleteApiCacheRequest < Struct.new(
1044
+ :api_id)
1045
+ include Aws::Structure
1046
+ end
1047
+
1048
+ # Represents the output of a `DeleteApiCache` operation.
1049
+ #
1050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCacheResponse AWS API Documentation
1051
+ #
1052
+ class DeleteApiCacheResponse < Aws::EmptyStructure; end
1053
+
815
1054
  # @note When making an API call, you may pass DeleteApiKeyRequest
816
1055
  # data as a hash:
817
1056
  #
@@ -980,6 +1219,39 @@ module Aws::AppSync
980
1219
  #
981
1220
  class DeleteTypeResponse < Aws::EmptyStructure; end
982
1221
 
1222
+ # Describes a Delta Sync configuration.
1223
+ #
1224
+ # @note When making an API call, you may pass DeltaSyncConfig
1225
+ # data as a hash:
1226
+ #
1227
+ # {
1228
+ # base_table_ttl: 1,
1229
+ # delta_sync_table_name: "String",
1230
+ # delta_sync_table_ttl: 1,
1231
+ # }
1232
+ #
1233
+ # @!attribute [rw] base_table_ttl
1234
+ # The number of minutes an Item is stored in the datasource.
1235
+ # @return [Integer]
1236
+ #
1237
+ # @!attribute [rw] delta_sync_table_name
1238
+ # The Delta Sync table name.
1239
+ # @return [String]
1240
+ #
1241
+ # @!attribute [rw] delta_sync_table_ttl
1242
+ # The number of minutes a Delta Sync log entry is stored in the Delta
1243
+ # Sync table.
1244
+ # @return [Integer]
1245
+ #
1246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeltaSyncConfig AWS API Documentation
1247
+ #
1248
+ class DeltaSyncConfig < Struct.new(
1249
+ :base_table_ttl,
1250
+ :delta_sync_table_name,
1251
+ :delta_sync_table_ttl)
1252
+ include Aws::Structure
1253
+ end
1254
+
983
1255
  # Describes an Amazon DynamoDB data source configuration.
984
1256
  #
985
1257
  # @note When making an API call, you may pass DynamodbDataSourceConfig
@@ -989,6 +1261,12 @@ module Aws::AppSync
989
1261
  # table_name: "String", # required
990
1262
  # aws_region: "String", # required
991
1263
  # use_caller_credentials: false,
1264
+ # delta_sync_config: {
1265
+ # base_table_ttl: 1,
1266
+ # delta_sync_table_name: "String",
1267
+ # delta_sync_table_ttl: 1,
1268
+ # },
1269
+ # versioned: false,
992
1270
  # }
993
1271
  #
994
1272
  # @!attribute [rw] table_name
@@ -1003,12 +1281,23 @@ module Aws::AppSync
1003
1281
  # Set to TRUE to use Amazon Cognito credentials with this data source.
1004
1282
  # @return [Boolean]
1005
1283
  #
1284
+ # @!attribute [rw] delta_sync_config
1285
+ # The `DeltaSyncConfig` for a versioned datasource.
1286
+ # @return [Types::DeltaSyncConfig]
1287
+ #
1288
+ # @!attribute [rw] versioned
1289
+ # Set to TRUE to use Conflict Detection and Resolution with this data
1290
+ # source.
1291
+ # @return [Boolean]
1292
+ #
1006
1293
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DynamodbDataSourceConfig AWS API Documentation
1007
1294
  #
1008
1295
  class DynamodbDataSourceConfig < Struct.new(
1009
1296
  :table_name,
1010
1297
  :aws_region,
1011
- :use_caller_credentials)
1298
+ :use_caller_credentials,
1299
+ :delta_sync_config,
1300
+ :versioned)
1012
1301
  include Aws::Structure
1013
1302
  end
1014
1303
 
@@ -1038,6 +1327,32 @@ module Aws::AppSync
1038
1327
  include Aws::Structure
1039
1328
  end
1040
1329
 
1330
+ # Represents the input of a `FlushApiCache` operation.
1331
+ #
1332
+ # @note When making an API call, you may pass FlushApiCacheRequest
1333
+ # data as a hash:
1334
+ #
1335
+ # {
1336
+ # api_id: "String", # required
1337
+ # }
1338
+ #
1339
+ # @!attribute [rw] api_id
1340
+ # The API ID.
1341
+ # @return [String]
1342
+ #
1343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCacheRequest AWS API Documentation
1344
+ #
1345
+ class FlushApiCacheRequest < Struct.new(
1346
+ :api_id)
1347
+ include Aws::Structure
1348
+ end
1349
+
1350
+ # Represents the output of a `FlushApiCache` operation.
1351
+ #
1352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCacheResponse AWS API Documentation
1353
+ #
1354
+ class FlushApiCacheResponse < Aws::EmptyStructure; end
1355
+
1041
1356
  # A function is a reusable entity. Multiple functions can be used to
1042
1357
  # compose the resolver logic.
1043
1358
  #
@@ -1089,6 +1404,38 @@ module Aws::AppSync
1089
1404
  include Aws::Structure
1090
1405
  end
1091
1406
 
1407
+ # Represents the input of a `GetApiCache` operation.
1408
+ #
1409
+ # @note When making an API call, you may pass GetApiCacheRequest
1410
+ # data as a hash:
1411
+ #
1412
+ # {
1413
+ # api_id: "String", # required
1414
+ # }
1415
+ #
1416
+ # @!attribute [rw] api_id
1417
+ # The API ID.
1418
+ # @return [String]
1419
+ #
1420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCacheRequest AWS API Documentation
1421
+ #
1422
+ class GetApiCacheRequest < Struct.new(
1423
+ :api_id)
1424
+ include Aws::Structure
1425
+ end
1426
+
1427
+ # Represents the output of a `GetApiCache` operation.
1428
+ #
1429
+ # @!attribute [rw] api_cache
1430
+ # @return [Types::ApiCache]
1431
+ #
1432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCacheResponse AWS API Documentation
1433
+ #
1434
+ class GetApiCacheResponse < Struct.new(
1435
+ :api_cache)
1436
+ include Aws::Structure
1437
+ end
1438
+
1092
1439
  # @note When making an API call, you may pass GetDataSourceRequest
1093
1440
  # data as a hash:
1094
1441
  #
@@ -1474,6 +1821,24 @@ module Aws::AppSync
1474
1821
  include Aws::Structure
1475
1822
  end
1476
1823
 
1824
+ # @note When making an API call, you may pass LambdaConflictHandlerConfig
1825
+ # data as a hash:
1826
+ #
1827
+ # {
1828
+ # lambda_conflict_handler_arn: "String",
1829
+ # }
1830
+ #
1831
+ # @!attribute [rw] lambda_conflict_handler_arn
1832
+ # The Arn for the Lambda function to use as the Conflict Handler.
1833
+ # @return [String]
1834
+ #
1835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/LambdaConflictHandlerConfig AWS API Documentation
1836
+ #
1837
+ class LambdaConflictHandlerConfig < Struct.new(
1838
+ :lambda_conflict_handler_arn)
1839
+ include Aws::Structure
1840
+ end
1841
+
1477
1842
  # Describes an AWS Lambda data source configuration.
1478
1843
  #
1479
1844
  # @note When making an API call, you may pass LambdaDataSourceConfig
@@ -2148,6 +2513,14 @@ module Aws::AppSync
2148
2513
  # The `PipelineConfig`.
2149
2514
  # @return [Types::PipelineConfig]
2150
2515
  #
2516
+ # @!attribute [rw] sync_config
2517
+ # The `SyncConfig` for a resolver attached to a versioned datasource.
2518
+ # @return [Types::SyncConfig]
2519
+ #
2520
+ # @!attribute [rw] caching_config
2521
+ # The caching configuration for the resolver.
2522
+ # @return [Types::CachingConfig]
2523
+ #
2151
2524
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/Resolver AWS API Documentation
2152
2525
  #
2153
2526
  class Resolver < Struct.new(
@@ -2158,7 +2531,9 @@ module Aws::AppSync
2158
2531
  :request_mapping_template,
2159
2532
  :response_mapping_template,
2160
2533
  :kind,
2161
- :pipeline_config)
2534
+ :pipeline_config,
2535
+ :sync_config,
2536
+ :caching_config)
2162
2537
  include Aws::Structure
2163
2538
  end
2164
2539
 
@@ -2199,6 +2574,60 @@ module Aws::AppSync
2199
2574
  include Aws::Structure
2200
2575
  end
2201
2576
 
2577
+ # Describes a Sync configuration for a resolver.
2578
+ #
2579
+ # Contains information on which Conflict Detection as well as Resolution
2580
+ # strategy should be performed when the resolver is invoked.
2581
+ #
2582
+ # @note When making an API call, you may pass SyncConfig
2583
+ # data as a hash:
2584
+ #
2585
+ # {
2586
+ # conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
2587
+ # conflict_detection: "VERSION", # accepts VERSION, NONE
2588
+ # lambda_conflict_handler_config: {
2589
+ # lambda_conflict_handler_arn: "String",
2590
+ # },
2591
+ # }
2592
+ #
2593
+ # @!attribute [rw] conflict_handler
2594
+ # The Conflict Resolution strategy to perform in the event of a
2595
+ # conflict.
2596
+ #
2597
+ # * **OPTIMISTIC\_CONCURRENCY**\: Resolve conflicts by rejecting
2598
+ # mutations when versions do not match the latest version at the
2599
+ # server.
2600
+ #
2601
+ # * **AUTOMERGE**\: Resolve conflicts with the Automerge conflict
2602
+ # resolution strategy.
2603
+ #
2604
+ # * **LAMBDA**\: Resolve conflicts with a Lambda function supplied in
2605
+ # the LambdaConflictHandlerConfig.
2606
+ # @return [String]
2607
+ #
2608
+ # @!attribute [rw] conflict_detection
2609
+ # The Conflict Detection strategy to use.
2610
+ #
2611
+ # * **VERSION**\: Detect conflicts based on object versions for this
2612
+ # resolver.
2613
+ #
2614
+ # * **NONE**\: Do not detect conflicts when executing this resolver.
2615
+ # @return [String]
2616
+ #
2617
+ # @!attribute [rw] lambda_conflict_handler_config
2618
+ # The `LambdaConflictHandlerConfig` when configuring LAMBDA as the
2619
+ # Conflict Handler.
2620
+ # @return [Types::LambdaConflictHandlerConfig]
2621
+ #
2622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/SyncConfig AWS API Documentation
2623
+ #
2624
+ class SyncConfig < Struct.new(
2625
+ :conflict_handler,
2626
+ :conflict_detection,
2627
+ :lambda_conflict_handler_config)
2628
+ include Aws::Structure
2629
+ end
2630
+
2202
2631
  # @note When making an API call, you may pass TagResourceRequest
2203
2632
  # data as a hash:
2204
2633
  #
@@ -2302,6 +2731,78 @@ module Aws::AppSync
2302
2731
  #
2303
2732
  class UntagResourceResponse < Aws::EmptyStructure; end
2304
2733
 
2734
+ # Represents the input of a `UpdateApiCache` operation.
2735
+ #
2736
+ # @note When making an API call, you may pass UpdateApiCacheRequest
2737
+ # data as a hash:
2738
+ #
2739
+ # {
2740
+ # api_id: "String", # required
2741
+ # ttl: 1, # required
2742
+ # api_caching_behavior: "FULL_REQUEST_CACHING", # required, accepts FULL_REQUEST_CACHING, PER_RESOLVER_CACHING
2743
+ # type: "T2_SMALL", # required, accepts T2_SMALL, T2_MEDIUM, R4_LARGE, R4_XLARGE, R4_2XLARGE, R4_4XLARGE, R4_8XLARGE
2744
+ # }
2745
+ #
2746
+ # @!attribute [rw] api_id
2747
+ # The GraphQL API Id.
2748
+ # @return [String]
2749
+ #
2750
+ # @!attribute [rw] ttl
2751
+ # TTL in seconds for cache entries.
2752
+ #
2753
+ # Valid values are between 1 and 3600 seconds.
2754
+ # @return [Integer]
2755
+ #
2756
+ # @!attribute [rw] api_caching_behavior
2757
+ # Caching behavior.
2758
+ #
2759
+ # * **FULL\_REQUEST\_CACHING**\: All requests are fully cached.
2760
+ #
2761
+ # * **PER\_RESOLVER\_CACHING**\: Individual resovlers that you specify
2762
+ # are cached.
2763
+ # @return [String]
2764
+ #
2765
+ # @!attribute [rw] type
2766
+ # The cache instance type.
2767
+ #
2768
+ # * **T2\_SMALL**\: A t2.small instance type.
2769
+ #
2770
+ # * **T2\_MEDIUM**\: A t2.medium instance type.
2771
+ #
2772
+ # * **R4\_LARGE**\: A r4.large instance type.
2773
+ #
2774
+ # * **R4\_XLARGE**\: A r4.xlarge instance type.
2775
+ #
2776
+ # * **R4\_2XLARGE**\: A r4.2xlarge instance type.
2777
+ #
2778
+ # * **R4\_4XLARGE**\: A r4.4xlarge instance type.
2779
+ #
2780
+ # * **R4\_8XLARGE**\: A r4.8xlarge instance type.
2781
+ # @return [String]
2782
+ #
2783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCacheRequest AWS API Documentation
2784
+ #
2785
+ class UpdateApiCacheRequest < Struct.new(
2786
+ :api_id,
2787
+ :ttl,
2788
+ :api_caching_behavior,
2789
+ :type)
2790
+ include Aws::Structure
2791
+ end
2792
+
2793
+ # Represents the output of a `UpdateApiCache` operation.
2794
+ #
2795
+ # @!attribute [rw] api_cache
2796
+ # The `ApiCache` object.
2797
+ # @return [Types::ApiCache]
2798
+ #
2799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCacheResponse AWS API Documentation
2800
+ #
2801
+ class UpdateApiCacheResponse < Struct.new(
2802
+ :api_cache)
2803
+ include Aws::Structure
2804
+ end
2805
+
2305
2806
  # @note When making an API call, you may pass UpdateApiKeyRequest
2306
2807
  # data as a hash:
2307
2808
  #
@@ -2364,6 +2865,12 @@ module Aws::AppSync
2364
2865
  # table_name: "String", # required
2365
2866
  # aws_region: "String", # required
2366
2867
  # use_caller_credentials: false,
2868
+ # delta_sync_config: {
2869
+ # base_table_ttl: 1,
2870
+ # delta_sync_table_name: "String",
2871
+ # delta_sync_table_ttl: 1,
2872
+ # },
2873
+ # versioned: false,
2367
2874
  # },
2368
2875
  # lambda_config: {
2369
2876
  # lambda_function_arn: "String", # required
@@ -2645,6 +3152,17 @@ module Aws::AppSync
2645
3152
  # pipeline_config: {
2646
3153
  # functions: ["String"],
2647
3154
  # },
3155
+ # sync_config: {
3156
+ # conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
3157
+ # conflict_detection: "VERSION", # accepts VERSION, NONE
3158
+ # lambda_conflict_handler_config: {
3159
+ # lambda_conflict_handler_arn: "String",
3160
+ # },
3161
+ # },
3162
+ # caching_config: {
3163
+ # ttl: 1,
3164
+ # caching_keys: ["String"],
3165
+ # },
2648
3166
  # }
2649
3167
  #
2650
3168
  # @!attribute [rw] api_id
@@ -2688,6 +3206,14 @@ module Aws::AppSync
2688
3206
  # The `PipelineConfig`.
2689
3207
  # @return [Types::PipelineConfig]
2690
3208
  #
3209
+ # @!attribute [rw] sync_config
3210
+ # The `SyncConfig` for a resolver attached to a versioned datasource.
3211
+ # @return [Types::SyncConfig]
3212
+ #
3213
+ # @!attribute [rw] caching_config
3214
+ # The caching configuration for the resolver.
3215
+ # @return [Types::CachingConfig]
3216
+ #
2691
3217
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolverRequest AWS API Documentation
2692
3218
  #
2693
3219
  class UpdateResolverRequest < Struct.new(
@@ -2698,7 +3224,9 @@ module Aws::AppSync
2698
3224
  :request_mapping_template,
2699
3225
  :response_mapping_template,
2700
3226
  :kind,
2701
- :pipeline_config)
3227
+ :pipeline_config,
3228
+ :sync_config,
3229
+ :caching_config)
2702
3230
  include Aws::Structure
2703
3231
  end
2704
3232