aws-sdk-appsync 1.90.0 → 1.92.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.
@@ -604,6 +604,124 @@ module Aws::AppSync
604
604
  req.send_request(options)
605
605
  end
606
606
 
607
+ # Creates an `Api` object. Use this operation to create an AppSync API
608
+ # with your preferred configuration, such as an Event API that provides
609
+ # real-time message publishing and message subscriptions over
610
+ # WebSockets.
611
+ #
612
+ # @option params [required, String] :name
613
+ # The name for the `Api`.
614
+ #
615
+ # @option params [String] :owner_contact
616
+ # The owner contact information for the `Api`.
617
+ #
618
+ # @option params [Hash<String,String>] :tags
619
+ # A map with keys of `TagKey` objects and values of `TagValue` objects.
620
+ #
621
+ # @option params [Types::EventConfig] :event_config
622
+ # The Event API configuration. This includes the default authorization
623
+ # configuration for connecting, publishing, and subscribing to an Event
624
+ # API.
625
+ #
626
+ # @return [Types::CreateApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
627
+ #
628
+ # * {Types::CreateApiResponse#api #api} => Types::Api
629
+ #
630
+ # @example Request syntax with placeholder values
631
+ #
632
+ # resp = client.create_api({
633
+ # name: "ApiName", # required
634
+ # owner_contact: "String",
635
+ # tags: {
636
+ # "TagKey" => "TagValue",
637
+ # },
638
+ # event_config: {
639
+ # auth_providers: [ # required
640
+ # {
641
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
642
+ # cognito_config: {
643
+ # user_pool_id: "String", # required
644
+ # aws_region: "String", # required
645
+ # app_id_client_regex: "String",
646
+ # },
647
+ # open_id_connect_config: {
648
+ # issuer: "String", # required
649
+ # client_id: "String",
650
+ # iat_ttl: 1,
651
+ # auth_ttl: 1,
652
+ # },
653
+ # lambda_authorizer_config: {
654
+ # authorizer_result_ttl_in_seconds: 1,
655
+ # authorizer_uri: "String", # required
656
+ # identity_validation_expression: "String",
657
+ # },
658
+ # },
659
+ # ],
660
+ # connection_auth_modes: [ # required
661
+ # {
662
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
663
+ # },
664
+ # ],
665
+ # default_publish_auth_modes: [ # required
666
+ # {
667
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
668
+ # },
669
+ # ],
670
+ # default_subscribe_auth_modes: [ # required
671
+ # {
672
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
673
+ # },
674
+ # ],
675
+ # log_config: {
676
+ # log_level: "NONE", # required, accepts NONE, ERROR, ALL, INFO, DEBUG
677
+ # cloud_watch_logs_role_arn: "String", # required
678
+ # },
679
+ # },
680
+ # })
681
+ #
682
+ # @example Response structure
683
+ #
684
+ # resp.api.api_id #=> String
685
+ # resp.api.name #=> String
686
+ # resp.api.owner_contact #=> String
687
+ # resp.api.tags #=> Hash
688
+ # resp.api.tags["TagKey"] #=> String
689
+ # resp.api.dns #=> Hash
690
+ # resp.api.dns["String"] #=> String
691
+ # resp.api.api_arn #=> String
692
+ # resp.api.created #=> Time
693
+ # resp.api.xray_enabled #=> Boolean
694
+ # resp.api.waf_web_acl_arn #=> String
695
+ # resp.api.event_config.auth_providers #=> Array
696
+ # resp.api.event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
697
+ # resp.api.event_config.auth_providers[0].cognito_config.user_pool_id #=> String
698
+ # resp.api.event_config.auth_providers[0].cognito_config.aws_region #=> String
699
+ # resp.api.event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
700
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.issuer #=> String
701
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.client_id #=> String
702
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
703
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
704
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
705
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
706
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
707
+ # resp.api.event_config.connection_auth_modes #=> Array
708
+ # resp.api.event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
709
+ # resp.api.event_config.default_publish_auth_modes #=> Array
710
+ # resp.api.event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
711
+ # resp.api.event_config.default_subscribe_auth_modes #=> Array
712
+ # resp.api.event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
713
+ # resp.api.event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
714
+ # resp.api.event_config.log_config.cloud_watch_logs_role_arn #=> String
715
+ #
716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApi AWS API Documentation
717
+ #
718
+ # @overload create_api(params = {})
719
+ # @param [Hash] params ({})
720
+ def create_api(params = {}, options = {})
721
+ req = build_request(:create_api, params)
722
+ req.send_request(options)
723
+ end
724
+
607
725
  # Creates a cache for the GraphQL API.
