aws-sdk-appsync 1.21.0 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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