aws-sdk-appsync 1.21.0 → 1.26.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.
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::AppSync
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -62,6 +62,77 @@ module Aws::AppSync
62
62
  include Aws::Structure
63
63
  end
64
64
 
65
+ # The `ApiCache` object.
66
+ #
67
+ # @!attribute [rw] ttl
68
+ # TTL in seconds for cache entries.
69
+ #
70
+ # Valid values are between 1 and 3600 seconds.
71
+ # @return [Integer]
72
+ #
73
+ # @!attribute [rw] api_caching_behavior
74
+ # Caching behavior.
75
+ #
76
+ # * **FULL\_REQUEST\_CACHING**\: All requests are fully cached.
77
+ #
78
+ # * **PER\_RESOLVER\_CACHING**\: Individual resovlers that you specify
79
+ # are cached.
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] transit_encryption_enabled
83
+ # Transit encryption flag when connecting to cache. This setting
84
+ # cannot be updated after creation.
85
+ # @return [Boolean]
86
+ #
87
+ # @!attribute [rw] at_rest_encryption_enabled
88
+ # At rest encryption flag for cache. This setting cannot be updated
89
+ # after creation.
90
+ # @return [Boolean]
91
+ #
92
+ # @!attribute [rw] type
93
+ # The cache instance type.
94
+ #
95
+ # * **T2\_SMALL**\: A t2.small instance type.
96
+ #
97
+ # * **T2\_MEDIUM**\: A t2.medium instance type.
98
+ #
99
+ # * **R4\_LARGE**\: A r4.large instance type.
100
+ #
101
+ # * **R4\_XLARGE**\: A r4.xlarge instance type.
102
+ #
103
+ # * **R4\_2XLARGE**\: A r4.2xlarge instance type.
104
+ #
105
+ # * **R4\_4XLARGE**\: A r4.4xlarge instance type.
106
+ #
107
+ # * **R4\_8XLARGE**\: A r4.8xlarge instance type.
108
+ # @return [String]
109
+ #
110
+ # @!attribute [rw] status
111
+ # The cache instance status.
112
+ #
113
+ # * **AVAILABLE**\: The instance is available for use.
114
+ #
115
+ # * **CREATING**\: The instance is currently creating.
116
+ #
117
+ # * **DELETING**\: The instance is currently deleting.
118
+ #
119
+ # * **MODIFYING**\: The instance is currently modifying.
120
+ #
121
+ # * **FAILED**\: The instance has failed creation.
122
+ # @return [String]
123
+ #
124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ApiCache AWS API Documentation
125
+ #
126
+ class ApiCache < Struct.new(
127
+ :ttl,
128
+ :api_caching_behavior,
129
+ :transit_encryption_enabled,
130
+ :at_rest_encryption_enabled,
131
+ :type,
132
+ :status)
133
+ include Aws::Structure
134
+ end
135
+
65
136
  # Describes an API key.
66
137
  #
67
138
  # Customers invoke AWS AppSync GraphQL API operations with API keys as
@@ -235,6 +306,37 @@ module Aws::AppSync
235
306
  include Aws::Structure
236
307
  end
237
308
 
309
+ # The caching configuration for a resolver that has caching enabled.
310
+ #
311
+ # @note When making an API call, you may pass CachingConfig
312
+ # data as a hash:
313
+ #
314
+ # {
315
+ # ttl: 1,
316
+ # caching_keys: ["String"],
317
+ # }
318
+ #
319
+ # @!attribute [rw] ttl
320
+ # The TTL in seconds for a resolver that has caching enabled.
321
+ #
322
+ # Valid values are between 1 and 3600 seconds.
323
+ # @return [Integer]
324
+ #
325
+ # @!attribute [rw] caching_keys
326
+ # The caching keys for a resolver that has caching enabled.
327
+ #
328
+ # Valid values are entries from the `$context.identity` and
329
+ # `$context.arguments` maps.
330
+ # @return [Array<String>]
331
+ #
332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CachingConfig AWS API Documentation
333
+ #
334
+ class CachingConfig < Struct.new(
335
+ :ttl,
336
+ :caching_keys)
337
+ include Aws::Structure
338
+ end
339
+
238
340
  # Describes an Amazon Cognito user pool configuration.