608
726
  #
609
727
  # @option params [required, String] :api_id
@@ -763,6 +881,81 @@ module Aws::AppSync
763
881
  req.send_request(options)
764
882
  end
765
883
 
884
+ # Creates a `ChannelNamespace` for an `Api`.
885
+ #
886
+ # @option params [required, String] :api_id
887
+ # The `Api` ID.
888
+ #
889
+ # @option params [required, String] :name
890
+ # The name of the `ChannelNamespace`. This name must be unique within
891
+ # the `Api`
892
+ #
893
+ # @option params [Array<Types::AuthMode>] :subscribe_auth_modes
894
+ # The authorization mode to use for subscribing to messages on the
895
+ # channel namespace. This configuration overrides the default `Api`
896
+ # authorization configuration.
897
+ #
898
+ # @option params [Array<Types::AuthMode>] :publish_auth_modes
899
+ # The authorization mode to use for publishing messages on the channel
900
+ # namespace. This configuration overrides the default `Api`
901
+ # authorization configuration.
902
+ #
903
+ # @option params [String] :code_handlers
904
+ # The event handler functions that run custom business logic to process
905
+ # published events and subscribe requests.
906
+ #
907
+ # @option params [Hash<String,String>] :tags
908
+ # A map with keys of `TagKey` objects and values of `TagValue` objects.
909
+ #
910
+ # @return [Types::CreateChannelNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
911
+ #
912
+ # * {Types::CreateChannelNamespaceResponse#channel_namespace #channel_namespace} => Types::ChannelNamespace
913
+ #
914
+ # @example Request syntax with placeholder values
915
+ #
916
+ # resp = client.create_channel_namespace({
917
+ # api_id: "String", # required
918
+ # name: "Namespace", # required
919
+ # subscribe_auth_modes: [
920
+ # {
921
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
922
+ # },
923
+ # ],
924
+ # publish_auth_modes: [
925
+ # {
926
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
927
+ # },
928
+ # ],
929
+ # code_handlers: "Code",
930
+ # tags: {
931
+ # "TagKey" => "TagValue",
932
+ # },
933
+ # })
934
+ #
935
+ # @example Response structure
936
+ #
937
+ # resp.channel_namespace.api_id #=> String
938
+ # resp.channel_namespace.name #=> String
939
+ # resp.channel_namespace.subscribe_auth_modes #=> Array
940
+ # resp.channel_namespace.subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
941
+ # resp.channel_namespace.publish_auth_modes #=> Array
942
+ # resp.channel_namespace.publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
943
+ # resp.channel_namespace.code_handlers #=> String
944
+ # resp.channel_namespace.tags #=> Hash
945
+ # resp.channel_namespace.tags["TagKey"] #=> String
946
+ # resp.channel_namespace.channel_namespace_arn #=> String
947
+ # resp.channel_namespace.created #=> Time
948
+ # resp.channel_namespace.last_modified #=> Time
949
+ #
950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateChannelNamespace AWS API Documentation
951
+ #
952
+ # @overload create_channel_namespace(params = {})
953
+ # @param [Hash] params ({})
954
+ def create_channel_namespace(params = {}, options = {})
955
+ req = build_request(:create_channel_namespace, params)
956
+ req.send_request(options)
957
+ end
958
+
766
959
  # Creates a `DataSource` object.
767
960
  #
768
961
  # @option params [required, String] :api_id
@@ -1097,12 +1290,6 @@ module Aws::AppSync
1097
1290
  # @option params [Types::LambdaAuthorizerConfig] :lambda_authorizer_config
1098
1291
  # Configuration for Lambda function authorization.
1099
1292
  #
1100
- # @option params [String] :visibility
1101
- # Sets the value of the GraphQL API to public (`GLOBAL`) or private
1102
- # (`PRIVATE`). If no value is provided, the visibility will be set to
1103
- # `GLOBAL` by default. This value cannot be changed once the API has
1104
- # been created.
1105
- #
1106
1293
  # @option params [String] :api_type
1107
1294
  # The value that indicates whether the GraphQL API is a standard API
1108
1295
  # (`GRAPHQL`) or merged API (`MERGED`).
@@ -1114,6 +1301,12 @@ module Aws::AppSync
1114
1301
  # `AUTO_MERGE` to update the merged API endpoint with the source API
1115
1302
  # changes automatically.
1116
1303
  #
