aws-sdk-appsync 1.58.0 → 1.60.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-appsync/client.rb +552 -25
- data/lib/aws-sdk-appsync/client_api.rb +261 -0
- data/lib/aws-sdk-appsync/endpoint_parameters.rb +0 -3
- data/lib/aws-sdk-appsync/endpoint_provider.rb +27 -24
- data/lib/aws-sdk-appsync/endpoints.rb +126 -0
- data/lib/aws-sdk-appsync/plugins/endpoints.rb +18 -0
- data/lib/aws-sdk-appsync/types.rb +708 -77
- data/lib/aws-sdk-appsync.rb +1 -1
- metadata +2 -2
@@ -374,7 +374,7 @@ module Aws::AppSync
|
|
374
374
|
# The domain name.
|
375
375
|
#
|
376
376
|
# @option params [required, String] :api_id
|
377
|
-
# The API ID.
|
377
|
+
# The API ID. Private APIs can not be associated with custom domains.
|
378
378
|
#
|
379
379
|
# @return [Types::AssociateApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
380
380
|
#
|
@@ -403,6 +403,128 @@ module Aws::AppSync
|
|
403
403
|
req.send_request(options)
|
404
404
|
end
|
405
405
|
|
406
|
+
# Creates an association between a Merged API and source API using the
|
407
|
+
# source API's identifier.
|
408
|
+
#
|
409
|
+
# @option params [required, String] :source_api_identifier
|
410
|
+
# The identifier of the AppSync Source API. This is generated by the
|
411
|
+
# AppSync service. In most cases, source APIs (especially in your
|
412
|
+
# account) only require the API ID value or ARN of the source API.
|
413
|
+
# However, source APIs from other accounts (cross-account use cases)
|
414
|
+
# strictly require the full resource ARN of the source API.
|
415
|
+
#
|
416
|
+
# @option params [required, String] :merged_api_identifier
|
417
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
418
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
419
|
+
# account) only require the API ID value or ARN of the merged API.
|
420
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
421
|
+
# strictly require the full resource ARN of the merged API.
|
422
|
+
#
|
423
|
+
# @option params [String] :description
|
424
|
+
# The description field.
|
425
|
+
#
|
426
|
+
# @option params [Types::SourceApiAssociationConfig] :source_api_association_config
|
427
|
+
# The `SourceApiAssociationConfig` object data.
|
428
|
+
#
|
429
|
+
# @return [Types::AssociateMergedGraphqlApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
430
|
+
#
|
431
|
+
# * {Types::AssociateMergedGraphqlApiResponse#source_api_association #source_api_association} => Types::SourceApiAssociation
|
432
|
+
#
|
433
|
+
# @example Request syntax with placeholder values
|
434
|
+
#
|
435
|
+
# resp = client.associate_merged_graphql_api({
|
436
|
+
# source_api_identifier: "String", # required
|
437
|
+
# merged_api_identifier: "String", # required
|
438
|
+
# description: "String",
|
439
|
+
# source_api_association_config: {
|
440
|
+
# merge_type: "MANUAL_MERGE", # accepts MANUAL_MERGE, AUTO_MERGE
|
441
|
+
# },
|
442
|
+
# })
|
443
|
+
#
|
444
|
+
# @example Response structure
|
445
|
+
#
|
446
|
+
# resp.source_api_association.association_id #=> String
|
447
|
+
# resp.source_api_association.association_arn #=> String
|
448
|
+
# resp.source_api_association.source_api_id #=> String
|
449
|
+
# resp.source_api_association.source_api_arn #=> String
|
450
|
+
# resp.source_api_association.merged_api_arn #=> String
|
451
|
+
# resp.source_api_association.merged_api_id #=> String
|
452
|
+
# resp.source_api_association.description #=> String
|
453
|
+
# resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
|
454
|
+
# resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
455
|
+
# resp.source_api_association.source_api_association_status_detail #=> String
|
456
|
+
# resp.source_api_association.last_successful_merge_date #=> Time
|
457
|
+
#
|
458
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/AssociateMergedGraphqlApi AWS API Documentation
|
459
|
+
#
|
460
|
+
# @overload associate_merged_graphql_api(params = {})
|
461
|
+
# @param [Hash] params ({})
|
462
|
+
def associate_merged_graphql_api(params = {}, options = {})
|
463
|
+
req = build_request(:associate_merged_graphql_api, params)
|
464
|
+
req.send_request(options)
|
465
|
+
end
|
466
|
+
|
467
|
+
# Creates an association between a Merged API and source API using the
|
468
|
+
# Merged API's identifier.
|
469
|
+
#
|
470
|
+
# @option params [required, String] :merged_api_identifier
|
471
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
472
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
473
|
+
# account) only require the API ID value or ARN of the merged API.
|
474
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
475
|
+
# strictly require the full resource ARN of the merged API.
|
476
|
+
#
|
477
|
+
# @option params [required, String] :source_api_identifier
|
478
|
+
# The identifier of the AppSync Source API. This is generated by the
|
479
|
+
# AppSync service. In most cases, source APIs (especially in your
|
480
|
+
# account) only require the API ID value or ARN of the source API.
|
481
|
+
# However, source APIs from other accounts (cross-account use cases)
|
482
|
+
# strictly require the full resource ARN of the source API.
|
483
|
+
#
|
484
|
+
# @option params [String] :description
|
485
|
+
# The description field.
|
486
|
+
#
|
487
|
+
# @option params [Types::SourceApiAssociationConfig] :source_api_association_config
|
488
|
+
# The `SourceApiAssociationConfig` object data.
|
489
|
+
#
|
490
|
+
# @return [Types::AssociateSourceGraphqlApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
491
|
+
#
|
492
|
+
# * {Types::AssociateSourceGraphqlApiResponse#source_api_association #source_api_association} => Types::SourceApiAssociation
|
493
|
+
#
|
494
|
+
# @example Request syntax with placeholder values
|
495
|
+
#
|
496
|
+
# resp = client.associate_source_graphql_api({
|
497
|
+
# merged_api_identifier: "String", # required
|
498
|
+
# source_api_identifier: "String", # required
|
499
|
+
# description: "String",
|
500
|
+
# source_api_association_config: {
|
501
|
+
# merge_type: "MANUAL_MERGE", # accepts MANUAL_MERGE, AUTO_MERGE
|
502
|
+
# },
|
503
|
+
# })
|
504
|
+
#
|
505
|
+
# @example Response structure
|
506
|
+
#
|
507
|
+
# resp.source_api_association.association_id #=> String
|
508
|
+
# resp.source_api_association.association_arn #=> String
|
509
|
+
# resp.source_api_association.source_api_id #=> String
|
510
|
+
# resp.source_api_association.source_api_arn #=> String
|
511
|
+
# resp.source_api_association.merged_api_arn #=> String
|
512
|
+
# resp.source_api_association.merged_api_id #=> String
|
513
|
+
# resp.source_api_association.description #=> String
|
514
|
+
# resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
|
515
|
+
# resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
516
|
+
# resp.source_api_association.source_api_association_status_detail #=> String
|
517
|
+
# resp.source_api_association.last_successful_merge_date #=> Time
|
518
|
+
#
|
519
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/AssociateSourceGraphqlApi AWS API Documentation
|
520
|
+
#
|
521
|
+
# @overload associate_source_graphql_api(params = {})
|
522
|
+
# @param [Hash] params ({})
|
523
|
+
def associate_source_graphql_api(params = {}, options = {})
|
524
|
+
req = build_request(:associate_source_graphql_api, params)
|
525
|
+
req.send_request(options)
|
526
|
+
end
|
527
|
+
|
406
528
|
# Creates a cache for the GraphQL API.
|
407
529
|
#
|
408
530
|
# @option params [required, String] :api_id
|
@@ -424,9 +546,9 @@ module Aws::AppSync
|
|
424
546
|
# @option params [required, String] :api_caching_behavior
|
425
547
|
# Caching behavior.
|
426
548
|
#
|
427
|
-
# * **FULL\_REQUEST\_CACHING
|
549
|
+
# * **FULL\_REQUEST\_CACHING**: All requests are fully cached.
|
428
550
|
#
|
429
|
-
# * **PER\_RESOLVER\_CACHING
|
551
|
+
# * **PER\_RESOLVER\_CACHING**: Individual resolvers that you specify
|
430
552
|
# are cached.
|
431
553
|
#
|
432
554
|
# @option params [required, String] :type
|
@@ -455,19 +577,19 @@ module Aws::AppSync
|
|
455
577
|
# The following legacy instance types are available, but their use is
|
456
578
|
# discouraged:
|
457
579
|
#
|
458
|
-
# * **T2\_SMALL
|
580
|
+
# * **T2\_SMALL**: A t2.small instance type.
|
459
581
|
#
|
460
|
-
# * **T2\_MEDIUM
|
582
|
+
# * **T2\_MEDIUM**: A t2.medium instance type.
|
461
583
|
#
|
462
|
-
# * **R4\_LARGE
|
584
|
+
# * **R4\_LARGE**: A r4.large instance type.
|
463
585
|
#
|
464
|
-
# * **R4\_XLARGE
|
586
|
+
# * **R4\_XLARGE**: A r4.xlarge instance type.
|
465
587
|
#
|
466
|
-
# * **R4\_2XLARGE
|
588
|
+
# * **R4\_2XLARGE**: A r4.2xlarge instance type.
|
467
589
|
#
|
468
|
-
# * **R4\_4XLARGE
|
590
|
+
# * **R4\_4XLARGE**: A r4.4xlarge instance type.
|
469
591
|
#
|
470
|
-
# * **R4\_8XLARGE
|
592
|
+
# * **R4\_8XLARGE**: A r4.8xlarge instance type.
|
471
593
|
#
|
472
594
|
# @return [Types::CreateApiCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
473
595
|
#
|
@@ -867,6 +989,29 @@ module Aws::AppSync
|
|
867
989
|
# @option params [Types::LambdaAuthorizerConfig] :lambda_authorizer_config
|
868
990
|
# Configuration for Lambda function authorization.
|
869
991
|
#
|
992
|
+
# @option params [String] :visibility
|
993
|
+
# Sets the value of the GraphQL API to public (`GLOBAL`) or private
|
994
|
+
# (`PRIVATE`). If no value is provided, the visibility will be set to
|
995
|
+
# `GLOBAL` by default. This value cannot be changed once the API has
|
996
|
+
# been created.
|
997
|
+
#
|
998
|
+
# @option params [String] :api_type
|
999
|
+
# The value that indicates whether the GraphQL API is a standard API
|
1000
|
+
# (`GRAPHQL`) or merged API (`MERGED`).
|
1001
|
+
#
|
1002
|
+
# @option params [String] :merged_api_execution_role_arn
|
1003
|
+
# The Identity and Access Management service role ARN for a merged API.
|
1004
|
+
# The AppSync service assumes this role on behalf of the Merged API to
|
1005
|
+
# validate access to source APIs at runtime and to prompt the
|
1006
|
+
# `AUTO_MERGE` to update the merged API endpoint with the source API
|
1007
|
+
# changes automatically.
|
1008
|
+
#
|
1009
|
+
# @option params [String] :owner_contact
|
1010
|
+
# The owner contact information for an API resource.
|
1011
|
+
#
|
1012
|
+
# This field accepts any string input with a length of 0 - 256
|
1013
|
+
# characters.
|
1014
|
+
#
|
870
1015
|
# @return [Types::CreateGraphqlApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
871
1016
|
#
|
872
1017
|
# * {Types::CreateGraphqlApiResponse#graphql_api #graphql_api} => Types::GraphqlApi
|
@@ -923,6 +1068,10 @@ module Aws::AppSync
|
|
923
1068
|
# authorizer_uri: "String", # required
|
924
1069
|
# identity_validation_expression: "String",
|
925
1070
|
# },
|
1071
|
+
# visibility: "GLOBAL", # accepts GLOBAL, PRIVATE
|
1072
|
+
# api_type: "GRAPHQL", # accepts GRAPHQL, MERGED
|
1073
|
+
# merged_api_execution_role_arn: "String",
|
1074
|
+
# owner_contact: "String",
|
926
1075
|
# })
|
927
1076
|
#
|
928
1077
|
# @example Response structure
|
@@ -963,6 +1112,13 @@ module Aws::AppSync
|
|
963
1112
|
# resp.graphql_api.lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
|
964
1113
|
# resp.graphql_api.lambda_authorizer_config.authorizer_uri #=> String
|
965
1114
|
# resp.graphql_api.lambda_authorizer_config.identity_validation_expression #=> String
|
1115
|
+
# resp.graphql_api.dns #=> Hash
|
1116
|
+
# resp.graphql_api.dns["String"] #=> String
|
1117
|
+
# resp.graphql_api.visibility #=> String, one of "GLOBAL", "PRIVATE"
|
1118
|
+
# resp.graphql_api.api_type #=> String, one of "GRAPHQL", "MERGED"
|
1119
|
+
# resp.graphql_api.merged_api_execution_role_arn #=> String
|
1120
|
+
# resp.graphql_api.owner #=> String
|
1121
|
+
# resp.graphql_api.owner_contact #=> String
|
966
1122
|
#
|
967
1123
|
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateGraphqlApi AWS API Documentation
|
968
1124
|
#
|
@@ -1008,11 +1164,11 @@ module Aws::AppSync
|
|
1008
1164
|
# @option params [String] :kind
|
1009
1165
|
# The resolver type.
|
1010
1166
|
#
|
1011
|
-
# * **UNIT
|
1167
|
+
# * **UNIT**: A UNIT resolver type. A UNIT resolver is the default
|
1012
1168
|
# resolver type. You can use a UNIT resolver to run a GraphQL query
|
1013
1169
|
# against a single data source.
|
1014
1170
|
#
|
1015
|
-
# * **PIPELINE
|
1171
|
+
# * **PIPELINE**: A PIPELINE resolver type. You can use a PIPELINE
|
1016
1172
|
# resolver to invoke a series of `Function` objects in a serial
|
1017
1173
|
# manner. You can use a pipeline resolver to run a GraphQL query
|
1018
1174
|
# against multiple data sources.
|
@@ -1376,6 +1532,82 @@ module Aws::AppSync
|
|
1376
1532
|
req.send_request(options)
|
1377
1533
|
end
|
1378
1534
|
|
1535
|
+
# Deletes an association between a Merged API and source API using the
|
1536
|
+
# source API's identifier and the association ID.
|
1537
|
+
#
|
1538
|
+
# @option params [required, String] :source_api_identifier
|
1539
|
+
# The identifier of the AppSync Source API. This is generated by the
|
1540
|
+
# AppSync service. In most cases, source APIs (especially in your
|
1541
|
+
# account) only require the API ID value or ARN of the source API.
|
1542
|
+
# However, source APIs from other accounts (cross-account use cases)
|
1543
|
+
# strictly require the full resource ARN of the source API.
|
1544
|
+
#
|
1545
|
+
# @option params [required, String] :association_id
|
1546
|
+
# The ID generated by the AppSync service for the source API
|
1547
|
+
# association.
|
1548
|
+
#
|
1549
|
+
# @return [Types::DisassociateMergedGraphqlApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1550
|
+
#
|
1551
|
+
# * {Types::DisassociateMergedGraphqlApiResponse#source_api_association_status #source_api_association_status} => String
|
1552
|
+
#
|
1553
|
+
# @example Request syntax with placeholder values
|
1554
|
+
#
|
1555
|
+
# resp = client.disassociate_merged_graphql_api({
|
1556
|
+
# source_api_identifier: "String", # required
|
1557
|
+
# association_id: "String", # required
|
1558
|
+
# })
|
1559
|
+
#
|
1560
|
+
# @example Response structure
|
1561
|
+
#
|
1562
|
+
# resp.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
1563
|
+
#
|
1564
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DisassociateMergedGraphqlApi AWS API Documentation
|
1565
|
+
#
|
1566
|
+
# @overload disassociate_merged_graphql_api(params = {})
|
1567
|
+
# @param [Hash] params ({})
|
1568
|
+
def disassociate_merged_graphql_api(params = {}, options = {})
|
1569
|
+
req = build_request(:disassociate_merged_graphql_api, params)
|
1570
|
+
req.send_request(options)
|
1571
|
+
end
|
1572
|
+
|
1573
|
+
# Deletes an association between a Merged API and source API using the
|
1574
|
+
# Merged API's identifier and the association ID.
|
1575
|
+
#
|
1576
|
+
# @option params [required, String] :merged_api_identifier
|
1577
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
1578
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
1579
|
+
# account) only require the API ID value or ARN of the merged API.
|
1580
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
1581
|
+
# strictly require the full resource ARN of the merged API.
|
1582
|
+
#
|
1583
|
+
# @option params [required, String] :association_id
|
1584
|
+
# The ID generated by the AppSync service for the source API
|
1585
|
+
# association.
|
1586
|
+
#
|
1587
|
+
# @return [Types::DisassociateSourceGraphqlApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1588
|
+
#
|
1589
|
+
# * {Types::DisassociateSourceGraphqlApiResponse#source_api_association_status #source_api_association_status} => String
|
1590
|
+
#
|
1591
|
+
# @example Request syntax with placeholder values
|
1592
|
+
#
|
1593
|
+
# resp = client.disassociate_source_graphql_api({
|
1594
|
+
# merged_api_identifier: "String", # required
|
1595
|
+
# association_id: "String", # required
|
1596
|
+
# })
|
1597
|
+
#
|
1598
|
+
# @example Response structure
|
1599
|
+
#
|
1600
|
+
# resp.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
1601
|
+
#
|
1602
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DisassociateSourceGraphqlApi AWS API Documentation
|
1603
|
+
#
|
1604
|
+
# @overload disassociate_source_graphql_api(params = {})
|
1605
|
+
# @param [Hash] params ({})
|
1606
|
+
def disassociate_source_graphql_api(params = {}, options = {})
|
1607
|
+
req = build_request(:disassociate_source_graphql_api, params)
|
1608
|
+
req.send_request(options)
|
1609
|
+
end
|
1610
|
+
|
1379
1611
|
# Evaluates the given code and returns the response. The code definition
|
1380
1612
|
# requirements depend on the specified runtime. For `APPSYNC_JS`
|
1381
1613
|
# runtimes, the code defines the request and response functions. The
|
@@ -1766,6 +1998,13 @@ module Aws::AppSync
|
|
1766
1998
|
# resp.graphql_api.lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
|
1767
1999
|
# resp.graphql_api.lambda_authorizer_config.authorizer_uri #=> String
|
1768
2000
|
# resp.graphql_api.lambda_authorizer_config.identity_validation_expression #=> String
|
2001
|
+
# resp.graphql_api.dns #=> Hash
|
2002
|
+
# resp.graphql_api.dns["String"] #=> String
|
2003
|
+
# resp.graphql_api.visibility #=> String, one of "GLOBAL", "PRIVATE"
|
2004
|
+
# resp.graphql_api.api_type #=> String, one of "GRAPHQL", "MERGED"
|
2005
|
+
# resp.graphql_api.merged_api_execution_role_arn #=> String
|
2006
|
+
# resp.graphql_api.owner #=> String
|
2007
|
+
# resp.graphql_api.owner_contact #=> String
|
1769
2008
|
#
|
1770
2009
|
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetGraphqlApi AWS API Documentation
|
1771
2010
|
#
|
@@ -1897,6 +2136,53 @@ module Aws::AppSync
|
|
1897
2136
|
req.send_request(options)
|
1898
2137
|
end
|
1899
2138
|
|
2139
|
+
# Retrieves a `SourceApiAssociation` object.
|
2140
|
+
#
|
2141
|
+
# @option params [required, String] :merged_api_identifier
|
2142
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
2143
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
2144
|
+
# account) only require the API ID value or ARN of the merged API.
|
2145
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
2146
|
+
# strictly require the full resource ARN of the merged API.
|
2147
|
+
#
|
2148
|
+
# @option params [required, String] :association_id
|
2149
|
+
# The ID generated by the AppSync service for the source API
|
2150
|
+
# association.
|
2151
|
+
#
|
2152
|
+
# @return [Types::GetSourceApiAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2153
|
+
#
|
2154
|
+
# * {Types::GetSourceApiAssociationResponse#source_api_association #source_api_association} => Types::SourceApiAssociation
|
2155
|
+
#
|
2156
|
+
# @example Request syntax with placeholder values
|
2157
|
+
#
|
2158
|
+
# resp = client.get_source_api_association({
|
2159
|
+
# merged_api_identifier: "String", # required
|
2160
|
+
# association_id: "String", # required
|
2161
|
+
# })
|
2162
|
+
#
|
2163
|
+
# @example Response structure
|
2164
|
+
#
|
2165
|
+
# resp.source_api_association.association_id #=> String
|
2166
|
+
# resp.source_api_association.association_arn #=> String
|
2167
|
+
# resp.source_api_association.source_api_id #=> String
|
2168
|
+
# resp.source_api_association.source_api_arn #=> String
|
2169
|
+
# resp.source_api_association.merged_api_arn #=> String
|
2170
|
+
# resp.source_api_association.merged_api_id #=> String
|
2171
|
+
# resp.source_api_association.description #=> String
|
2172
|
+
# resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
|
2173
|
+
# resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
2174
|
+
# resp.source_api_association.source_api_association_status_detail #=> String
|
2175
|
+
# resp.source_api_association.last_successful_merge_date #=> Time
|
2176
|
+
#
|
2177
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetSourceApiAssociation AWS API Documentation
|
2178
|
+
#
|
2179
|
+
# @overload get_source_api_association(params = {})
|
2180
|
+
# @param [Hash] params ({})
|
2181
|
+
def get_source_api_association(params = {}, options = {})
|
2182
|
+
req = build_request(:get_source_api_association, params)
|
2183
|
+
req.send_request(options)
|
2184
|
+
end
|
2185
|
+
|
1900
2186
|
# Retrieves a `Type` object.
|
1901
2187
|
#
|
1902
2188
|
# @option params [required, String] :api_id
|
@@ -2059,7 +2345,9 @@ module Aws::AppSync
|
|
2059
2345
|
# Lists multiple custom domain names.
|
2060
2346
|
#
|
2061
2347
|
# @option params [String] :next_token
|
2062
|
-
#
|
2348
|
+
# An identifier that was returned from the previous call to this
|
2349
|
+
# operation, which you can use to return the next set of items in the
|
2350
|
+
# list.
|
2063
2351
|
#
|
2064
2352
|
# @option params [Integer] :max_results
|
2065
2353
|
# The maximum number of results that you want the request to return.
|
@@ -2160,6 +2448,13 @@ module Aws::AppSync
|
|
2160
2448
|
# @option params [Integer] :max_results
|
2161
2449
|
# The maximum number of results that you want the request to return.
|
2162
2450
|
#
|
2451
|
+
# @option params [String] :api_type
|
2452
|
+
# The value that indicates whether the GraphQL API is a standard API
|
2453
|
+
# (`GRAPHQL`) or merged API (`MERGED`).
|
2454
|
+
#
|
2455
|
+
# @option params [String] :owner
|
2456
|
+
# The account owner of the GraphQL API.
|
2457
|
+
#
|
2163
2458
|
# @return [Types::ListGraphqlApisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2164
2459
|
#
|
2165
2460
|
# * {Types::ListGraphqlApisResponse#graphql_apis #graphql_apis} => Array<Types::GraphqlApi>
|
@@ -2170,6 +2465,8 @@ module Aws::AppSync
|
|
2170
2465
|
# resp = client.list_graphql_apis({
|
2171
2466
|
# next_token: "PaginationToken",
|
2172
2467
|
# max_results: 1,
|
2468
|
+
# api_type: "GRAPHQL", # accepts GRAPHQL, MERGED
|
2469
|
+
# owner: "CURRENT_ACCOUNT", # accepts CURRENT_ACCOUNT, OTHER_ACCOUNTS
|
2173
2470
|
# })
|
2174
2471
|
#
|
2175
2472
|
# @example Response structure
|
@@ -2211,6 +2508,13 @@ module Aws::AppSync
|
|
2211
2508
|
# resp.graphql_apis[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
|
2212
2509
|
# resp.graphql_apis[0].lambda_authorizer_config.authorizer_uri #=> String
|
2213
2510
|
# resp.graphql_apis[0].lambda_authorizer_config.identity_validation_expression #=> String
|
2511
|
+
# resp.graphql_apis[0].dns #=> Hash
|
2512
|
+
# resp.graphql_apis[0].dns["String"] #=> String
|
2513
|
+
# resp.graphql_apis[0].visibility #=> String, one of "GLOBAL", "PRIVATE"
|
2514
|
+
# resp.graphql_apis[0].api_type #=> String, one of "GRAPHQL", "MERGED"
|
2515
|
+
# resp.graphql_apis[0].merged_api_execution_role_arn #=> String
|
2516
|
+
# resp.graphql_apis[0].owner #=> String
|
2517
|
+
# resp.graphql_apis[0].owner_contact #=> String
|
2214
2518
|
# resp.next_token #=> String
|
2215
2519
|
#
|
2216
2520
|
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListGraphqlApis AWS API Documentation
|
@@ -2348,6 +2652,53 @@ module Aws::AppSync
|
|
2348
2652
|
req.send_request(options)
|
2349
2653
|
end
|
2350
2654
|
|
2655
|
+
# Lists the `SourceApiAssociationSummary` data.
|
2656
|
+
#
|
2657
|
+
# @option params [required, String] :api_id
|
2658
|
+
# The API ID.
|
2659
|
+
#
|
2660
|
+
# @option params [String] :next_token
|
2661
|
+
# An identifier that was returned from the previous call to this
|
2662
|
+
# operation, which you can use to return the next set of items in the
|
2663
|
+
# list.
|
2664
|
+
#
|
2665
|
+
# @option params [Integer] :max_results
|
2666
|
+
# The maximum number of results that you want the request to return.
|
2667
|
+
#
|
2668
|
+
# @return [Types::ListSourceApiAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2669
|
+
#
|
2670
|
+
# * {Types::ListSourceApiAssociationsResponse#source_api_association_summaries #source_api_association_summaries} => Array<Types::SourceApiAssociationSummary>
|
2671
|
+
# * {Types::ListSourceApiAssociationsResponse#next_token #next_token} => String
|
2672
|
+
#
|
2673
|
+
# @example Request syntax with placeholder values
|
2674
|
+
#
|
2675
|
+
# resp = client.list_source_api_associations({
|
2676
|
+
# api_id: "String", # required
|
2677
|
+
# next_token: "PaginationToken",
|
2678
|
+
# max_results: 1,
|
2679
|
+
# })
|
2680
|
+
#
|
2681
|
+
# @example Response structure
|
2682
|
+
#
|
2683
|
+
# resp.source_api_association_summaries #=> Array
|
2684
|
+
# resp.source_api_association_summaries[0].association_id #=> String
|
2685
|
+
# resp.source_api_association_summaries[0].association_arn #=> String
|
2686
|
+
# resp.source_api_association_summaries[0].source_api_id #=> String
|
2687
|
+
# resp.source_api_association_summaries[0].source_api_arn #=> String
|
2688
|
+
# resp.source_api_association_summaries[0].merged_api_id #=> String
|
2689
|
+
# resp.source_api_association_summaries[0].merged_api_arn #=> String
|
2690
|
+
# resp.source_api_association_summaries[0].description #=> String
|
2691
|
+
# resp.next_token #=> String
|
2692
|
+
#
|
2693
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListSourceApiAssociations AWS API Documentation
|
2694
|
+
#
|
2695
|
+
# @overload list_source_api_associations(params = {})
|
2696
|
+
# @param [Hash] params ({})
|
2697
|
+
def list_source_api_associations(params = {}, options = {})
|
2698
|
+
req = build_request(:list_source_api_associations, params)
|
2699
|
+
req.send_request(options)
|
2700
|
+
end
|
2701
|
+
|
2351
2702
|
# Lists the tags for a resource.
|
2352
2703
|
#
|
2353
2704
|
# @option params [required, String] :resource_arn
|
@@ -2426,6 +2777,64 @@ module Aws::AppSync
|
|
2426
2777
|
req.send_request(options)
|
2427
2778
|
end
|
2428
2779
|
|
2780
|
+
# Lists `Type` objects by the source API association ID.
|
2781
|
+
#
|
2782
|
+
# @option params [required, String] :merged_api_identifier
|
2783
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
2784
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
2785
|
+
# account) only require the API ID value or ARN of the merged API.
|
2786
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
2787
|
+
# strictly require the full resource ARN of the merged API.
|
2788
|
+
#
|
2789
|
+
# @option params [required, String] :association_id
|
2790
|
+
# The ID generated by the AppSync service for the source API
|
2791
|
+
# association.
|
2792
|
+
#
|
2793
|
+
# @option params [required, String] :format
|
2794
|
+
# The format type.
|
2795
|
+
#
|
2796
|
+
# @option params [String] :next_token
|
2797
|
+
# An identifier that was returned from the previous call to this
|
2798
|
+
# operation, which you can use to return the next set of items in the
|
2799
|
+
# list.
|
2800
|
+
#
|
2801
|
+
# @option params [Integer] :max_results
|
2802
|
+
# The maximum number of results that you want the request to return.
|
2803
|
+
#
|
2804
|
+
# @return [Types::ListTypesByAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2805
|
+
#
|
2806
|
+
# * {Types::ListTypesByAssociationResponse#types #types} => Array<Types::Type>
|
2807
|
+
# * {Types::ListTypesByAssociationResponse#next_token #next_token} => String
|
2808
|
+
#
|
2809
|
+
# @example Request syntax with placeholder values
|
2810
|
+
#
|
2811
|
+
# resp = client.list_types_by_association({
|
2812
|
+
# merged_api_identifier: "String", # required
|
2813
|
+
# association_id: "String", # required
|
2814
|
+
# format: "SDL", # required, accepts SDL, JSON
|
2815
|
+
# next_token: "PaginationToken",
|
2816
|
+
# max_results: 1,
|
2817
|
+
# })
|
2818
|
+
#
|
2819
|
+
# @example Response structure
|
2820
|
+
#
|
2821
|
+
# resp.types #=> Array
|
2822
|
+
# resp.types[0].name #=> String
|
2823
|
+
# resp.types[0].description #=> String
|
2824
|
+
# resp.types[0].arn #=> String
|
2825
|
+
# resp.types[0].definition #=> String
|
2826
|
+
# resp.types[0].format #=> String, one of "SDL", "JSON"
|
2827
|
+
# resp.next_token #=> String
|
2828
|
+
#
|
2829
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListTypesByAssociation AWS API Documentation
|
2830
|
+
#
|
2831
|
+
# @overload list_types_by_association(params = {})
|
2832
|
+
# @param [Hash] params ({})
|
2833
|
+
def list_types_by_association(params = {}, options = {})
|
2834
|
+
req = build_request(:list_types_by_association, params)
|
2835
|
+
req.send_request(options)
|
2836
|
+
end
|
2837
|
+
|
2429
2838
|
# Adds a new schema to your GraphQL API.
|
2430
2839
|
#
|
2431
2840
|
# This operation is asynchronous. Use to determine when it has
|
@@ -2461,6 +2870,44 @@ module Aws::AppSync
|
|
2461
2870
|
req.send_request(options)
|
2462
2871
|
end
|
2463
2872
|
|
2873
|
+
# Initiates a merge operation. Returns a status that shows the result of
|
2874
|
+
# the merge operation.
|
2875
|
+
#
|
2876
|
+
# @option params [required, String] :association_id
|
2877
|
+
# The ID generated by the AppSync service for the source API
|
2878
|
+
# association.
|
2879
|
+
#
|
2880
|
+
# @option params [required, String] :merged_api_identifier
|
2881
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
2882
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
2883
|
+
# account) only require the API ID value or ARN of the merged API.
|
2884
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
2885
|
+
# strictly require the full resource ARN of the merged API.
|
2886
|
+
#
|
2887
|
+
# @return [Types::StartSchemaMergeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2888
|
+
#
|
2889
|
+
# * {Types::StartSchemaMergeResponse#source_api_association_status #source_api_association_status} => String
|
2890
|
+
#
|
2891
|
+
# @example Request syntax with placeholder values
|
2892
|
+
#
|
2893
|
+
# resp = client.start_schema_merge({
|
2894
|
+
# association_id: "String", # required
|
2895
|
+
# merged_api_identifier: "String", # required
|
2896
|
+
# })
|
2897
|
+
#
|
2898
|
+
# @example Response structure
|
2899
|
+
#
|
2900
|
+
# resp.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
2901
|
+
#
|
2902
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/StartSchemaMerge AWS API Documentation
|
2903
|
+
#
|
2904
|
+
# @overload start_schema_merge(params = {})
|
2905
|
+
# @param [Hash] params ({})
|
2906
|
+
def start_schema_merge(params = {}, options = {})
|
2907
|
+
req = build_request(:start_schema_merge, params)
|
2908
|
+
req.send_request(options)
|
2909
|
+
end
|
2910
|
+
|
2464
2911
|
# Tags a resource with user-supplied tags.
|
2465
2912
|
#
|
2466
2913
|
# @option params [required, String] :resource_arn
|
@@ -2528,9 +2975,9 @@ module Aws::AppSync
|
|
2528
2975
|
# @option params [required, String] :api_caching_behavior
|
2529
2976
|
# Caching behavior.
|
2530
2977
|
#
|
2531
|
-
# * **FULL\_REQUEST\_CACHING
|
2978
|
+
# * **FULL\_REQUEST\_CACHING**: All requests are fully cached.
|
2532
2979
|
#
|
2533
|
-
# * **PER\_RESOLVER\_CACHING
|
2980
|
+
# * **PER\_RESOLVER\_CACHING**: Individual resolvers that you specify
|
2534
2981
|
# are cached.
|
2535
2982
|
#
|
2536
2983
|
# @option params [required, String] :type
|
@@ -2559,19 +3006,19 @@ module Aws::AppSync
|
|
2559
3006
|
# The following legacy instance types are available, but their use is
|
2560
3007
|
# discouraged:
|
2561
3008
|
#
|
2562
|
-
# * **T2\_SMALL
|
3009
|
+
# * **T2\_SMALL**: A t2.small instance type.
|
2563
3010
|
#
|
2564
|
-
# * **T2\_MEDIUM
|
3011
|
+
# * **T2\_MEDIUM**: A t2.medium instance type.
|
2565
3012
|
#
|
2566
|
-
# * **R4\_LARGE
|
3013
|
+
# * **R4\_LARGE**: A r4.large instance type.
|
2567
3014
|
#
|
2568
|
-
# * **R4\_XLARGE
|
3015
|
+
# * **R4\_XLARGE**: A r4.xlarge instance type.
|
2569
3016
|
#
|
2570
|
-
# * **R4\_2XLARGE
|
3017
|
+
# * **R4\_2XLARGE**: A r4.2xlarge instance type.
|
2571
3018
|
#
|
2572
|
-
# * **R4\_4XLARGE
|
3019
|
+
# * **R4\_4XLARGE**: A r4.4xlarge instance type.
|
2573
3020
|
#
|
2574
|
-
# * **R4\_8XLARGE
|
3021
|
+
# * **R4\_8XLARGE**: A r4.8xlarge instance type.
|
2575
3022
|
#
|
2576
3023
|
# @return [Types::UpdateApiCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2577
3024
|
#
|
@@ -2965,6 +3412,19 @@ module Aws::AppSync
|
|
2965
3412
|
# @option params [Types::LambdaAuthorizerConfig] :lambda_authorizer_config
|
2966
3413
|
# Configuration for Lambda function authorization.
|
2967
3414
|
#
|
3415
|
+
# @option params [String] :merged_api_execution_role_arn
|
3416
|
+
# The Identity and Access Management service role ARN for a merged API.
|
3417
|
+
# The AppSync service assumes this role on behalf of the Merged API to
|
3418
|
+
# validate access to source APIs at runtime and to prompt the
|
3419
|
+
# `AUTO_MERGE` to update the merged API endpoint with the source API
|
3420
|
+
# changes automatically.
|
3421
|
+
#
|
3422
|
+
# @option params [String] :owner_contact
|
3423
|
+
# The owner contact information for an API resource.
|
3424
|
+
#
|
3425
|
+
# This field accepts any string input with a length of 0 - 256
|
3426
|
+
# characters.
|
3427
|
+
#
|
2968
3428
|
# @return [Types::UpdateGraphqlApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2969
3429
|
#
|
2970
3430
|
# * {Types::UpdateGraphqlApiResponse#graphql_api #graphql_api} => Types::GraphqlApi
|
@@ -3019,6 +3479,8 @@ module Aws::AppSync
|
|
3019
3479
|
# authorizer_uri: "String", # required
|
3020
3480
|
# identity_validation_expression: "String",
|
3021
3481
|
# },
|
3482
|
+
# merged_api_execution_role_arn: "String",
|
3483
|
+
# owner_contact: "String",
|
3022
3484
|
# })
|
3023
3485
|
#
|
3024
3486
|
# @example Response structure
|
@@ -3059,6 +3521,13 @@ module Aws::AppSync
|
|
3059
3521
|
# resp.graphql_api.lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
|
3060
3522
|
# resp.graphql_api.lambda_authorizer_config.authorizer_uri #=> String
|
3061
3523
|
# resp.graphql_api.lambda_authorizer_config.identity_validation_expression #=> String
|
3524
|
+
# resp.graphql_api.dns #=> Hash
|
3525
|
+
# resp.graphql_api.dns["String"] #=> String
|
3526
|
+
# resp.graphql_api.visibility #=> String, one of "GLOBAL", "PRIVATE"
|
3527
|
+
# resp.graphql_api.api_type #=> String, one of "GRAPHQL", "MERGED"
|
3528
|
+
# resp.graphql_api.merged_api_execution_role_arn #=> String
|
3529
|
+
# resp.graphql_api.owner #=> String
|
3530
|
+
# resp.graphql_api.owner_contact #=> String
|
3062
3531
|
#
|
3063
3532
|
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateGraphqlApi AWS API Documentation
|
3064
3533
|
#
|
@@ -3100,11 +3569,11 @@ module Aws::AppSync
|
|
3100
3569
|
# @option params [String] :kind
|
3101
3570
|
# The resolver type.
|
3102
3571
|
#
|
3103
|
-
# * **UNIT
|
3572
|
+
# * **UNIT**: A UNIT resolver type. A UNIT resolver is the default
|
3104
3573
|
# resolver type. You can use a UNIT resolver to run a GraphQL query
|
3105
3574
|
# against a single data source.
|
3106
3575
|
#
|
3107
|
-
# * **PIPELINE
|
3576
|
+
# * **PIPELINE**: A PIPELINE resolver type. You can use a PIPELINE
|
3108
3577
|
# resolver to invoke a series of `Function` objects in a serial
|
3109
3578
|
# manner. You can use a pipeline resolver to run a GraphQL query
|
3110
3579
|
# against multiple data sources.
|
@@ -3199,6 +3668,64 @@ module Aws::AppSync
|
|
3199
3668
|
req.send_request(options)
|
3200
3669
|
end
|
3201
3670
|
|
3671
|
+
# Updates some of the configuration choices of a particular source API
|
3672
|
+
# association.
|
3673
|
+
#
|
3674
|
+
# @option params [required, String] :association_id
|
3675
|
+
# The ID generated by the AppSync service for the source API
|
3676
|
+
# association.
|
3677
|
+
#
|
3678
|
+
# @option params [required, String] :merged_api_identifier
|
3679
|
+
# The identifier of the AppSync Merged API. This is generated by the
|
3680
|
+
# AppSync service. In most cases, Merged APIs (especially in your
|
3681
|
+
# account) only require the API ID value or ARN of the merged API.
|
3682
|
+
# However, Merged APIs in other accounts (cross-account use cases)
|
3683
|
+
# strictly require the full resource ARN of the merged API.
|
3684
|
+
#
|
3685
|
+
# @option params [String] :description
|
3686
|
+
# The description field.
|
3687
|
+
#
|
3688
|
+
# @option params [Types::SourceApiAssociationConfig] :source_api_association_config
|
3689
|
+
# The `SourceApiAssociationConfig` object data.
|
3690
|
+
#
|
3691
|
+
# @return [Types::UpdateSourceApiAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3692
|
+
#
|
3693
|
+
# * {Types::UpdateSourceApiAssociationResponse#source_api_association #source_api_association} => Types::SourceApiAssociation
|
3694
|
+
#
|
3695
|
+
# @example Request syntax with placeholder values
|
3696
|
+
#
|
3697
|
+
# resp = client.update_source_api_association({
|
3698
|
+
# association_id: "String", # required
|
3699
|
+
# merged_api_identifier: "String", # required
|
3700
|
+
# description: "String",
|
3701
|
+
# source_api_association_config: {
|
3702
|
+
# merge_type: "MANUAL_MERGE", # accepts MANUAL_MERGE, AUTO_MERGE
|
3703
|
+
# },
|
3704
|
+
# })
|
3705
|
+
#
|
3706
|
+
# @example Response structure
|
3707
|
+
#
|
3708
|
+
# resp.source_api_association.association_id #=> String
|
3709
|
+
# resp.source_api_association.association_arn #=> String
|
3710
|
+
# resp.source_api_association.source_api_id #=> String
|
3711
|
+
# resp.source_api_association.source_api_arn #=> String
|
3712
|
+
# resp.source_api_association.merged_api_arn #=> String
|
3713
|
+
# resp.source_api_association.merged_api_id #=> String
|
3714
|
+
# resp.source_api_association.description #=> String
|
3715
|
+
# resp.source_api_association.source_api_association_config.merge_type #=> String, one of "MANUAL_MERGE", "AUTO_MERGE"
|
3716
|
+
# resp.source_api_association.source_api_association_status #=> String, one of "MERGE_SCHEDULED", "MERGE_FAILED", "MERGE_SUCCESS", "MERGE_IN_PROGRESS", "AUTO_MERGE_SCHEDULE_FAILED", "DELETION_SCHEDULED", "DELETION_IN_PROGRESS", "DELETION_FAILED"
|
3717
|
+
# resp.source_api_association.source_api_association_status_detail #=> String
|
3718
|
+
# resp.source_api_association.last_successful_merge_date #=> Time
|
3719
|
+
#
|
3720
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateSourceApiAssociation AWS API Documentation
|
3721
|
+
#
|
3722
|
+
# @overload update_source_api_association(params = {})
|
3723
|
+
# @param [Hash] params ({})
|
3724
|
+
def update_source_api_association(params = {}, options = {})
|
3725
|
+
req = build_request(:update_source_api_association, params)
|
3726
|
+
req.send_request(options)
|
3727
|
+
end
|
3728
|
+
|
3202
3729
|
# Updates a `Type` object.
|
3203
3730
|
#
|
3204
3731
|
# @option params [required, String] :api_id
|
@@ -3256,7 +3783,7 @@ module Aws::AppSync
|
|
3256
3783
|
params: params,
|
3257
3784
|
config: config)
|
3258
3785
|
context[:gem_name] = 'aws-sdk-appsync'
|
3259
|
-
context[:gem_version] = '1.
|
3786
|
+
context[:gem_version] = '1.60.0'
|
3260
3787
|
Seahorse::Client::Request.new(handlers, context)
|
3261
3788
|
end
|
3262
3789
|
|