239
341
  #
240
342
  # @note When making an API call, you may pass CognitoUserPoolConfig
@@ -281,6 +383,92 @@ module Aws::AppSync
281
383
  include Aws::Structure
282
384
  end
283
385
 
386
+ # Represents the input of a `CreateApiCache` operation.
387
+ #
388
+ # @note When making an API call, you may pass CreateApiCacheRequest
389
+ # data as a hash:
390
+ #
391
+ # {
392
+ # api_id: "String", # required
393
+ # ttl: 1, # required
394
+ # transit_encryption_enabled: false,
395
+ # at_rest_encryption_enabled: false,
396
+ # api_caching_behavior: "FULL_REQUEST_CACHING", # required, accepts FULL_REQUEST_CACHING, PER_RESOLVER_CACHING
397
+ # type: "T2_SMALL", # required, accepts T2_SMALL, T2_MEDIUM, R4_LARGE, R4_XLARGE, R4_2XLARGE, R4_4XLARGE, R4_8XLARGE
398
+ # }
399
+ #
400
+ # @!attribute [rw] api_id
401
+ # The GraphQL API Id.
402
+ # @return [String]
403
+ #
404
+ # @!attribute [rw] ttl
405
+ # TTL in seconds for cache entries.
406
+ #
407
+ # Valid values are between 1 and 3600 seconds.
408
+ # @return [Integer]
409
+ #
410
+ # @!attribute [rw] transit_encryption_enabled
411
+ # Transit encryption flag when connecting to cache. This setting
412
+ # cannot be updated after creation.
413
+ # @return [Boolean]
414
+ #
415
+ # @!attribute [rw] at_rest_encryption_enabled
416
+ # At rest encryption flag for cache. This setting cannot be updated
417
+ # after creation.
418
+ # @return [Boolean]
419
+ #
420
+ # @!attribute [rw] api_caching_behavior
421
+ # Caching behavior.
422
+ #
423
+ # * **FULL\_REQUEST\_CACHING**\: All requests are fully cached.
424
+ #
425
+ # * **PER\_RESOLVER\_CACHING**\: Individual resovlers that you specify
426
+ # are cached.
427
+ # @return [String]
428
+ #
429
+ # @!attribute [rw] type
430
+ # The cache instance type.
431
+ #
432
+ # * **T2\_SMALL**\: A t2.small instance type.
433
+ #
434
+ # * **T2\_MEDIUM**\: A t2.medium instance type.
435
+ #
436
+ # * **R4\_LARGE**\: A r4.large instance type.
437
+ #
438
+ # * **R4\_XLARGE**\: A r4.xlarge instance type.
439
+ #
440
+ # * **R4\_2XLARGE**\: A r4.2xlarge instance type.
441
+ #
442
+ # * **R4\_4XLARGE**\: A r4.4xlarge instance type.
443
+ #
444
+ # * **R4\_8XLARGE**\: A r4.8xlarge instance type.
445
+ # @return [String]
446
+ #
447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCacheRequest AWS API Documentation
448
+ #
449
+ class CreateApiCacheRequest < Struct.new(
450
+ :api_id,
451
+ :ttl,
452
+ :transit_encryption_enabled,
453
+ :at_rest_encryption_enabled,
454
+ :api_caching_behavior,
455
+ :type)
456
+ include Aws::Structure
457
+ end
458
+
459
+ # Represents the output of a `CreateApiCache` operation.
460
+ #
461
+ # @!attribute [rw] api_cache
462
+ # The `ApiCache` object.
463
+ # @return [Types::ApiCache]
464
+ #
465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCacheResponse AWS API Documentation
466
+ #
467
+ class CreateApiCacheResponse < Struct.new(
468
+ :api_cache)
469
+ include Aws::Structure
470
+ end
471
+
284
472
  # @note When making an API call, you may pass CreateApiKeyRequest