1304
+ # @option params [String] :visibility
1305
+ # Sets the value of the GraphQL API to public (`GLOBAL`) or private
1306
+ # (`PRIVATE`). If no value is provided, the visibility will be set to
1307
+ # `GLOBAL` by default. This value cannot be changed once the API has
1308
+ # been created.
1309
+ #
1117
1310
  # @option params [String] :owner_contact
1118
1311
  # The owner contact information for an API resource.
1119
1312
  #
@@ -1212,9 +1405,9 @@ module Aws::AppSync
1212
1405
  # authorizer_uri: "String", # required
1213
1406
  # identity_validation_expression: "String",
1214
1407
  # },
1215
- # visibility: "GLOBAL", # accepts GLOBAL, PRIVATE
1216
1408
  # api_type: "GRAPHQL", # accepts GRAPHQL, MERGED
1217
1409
  # merged_api_execution_role_arn: "String",
1410
+ # visibility: "GLOBAL", # accepts GLOBAL, PRIVATE
1218
1411
  # owner_contact: "String",
1219
1412
  # introspection_config: "ENABLED", # accepts ENABLED, DISABLED
1220
1413
  # query_depth_limit: 1,
@@ -1480,6 +1673,28 @@ module Aws::AppSync
1480
1673
  req.send_request(options)
1481
1674
  end
1482
1675
 
1676
+ # Deletes an `Api` object
1677
+ #
1678
+ # @option params [required, String] :api_id
1679
+ # The `Api` ID.
1680
+ #
1681
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1682
+ #
1683
+ # @example Request syntax with placeholder values
1684
+ #
1685
+ # resp = client.delete_api({
1686
+ # api_id: "String", # required
1687
+ # })
1688
+ #
1689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApi AWS API Documentation
1690
+ #
1691
+ # @overload delete_api(params = {})
1692
+ # @param [Hash] params ({})
1693
+ def delete_api(params = {}, options = {})
1694
+ req = build_request(:delete_api, params)
1695
+ req.send_request(options)
1696
+ end
1697
+
1483
1698
  # Deletes an `ApiCache` object.
1484
1699
  #
1485
1700
  # @option params [required, String] :api_id
@@ -1528,6 +1743,32 @@ module Aws::AppSync
1528
1743
  req.send_request(options)
1529
1744
  end
1530
1745
 
1746
+ # Deletes a `ChannelNamespace`.
1747
+ #
1748
+ # @option params [required, String] :api_id
1749
+ # The ID of the `Api` associated with the `ChannelNamespace`.
1750
+ #
1751
+ # @option params [required, String] :name
1752
+ # The name of the `ChannelNamespace`.
1753
+ #
1754
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1755
+ #
1756
+ # @example Request syntax with placeholder values
1757
+ #
1758
+ # resp = client.delete_channel_namespace({
1759
+ # api_id: "String", # required
1760
+ # name: "Namespace", # required
1761
+ # })
1762
+ #
1763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteChannelNamespace AWS API Documentation
1764
+ #
1765
+ # @overload delete_channel_namespace(params = {})
1766
+ # @param [Hash] params ({})
1767
+ def delete_channel_namespace(params = {}, options = {})
1768
+ req = build_request(:delete_channel_namespace, params)
1769
+ req.send_request(options)
1770
+ end
1771
+
1531
1772
  # Deletes a `DataSource` object.
1532
1773
  #
1533
1774
  # @option params [required, String] :api_id
@@ -1914,6 +2155,64 @@ module Aws::AppSync
1914
2155
  req.send_request(options)
1915
2156
  end
1916
2157
 
