aws-sdk-appsync 1.90.0 → 1.91.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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.91.0'
4331
4984
  Seahorse::Client::Request.new(handlers, context)
4332
4985
  end
4333
4986