285
473
  # data as a hash:
286
474
  #
@@ -338,6 +526,12 @@ module Aws::AppSync
338
526
  # table_name: "String", # required
339
527
  # aws_region: "String", # required
340
528
  # use_caller_credentials: false,
529
+ # delta_sync_config: {
530
+ # base_table_ttl: 1,
531
+ # delta_sync_table_name: "String",
532
+ # delta_sync_table_ttl: 1,
533
+ # },
534
+ # versioned: false,
341
535
  # },
342
536
  # lambda_config: {
343
537
  # lambda_function_arn: "String", # required
@@ -545,6 +739,7 @@ module Aws::AppSync
545
739
  # },
546
740
  # },
547
741
  # ],
742
+ # xray_enabled: false,
548
743
  # }
549
744
  #
550
745
  # @!attribute [rw] name
@@ -577,6 +772,11 @@ module Aws::AppSync
577
772
  # API.
578
773
  # @return [Array<Types::AdditionalAuthenticationProvider>]
579
774
  #
775
+ # @!attribute [rw] xray_enabled
776
+ # A flag indicating whether to enable X-Ray tracing for the
777
+ # `GraphqlApi`.
778
+ # @return [Boolean]
779
+ #
580
780
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApiRequest AWS API Documentation
581
781
  #
582
782
  class CreateGraphqlApiRequest < Struct.new(
@@ -586,7 +786,8 @@ module Aws::AppSync
586
786
  :user_pool_config,
587
787
  :open_id_connect_config,
588
788
  :tags,
589
- :additional_authentication_providers)
789
+ :additional_authentication_providers,
790
+ :xray_enabled)
590
791
  include Aws::Structure
591
792
  end
592
793
 
@@ -615,6 +816,17 @@ module Aws::AppSync
615
816
  # pipeline_config: {
616
817
  # functions: ["String"],
617
818
  # },
819
+ # sync_config: {
820
+ # conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
821
+ # conflict_detection: "VERSION", # accepts VERSION, NONE
822
+ # lambda_conflict_handler_config: {
823
+ # lambda_conflict_handler_arn: "String",
824
+ # },
825
+ # },
826
+ # caching_config: {
827
+ # ttl: 1,
828
+ # caching_keys: ["String"],
829
+ # },
618
830
  # }
619
831
  #
620
832
  # @!attribute [rw] api_id
@@ -662,6 +874,14 @@ module Aws::AppSync
662
874
  # The `PipelineConfig`.
663
875
  # @return [Types::PipelineConfig]
664
876
  #
877
+ # @!attribute [rw] sync_config
878
+ # The `SyncConfig` for a resolver attached to a versioned datasource.
879
+ # @return [Types::SyncConfig]
880
+ #
881
+ # @!attribute [rw] caching_config
882
+ # The caching configuration for the resolver.
883
+ # @return [Types::CachingConfig]
884
+ #
665
885
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateResolverRequest AWS API Documentation
666
886
  #
667
887
  class CreateResolverRequest < Struct.new(
@@ -672,7 +892,9 @@ module Aws::AppSync
672
892
  :request_mapping_template,
673
893
  :response_mapping_template,
674
894
  :kind,
675
- :pipeline_config)
895
+ :pipeline_config,
896
+ :sync_config,
897
+ :caching_config)
676
898
  include Aws::Structure
677
899
  end
678
900
 
@@ -812,6 +1034,32 @@ module Aws::AppSync
812
1034
  include Aws::Structure
813
1035
  end
814
1036
 