2158
+ # Retrieves an `Api` object.
2159
+ #
2160
+ # @option params [required, String] :api_id
2161
+ # The `Api` ID.
2162
+ #
2163
+ # @return [Types::GetApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2164
+ #
2165
+ # * {Types::GetApiResponse#api #api} => Types::Api
2166
+ #
2167
+ # @example Request syntax with placeholder values
2168
+ #
2169
+ # resp = client.get_api({
2170
+ # api_id: "String", # required
2171
+ # })
2172
+ #
2173
+ # @example Response structure
2174
+ #
2175
+ # resp.api.api_id #=> String
2176
+ # resp.api.name #=> String
2177
+ # resp.api.owner_contact #=> String
2178
+ # resp.api.tags #=> Hash
2179
+ # resp.api.tags["TagKey"] #=> String
2180
+ # resp.api.dns #=> Hash
2181
+ # resp.api.dns["String"] #=> String
2182
+ # resp.api.api_arn #=> String
2183
+ # resp.api.created #=> Time
2184
+ # resp.api.xray_enabled #=> Boolean
2185
+ # resp.api.waf_web_acl_arn #=> String
2186
+ # resp.api.event_config.auth_providers #=> Array
2187
+ # resp.api.event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2188
+ # resp.api.event_config.auth_providers[0].cognito_config.user_pool_id #=> String
2189
+ # resp.api.event_config.auth_providers[0].cognito_config.aws_region #=> String
2190
+ # resp.api.event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
2191
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.issuer #=> String
2192
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.client_id #=> String
2193
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
2194
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
2195
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
2196
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
2197
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
2198
+ # resp.api.event_config.connection_auth_modes #=> Array
2199
+ # resp.api.event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2200
+ # resp.api.event_config.default_publish_auth_modes #=> Array
2201
+ # resp.api.event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2202
+ # resp.api.event_config.default_subscribe_auth_modes #=> Array
2203
+ # resp.api.event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2204
+ # resp.api.event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
2205
+ # resp.api.event_config.log_config.cloud_watch_logs_role_arn #=> String
2206
+ #
2207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApi AWS API Documentation
2208
+ #
2209
+ # @overload get_api(params = {})
2210
+ # @param [Hash] params ({})
2211
+ def get_api(params = {}, options = {})
2212
+ req = build_request(:get_api, params)
2213
+ req.send_request(options)
2214
+ end
2215
+
1917
2216
  # Retrieves an `ApiAssociation` object.
1918
2217
  #
1919
2218
  # @option params [required, String] :domain_name
@@ -1979,6 +2278,49 @@ module Aws::AppSync
1979
2278
  req.send_request(options)
1980
2279
  end
1981
2280
 
2281
+ # Retrieves the channel namespace for a specified `Api`.
2282
+ #
2283
+ # @option params [required, String] :api_id
2284
+ # The `Api` ID.
2285
+ #
2286
+ # @option params [required, String] :name
2287
+ # The name of the `ChannelNamespace`.
2288
+ #
2289
+ # @return [Types::GetChannelNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2290
+ #
2291
+ # * {Types::GetChannelNamespaceResponse#channel_namespace #channel_namespace} => Types::ChannelNamespace
2292
+ #
2293
+ # @example Request syntax with placeholder values
2294
+ #
2295
+ # resp = client.get_channel_namespace({
2296
+ # api_id: "String", # required
2297
+ # name: "Namespace", # required
2298
+ # })
2299
+ #
2300
+ # @example Response structure
2301
+ #
2302
+ # resp.channel_namespace.api_id #=> String
2303
+ # resp.channel_namespace.name #=> String
2304
+ # resp.channel_namespace.subscribe_auth_modes #=> Array
2305
+ # resp.channel_namespace.subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2306
+ # resp.channel_namespace.publish_auth_modes #=> Array
2307
+ # resp.channel_namespace.publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2308
+ # resp.channel_namespace.code_handlers #=> String
2309
+ # resp.channel_namespace.tags #=> Hash
2310
+ # resp.channel_namespace.tags["TagKey"] #=> String
2311
+ # resp.channel_namespace.channel_namespace_arn #=> String
2312
+ # resp.channel_namespace.created #=> Time
2313
+ # resp.channel_namespace.last_modified #=> Time
2314
+ #
2315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetChannelNamespace AWS API Documentation
2316
+ #
2317
+ # @overload get_channel_namespace(params = {})
2318
+ # @param [Hash] params ({})
2319
+ def get_channel_namespace(params = {}, options = {})
2320
+ req = build_request(:get_channel_namespace, params)
2321
+ req.send_request(options)
2322
+ end
2323
+
1982
2324
  # Retrieves a `DataSource` object.
1983
2325
  #
1984
2326
  # @option params [required, String] :api_id
@@ -2050,9 +2392,9 @@ module Aws::AppSync
2050
2392
  #
2051
2393
  # @option params [Boolean] :include_models_sdl
2052
2394
  # A boolean flag that determines whether SDL should be generated for
2053
- # introspected types or not. If set to `true`, each model will contain
2054
- # an `sdl` property that contains the SDL for that type. The SDL only
2055
- # contains the type data and no additional metadata or directives.
2395
+ # introspected types. If set to `true`, each model will contain an `sdl`
2396
+ # property that contains the SDL for that type. The SDL only contains
2397
+ # the type data and no additional metadata or directives.
2056
2398
  #
2057
2399
  # @option params [String] :next_token
