aws-sdk-appsync 1.21.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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