1037
+ # Represents the input of a `DeleteApiCache` operation.
1038
+ #
1039
+ # @note When making an API call, you may pass DeleteApiCacheRequest
1040
+ # data as a hash:
1041
+ #
1042
+ # {
1043
+ # api_id: "String", # required
1044
+ # }
1045
+ #
1046
+ # @!attribute [rw] api_id
1047
+ # The API ID.
1048
+ # @return [String]
1049
+ #
1050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCacheRequest AWS API Documentation
1051
+ #
1052
+ class DeleteApiCacheRequest < Struct.new(
1053
+ :api_id)
1054
+ include Aws::Structure
1055
+ end
1056
+
1057
+ # Represents the output of a `DeleteApiCache` operation.
1058
+ #
1059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCacheResponse AWS API Documentation
1060
+ #
1061
+ class DeleteApiCacheResponse < Aws::EmptyStructure; end
1062
+
815
1063
  # @note When making an API call, you may pass DeleteApiKeyRequest
816
1064
  # data as a hash:
817
1065
  #
@@ -980,6 +1228,39 @@ module Aws::AppSync
980
1228
  #
981
1229
  class DeleteTypeResponse < Aws::EmptyStructure; end
982
1230
 
1231
+ # Describes a Delta Sync configuration.
1232
+ #
1233
+ # @note When making an API call, you may pass DeltaSyncConfig
1234
+ # data as a hash:
1235
+ #
1236
+ # {
1237
+ # base_table_ttl: 1,
1238
+ # delta_sync_table_name: "String",
1239
+ # delta_sync_table_ttl: 1,
1240
+ # }
1241
+ #
1242
+ # @!attribute [rw] base_table_ttl
1243
+ # The number of minutes an Item is stored in the datasource.
1244
+ # @return [Integer]
1245
+ #
1246
+ # @!attribute [rw] delta_sync_table_name
1247
+ # The Delta Sync table name.
1248
+ # @return [String]
1249
+ #
1250
+ # @!attribute [rw] delta_sync_table_ttl
1251
+ # The number of minutes a Delta Sync log entry is stored in the Delta
1252
+ # Sync table.
1253
+ # @return [Integer]
1254
+ #
1255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeltaSyncConfig AWS API Documentation
1256
+ #
1257
+ class DeltaSyncConfig < Struct.new(
1258
+ :base_table_ttl,
1259
+ :delta_sync_table_name,
1260
+ :delta_sync_table_ttl)
1261
+ include Aws::Structure
1262
+ end
1263
+
983
1264
  # Describes an Amazon DynamoDB data source configuration.
984
1265
  #
985
1266
  # @note When making an API call, you may pass DynamodbDataSourceConfig
@@ -989,6 +1270,12 @@ module Aws::AppSync
989
1270
  # table_name: "String", # required
990
1271
  # aws_region: "String", # required
991
1272
  # use_caller_credentials: false,
1273
+ # delta_sync_config: {
1274
+ # base_table_ttl: 1,
1275
+ # delta_sync_table_name: "String",
1276
+ # delta_sync_table_ttl: 1,
1277
+ # },
1278
+ # versioned: false,
992
1279
  # }
993
1280
  #
994
1281
  # @!attribute [rw] table_name
@@ -1003,12 +1290,23 @@ module Aws::AppSync
1003
1290
  # Set to TRUE to use Amazon Cognito credentials with this data source.
1004
1291
  # @return [Boolean]
1005
1292
  #
1293
+ # @!attribute [rw] delta_sync_config
1294
+ # The `DeltaSyncConfig` for a versioned datasource.
1295
+ # @return [Types::DeltaSyncConfig]
1296
+ #
1297
+ # @!attribute [rw] versioned
1298
+ # Set to TRUE to use Conflict Detection and Resolution with this data
1299
+ # source.
1300
+ # @return [Boolean]
1301
+ #
1006
1302
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DynamodbDataSourceConfig AWS API Documentation
1007
1303
  #
1008
1304
  class DynamodbDataSourceConfig < Struct.new(
1009
1305
  :table_name,
1010
1306
  :aws_region,
1011
- :use_caller_credentials)
1307
+ :use_caller_credentials,
1308
+ :delta_sync_config,
1309
+ :versioned)
1012
1310
  include Aws::Structure