2058
2400
  # Determines the number of types to be returned in a single response
@@ -2560,6 +2902,136 @@ module Aws::AppSync
2560
2902
  req.send_request(options)
2561
2903
  end
2562
2904
 
2905
+ # Lists the APIs in your AppSync account.
2906
+ #
2907
+ # `ListApis` returns only the high level API details. For more detailed
2908
+ # information about an API, use `GetApi`.
2909
+ #
2910
+ # @option params [String] :next_token
2911
+ # An identifier that was returned from the previous call to this
2912
+ # operation, which you can use to return the next set of items in the
2913
+ # list.
2914
+ #
2915
+ # @option params [Integer] :max_results
2916
+ # The maximum number of results that you want the request to return.
2917
+ #
2918
+ # @return [Types::ListApisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2919
+ #
2920
+ # * {Types::ListApisResponse#apis #apis} => Array&lt;Types::Api&gt;
2921
+ # * {Types::ListApisResponse#next_token #next_token} => String
2922
+ #
2923
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2924
+ #
2925
+ # @example Request syntax with placeholder values
2926
+ #
2927
+ # resp = client.list_apis({
2928
+ # next_token: "PaginationToken",
2929
+ # max_results: 1,
2930
+ # })
2931
+ #
2932
+ # @example Response structure
2933
+ #
2934
+ # resp.apis #=> Array
2935
+ # resp.apis[0].api_id #=> String
2936
+ # resp.apis[0].name #=> String
2937
+ # resp.apis[0].owner_contact #=> String
2938
+ # resp.apis[0].tags #=> Hash
2939
+ # resp.apis[0].tags["TagKey"] #=> String
2940
+ # resp.apis[0].dns #=> Hash
2941
+ # resp.apis[0].dns["String"] #=> String
2942
+ # resp.apis[0].api_arn #=> String
2943
+ # resp.apis[0].created #=> Time
2944
+ # resp.apis[0].xray_enabled #=> Boolean
2945
+ # resp.apis[0].waf_web_acl_arn #=> String
2946
+ # resp.apis[0].event_config.auth_providers #=> Array
2947
+ # resp.apis[0].event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2948
+ # resp.apis[0].event_config.auth_providers[0].cognito_config.user_pool_id #=> String
2949
+ # resp.apis[0].event_config.auth_providers[0].cognito_config.aws_region #=> String
2950
+ # resp.apis[0].event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
2951
+ # resp.apis[0].event_config.auth_providers[0].open_id_connect_config.issuer #=> String
2952
+ # resp.apis[0].event_config.auth_providers[0].open_id_connect_config.client_id #=> String
2953
+ # resp.apis[0].event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
2954
+ # resp.apis[0].event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
2955
+ # resp.apis[0].event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
2956
+ # resp.apis[0].event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
2957
+ # resp.apis[0].event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
2958
+ # resp.apis[0].event_config.connection_auth_modes #=> Array
2959
+ # resp.apis[0].event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2960
+ # resp.apis[0].event_config.default_publish_auth_modes #=> Array
2961
+ # resp.apis[0].event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2962
+ # resp.apis[0].event_config.default_subscribe_auth_modes #=> Array
2963
+ # resp.apis[0].event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
2964
+ # resp.apis[0].event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
2965
+ # resp.apis[0].event_config.log_config.cloud_watch_logs_role_arn #=> String
2966
+ # resp.next_token #=> String
2967
+ #
2968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListApis AWS API Documentation
2969
+ #
2970
+ # @overload list_apis(params = {})
2971
+ # @param [Hash] params ({})
2972
+ def list_apis(params = {}, options = {})
2973
+ req = build_request(:list_apis, params)
2974
+ req.send_request(options)
2975
+ end
2976
+
2977
+ # Lists the channel namespaces for a specified `Api`.
2978
+ #
2979
+ # `ListChannelNamespaces` returns only high level details for the
2980
+ # channel namespace. To retrieve code handlers, use
2981
+ # `GetChannelNamespace`.
2982
+ #
2983
+ # @option params [required, String] :api_id
2984
+ # The `Api` ID.
2985
+ #
2986
+ # @option params [String] :next_token
2987
+ # An identifier that was returned from the previous call to this
2988
+ # operation, which you can use to return the next set of items in the
2989
+ # list.
2990
+ #
2991
+ # @option params [Integer] :max_results
2992
+ # The maximum number of results that you want the request to return.
2993
+ #
2994
+ # @return [Types::ListChannelNamespacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2995
+ #
2996
+ # * {Types::ListChannelNamespacesResponse#channel_namespaces #channel_namespaces} => Array&lt;Types::ChannelNamespace&gt;
2997
+ # * {Types::ListChannelNamespacesResponse#next_token #next_token} => String
2998
+ #
2999
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3000
+ #
3001
+ # @example Request syntax with placeholder values
3002
+ #
3003
+ # resp = client.list_channel_namespaces({
3004
+ # api_id: "String", # required
3005
+ # next_token: "PaginationToken",
3006
+ # max_results: 1,
3007
+ # })
3008
+ #
3009
+ # @example Response structure
3010
+ #
3011
+ # resp.channel_namespaces #=> Array
3012
+ # resp.channel_namespaces[0].api_id #=> String
3013
+ # resp.channel_namespaces[0].name #=> String
3014
+ # resp.channel_namespaces[0].subscribe_auth_modes #=> Array
3015
+ # resp.channel_namespaces[0].subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
3016
+ # resp.channel_namespaces[0].publish_auth_modes #=> Array
3017
+ # resp.channel_namespaces[0].publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
3018
+ # resp.channel_namespaces[0].code_handlers #=> String
3019
+ # resp.channel_namespaces[0].tags #=> Hash
3020
+ # resp.channel_namespaces[0].tags["TagKey"] #=> String
3021
+ # resp.channel_namespaces[0].channel_namespace_arn #=> String
3022
+ # resp.channel_namespaces[0].created #=> Time
3023
+ # resp.channel_namespaces[0].last_modified #=> Time
3024
+ # resp.next_token #=> String
3025
+ #
3026
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/ListChannelNamespaces AWS API Documentation
3027
+ #
3028
+ # @overload list_channel_namespaces(params = {})
3029
+ # @param [Hash] params ({})
3030
+ def list_channel_namespaces(params = {}, options = {})
3031
+ req = build_request(:list_channel_namespaces, params)
3032
+ req.send_request(options)
3033
+ end
3034
+
2563
3035
  # Lists the data sources for a given API.