1013
1311
  end
1014
1312
 
@@ -1038,6 +1336,32 @@ module Aws::AppSync
1038
1336
  include Aws::Structure
1039
1337
  end
1040
1338
 
1339
+ # Represents the input of a `FlushApiCache` operation.
1340
+ #
1341
+ # @note When making an API call, you may pass FlushApiCacheRequest
1342
+ # data as a hash:
1343
+ #
1344
+ # {
1345
+ # api_id: "String", # required
1346
+ # }
1347
+ #
1348
+ # @!attribute [rw] api_id
1349
+ # The API ID.
1350
+ # @return [String]
1351
+ #
1352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCacheRequest AWS API Documentation
1353
+ #
1354
+ class FlushApiCacheRequest < Struct.new(
1355
+ :api_id)
1356
+ include Aws::Structure
1357
+ end
1358
+
1359
+ # Represents the output of a `FlushApiCache` operation.
1360
+ #
1361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCacheResponse AWS API Documentation
1362
+ #
1363
+ class FlushApiCacheResponse < Aws::EmptyStructure; end
1364
+
1041
1365
  # A function is a reusable entity. Multiple functions can be used to
1042
1366
  # compose the resolver logic.
1043
1367
  #
@@ -1089,6 +1413,39 @@ module Aws::AppSync
1089
1413
  include Aws::Structure
1090
1414
  end
1091
1415
 
1416
+ # Represents the input of a `GetApiCache` operation.
1417
+ #
1418
+ # @note When making an API call, you may pass GetApiCacheRequest
1419
+ # data as a hash:
1420
+ #
1421
+ # {
1422
+ # api_id: "String", # required
1423
+ # }
1424
+ #
1425
+ # @!attribute [rw] api_id
1426
+ # The API ID.
1427
+ # @return [String]
1428
+ #
1429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCacheRequest AWS API Documentation
1430
+ #
1431
+ class GetApiCacheRequest < Struct.new(
1432
+ :api_id)
1433
+ include Aws::Structure
1434
+ end
1435
+
1436
+ # Represents the output of a `GetApiCache` operation.
1437
+ #
1438
+ # @!attribute [rw] api_cache
1439
+ # The `ApiCache` object.
1440
+ # @return [Types::ApiCache]
1441
+ #
1442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCacheResponse AWS API Documentation
1443
+ #
1444
+ class GetApiCacheResponse < Struct.new(
1445
+ :api_cache)
1446
+ include Aws::Structure
1447
+ end
1448
+
1092
1449
  # @note When making an API call, you may pass GetDataSourceRequest
1093
1450
  # data as a hash:
1094
1451
  #
@@ -1410,6 +1767,11 @@ module Aws::AppSync
1410
1767
  # API.
1411
1768
  # @return [Array<Types::AdditionalAuthenticationProvider>]
1412
1769
  #
1770
+ # @!attribute [rw] xray_enabled
1771
+ # A flag representing whether X-Ray tracing is enabled for this
1772
+ # `GraphqlApi`.
1773
+ # @return [Boolean]
1774
+ #
1413
1775
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GraphqlApi AWS API Documentation
1414
1776
  #
1415
1777
  class GraphqlApi < Struct.new(
@@ -1422,7 +1784,8 @@ module Aws::AppSync
1422
1784
  :arn,
1423
1785
  :uris,
1424
1786
  :tags,
1425
- :additional_authentication_providers)
1787
+ :additional_authentication_providers,
1788
+ :xray_enabled)
1426
1789
  include Aws::Structure
1427
1790
  end
1428
1791
 
@@ -1474,6 +1837,27 @@ module Aws::AppSync
1474
1837
  include Aws::Structure
1475
1838
  end
1476
1839
 