2564
3036
  #
2565
3037
  # @option params [required, String] :api_id
@@ -3182,7 +3654,7 @@ module Aws::AppSync
3182
3654
  #
3183
3655
  # You can create a list of environmental variables by adding it to the
3184
3656
  # `environmentVariables` payload as a list in the format
3185
- # `\{"key1":"value1","key2":"value2", …\}`. Note that each call of the
3657
+ # `{"key1":"value1","key2":"value2", }`. Note that each call of the
3186
3658
  # `PutGraphqlApiEnvironmentVariables` action will result in the
3187
3659
  # overwriting of the existing environmental variable list of that API.
3188
3660
  # This means the existing environmental variables will be lost. To avoid
@@ -3212,7 +3684,7 @@ module Aws::AppSync
3212
3684
  #
3213
3685
  # You can create a list of environmental variables by adding it to the
3214
3686
  # `environmentVariables` payload as a list in the format
3215
- # `\{"key1":"value1","key2":"value2", …\}`. Note that each call of the
3687
+ # `{"key1":"value1","key2":"value2", }`. Note that each call of the
3216
3688
  # `PutGraphqlApiEnvironmentVariables` action will result in the
3217
3689
  # overwriting of the existing environmental variable list of that API.
3218
3690
  # This means the existing environmental variables will be lost. To avoid
@@ -3410,6 +3882,119 @@ module Aws::AppSync
3410
3882
  req.send_request(options)
3411
3883
  end
3412
3884
 