1840
+ # The `LambdaConflictHandlerConfig` object when configuring LAMBDA as
1841
+ # the Conflict Handler.
1842
+ #
1843
+ # @note When making an API call, you may pass LambdaConflictHandlerConfig
1844
+ # data as a hash:
1845
+ #
1846
+ # {
1847
+ # lambda_conflict_handler_arn: "String",
1848
+ # }
1849
+ #
1850
+ # @!attribute [rw] lambda_conflict_handler_arn
1851
+ # The Arn for the Lambda function to use as the Conflict Handler.
1852
+ # @return [String]
1853
+ #
1854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/LambdaConflictHandlerConfig AWS API Documentation
1855
+ #
1856
+ class LambdaConflictHandlerConfig < Struct.new(
1857
+ :lambda_conflict_handler_arn)
1858
+ include Aws::Structure
1859
+ end
1860
+
1477
1861
  # Describes an AWS Lambda data source configuration.
1478
1862
  #
1479
1863
  # @note When making an API call, you may pass LambdaDataSourceConfig
@@ -2148,6 +2532,14 @@ module Aws::AppSync
2148
2532
  # The `PipelineConfig`.
2149
2533
  # @return [Types::PipelineConfig]
2150
2534
  #
2535
+ # @!attribute [rw] sync_config
2536
+ # The `SyncConfig` for a resolver attached to a versioned datasource.
2537
+ # @return [Types::SyncConfig]
2538
+ #
2539
+ # @!attribute [rw] caching_config
2540
+ # The caching configuration for the resolver.
2541
+ # @return [Types::CachingConfig]
2542
+ #
2151
2543
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/Resolver AWS API Documentation
2152
2544
  #
2153
2545
  class Resolver < Struct.new(
@@ -2158,7 +2550,9 @@ module Aws::AppSync
2158
2550
  :request_mapping_template,
2159
2551
  :response_mapping_template,
2160
2552
  :kind,
2161
- :pipeline_config)
2553
+ :pipeline_config,
2554
+ :sync_config,
2555
+ :caching_config)
2162
2556
  include Aws::Structure
2163
2557
  end
2164
2558
 
@@ -2199,6 +2593,60 @@ module Aws::AppSync
2199
2593
  include Aws::Structure
2200
2594
  end
2201
2595
 
2596
+ # Describes a Sync configuration for a resolver.
2597
+ #
2598
+ # Contains information on which Conflict Detection as well as Resolution
2599
+ # strategy should be performed when the resolver is invoked.
2600
+ #
2601
+ # @note When making an API call, you may pass SyncConfig
2602
+ # data as a hash:
2603
+ #
2604
+ # {
2605
+ # conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
2606
+ # conflict_detection: "VERSION", # accepts VERSION, NONE
2607
+ # lambda_conflict_handler_config: {
2608
+ # lambda_conflict_handler_arn: "String",
2609
+ # },
2610
+ # }
2611
+ #
2612
+ # @!attribute [rw] conflict_handler
2613
+ # The Conflict Resolution strategy to perform in the event of a
2614
+ # conflict.
2615
+ #
2616
+ # * **OPTIMISTIC\_CONCURRENCY**\: Resolve conflicts by rejecting
2617
+ # mutations when versions do not match the latest version at the
2618
+ # server.
2619
+ #
2620
+ # * **AUTOMERGE**\: Resolve conflicts with the Automerge conflict
2621
+ # resolution strategy.
2622
+ #
2623
+ # * **LAMBDA**\: Resolve conflicts with a Lambda function supplied in
2624
+ # the LambdaConflictHandlerConfig.
2625
+ # @return [String]
2626
+ #
2627
+ # @!attribute [rw] conflict_detection
2628
+ # The Conflict Detection strategy to use.
2629
+ #
2630
+ # * **VERSION**\: Detect conflicts based on object versions for this
2631
+ # resolver.
2632
+ #
2633
+ # * **NONE**\: Do not detect conflicts when executing this resolver.
2634
+ # @return [String]
2635
+ #
2636
+ # @!attribute [rw] lambda_conflict_handler_config
2637
+ # The `LambdaConflictHandlerConfig` when configuring LAMBDA as the
2638
+ # Conflict Handler.
2639
+ # @return [Types::LambdaConflictHandlerConfig]
2640
+ #
2641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/SyncConfig AWS API Documentation
2642
+ #
2643
+ class SyncConfig < Struct.new(
2644
+ :conflict_handler,
2645
+ :conflict_detection,
2646
+ :lambda_conflict_handler_config)
2647
+ include Aws::Structure
2648
+ end
2649
+
2202
2650
  # @note When making an API call, you may pass TagResourceRequest