3885
+ # Updates an `Api`.
3886
+ #
3887
+ # @option params [required, String] :api_id
3888
+ # The `Api` ID.
3889
+ #
3890
+ # @option params [required, String] :name
3891
+ # The name of the Api.
3892
+ #
3893
+ # @option params [String] :owner_contact
3894
+ # The owner contact information for the `Api`.
3895
+ #
3896
+ # @option params [Types::EventConfig] :event_config
3897
+ # The new event configuration. This includes the default authorization
3898
+ # configuration for connecting, publishing, and subscribing to an Event
3899
+ # API.
3900
+ #
3901
+ # @return [Types::UpdateApiResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3902
+ #
3903
+ # * {Types::UpdateApiResponse#api #api} => Types::Api
3904
+ #
3905
+ # @example Request syntax with placeholder values
3906
+ #
3907
+ # resp = client.update_api({
3908
+ # api_id: "String", # required
3909
+ # name: "ApiName", # required
3910
+ # owner_contact: "String",
3911
+ # event_config: {
3912
+ # auth_providers: [ # required
3913
+ # {
3914
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
3915
+ # cognito_config: {
3916
+ # user_pool_id: "String", # required
3917
+ # aws_region: "String", # required
3918
+ # app_id_client_regex: "String",
3919
+ # },
3920
+ # open_id_connect_config: {
3921
+ # issuer: "String", # required
3922
+ # client_id: "String",
3923
+ # iat_ttl: 1,
3924
+ # auth_ttl: 1,
3925
+ # },
3926
+ # lambda_authorizer_config: {
3927
+ # authorizer_result_ttl_in_seconds: 1,
3928
+ # authorizer_uri: "String", # required
3929
+ # identity_validation_expression: "String",
3930
+ # },
3931
+ # },
3932
+ # ],
3933
+ # connection_auth_modes: [ # required
3934
+ # {
3935
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
3936
+ # },
3937
+ # ],
3938
+ # default_publish_auth_modes: [ # required
3939
+ # {
3940
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
3941
+ # },
3942
+ # ],
3943
+ # default_subscribe_auth_modes: [ # required
3944
+ # {
3945
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
3946
+ # },
3947
+ # ],
3948
+ # log_config: {
3949
+ # log_level: "NONE", # required, accepts NONE, ERROR, ALL, INFO, DEBUG
3950
+ # cloud_watch_logs_role_arn: "String", # required
3951
+ # },
3952
+ # },
3953
+ # })
3954
+ #
3955
+ # @example Response structure
3956
+ #
3957
+ # resp.api.api_id #=> String
3958
+ # resp.api.name #=> String
3959
+ # resp.api.owner_contact #=> String
3960
+ # resp.api.tags #=> Hash
3961
+ # resp.api.tags["TagKey"] #=> String
3962
+ # resp.api.dns #=> Hash
3963
+ # resp.api.dns["String"] #=> String
3964
+ # resp.api.api_arn #=> String
3965
+ # resp.api.created #=> Time
3966
+ # resp.api.xray_enabled #=> Boolean
3967
+ # resp.api.waf_web_acl_arn #=> String
3968
+ # resp.api.event_config.auth_providers #=> Array
3969
+ # resp.api.event_config.auth_providers[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
3970
+ # resp.api.event_config.auth_providers[0].cognito_config.user_pool_id #=> String
3971
+ # resp.api.event_config.auth_providers[0].cognito_config.aws_region #=> String
3972
+ # resp.api.event_config.auth_providers[0].cognito_config.app_id_client_regex #=> String
3973
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.issuer #=> String
3974
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.client_id #=> String
3975
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.iat_ttl #=> Integer
3976
+ # resp.api.event_config.auth_providers[0].open_id_connect_config.auth_ttl #=> Integer
3977
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_result_ttl_in_seconds #=> Integer
3978
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.authorizer_uri #=> String
3979
+ # resp.api.event_config.auth_providers[0].lambda_authorizer_config.identity_validation_expression #=> String
3980
+ # resp.api.event_config.connection_auth_modes #=> Array
3981
+ # resp.api.event_config.connection_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
3982
+ # resp.api.event_config.default_publish_auth_modes #=> Array
3983
+ # resp.api.event_config.default_publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
3984
+ # resp.api.event_config.default_subscribe_auth_modes #=> Array
3985
+ # resp.api.event_config.default_subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
3986
+ # resp.api.event_config.log_config.log_level #=> String, one of "NONE", "ERROR", "ALL", "INFO", "DEBUG"
3987
+ # resp.api.event_config.log_config.cloud_watch_logs_role_arn #=> String
3988
+ #
3989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApi AWS API Documentation
3990
+ #
3991
+ # @overload update_api(params = {})
3992
+ # @param [Hash] params ({})
3993
+ def update_api(params = {}, options = {})
3994
+ req = build_request(:update_api, params)
3995
+ req.send_request(options)
3996
+ end
3997
+
3413
3998
  # Updates the cache for the GraphQL API.
3414
3999
  #
3415
4000
  # @option params [required, String] :api_id
@@ -3562,6 +4147,74 @@ module Aws::AppSync
3562
4147
  req.send_request(options)
3563
4148
  end
3564
4149
 