2203
2651
  # data as a hash:
2204
2652
  #
@@ -2302,6 +2750,78 @@ module Aws::AppSync
2302
2750
  #
2303
2751
  class UntagResourceResponse < Aws::EmptyStructure; end
2304
2752
 
2753
+ # Represents the input of a `UpdateApiCache` operation.
2754
+ #
2755
+ # @note When making an API call, you may pass UpdateApiCacheRequest
2756
+ # data as a hash:
2757
+ #
2758
+ # {
2759
+ # api_id: "String", # required
2760
+ # ttl: 1, # required
2761
+ # api_caching_behavior: "FULL_REQUEST_CACHING", # required, accepts FULL_REQUEST_CACHING, PER_RESOLVER_CACHING
2762
+ # type: "T2_SMALL", # required, accepts T2_SMALL, T2_MEDIUM, R4_LARGE, R4_XLARGE, R4_2XLARGE, R4_4XLARGE, R4_8XLARGE
2763
+ # }
2764
+ #
2765
+ # @!attribute [rw] api_id
2766
+ # The GraphQL API Id.
2767
+ # @return [String]
2768
+ #
2769
+ # @!attribute [rw] ttl
2770
+ # TTL in seconds for cache entries.
2771
+ #
2772
+ # Valid values are between 1 and 3600 seconds.
2773
+ # @return [Integer]
2774
+ #
2775
+ # @!attribute [rw] api_caching_behavior
2776
+ # Caching behavior.
2777
+ #
2778
+ # * **FULL\_REQUEST\_CACHING**\: All requests are fully cached.
2779
+ #
2780
+ # * **PER\_RESOLVER\_CACHING**\: Individual resovlers that you specify
2781
+ # are cached.
2782
+ # @return [String]
2783
+ #
2784
+ # @!attribute [rw] type
2785
+ # The cache instance type.
2786
+ #
2787
+ # * **T2\_SMALL**\: A t2.small instance type.
2788
+ #
2789
+ # * **T2\_MEDIUM**\: A t2.medium instance type.
2790
+ #
2791
+ # * **R4\_LARGE**\: A r4.large instance type.
2792
+ #
2793
+ # * **R4\_XLARGE**\: A r4.xlarge instance type.
2794
+ #
2795
+ # * **R4\_2XLARGE**\: A r4.2xlarge instance type.
2796
+ #
2797
+ # * **R4\_4XLARGE**\: A r4.4xlarge instance type.
2798
+ #
2799
+ # * **R4\_8XLARGE**\: A r4.8xlarge instance type.
2800
+ # @return [String]
2801
+ #
2802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCacheRequest AWS API Documentation
2803
+ #
2804
+ class UpdateApiCacheRequest < Struct.new(
2805
+ :api_id,
2806
+ :ttl,
2807
+ :api_caching_behavior,
2808
+ :type)
2809
+ include Aws::Structure
2810
+ end
2811
+
2812
+ # Represents the output of a `UpdateApiCache` operation.
2813
+ #
2814
+ # @!attribute [rw] api_cache
2815
+ # The `ApiCache` object.
2816
+ # @return [Types::ApiCache]
2817
+ #
2818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCacheResponse AWS API Documentation
2819
+ #
2820
+ class UpdateApiCacheResponse < Struct.new(
2821
+ :api_cache)
2822
+ include Aws::Structure
2823
+ end
2824
+
2305
2825
  # @note When making an API call, you may pass UpdateApiKeyRequest
2306
2826
  # data as a hash:
2307
2827
  #
@@ -2364,6 +2884,12 @@ module Aws::AppSync
2364
2884
  # table_name: "String", # required
2365
2885
  # aws_region: "String", # required
2366
2886
  # use_caller_credentials: false,
2887
+ # delta_sync_config: {
2888
+ # base_table_ttl: 1,
2889
+ # delta_sync_table_name: "String",
2890
+ # delta_sync_table_ttl: 1,
2891
+ # },
2892
+ # versioned: false,
2367
2893
  # },
2368
2894
  # lambda_config: {
2369
2895
  # lambda_function_arn: "String", # required
@@ -2574,6 +3100,7 @@ module Aws::AppSync
2574
3100
  # },
2575
3101
  # },
2576
3102
  # ],
3103
+ # xray_enabled: false,
2577
3104
  # }
2578
3105
  #
2579
3106
  # @!attribute [rw] api_id
@@ -2607,6 +3134,11 @@ module Aws::AppSync
2607
3134
  # API.
2608
3135
  # @return [Array<Types::AdditionalAuthenticationProvider>]
2609
3136
  #
3137
+ # @!attribute [rw] xray_enabled
3138
+ # A flag indicating whether to enable X-Ray tracing for the
3139
+ # `GraphqlApi`.
3140
+ # @return [Boolean]
3141
+ #
2610
3142
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApiRequest AWS API Documentation
2611
3143
  #
2612
3144
  class UpdateGraphqlApiRequest < Struct.new(
@@ -2616,7 +3148,8 @@ module Aws::AppSync
2616
3148
  :authentication_type,
2617
3149
  :user_pool_config,
2618
3150
  :open_id_connect_config,
2619
- :additional_authentication_providers)
3151
+ :additional_authentication_providers,
3152
+ :xray_enabled)
2620
3153
  include Aws::Structure
2621
3154
  end
2622
3155
 
@@ -2645,6 +3178,17 @@ module Aws::AppSync
2645
3178
  # pipeline_config: {
2646
3179
  # functions: ["String"],
2647
3180
  # },
3181
+ # sync_config: {
3182
+ # conflict_handler: "OPTIMISTIC_CONCURRENCY", # accepts OPTIMISTIC_CONCURRENCY, LAMBDA, AUTOMERGE, NONE
3183
+ # conflict_detection: "VERSION", # accepts VERSION, NONE
3184
+ # lambda_conflict_handler_config: {
3185
+ # lambda_conflict_handler_arn: "String",
3186
+ # },
3187
+ # },
3188
+ # caching_config: {
3189
+ # ttl: 1,
3190
+ # caching_keys: ["String"],
3191
+ # },
2648
3192
  # }
2649
3193
  #
2650
3194
  # @!attribute [rw] api_id
@@ -2688,6 +3232,14 @@ module Aws::AppSync
2688
3232
  # The `PipelineConfig`.
2689
3233
  # @return [Types::PipelineConfig]
2690
3234
  #
3235
+ # @!attribute [rw] sync_config
3236
+ # The `SyncConfig` for a resolver attached to a versioned datasource.
3237
+ # @return [Types::SyncConfig]
3238
+ #
3239
+ # @!attribute [rw] caching_config
3240
+ # The caching configuration for the resolver.
3241
+ # @return [Types::CachingConfig]
3242
+ #
2691
3243
  # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateResolverRequest AWS API Documentation
2692
3244
  #
2693
3245
  class UpdateResolverRequest < Struct.new(
@@ -2698,7 +3250,9 @@ module Aws::AppSync
2698
3250
  :request_mapping_template,
2699
3251
  :response_mapping_template,
2700
3252
  :kind,
2701
- :pipeline_config)
3253
+ :pipeline_config,
3254
+ :sync_config,
3255
+ :caching_config)
2702
3256
  include Aws::Structure
2703
3257
  end
2704
3258