4150
+ # Updates a `ChannelNamespace` associated with an `Api`.
4151
+ #
4152
+ # @option params [required, String] :api_id
4153
+ # The `Api` ID.
4154
+ #
4155
+ # @option params [required, String] :name
4156
+ # The name of the `ChannelNamespace`.
4157
+ #
4158
+ # @option params [Array<Types::AuthMode>] :subscribe_auth_modes
4159
+ # The authorization mode to use for subscribing to messages on the
4160
+ # channel namespace. This configuration overrides the default `Api`
4161
+ # authorization configuration.
4162
+ #
4163
+ # @option params [Array<Types::AuthMode>] :publish_auth_modes
4164
+ # The authorization mode to use for publishing messages on the channel
4165
+ # namespace. This configuration overrides the default `Api`
4166
+ # authorization configuration.
4167
+ #
4168
+ # @option params [String] :code_handlers
4169
+ # The event handler functions that run custom business logic to process
4170
+ # published events and subscribe requests.
4171
+ #
4172
+ # @return [Types::UpdateChannelNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4173
+ #
4174
+ # * {Types::UpdateChannelNamespaceResponse#channel_namespace #channel_namespace} => Types::ChannelNamespace
4175
+ #
4176
+ # @example Request syntax with placeholder values
4177
+ #
4178
+ # resp = client.update_channel_namespace({
4179
+ # api_id: "String", # required
4180
+ # name: "Namespace", # required
4181
+ # subscribe_auth_modes: [
4182
+ # {
4183
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
4184
+ # },
4185
+ # ],
4186
+ # publish_auth_modes: [
4187
+ # {
4188
+ # auth_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
4189
+ # },
4190
+ # ],
4191
+ # code_handlers: "Code",
4192
+ # })
4193
+ #
4194
+ # @example Response structure
4195
+ #
4196
+ # resp.channel_namespace.api_id #=> String
4197
+ # resp.channel_namespace.name #=> String
4198
+ # resp.channel_namespace.subscribe_auth_modes #=> Array
4199
+ # resp.channel_namespace.subscribe_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
4200
+ # resp.channel_namespace.publish_auth_modes #=> Array
4201
+ # resp.channel_namespace.publish_auth_modes[0].auth_type #=> String, one of "API_KEY", "AWS_IAM", "AMAZON_COGNITO_USER_POOLS", "OPENID_CONNECT", "AWS_LAMBDA"
4202
+ # resp.channel_namespace.code_handlers #=> String
4203
+ # resp.channel_namespace.tags #=> Hash
4204
+ # resp.channel_namespace.tags["TagKey"] #=> String
4205
+ # resp.channel_namespace.channel_namespace_arn #=> String
4206
+ # resp.channel_namespace.created #=> Time
4207
+ # resp.channel_namespace.last_modified #=> Time
4208
+ #
4209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateChannelNamespace AWS API Documentation
4210
+ #
4211
+ # @overload update_channel_namespace(params = {})
4212
+ # @param [Hash] params ({})
4213
+ def update_channel_namespace(params = {}, options = {})
4214
+ req = build_request(:update_channel_namespace, params)
4215
+ req.send_request(options)
4216
+ end
4217
+
3565
4218
  # Updates a `DataSource` object.
3566
4219
  #
3567
4220
  # @option params [required, String] :api_id
@@ -3869,7 +4522,7 @@ module Aws::AppSync
3869
4522
  # @option params [Types::LogConfig] :log_config
3870
4523
  # The Amazon CloudWatch Logs configuration for the `GraphqlApi` object.
3871
4524
  #
3872
- # @option params [required, String] :authentication_type
4525
+ # @option params [String] :authentication_type
3873
4526
  # The new authentication type for the `GraphqlApi` object.
3874
4527
  #
3875
4528
  # @option params [Types::UserPoolConfig] :user_pool_config
@@ -3952,7 +4605,7 @@ module Aws::AppSync
3952
4605
  # cloud_watch_logs_role_arn: "String", # required
3953
4606
  # exclude_verbose_content: false,
3954
4607
  # },
3955
- # authentication_type: "API_KEY", # required, accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
4608
+ # authentication_type: "API_KEY", # accepts API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT, AWS_LAMBDA
3956
4609
  # user_pool_config: {
3957
4610
  # user_pool_id: "String", # required
3958
4611
  # aws_region: "String", # required
@@ -4327,7 +4980,7 @@ module Aws::AppSync
4327
4980
  tracer: tracer
4328
4981
  )
4329
4982
  context[:gem_name] = 'aws-sdk-appsync'
4330
- context[:gem_version] = '1.90.0'
4983
+ context[:gem_version] = '1.92.0'
4331
4984
  Seahorse::Client::Request.new(handlers, context)
4332
4985
  end
4333
4986