aws-sdk-apigatewayv2 1.14.0 → 1.15.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.
@@ -10,6 +10,22 @@ module Aws::ApiGatewayV2
10
10
 
11
11
  extend Aws::Errors::DynamicErrors
12
12
 
13
+ class AccessDeniedException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::ApiGatewayV2::Types::AccessDeniedException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def message
24
+ @message || @data[:message]
25
+ end
26
+
27
+ end
28
+
13
29
  class BadRequestException < ServiceError
14
30
 
15
31
  # @param [Seahorse::Client::RequestContext] context
@@ -8,6 +8,14 @@
8
8
  module Aws::ApiGatewayV2
9
9
  module Types
10
10
 
11
+ # @!attribute [rw] message
12
+ # @return [String]
13
+ #
14
+ class AccessDeniedException < Struct.new(
15
+ :message)
16
+ include Aws::Structure
17
+ end
18
+
11
19
  # Settings for logging access in a stage.
12
20
  #
13
21
  # @note When making an API call, you may pass AccessLogSettings
@@ -48,14 +56,18 @@ module Aws::ApiGatewayV2
48
56
  # @return [String]
49
57
  #
50
58
  # @!attribute [rw] api_key_selection_expression
51
- # An API key selection expression. See [API Key Selection
52
- # Expressions][1].
59
+ # An API key selection expression. Supported only for WebSocket APIs.
60
+ # See [API Key Selection Expressions][1].
53
61
  #
54
62
  #
55
63
  #
56
64
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
57
65
  # @return [String]
58
66
  #
67
+ # @!attribute [rw] cors_configuration
68
+ # A CORS configuration. Supported only for HTTP APIs.
69
+ # @return [Types::Cors]
70
+ #
59
71
  # @!attribute [rw] created_date
60
72
  # The timestamp when the API was created.
61
73
  # @return [Time]
@@ -65,21 +77,35 @@ module Aws::ApiGatewayV2
65
77
  # @return [String]
66
78
  #
67
79
  # @!attribute [rw] disable_schema_validation
68
- # Avoid validating models when creating a deployment.
80
+ # Avoid validating models when creating a deployment. Supported only
81
+ # for WebSocket APIs.
69
82
  # @return [Boolean]
70
83
  #
84
+ # @!attribute [rw] import_info
85
+ # The validation information during API import. This may include
86
+ # particular properties of your OpenAPI definition which are ignored
87
+ # during import. Supported only for HTTP APIs.
88
+ # @return [Array<String>]
89
+ #
71
90
  # @!attribute [rw] name
72
91
  # The name of the API.
73
92
  # @return [String]
74
93
  #
75
94
  # @!attribute [rw] protocol_type
76
- # The API protocol: Currently only WEBSOCKET is supported.
95
+ # The API protocol.
77
96
  # @return [String]
78
97
  #
79
98
  # @!attribute [rw] route_selection_expression
80
- # The route selection expression for the API.
99
+ # The route selection expression for the API. For HTTP APIs, the
100
+ # routeSelectionExpression must be $\\\{request.method\\}
101
+ # $\\\{request.path\\}. If not provided, this will be the default for
102
+ # HTTP APIs. This property is required for WebSocket APIs.
81
103
  # @return [String]
82
104
  #
105
+ # @!attribute [rw] tags
106
+ # A collection of tags associated with the API.
107
+ # @return [Hash<String,String>]
108
+ #
83
109
  # @!attribute [rw] version
84
110
  # A version identifier for the API.
85
111
  # @return [String]
@@ -89,23 +115,21 @@ module Aws::ApiGatewayV2
89
115
  # during API import.
90
116
  # @return [Array<String>]
91
117
  #
92
- # @!attribute [rw] tags
93
- # Tags for the API.
94
- # @return [Hash<String,String>]
95
- #
96
118
  class Api < Struct.new(
97
119
  :api_endpoint,
98
120
  :api_id,
99
121
  :api_key_selection_expression,
122
+ :cors_configuration,
100
123
  :created_date,
101
124
  :description,
102
125
  :disable_schema_validation,
126
+ :import_info,
103
127
  :name,
104
128
  :protocol_type,
105
129
  :route_selection_expression,
130
+ :tags,
106
131
  :version,
107
- :warnings,
108
- :tags)
132
+ :warnings)
109
133
  include Aws::Structure
110
134
  end
111
135
 
@@ -176,6 +200,7 @@ module Aws::ApiGatewayV2
176
200
  # invoke the authorizer. To specify an IAM role for API Gateway to
177
201
  # assume, use the role's Amazon Resource Name (ARN). To use
178
202
  # resource-based permissions on the Lambda function, specify null.
203
+ # Supported only for REQUEST authorizers.
179
204
  # @return [String]
180
205
  #
181
206
  # @!attribute [rw] authorizer_id
@@ -183,64 +208,75 @@ module Aws::ApiGatewayV2
183
208
  # @return [String]
184
209
  #
185
210
  # @!attribute [rw] authorizer_result_ttl_in_seconds
186
- # The time to live (TTL), in seconds, of cached authorizer results. If
187
- # it equals 0, authorization caching is disabled. If it is greater
188
- # than 0, API Gateway will cache authorizer responses. If this field
189
- # is not set, the default value is 300. The maximum value is 3600, or
190
- # 1 hour.
211
+ # Authorizer caching is not currently supported. Don't specify this
212
+ # value for authorizers.
191
213
  # @return [Integer]
192
214
  #
193
215
  # @!attribute [rw] authorizer_type
194
- # The authorizer type. Currently the only valid value is REQUEST, for
195
- # a Lambda function using incoming request parameters.
216
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
217
+ # Lambda function using incoming request parameters. For HTTP APIs,
218
+ # specify JWT to use JSON Web Tokens.
196
219
  # @return [String]
197
220
  #
198
221
  # @!attribute [rw] authorizer_uri
199
222
  # The authorizer's Uniform Resource Identifier (URI). ForREQUEST
200
223
  # authorizers, this must be a well-formed Lambda function URI, for
201
224
  # example,
202
- # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:\\\{account\_id\\}:function:\\\{lambda\_function\_name\\}/invocations.
203
- # In general, the URI has this form:
204
- # arn:aws:apigateway:\\\{region\\}:lambda:path/\\\{service\_api\\} ,
205
- # where \\\{region\\} is the same as the region hosting the Lambda
206
- # function, path indicates that the remaining substring in the URI
207
- # should be treated as the path to the resource, including the initial
208
- # /. For Lambda functions, this is usually of the form
209
- # /2015-03-31/functions/\[FunctionARN\]/invocations.
225
+ # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:<replaceable>\{account_id\}</replaceable>
226
+ #
227
+ # \:function:<replaceable>\{lambda_function_name\}</replaceable>
228
+ #
229
+ # /invocations. In general, the URI has this form:
230
+ # arn:aws:apigateway:<replaceable>\{region\}</replaceable>
231
+ #
232
+ # \:lambda:path/<replaceable>\{service_api\}</replaceable>
233
+ #
234
+ # , where <replaceable />
235
+ #
236
+ # \\\{region\\} is the same as the region hosting the Lambda function,
237
+ # path indicates that the remaining substring in the URI should be
238
+ # treated as the path to the resource, including the initial /. For
239
+ # Lambda functions, this is usually of the form
240
+ # /2015-03-31/functions/\[FunctionARN\]/invocations. Supported only
241
+ # for REQUEST authorizers.
210
242
  # @return [String]
211
243
  #
212
244
  # @!attribute [rw] identity_source
213
245
  # The identity source for which authorization is requested.
214
246
  #
215
- # For the REQUEST authorizer, this is required when authorization
216
- # caching is enabled. The value is a comma-separated string of one or
217
- # more mapping expressions of the specified request parameters. For
218
- # example, if an Auth header and a Name query string parameters are
219
- # defined as identity sources, this value is
220
- # method.request.header.Auth, method.request.querystring.Name. These
221
- # parameters will be used to derive the authorization caching key and
222
- # to perform runtime validation of the REQUEST authorizer by verifying
223
- # all of the identity-related request parameters are present, not
224
- # null, and non-empty. Only when this is true does the authorizer
225
- # invoke the authorizer Lambda function, otherwise, it returns a 401
226
- # Unauthorized response without calling the Lambda function. The valid
227
- # value is a string of comma-separated mapping expressions of the
228
- # specified request parameters. When the authorization caching is not
229
- # enabled, this property is optional.
247
+ # For a REQUEST authorizer, this is optional. The value is a set of
248
+ # one or more mapping expressions of the specified request parameters.
249
+ # Currently, the identity source can be headers, query string
250
+ # parameters, stage variables, and context parameters. For example, if
251
+ # an Auth header and a Name query string parameter are defined as
252
+ # identity sources, this value is route.request.header.Auth,
253
+ # route.request.querystring.Name. These parameters will be used to
254
+ # perform runtime validation for Lambda-based authorizers by verifying
255
+ # all of the identity-related request parameters are present in the
256
+ # request, not null, and non-empty. Only when this is true does the
257
+ # authorizer invoke the authorizer Lambda function. Otherwise, it
258
+ # returns a 401 Unauthorized response without calling the Lambda
259
+ # function.
260
+ #
261
+ # For JWT, a single entry that specifies where to extract the JSON Web
262
+ # Token (JWT) from inbound requests. Currently only header-based and
263
+ # query parameter-based selections are supported, for example
264
+ # "$request.header.Authorization".
230
265
  # @return [Array<String>]
231
266
  #
232
267
  # @!attribute [rw] identity_validation_expression
233
268
  # The validation expression does not apply to the REQUEST authorizer.
234
269
  # @return [String]
235
270
  #
271
+ # @!attribute [rw] jwt_configuration
272
+ # Represents the configuration of a JWT authorizer. Required for the
273
+ # JWT authorizer type. Supported only for HTTP APIs.
274
+ # @return [Types::JWTConfiguration]
275
+ #
236
276
  # @!attribute [rw] name
237
277
  # The name of the authorizer.
238
278
  # @return [String]
239
279
  #
240
- # @!attribute [rw] provider_arns
241
- # For REQUEST authorizer, this is not defined.
242
- # @return [Array<String>]
243
- #
244
280
  class Authorizer < Struct.new(
245
281
  :authorizer_credentials_arn,
246
282
  :authorizer_id,
@@ -249,8 +285,8 @@ module Aws::ApiGatewayV2
249
285
  :authorizer_uri,
250
286
  :identity_source,
251
287
  :identity_validation_expression,
252
- :name,
253
- :provider_arns)
288
+ :jwt_configuration,
289
+ :name)
254
290
  include Aws::Structure
255
291
  end
256
292
 
@@ -297,23 +333,103 @@ module Aws::ApiGatewayV2
297
333
  include Aws::Structure
298
334
  end
299
335
 
336
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
337
+ # [Configuring CORS][1] for more information.
338
+ #
339
+ #
340
+ #
341
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
342
+ #
343
+ # @note When making an API call, you may pass Cors
344
+ # data as a hash:
345
+ #
346
+ # {
347
+ # allow_credentials: false,
348
+ # allow_headers: ["__string"],
349
+ # allow_methods: ["StringWithLengthBetween1And64"],
350
+ # allow_origins: ["__string"],
351
+ # expose_headers: ["__string"],
352
+ # max_age: 1,
353
+ # }
354
+ #
355
+ # @!attribute [rw] allow_credentials
356
+ # Specifies whether credentials are included in the CORS request.
357
+ # Supported only for HTTP APIs.
358
+ # @return [Boolean]
359
+ #
360
+ # @!attribute [rw] allow_headers
361
+ # Represents a collection of allowed headers. Supported only for HTTP
362
+ # APIs.
363
+ # @return [Array<String>]
364
+ #
365
+ # @!attribute [rw] allow_methods
366
+ # Represents a collection of allowed HTTP methods. Supported only for
367
+ # HTTP APIs.
368
+ # @return [Array<String>]
369
+ #
370
+ # @!attribute [rw] allow_origins
371
+ # Represents a collection of allowed origins. Supported only for HTTP
372
+ # APIs.
373
+ # @return [Array<String>]
374
+ #
375
+ # @!attribute [rw] expose_headers
376
+ # Represents a collection of exposed headers. Supported only for HTTP
377
+ # APIs.
378
+ # @return [Array<String>]
379
+ #
380
+ # @!attribute [rw] max_age
381
+ # The number of seconds that the browser should cache preflight
382
+ # request results. Supported only for HTTP APIs.
383
+ # @return [Integer]
384
+ #
385
+ class Cors < Struct.new(
386
+ :allow_credentials,
387
+ :allow_headers,
388
+ :allow_methods,
389
+ :allow_origins,
390
+ :expose_headers,
391
+ :max_age)
392
+ include Aws::Structure
393
+ end
394
+
300
395
  # Represents the input parameters for a CreateApi request.
301
396
  #
302
397
  # @!attribute [rw] api_key_selection_expression
303
- # An API key selection expression. See [API Key Selection
304
- # Expressions][1].
398
+ # An API key selection expression. Supported only for WebSocket APIs.
399
+ # See [API Key Selection Expressions][1].
305
400
  #
306
401
  #
307
402
  #
308
403
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
309
404
  # @return [String]
310
405
  #
406
+ # @!attribute [rw] cors_configuration
407
+ # A CORS configuration. Supported only for HTTP APIs. See [Configuring
408
+ # CORS][1] for more information.
409
+ #
410
+ #
411
+ #
412
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
413
+ # @return [Types::Cors]
414
+ #
415
+ # @!attribute [rw] credentials_arn
416
+ # This property is part of quick create. It specifies the credentials
417
+ # required for the integration, if any. For a Lambda integration,
418
+ # three options are available. To specify an IAM Role for API Gateway
419
+ # to assume, use the role's Amazon Resource Name (ARN). To require
420
+ # that the caller's identity be passed through from the request,
421
+ # specify arn:aws:iam::*:user/*. To use resource-based permissions
422
+ # on supported AWS services, specify null. Currently, this property is
423
+ # not used for HTTP integrations. Supported only for HTTP APIs.
424
+ # @return [String]
425
+ #
311
426
  # @!attribute [rw] description
312
427
  # The description of the API.
313
428
  # @return [String]
314
429
  #
315
430
  # @!attribute [rw] disable_schema_validation
316
- # Avoid validating models when creating a deployment.
431
+ # Avoid validating models when creating a deployment. Supported only
432
+ # for WebSocket APIs.
317
433
  # @return [Boolean]
318
434
  #
319
435
  # @!attribute [rw] name
@@ -321,30 +437,57 @@ module Aws::ApiGatewayV2
321
437
  # @return [String]
322
438
  #
323
439
  # @!attribute [rw] protocol_type
324
- # The API protocol: Currently only WEBSOCKET is supported.
440
+ # The API protocol.
325
441
  # @return [String]
326
442
  #
327
- # @!attribute [rw] route_selection_expression
328
- # The route selection expression for the API.
443
+ # @!attribute [rw] route_key
444
+ # This property is part of quick create. If you don't specify a
445
+ # routeKey, a default route of $default is created. The $default route
446
+ # acts as a catch-all for any request made to your API, for a
447
+ # particular stage. The $default route key can't be modified. You can
448
+ # add routes after creating the API, and you can update the route keys
449
+ # of additional routes. Supported only for HTTP APIs.
329
450
  # @return [String]
330
451
  #
331
- # @!attribute [rw] version
332
- # A version identifier for the API.
452
+ # @!attribute [rw] route_selection_expression
453
+ # The route selection expression for the API. For HTTP APIs, the
454
+ # routeSelectionExpression must be $\\\{request.method\\}
455
+ # $\\\{request.path\\}. If not provided, this will be the default for
456
+ # HTTP APIs. This property is required for WebSocket APIs.
333
457
  # @return [String]
334
458
  #
335
459
  # @!attribute [rw] tags
336
- # Tags for the API.
460
+ # The collection of tags. Each tag element is associated with a given
461
+ # resource.
337
462
  # @return [Hash<String,String>]
338
463
  #
464
+ # @!attribute [rw] target
465
+ # This property is part of quick create. Quick create produces an API
466
+ # with an integration, a default catch-all route, and a default stage
467
+ # which is configured to automatically deploy changes. For HTTP
468
+ # integrations, specify a fully qualified URL. For Lambda
469
+ # integrations, specify a function ARN. The type of the integration
470
+ # will be HTTP\_PROXY or AWS\_PROXY, respectively. Supported only for
471
+ # HTTP APIs.
472
+ # @return [String]
473
+ #
474
+ # @!attribute [rw] version
475
+ # A version identifier for the API.
476
+ # @return [String]
477
+ #
339
478
  class CreateApiInput < Struct.new(
340
479
  :api_key_selection_expression,
480
+ :cors_configuration,
481
+ :credentials_arn,
341
482
  :description,
342
483
  :disable_schema_validation,
343
484
  :name,
344
485
  :protocol_type,
486
+ :route_key,
345
487
  :route_selection_expression,
346
- :version,
347
- :tags)
488
+ :tags,
489
+ :target,
490
+ :version)
348
491
  include Aws::Structure
349
492
  end
350
493
 
@@ -355,6 +498,7 @@ module Aws::ApiGatewayV2
355
498
  # @return [String]
356
499
  #
357
500
  # @!attribute [rw] api_mapping_key
501
+ # The API mapping key.
358
502
  # @return [String]
359
503
  #
360
504
  # @!attribute [rw] stage
@@ -383,7 +527,7 @@ module Aws::ApiGatewayV2
383
527
  # @return [String]
384
528
  #
385
529
  # @!attribute [rw] api_mapping_key
386
- # After evaulating a selection expression, the result is compared
530
+ # After evaluating a selection expression, the result is compared
387
531
  # against one or more selection keys to find a matching key. See
388
532
  # [Selection Expressions][1] for a list of expressions and each
389
533
  # expression's associated selection key type.
@@ -417,7 +561,7 @@ module Aws::ApiGatewayV2
417
561
  # @return [String]
418
562
  #
419
563
  # @!attribute [rw] api_mapping_key
420
- # After evaulating a selection expression, the result is compared
564
+ # After evaluating a selection expression, the result is compared
421
565
  # against one or more selection keys to find a matching key. See
422
566
  # [Selection Expressions][1] for a list of expressions and each
423
567
  # expression's associated selection key type.
@@ -444,11 +588,25 @@ module Aws::ApiGatewayV2
444
588
  #
445
589
  # {
446
590
  # api_key_selection_expression: "SelectionExpression",
591
+ # cors_configuration: {
592
+ # allow_credentials: false,
593
+ # allow_headers: ["__string"],
594
+ # allow_methods: ["StringWithLengthBetween1And64"],
595
+ # allow_origins: ["__string"],
596
+ # expose_headers: ["__string"],
597
+ # max_age: 1,
598
+ # },
599
+ # credentials_arn: "Arn",
447
600
  # description: "StringWithLengthBetween0And1024",
448
601
  # disable_schema_validation: false,
449
602
  # name: "StringWithLengthBetween1And128", # required
450
- # protocol_type: "WEBSOCKET", # required, accepts WEBSOCKET
451
- # route_selection_expression: "SelectionExpression", # required
603
+ # protocol_type: "WEBSOCKET", # required, accepts WEBSOCKET, HTTP
604
+ # route_key: "SelectionKey",
605
+ # route_selection_expression: "SelectionExpression",
606
+ # tags: {
607
+ # "__string" => "StringWithLengthBetween1And1600",
608
+ # },
609
+ # target: "UriWithLengthBetween1And2048",
452
610
  # version: "StringWithLengthBetween1And64",
453
611
  # }
454
612
  #
@@ -461,6 +619,19 @@ module Aws::ApiGatewayV2
461
619
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
462
620
  # @return [String]
463
621
  #
622
+ # @!attribute [rw] cors_configuration
623
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
624
+ # [Configuring CORS][1] for more information.
625
+ #
626
+ #
627
+ #
628
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
629
+ # @return [Types::Cors]
630
+ #
631
+ # @!attribute [rw] credentials_arn
632
+ # Represents an Amazon Resource Name (ARN).
633
+ # @return [String]
634
+ #
464
635
  # @!attribute [rw] description
465
636
  # A string with a length between \[0-1024\].
466
637
  # @return [String]
@@ -473,6 +644,18 @@ module Aws::ApiGatewayV2
473
644
  # @return [String]
474
645
  #
475
646
  # @!attribute [rw] protocol_type
647
+ # Represents a protocol type.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] route_key
651
+ # After evaluating a selection expression, the result is compared
652
+ # against one or more selection keys to find a matching key. See
653
+ # [Selection Expressions][1] for a list of expressions and each
654
+ # expression's associated selection key type.
655
+ #
656
+ #
657
+ #
658
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
476
659
  # @return [String]
477
660
  #
478
661
  # @!attribute [rw] route_selection_expression
@@ -484,17 +667,30 @@ module Aws::ApiGatewayV2
484
667
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
485
668
  # @return [String]
486
669
  #
670
+ # @!attribute [rw] tags
671
+ # Represents a collection of tags associated with the resource.
672
+ # @return [Hash<String,String>]
673
+ #
674
+ # @!attribute [rw] target
675
+ # A string representation of a URI with a length between \[1-2048\].
676
+ # @return [String]
677
+ #
487
678
  # @!attribute [rw] version
488
679
  # A string with a length between \[1-64\].
489
680
  # @return [String]
490
681
  #
491
682
  class CreateApiRequest < Struct.new(
492
683
  :api_key_selection_expression,
684
+ :cors_configuration,
685
+ :credentials_arn,
493
686
  :description,
494
687
  :disable_schema_validation,
495
688
  :name,
496
689
  :protocol_type,
690
+ :route_key,
497
691
  :route_selection_expression,
692
+ :tags,
693
+ :target,
498
694
  :version)
499
695
  include Aws::Structure
500
696
  end
@@ -515,6 +711,15 @@ module Aws::ApiGatewayV2
515
711
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
516
712
  # @return [String]
517
713
  #
714
+ # @!attribute [rw] cors_configuration
715
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
716
+ # [Configuring CORS][1] for more information.
717
+ #
718
+ #
719
+ #
720
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
721
+ # @return [Types::Cors]
722
+ #
518
723
  # @!attribute [rw] created_date
519
724
  # @return [Time]
520
725
  #
@@ -525,11 +730,15 @@ module Aws::ApiGatewayV2
525
730
  # @!attribute [rw] disable_schema_validation
526
731
  # @return [Boolean]
527
732
  #
733
+ # @!attribute [rw] import_info
734
+ # @return [Array<String>]
735
+ #
528
736
  # @!attribute [rw] name
529
737
  # A string with a length between \[1-128\].
530
738
  # @return [String]
531
739
  #
532
740
  # @!attribute [rw] protocol_type
741
+ # Represents a protocol type.
533
742
  # @return [String]
534
743
  #
535
744
  # @!attribute [rw] route_selection_expression
@@ -541,6 +750,10 @@ module Aws::ApiGatewayV2
541
750
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
542
751
  # @return [String]
543
752
  #
753
+ # @!attribute [rw] tags
754
+ # Represents a collection of tags associated with the resource.
755
+ # @return [Hash<String,String>]
756
+ #
544
757
  # @!attribute [rw] version
545
758
  # A string with a length between \[1-64\].
546
759
  # @return [String]
@@ -552,12 +765,15 @@ module Aws::ApiGatewayV2
552
765
  :api_endpoint,
553
766
  :api_id,
554
767
  :api_key_selection_expression,
768
+ :cors_configuration,
555
769
  :created_date,
556
770
  :description,
557
771
  :disable_schema_validation,
772
+ :import_info,
558
773
  :name,
559
774
  :protocol_type,
560
775
  :route_selection_expression,
776
+ :tags,
561
777
  :version,
562
778
  :warnings)
563
779
  include Aws::Structure
@@ -570,67 +786,79 @@ module Aws::ApiGatewayV2
570
786
  # invoke the authorizer. To specify an IAM role for API Gateway to
571
787
  # assume, use the role's Amazon Resource Name (ARN). To use
572
788
  # resource-based permissions on the Lambda function, specify null.
789
+ # Supported only for REQUEST authorizers.
573
790
  # @return [String]
574
791
  #
575
792
  # @!attribute [rw] authorizer_result_ttl_in_seconds
576
- # The time to live (TTL), in seconds, of cached authorizer results. If
577
- # it equals 0, authorization caching is disabled. If it is greater
578
- # than 0, API Gateway will cache authorizer responses. If this field
579
- # is not set, the default value is 300. The maximum value is 3600, or
580
- # 1 hour.
793
+ # Authorizer caching is not currently supported. Don't specify this
794
+ # value for authorizers.
581
795
  # @return [Integer]
582
796
  #
583
797
  # @!attribute [rw] authorizer_type
584
- # The authorizer type. Currently the only valid value is REQUEST, for
585
- # a Lambda function using incoming request parameters.
798
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
799
+ # Lambda function using incoming request parameters. For HTTP APIs,
800
+ # specify JWT to use JSON Web Tokens.
586
801
  # @return [String]
587
802
  #
588
803
  # @!attribute [rw] authorizer_uri
589
804
  # The authorizer's Uniform Resource Identifier (URI). For REQUEST
590
805
  # authorizers, this must be a well-formed Lambda function URI, for
591
806
  # example,
592
- # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:\\\{account\_id\\}:function:\\\{lambda\_function\_name\\}/invocations.
593
- # In general, the URI has this form:
594
- # arn:aws:apigateway:\\\{region\\}:lambda:path/\\\{service\_api\\} ,
595
- # where \\\{region\\} is the same as the region hosting the Lambda
596
- # function, path indicates that the remaining substring in the URI
597
- # should be treated as the path to the resource, including the initial
598
- # /. For Lambda functions, this is usually of the form
599
- # /2015-03-31/functions/\[FunctionARN\]/invocations.
807
+ # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:<replaceable>\{account_id\}</replaceable>
808
+ #
809
+ # \:function:<replaceable>\{lambda_function_name\}</replaceable>
810
+ #
811
+ # /invocations. In general, the URI has this form:
812
+ # arn:aws:apigateway:<replaceable>\{region\}</replaceable>
813
+ #
814
+ # \:lambda:path/<replaceable>\{service_api\}</replaceable>
815
+ #
816
+ # , where <replaceable />
817
+ #
818
+ # \\\{region\\} is the same as the region hosting the Lambda function,
819
+ # path indicates that the remaining substring in the URI should be
820
+ # treated as the path to the resource, including the initial /. For
821
+ # Lambda functions, this is usually of the form
822
+ # /2015-03-31/functions/\[FunctionARN\]/invocations. Supported only
823
+ # for REQUEST authorizers.
600
824
  # @return [String]
601
825
  #
602
826
  # @!attribute [rw] identity_source
603
827
  # The identity source for which authorization is requested.
604
828
  #
605
- # For the REQUEST authorizer, this is required when authorization
606
- # caching is enabled. The value is a comma-separated string of one or
607
- # more mapping expressions of the specified request parameters. For
608
- # example, if an Auth header and a Name query string parameters are
609
- # defined as identity sources, this value is
610
- # method.request.header.Auth, method.request.querystring.Name. These
611
- # parameters will be used to derive the authorization caching key and
612
- # to perform runtime validation of the REQUEST authorizer by verifying
613
- # all of the identity-related request parameters are present, not
614
- # null, and non-empty. Only when this is true does the authorizer
615
- # invoke the authorizer Lambda function, otherwise, it returns a 401
616
- # Unauthorized response without calling the Lambda function. The valid
617
- # value is a string of comma-separated mapping expressions of the
618
- # specified request parameters. When the authorization caching is not
619
- # enabled, this property is optional.
829
+ # For a REQUEST authorizer, this is optional. The value is a set of
830
+ # one or more mapping expressions of the specified request parameters.
831
+ # Currently, the identity source can be headers, query string
832
+ # parameters, stage variables, and context parameters. For example, if
833
+ # an Auth header and a Name query string parameter are defined as
834
+ # identity sources, this value is route.request.header.Auth,
835
+ # route.request.querystring.Name. These parameters will be used to
836
+ # perform runtime validation for Lambda-based authorizers by verifying
837
+ # all of the identity-related request parameters are present in the
838
+ # request, not null, and non-empty. Only when this is true does the
839
+ # authorizer invoke the authorizer Lambda function. Otherwise, it
840
+ # returns a 401 Unauthorized response without calling the Lambda
841
+ # function.
842
+ #
843
+ # For JWT, a single entry that specifies where to extract the JSON Web
844
+ # Token (JWT )from inbound requests. Currently only header-based and
845
+ # query parameter-based selections are supported, for example
846
+ # "$request.header.Authorization".
620
847
  # @return [Array<String>]
621
848
  #
622
849
  # @!attribute [rw] identity_validation_expression
623
- # The validation expression does not apply to the REQUEST authorizer.
850
+ # This parameter is not used.
624
851
  # @return [String]
625
852
  #
853
+ # @!attribute [rw] jwt_configuration
854
+ # Represents the configuration of a JWT authorizer. Required for the
855
+ # JWT authorizer type. Supported only for HTTP APIs.
856
+ # @return [Types::JWTConfiguration]
857
+ #
626
858
  # @!attribute [rw] name
627
859
  # The name of the authorizer.
628
860
  # @return [String]
629
861
  #
630
- # @!attribute [rw] provider_arns
631
- # For REQUEST authorizer, this is not defined.
632
- # @return [Array<String>]
633
- #
634
862
  class CreateAuthorizerInput < Struct.new(
635
863
  :authorizer_credentials_arn,
636
864
  :authorizer_result_ttl_in_seconds,
@@ -638,8 +866,8 @@ module Aws::ApiGatewayV2
638
866
  :authorizer_uri,
639
867
  :identity_source,
640
868
  :identity_validation_expression,
641
- :name,
642
- :provider_arns)
869
+ :jwt_configuration,
870
+ :name)
643
871
  include Aws::Structure
644
872
  end
645
873
 
@@ -650,12 +878,15 @@ module Aws::ApiGatewayV2
650
878
  # api_id: "__string", # required
651
879
  # authorizer_credentials_arn: "Arn",
652
880
  # authorizer_result_ttl_in_seconds: 1,
653
- # authorizer_type: "REQUEST", # required, accepts REQUEST
654
- # authorizer_uri: "UriWithLengthBetween1And2048", # required
881
+ # authorizer_type: "REQUEST", # required, accepts REQUEST, JWT
882
+ # authorizer_uri: "UriWithLengthBetween1And2048",
655
883
  # identity_source: ["__string"], # required
656
884
  # identity_validation_expression: "StringWithLengthBetween0And1024",
885
+ # jwt_configuration: {
886
+ # audience: ["__string"],
887
+ # issuer: "UriWithLengthBetween1And2048",
888
+ # },
657
889
  # name: "StringWithLengthBetween1And128", # required
658
- # provider_arns: ["Arn"],
659
890
  # }
660
891
  #
661
892
  # @!attribute [rw] api_id
@@ -670,8 +901,9 @@ module Aws::ApiGatewayV2
670
901
  # @return [Integer]
671
902
  #
672
903
  # @!attribute [rw] authorizer_type
673
- # The authorizer type. Currently the only valid value is REQUEST, for
674
- # a Lambda function using incoming request parameters.
904
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
905
+ # Lambda function using incoming request parameters. For HTTP APIs,
906
+ # specify JWT to use JSON Web Tokens.
675
907
  # @return [String]
676
908
  #
677
909
  # @!attribute [rw] authorizer_uri
@@ -701,14 +933,15 @@ module Aws::ApiGatewayV2
701
933
  # A string with a length between \[0-1024\].
702
934
  # @return [String]
703
935
  #
936
+ # @!attribute [rw] jwt_configuration
937
+ # Represents the configuration of a JWT authorizer. Required for the
938
+ # JWT authorizer type. Supported only for HTTP APIs.
939
+ # @return [Types::JWTConfiguration]
940
+ #
704
941
  # @!attribute [rw] name
705
942
  # A string with a length between \[1-128\].
706
943
  # @return [String]
707
944
  #
708
- # @!attribute [rw] provider_arns
709
- # For REQUEST authorizer, this is not defined.
710
- # @return [Array<String>]
711
- #
712
945
  class CreateAuthorizerRequest < Struct.new(
713
946
  :api_id,
714
947
  :authorizer_credentials_arn,
@@ -717,8 +950,8 @@ module Aws::ApiGatewayV2
717
950
  :authorizer_uri,
718
951
  :identity_source,
719
952
  :identity_validation_expression,
720
- :name,
721
- :provider_arns)
953
+ :jwt_configuration,
954
+ :name)
722
955
  include Aws::Structure
723
956
  end
724
957
 
@@ -735,8 +968,9 @@ module Aws::ApiGatewayV2
735
968
  # @return [Integer]
736
969
  #
737
970
  # @!attribute [rw] authorizer_type
738
- # The authorizer type. Currently the only valid value is REQUEST, for
739
- # a Lambda function using incoming request parameters.
971
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
972
+ # Lambda function using incoming request parameters. For HTTP APIs,
973
+ # specify JWT to use JSON Web Tokens.
740
974
  # @return [String]
741
975
  #
742
976
  # @!attribute [rw] authorizer_uri
@@ -766,14 +1000,15 @@ module Aws::ApiGatewayV2
766
1000
  # A string with a length between \[0-1024\].
767
1001
  # @return [String]
768
1002
  #
1003
+ # @!attribute [rw] jwt_configuration
1004
+ # Represents the configuration of a JWT authorizer. Required for the
1005
+ # JWT authorizer type. Supported only for HTTP APIs.
1006
+ # @return [Types::JWTConfiguration]
1007
+ #
769
1008
  # @!attribute [rw] name
770
1009
  # A string with a length between \[1-128\].
771
1010
  # @return [String]
772
1011
  #
773
- # @!attribute [rw] provider_arns
774
- # For REQUEST authorizer, this is not defined.
775
- # @return [Array<String>]
776
- #
777
1012
  class CreateAuthorizerResponse < Struct.new(
778
1013
  :authorizer_credentials_arn,
779
1014
  :authorizer_id,
@@ -782,8 +1017,8 @@ module Aws::ApiGatewayV2
782
1017
  :authorizer_uri,
783
1018
  :identity_source,
784
1019
  :identity_validation_expression,
785
- :name,
786
- :provider_arns)
1020
+ :jwt_configuration,
1021
+ :name)
787
1022
  include Aws::Structure
788
1023
  end
789
1024
 
@@ -831,6 +1066,9 @@ module Aws::ApiGatewayV2
831
1066
  include Aws::Structure
832
1067
  end
833
1068
 
1069
+ # @!attribute [rw] auto_deployed
1070
+ # @return [Boolean]
1071
+ #
834
1072
  # @!attribute [rw] created_date
835
1073
  # @return [Time]
836
1074
  #
@@ -850,6 +1088,7 @@ module Aws::ApiGatewayV2
850
1088
  # @return [String]
851
1089
  #
852
1090
  class CreateDeploymentResponse < Struct.new(
1091
+ :auto_deployed,
853
1092
  :created_date,
854
1093
  :deployment_id,
855
1094
  :deployment_status,
@@ -869,7 +1108,7 @@ module Aws::ApiGatewayV2
869
1108
  # @return [Array<Types::DomainNameConfiguration>]
870
1109
  #
871
1110
  # @!attribute [rw] tags
872
- # Tags for the DomainName.
1111
+ # The collection of tags associated with a domain name.
873
1112
  # @return [Hash<String,String>]
874
1113
  #
875
1114
  class CreateDomainNameInput < Struct.new(
@@ -890,11 +1129,11 @@ module Aws::ApiGatewayV2
890
1129
  # certificate_arn: "Arn",
891
1130
  # certificate_name: "StringWithLengthBetween1And128",
892
1131
  # certificate_upload_date: Time.now,
1132
+ # domain_name_status: "AVAILABLE", # accepts AVAILABLE, UPDATING
1133
+ # domain_name_status_message: "__string",
893
1134
  # endpoint_type: "REGIONAL", # accepts REGIONAL, EDGE
894
1135
  # hosted_zone_id: "__string",
895
1136
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
896
- # domain_name_status: "AVAILABLE", # accepts AVAILABLE, UPDATING
897
- # domain_name_status_message: "__string",
898
1137
  # },
899
1138
  # ],
900
1139
  # tags: {
@@ -911,8 +1150,7 @@ module Aws::ApiGatewayV2
911
1150
  # @return [Array<Types::DomainNameConfiguration>]
912
1151
  #
913
1152
  # @!attribute [rw] tags
914
- # A key value pair of string with key length between\[1-128\] and
915
- # value length between\[1-256\]
1153
+ # Represents a collection of tags associated with the resource.
916
1154
  # @return [Hash<String,String>]
917
1155
  #
918
1156
  class CreateDomainNameRequest < Struct.new(
@@ -940,8 +1178,7 @@ module Aws::ApiGatewayV2
940
1178
  # @return [Array<Types::DomainNameConfiguration>]
941
1179
  #
942
1180
  # @!attribute [rw] tags
943
- # A key value pair of string with key length between\[1-128\] and
944
- # value length between\[1-256\]
1181
+ # Represents a collection of tags associated with the resource.
945
1182
  # @return [Hash<String,String>]
946
1183
  #
947
1184
  class CreateDomainNameResponse < Struct.new(
@@ -965,9 +1202,10 @@ module Aws::ApiGatewayV2
965
1202
  # @return [String]
966
1203
  #
967
1204
  # @!attribute [rw] content_handling_strategy
968
- # Specifies how to handle response payload content type conversions.
969
- # Supported values are CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with
970
- # the following behaviors:
1205
+ # Supported only for WebSocket APIs. Specifies how to handle response
1206
+ # payload content type conversions. Supported values are
1207
+ # CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with the following
1208
+ # behaviors:
971
1209
  #
972
1210
  # CONVERT\_TO\_BINARY: Converts a response payload from a
973
1211
  # Base64-encoded string to the corresponding binary blob.
@@ -1004,7 +1242,7 @@ module Aws::ApiGatewayV2
1004
1242
  # action, including the Lambda function-invoking action. With the
1005
1243
  # Lambda function-invoking action, this is referred to as the Lambda
1006
1244
  # custom integration. With any other AWS service action, this is known
1007
- # as AWS integration.
1245
+ # as AWS integration. Supported only for WebSocket APIs.
1008
1246
  #
1009
1247
  # AWS\_PROXY: for integrating the route or method request with the
1010
1248
  # Lambda function-invoking action with the client request passed
@@ -1012,15 +1250,16 @@ module Aws::ApiGatewayV2
1012
1250
  # integration.
1013
1251
  #
1014
1252
  # HTTP: for integrating the route or method request with an HTTP
1015
- # endpoint. This integration is also referred to as HTTP custom
1016
- # integration.
1253
+ # endpoint. This integration is also referred to as the HTTP custom
1254
+ # integration. Supported only for WebSocket APIs.
1017
1255
  #
1018
1256
  # HTTP\_PROXY: for integrating route or method request with an HTTP
1019
1257
  # endpoint, with the client request passed through as-is. This is also
1020
1258
  # referred to as HTTP proxy integration.
1021
1259
  #
1022
1260
  # MOCK: for integrating the route or method request with API Gateway
1023
- # as a "loopback" endpoint without invoking any backend.
1261
+ # as a "loopback" endpoint without invoking any backend. Supported
1262
+ # only for WebSocket APIs.
1024
1263
  # @return [String]
1025
1264
  #
1026
1265
  # @!attribute [rw] integration_uri
@@ -1033,7 +1272,7 @@ module Aws::ApiGatewayV2
1033
1272
  # the Content-Type header in the request, and the available mapping
1034
1273
  # templates specified as the requestTemplates property on the
1035
1274
  # Integration resource. There are three valid values: WHEN\_NO\_MATCH,
1036
- # WHEN\_NO\_TEMPLATES, and NEVER.
1275
+ # WHEN\_NO\_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
1037
1276
  #
1038
1277
  # WHEN\_NO\_MATCH passes the request body for unmapped content types
1039
1278
  # through to the integration backend without transformation.
@@ -1047,6 +1286,11 @@ module Aws::ApiGatewayV2
1047
1286
  # the same HTTP 415 Unsupported Media Type response.
1048
1287
  # @return [String]
1049
1288
  #
1289
+ # @!attribute [rw] payload_format_version
1290
+ # Specifies the format of the payload sent to an integration. Required
1291
+ # for HTTP APIs. Currently, the only supported value is 1.0.
1292
+ # @return [String]
1293
+ #
1050
1294
  # @!attribute [rw] request_parameters
1051
1295
  # A key-value map specifying request parameters that are passed from
1052
1296
  # the method request to the backend. The key is an integration request
@@ -1054,16 +1298,25 @@ module Aws::ApiGatewayV2
1054
1298
  # parameter value or static value that must be enclosed within single
1055
1299
  # quotes and pre-encoded as required by the backend. The method
1056
1300
  # request parameter value must match the pattern of
1057
- # method.request.\\\{location\\}.\\\{name\\} , where \\\{location\\}
1058
- # is querystring, path, or header; and \\\{name\\} must be a valid and
1059
- # unique method request parameter name.
1301
+ # method.request.<replaceable>\{location\}</replaceable>
1302
+ #
1303
+ # .<replaceable>\{name\}</replaceable>
1304
+ #
1305
+ # , where <replaceable>\{location\}</replaceable>
1306
+ #
1307
+ # is querystring, path, or header; and
1308
+ # <replaceable>\{name\}</replaceable>
1309
+ #
1310
+ # must be a valid and unique method request parameter name. Supported
1311
+ # only for WebSocket APIs.
1060
1312
  # @return [Hash<String,String>]
1061
1313
  #
1062
1314
  # @!attribute [rw] request_templates
1063
1315
  # Represents a map of Velocity templates that are applied on the
1064
1316
  # request payload based on the value of the Content-Type header sent
1065
1317
  # by the client. The content type value is the key in this map, and
1066
- # the template (as a String) is the value.
1318
+ # the template (as a String) is the value. Supported only for
1319
+ # WebSocket APIs.
1067
1320
  # @return [Hash<String,String>]
1068
1321
  #
1069
1322
  # @!attribute [rw] template_selection_expression
@@ -1072,7 +1325,8 @@ module Aws::ApiGatewayV2
1072
1325
  #
1073
1326
  # @!attribute [rw] timeout_in_millis
1074
1327
  # Custom timeout between 50 and 29,000 milliseconds. The default value
1075
- # is 29,000 milliseconds or 29 seconds.
1328
+ # is 29,000 milliseconds or 29 seconds for WebSocket APIs. The default
1329
+ # value is 5,000 milliseconds, or 5 seconds for HTTP APIs.
1076
1330
  # @return [Integer]
1077
1331
  #
1078
1332
  class CreateIntegrationInput < Struct.new(
@@ -1085,6 +1339,7 @@ module Aws::ApiGatewayV2
1085
1339
  :integration_type,
1086
1340
  :integration_uri,
1087
1341
  :passthrough_behavior,
1342
+ :payload_format_version,
1088
1343
  :request_parameters,
1089
1344
  :request_templates,
1090
1345
  :template_selection_expression,
@@ -1106,6 +1361,7 @@ module Aws::ApiGatewayV2
1106
1361
  # integration_type: "AWS", # required, accepts AWS, HTTP, MOCK, HTTP_PROXY, AWS_PROXY
1107
1362
  # integration_uri: "UriWithLengthBetween1And2048",
1108
1363
  # passthrough_behavior: "WHEN_NO_MATCH", # accepts WHEN_NO_MATCH, NEVER, WHEN_NO_TEMPLATES
1364
+ # payload_format_version: "StringWithLengthBetween1And64",
1109
1365
  # request_parameters: {
1110
1366
  # "__string" => "StringWithLengthBetween1And512",
1111
1367
  # },
@@ -1129,6 +1385,7 @@ module Aws::ApiGatewayV2
1129
1385
  #
1130
1386
  # @!attribute [rw] content_handling_strategy
1131
1387
  # Specifies how to handle response payload content type conversions.
1388
+ # Supported only for WebSocket APIs.
1132
1389
  # @return [String]
1133
1390
  #
1134
1391
  # @!attribute [rw] credentials_arn
@@ -1153,6 +1410,11 @@ module Aws::ApiGatewayV2
1153
1410
  #
1154
1411
  # @!attribute [rw] passthrough_behavior
1155
1412
  # Represents passthrough behavior for an integration response.
1413
+ # Supported only for WebSocket APIs.
1414
+ # @return [String]
1415
+ #
1416
+ # @!attribute [rw] payload_format_version
1417
+ # A string with a length between \[1-64\].
1156
1418
  # @return [String]
1157
1419
  #
1158
1420
  # @!attribute [rw] request_parameters
@@ -1200,6 +1462,7 @@ module Aws::ApiGatewayV2
1200
1462
  :integration_type,
1201
1463
  :integration_uri,
1202
1464
  :passthrough_behavior,
1465
+ :payload_format_version,
1203
1466
  :request_parameters,
1204
1467
  :request_templates,
1205
1468
  :template_selection_expression,
@@ -1207,6 +1470,9 @@ module Aws::ApiGatewayV2
1207
1470
  include Aws::Structure
1208
1471
  end
1209
1472
 
1473
+ # @!attribute [rw] api_gateway_managed
1474
+ # @return [Boolean]
1475
+ #
1210
1476
  # @!attribute [rw] connection_id
1211
1477
  # A string with a length between \[1-1024\].
1212
1478
  # @return [String]
@@ -1217,6 +1483,7 @@ module Aws::ApiGatewayV2
1217
1483
  #
1218
1484
  # @!attribute [rw] content_handling_strategy
1219
1485
  # Specifies how to handle response payload content type conversions.
1486
+ # Supported only for WebSocket APIs.
1220
1487
  # @return [String]
1221
1488
  #
1222
1489
  # @!attribute [rw] credentials_arn
@@ -1254,6 +1521,11 @@ module Aws::ApiGatewayV2
1254
1521
  #
1255
1522
  # @!attribute [rw] passthrough_behavior
1256
1523
  # Represents passthrough behavior for an integration response.
1524
+ # Supported only for WebSocket APIs.
1525
+ # @return [String]
1526
+ #
1527
+ # @!attribute [rw] payload_format_version
1528
+ # A string with a length between \[1-64\].
1257
1529
  # @return [String]
1258
1530
  #
1259
1531
  # @!attribute [rw] request_parameters
@@ -1291,6 +1563,7 @@ module Aws::ApiGatewayV2
1291
1563
  # @return [Integer]
1292
1564
  #
1293
1565
  class CreateIntegrationResult < Struct.new(
1566
+ :api_gateway_managed,
1294
1567
  :connection_id,
1295
1568
  :connection_type,
1296
1569
  :content_handling_strategy,
@@ -1302,6 +1575,7 @@ module Aws::ApiGatewayV2
1302
1575
  :integration_type,
1303
1576
  :integration_uri,
1304
1577
  :passthrough_behavior,
1578
+ :payload_format_version,
1305
1579
  :request_parameters,
1306
1580
  :request_templates,
1307
1581
  :template_selection_expression,
@@ -1357,6 +1631,7 @@ module Aws::ApiGatewayV2
1357
1631
  #
1358
1632
  # @!attribute [rw] template_selection_expression
1359
1633
  # The template selection expression for the integration response.
1634
+ # Supported only for WebSocket APIs.
1360
1635
  # @return [String]
1361
1636
  #
1362
1637
  class CreateIntegrationResponseInput < Struct.new(
@@ -1390,13 +1665,14 @@ module Aws::ApiGatewayV2
1390
1665
  #
1391
1666
  # @!attribute [rw] content_handling_strategy
1392
1667
  # Specifies how to handle response payload content type conversions.
1668
+ # Supported only for WebSocket APIs.
1393
1669
  # @return [String]
1394
1670
  #
1395
1671
  # @!attribute [rw] integration_id
1396
1672
  # @return [String]
1397
1673
  #
1398
1674
  # @!attribute [rw] integration_response_key
1399
- # After evaulating a selection expression, the result is compared
1675
+ # After evaluating a selection expression, the result is compared
1400
1676
  # against one or more selection keys to find a matching key. See
1401
1677
  # [Selection Expressions][1] for a list of expressions and each
1402
1678
  # expression's associated selection key type.
@@ -1449,6 +1725,7 @@ module Aws::ApiGatewayV2
1449
1725
 
1450
1726
  # @!attribute [rw] content_handling_strategy
1451
1727
  # Specifies how to handle response payload content type conversions.
1728
+ # Supported only for WebSocket APIs.
1452
1729
  # @return [String]
1453
1730
  #
1454
1731
  # @!attribute [rw] integration_response_id
@@ -1456,7 +1733,7 @@ module Aws::ApiGatewayV2
1456
1733
  # @return [String]
1457
1734
  #
1458
1735
  # @!attribute [rw] integration_response_key
1459
- # After evaulating a selection expression, the result is compared
1736
+ # After evaluating a selection expression, the result is compared
1460
1737
  # against one or more selection keys to find a matching key. See
1461
1738
  # [Selection Expressions][1] for a list of expressions and each
1462
1739
  # expression's associated selection key type.
@@ -1604,7 +1881,8 @@ module Aws::ApiGatewayV2
1604
1881
  # Represents the input parameters for a CreateRoute request.
1605
1882
  #
1606
1883
  # @!attribute [rw] api_key_required
1607
- # Specifies whether an API key is required for the route.
1884
+ # Specifies whether an API key is required for the route. Supported
1885
+ # only for WebSocket APIs.
1608
1886
  # @return [Boolean]
1609
1887
  #
1610
1888
  # @!attribute [rw] authorization_scopes
@@ -1612,20 +1890,22 @@ module Aws::ApiGatewayV2
1612
1890
  # @return [Array<String>]
1613
1891
  #
1614
1892
  # @!attribute [rw] authorization_type
1615
- # The authorization type for the route. Valid values are NONE for open
1616
- # access, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
1617
- # a Lambda authorizer.
1893
+ # The authorization type for the route. For WebSocket APIs, valid
1894
+ # values are NONE for open access, AWS\_IAM for using AWS IAM
1895
+ # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
1896
+ # valid values are NONE for open access, or JWT for using JSON Web
1897
+ # Tokens.
1618
1898
  # @return [String]
1619
1899
  #
1620
1900
  # @!attribute [rw] authorizer_id
1621
1901
  # The identifier of the Authorizer resource to be associated with this
1622
- # route, if the authorizationType is CUSTOM . The authorizer
1623
- # identifier is generated by API Gateway when you created the
1624
- # authorizer.
1902
+ # route. The authorizer identifier is generated by API Gateway when
1903
+ # you created the authorizer.
1625
1904
  # @return [String]
1626
1905
  #
1627
1906
  # @!attribute [rw] model_selection_expression
1628
- # The model selection expression for the route.
1907
+ # The model selection expression for the route. Supported only for
1908
+ # WebSocket APIs.
1629
1909
  # @return [String]
1630
1910
  #
1631
1911
  # @!attribute [rw] operation_name
@@ -1633,11 +1913,12 @@ module Aws::ApiGatewayV2
1633
1913
  # @return [String]
1634
1914
  #
1635
1915
  # @!attribute [rw] request_models
1636
- # The request models for the route.
1916
+ # The request models for the route. Supported only for WebSocket APIs.
1637
1917
  # @return [Hash<String,String>]
1638
1918
  #
1639
1919
  # @!attribute [rw] request_parameters
1640
- # The request parameters for the route.
1920
+ # The request parameters for the route. Supported only for WebSocket
1921
+ # APIs.
1641
1922
  # @return [Hash<String,Types::ParameterConstraints>]
1642
1923
  #
1643
1924
  # @!attribute [rw] route_key
@@ -1645,7 +1926,8 @@ module Aws::ApiGatewayV2
1645
1926
  # @return [String]
1646
1927
  #
1647
1928
  # @!attribute [rw] route_response_selection_expression
1648
- # The route response selection expression for the route.
1929
+ # The route response selection expression for the route. Supported
1930
+ # only for WebSocket APIs.
1649
1931
  # @return [String]
1650
1932
  #
1651
1933
  # @!attribute [rw] target
@@ -1674,7 +1956,7 @@ module Aws::ApiGatewayV2
1674
1956
  # api_id: "__string", # required
1675
1957
  # api_key_required: false,
1676
1958
  # authorization_scopes: ["StringWithLengthBetween1And64"],
1677
- # authorization_type: "NONE", # accepts NONE, AWS_IAM, CUSTOM
1959
+ # authorization_type: "NONE", # accepts NONE, AWS_IAM, CUSTOM, JWT
1678
1960
  # authorizer_id: "Id",
1679
1961
  # model_selection_expression: "SelectionExpression",
1680
1962
  # operation_name: "StringWithLengthBetween1And64",
@@ -1699,20 +1981,21 @@ module Aws::ApiGatewayV2
1699
1981
  #
1700
1982
  # @!attribute [rw] authorization_scopes
1701
1983
  # A list of authorization scopes configured on a route. The scopes are
1702
- # used with a COGNITO\_USER\_POOLS authorizer to authorize the method
1703
- # invocation. The authorization works by matching the route scopes
1704
- # against the scopes parsed from the access token in the incoming
1705
- # request. The method invocation is authorized if any route scope
1706
- # matches a claimed scope in the access token. Otherwise, the
1707
- # invocation is not authorized. When the route scope is configured,
1708
- # the client must provide an access token instead of an identity token
1709
- # for authorization purposes.
1984
+ # used with a JWT authorizer to authorize the method invocation. The
1985
+ # authorization works by matching the route scopes against the scopes
1986
+ # parsed from the access token in the incoming request. The method
1987
+ # invocation is authorized if any route scope matches a claimed scope
1988
+ # in the access token. Otherwise, the invocation is not authorized.
1989
+ # When the route scope is configured, the client must provide an
1990
+ # access token instead of an identity token for authorization
1991
+ # purposes.
1710
1992
  # @return [Array<String>]
1711
1993
  #
1712
1994
  # @!attribute [rw] authorization_type
1713
- # The authorization type. Valid values are NONE for open access,
1714
- # AWS\_IAM for using AWS IAM permissions, and CUSTOM for using a
1715
- # Lambda authorizer.
1995
+ # The authorization type. For WebSocket APIs, valid values are NONE
1996
+ # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
1997
+ # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
1998
+ # for open access, or JWT for using JSON Web Tokens.
1716
1999
  # @return [String]
1717
2000
  #
1718
2001
  # @!attribute [rw] authorizer_id
@@ -1741,7 +2024,7 @@ module Aws::ApiGatewayV2
1741
2024
  # @return [Hash<String,Types::ParameterConstraints>]
1742
2025
  #
1743
2026
  # @!attribute [rw] route_key
1744
- # After evaulating a selection expression, the result is compared
2027
+ # After evaluating a selection expression, the result is compared
1745
2028
  # against one or more selection keys to find a matching key. See
1746
2029
  # [Selection Expressions][1] for a list of expressions and each
1747
2030
  # expression's associated selection key type.
@@ -1780,25 +2063,29 @@ module Aws::ApiGatewayV2
1780
2063
  include Aws::Structure
1781
2064
  end
1782
2065
 
2066
+ # @!attribute [rw] api_gateway_managed
2067
+ # @return [Boolean]
2068
+ #
1783
2069
  # @!attribute [rw] api_key_required
1784
2070
  # @return [Boolean]
1785
2071
  #
1786
2072
  # @!attribute [rw] authorization_scopes
1787
2073
  # A list of authorization scopes configured on a route. The scopes are
1788
- # used with a COGNITO\_USER\_POOLS authorizer to authorize the method
1789
- # invocation. The authorization works by matching the route scopes
1790
- # against the scopes parsed from the access token in the incoming
1791
- # request. The method invocation is authorized if any route scope
1792
- # matches a claimed scope in the access token. Otherwise, the
1793
- # invocation is not authorized. When the route scope is configured,
1794
- # the client must provide an access token instead of an identity token
1795
- # for authorization purposes.
2074
+ # used with a JWT authorizer to authorize the method invocation. The
2075
+ # authorization works by matching the route scopes against the scopes
2076
+ # parsed from the access token in the incoming request. The method
2077
+ # invocation is authorized if any route scope matches a claimed scope
2078
+ # in the access token. Otherwise, the invocation is not authorized.
2079
+ # When the route scope is configured, the client must provide an
2080
+ # access token instead of an identity token for authorization
2081
+ # purposes.
1796
2082
  # @return [Array<String>]
1797
2083
  #
1798
2084
  # @!attribute [rw] authorization_type
1799
- # The authorization type. Valid values are NONE for open access,
1800
- # AWS\_IAM for using AWS IAM permissions, and CUSTOM for using a
1801
- # Lambda authorizer.
2085
+ # The authorization type. For WebSocket APIs, valid values are NONE
2086
+ # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
2087
+ # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
2088
+ # for open access, or JWT for using JSON Web Tokens.
1802
2089
  # @return [String]
1803
2090
  #
1804
2091
  # @!attribute [rw] authorizer_id
@@ -1831,7 +2118,7 @@ module Aws::ApiGatewayV2
1831
2118
  # @return [String]
1832
2119
  #
1833
2120
  # @!attribute [rw] route_key
1834
- # After evaulating a selection expression, the result is compared
2121
+ # After evaluating a selection expression, the result is compared
1835
2122
  # against one or more selection keys to find a matching key. See
1836
2123
  # [Selection Expressions][1] for a list of expressions and each
1837
2124
  # expression's associated selection key type.
@@ -1855,6 +2142,7 @@ module Aws::ApiGatewayV2
1855
2142
  # @return [String]
1856
2143
  #
1857
2144
  class CreateRouteResult < Struct.new(
2145
+ :api_gateway_managed,
1858
2146
  :api_key_required,
1859
2147
  :authorization_scopes,
1860
2148
  :authorization_type,
@@ -1873,7 +2161,8 @@ module Aws::ApiGatewayV2
1873
2161
  # Represents the input parameters for an CreateRouteResponse request.
1874
2162
  #
1875
2163
  # @!attribute [rw] model_selection_expression
1876
- # The model selection expression for the route response.
2164
+ # The model selection expression for the route response. Supported
2165
+ # only for WebSocket APIs.
1877
2166
  # @return [String]
1878
2167
  #
1879
2168
  # @!attribute [rw] response_models
@@ -1938,7 +2227,7 @@ module Aws::ApiGatewayV2
1938
2227
  # @return [String]
1939
2228
  #
1940
2229
  # @!attribute [rw] route_response_key
1941
- # After evaulating a selection expression, the result is compared
2230
+ # After evaluating a selection expression, the result is compared
1942
2231
  # against one or more selection keys to find a matching key. See
1943
2232
  # [Selection Expressions][1] for a list of expressions and each
1944
2233
  # expression's associated selection key type.
@@ -1980,7 +2269,7 @@ module Aws::ApiGatewayV2
1980
2269
  # @return [String]
1981
2270
  #
1982
2271
  # @!attribute [rw] route_response_key
1983
- # After evaulating a selection expression, the result is compared
2272
+ # After evaluating a selection expression, the result is compared
1984
2273
  # against one or more selection keys to find a matching key. See
1985
2274
  # [Selection Expressions][1] for a list of expressions and each
1986
2275
  # expression's associated selection key type.
@@ -2005,8 +2294,14 @@ module Aws::ApiGatewayV2
2005
2294
  # Settings for logging access in this stage.
2006
2295
  # @return [Types::AccessLogSettings]
2007
2296
  #
2297
+ # @!attribute [rw] auto_deploy
2298
+ # Specifies whether updates to an API automatically trigger a new
2299
+ # deployment. The default value is false.
2300
+ # @return [Boolean]
2301
+ #
2008
2302
  # @!attribute [rw] client_certificate_id
2009
- # The identifier of a client certificate for a Stage.
2303
+ # The identifier of a client certificate for a Stage. Supported only
2304
+ # for WebSocket APIs.
2010
2305
  # @return [String]
2011
2306
  #
2012
2307
  # @!attribute [rw] default_route_settings
@@ -2022,7 +2317,7 @@ module Aws::ApiGatewayV2
2022
2317
  # @return [String]
2023
2318
  #
2024
2319
  # @!attribute [rw] route_settings
2025
- # Route settings for the stage.
2320
+ # Route settings for the stage, by routeKey.
2026
2321
  # @return [Hash<String,Types::RouteSettings>]
2027
2322
  #
2028
2323
  # @!attribute [rw] stage_name
@@ -2032,15 +2327,18 @@ module Aws::ApiGatewayV2
2032
2327
  # @!attribute [rw] stage_variables
2033
2328
  # A map that defines the stage variables for a Stage. Variable names
2034
2329
  # can have alphanumeric and underscore characters, and the values must
2035
- # match \[A-Za-z0-9-.\_~:/?#&=,\]+.
2330
+ # match \[A-Za-z0-9-.\_~:/?#&amp;=,\]+. Supported only for WebSocket
2331
+ # APIs.
2036
2332
  # @return [Hash<String,String>]
2037
2333
  #
2038
2334
  # @!attribute [rw] tags
2039
- # Tags for the Stage.
2335
+ # The collection of tags. Each tag element is associated with a given
2336
+ # resource.
2040
2337
  # @return [Hash<String,String>]
2041
2338
  #
2042
2339
  class CreateStageInput < Struct.new(
2043
2340
  :access_log_settings,
2341
+ :auto_deploy,
2044
2342
  :client_certificate_id,
2045
2343
  :default_route_settings,
2046
2344
  :deployment_id,
@@ -2061,6 +2359,7 @@ module Aws::ApiGatewayV2
2061
2359
  # format: "StringWithLengthBetween1And1024",
2062
2360
  # },
2063
2361
  # api_id: "__string", # required
2362
+ # auto_deploy: false,
2064
2363
  # client_certificate_id: "Id",
2065
2364
  # default_route_settings: {
2066
2365
  # data_trace_enabled: false,
@@ -2096,6 +2395,9 @@ module Aws::ApiGatewayV2
2096
2395
  # @!attribute [rw] api_id
2097
2396
  # @return [String]
2098
2397
  #
2398
+ # @!attribute [rw] auto_deploy
2399
+ # @return [Boolean]
2400
+ #
2099
2401
  # @!attribute [rw] client_certificate_id
2100
2402
  # The identifier.
2101
2403
  # @return [String]
@@ -2125,13 +2427,13 @@ module Aws::ApiGatewayV2
2125
2427
  # @return [Hash<String,String>]
2126
2428
  #
2127
2429
  # @!attribute [rw] tags
2128
- # A key value pair of string with key length between\[1-128\] and
2129
- # value length between\[1-256\]
2430
+ # Represents a collection of tags associated with the resource.
2130
2431
  # @return [Hash<String,String>]
2131
2432
  #
2132
2433
  class CreateStageRequest < Struct.new(
2133
2434
  :access_log_settings,
2134
2435
  :api_id,
2436
+ :auto_deploy,
2135
2437
  :client_certificate_id,
2136
2438
  :default_route_settings,
2137
2439
  :deployment_id,
@@ -2147,6 +2449,12 @@ module Aws::ApiGatewayV2
2147
2449
  # Settings for logging access in a stage.
2148
2450
  # @return [Types::AccessLogSettings]
2149
2451
  #
2452
+ # @!attribute [rw] api_gateway_managed
2453
+ # @return [Boolean]
2454
+ #
2455
+ # @!attribute [rw] auto_deploy
2456
+ # @return [Boolean]
2457
+ #
2150
2458
  # @!attribute [rw] client_certificate_id
2151
2459
  # The identifier.
2152
2460
  # @return [String]
@@ -2166,6 +2474,9 @@ module Aws::ApiGatewayV2
2166
2474
  # A string with a length between \[0-1024\].
2167
2475
  # @return [String]
2168
2476
  #
2477
+ # @!attribute [rw] last_deployment_status_message
2478
+ # @return [String]
2479
+ #
2169
2480
  # @!attribute [rw] last_updated_date
2170
2481
  # @return [Time]
2171
2482
  #
@@ -2182,17 +2493,19 @@ module Aws::ApiGatewayV2
2182
2493
  # @return [Hash<String,String>]
2183
2494
  #
2184
2495
  # @!attribute [rw] tags
2185
- # A key value pair of string with key length between\[1-128\] and
2186
- # value length between\[1-256\]
2496
+ # Represents a collection of tags associated with the resource.
2187
2497
  # @return [Hash<String,String>]
2188
2498
  #
2189
2499
  class CreateStageResponse < Struct.new(
2190
2500
  :access_log_settings,
2501
+ :api_gateway_managed,
2502
+ :auto_deploy,
2191
2503
  :client_certificate_id,
2192
2504
  :created_date,
2193
2505
  :default_route_settings,
2194
2506
  :deployment_id,
2195
2507
  :description,
2508
+ :last_deployment_status_message,
2196
2509
  :last_updated_date,
2197
2510
  :route_settings,
2198
2511
  :stage_name,
@@ -2256,6 +2569,21 @@ module Aws::ApiGatewayV2
2256
2569
  include Aws::Structure
2257
2570
  end
2258
2571
 
2572
+ # @note When making an API call, you may pass DeleteCorsConfigurationRequest
2573
+ # data as a hash:
2574
+ #
2575
+ # {
2576
+ # api_id: "__string", # required
2577
+ # }
2578
+ #
2579
+ # @!attribute [rw] api_id
2580
+ # @return [String]
2581
+ #
2582
+ class DeleteCorsConfigurationRequest < Struct.new(
2583
+ :api_id)
2584
+ include Aws::Structure
2585
+ end
2586
+
2259
2587
  # @note When making an API call, you may pass DeleteDeploymentRequest
2260
2588
  # data as a hash:
2261
2589
  #
@@ -2401,6 +2729,39 @@ module Aws::ApiGatewayV2
2401
2729
  include Aws::Structure
2402
2730
  end
2403
2731
 
2732
+ # @note When making an API call, you may pass DeleteRouteSettingsRequest
2733
+ # data as a hash:
2734
+ #
2735
+ # {
2736
+ # api_id: "__string", # required
2737
+ # route_key: "SelectionKey", # required
2738
+ # stage_name: "__string", # required
2739
+ # }
2740
+ #
2741
+ # @!attribute [rw] api_id
2742
+ # @return [String]
2743
+ #
2744
+ # @!attribute [rw] route_key
2745
+ # After evaluating a selection expression, the result is compared
2746
+ # against one or more selection keys to find a matching key. See
2747
+ # [Selection Expressions][1] for a list of expressions and each
2748
+ # expression's associated selection key type.
2749
+ #
2750
+ #
2751
+ #
2752
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
2753
+ # @return [String]
2754
+ #
2755
+ # @!attribute [rw] stage_name
2756
+ # @return [String]
2757
+ #
2758
+ class DeleteRouteSettingsRequest < Struct.new(
2759
+ :api_id,
2760
+ :route_key,
2761
+ :stage_name)
2762
+ include Aws::Structure
2763
+ end
2764
+
2404
2765
  # @note When making an API call, you may pass DeleteStageRequest
2405
2766
  # data as a hash:
2406
2767
  #
@@ -2425,6 +2786,10 @@ module Aws::ApiGatewayV2
2425
2786
  # Deployment must be associated with a Stage for it to be callable over
2426
2787
  # the internet.
2427
2788
  #
2789
+ # @!attribute [rw] auto_deployed
2790
+ # Specifies whether a deployment was automatically released.
2791
+ # @return [Boolean]
2792
+ #
2428
2793
  # @!attribute [rw] created_date
2429
2794
  # The date and time when the Deployment resource was created.
2430
2795
  # @return [Time]
@@ -2446,6 +2811,7 @@ module Aws::ApiGatewayV2
2446
2811
  # @return [String]
2447
2812
  #
2448
2813
  class Deployment < Struct.new(
2814
+ :auto_deployed,
2449
2815
  :created_date,
2450
2816
  :deployment_id,
2451
2817
  :deployment_status,
@@ -2489,7 +2855,7 @@ module Aws::ApiGatewayV2
2489
2855
  # @return [Array<Types::DomainNameConfiguration>]
2490
2856
  #
2491
2857
  # @!attribute [rw] tags
2492
- # Tags for the DomainName.
2858
+ # The collection of tags associated with a domain name.
2493
2859
  # @return [Hash<String,String>]
2494
2860
  #
2495
2861
  class DomainName < Struct.new(
@@ -2510,15 +2876,15 @@ module Aws::ApiGatewayV2
2510
2876
  # certificate_arn: "Arn",
2511
2877
  # certificate_name: "StringWithLengthBetween1And128",
2512
2878
  # certificate_upload_date: Time.now,
2879
+ # domain_name_status: "AVAILABLE", # accepts AVAILABLE, UPDATING
2880
+ # domain_name_status_message: "__string",
2513
2881
  # endpoint_type: "REGIONAL", # accepts REGIONAL, EDGE
2514
2882
  # hosted_zone_id: "__string",
2515
2883
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
2516
- # domain_name_status: "AVAILABLE", # accepts AVAILABLE, UPDATING
2517
- # domain_name_status_message: "__string",
2518
2884
  # }
2519
2885
  #
2520
2886
  # @!attribute [rw] api_gateway_domain_name
2521
- # A domain name for the WebSocket API.
2887
+ # A domain name for the API.
2522
2888
  # @return [String]
2523
2889
  #
2524
2890
  # @!attribute [rw] certificate_arn
@@ -2537,6 +2903,18 @@ module Aws::ApiGatewayV2
2537
2903
  # endpoint for this domain name was uploaded.
2538
2904
  # @return [Time]
2539
2905
  #
2906
+ # @!attribute [rw] domain_name_status
2907
+ # The status of the domain name migration. The valid values are
2908
+ # AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot
2909
+ # be modified further until the existing operation is complete. If it
2910
+ # is AVAILABLE, the domain can be updated.
2911
+ # @return [String]
2912
+ #
2913
+ # @!attribute [rw] domain_name_status_message
2914
+ # An optional text message containing detailed information about
2915
+ # status of the domain name migration.
2916
+ # @return [String]
2917
+ #
2540
2918
  # @!attribute [rw] endpoint_type
2541
2919
  # The endpoint type.
2542
2920
  # @return [String]
@@ -2550,28 +2928,16 @@ module Aws::ApiGatewayV2
2550
2928
  # for this domain name. The valid values are TLS\_1\_0 and TLS\_1\_2.
2551
2929
  # @return [String]
2552
2930
  #
2553
- # @!attribute [rw] domain_name_status
2554
- # The status of the domain name migration. The valid values are
2555
- # AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot
2556
- # be modified further until the existing operation is complete. If it
2557
- # is AVAILABLE, the domain can be updated.
2558
- # @return [String]
2559
- #
2560
- # @!attribute [rw] domain_name_status_message
2561
- # An optional text message containing detailed information about
2562
- # status of the domain name migration.
2563
- # @return [String]
2564
- #
2565
2931
  class DomainNameConfiguration < Struct.new(
2566
2932
  :api_gateway_domain_name,
2567
2933
  :certificate_arn,
2568
2934
  :certificate_name,
2569
2935
  :certificate_upload_date,
2936
+ :domain_name_status,
2937
+ :domain_name_status_message,
2570
2938
  :endpoint_type,
2571
2939
  :hosted_zone_id,
2572
- :security_policy,
2573
- :domain_name_status,
2574
- :domain_name_status_message)
2940
+ :security_policy)
2575
2941
  include Aws::Structure
2576
2942
  end
2577
2943
 
@@ -2621,7 +2987,7 @@ module Aws::ApiGatewayV2
2621
2987
  # @return [String]
2622
2988
  #
2623
2989
  # @!attribute [rw] api_mapping_key
2624
- # After evaulating a selection expression, the result is compared
2990
+ # After evaluating a selection expression, the result is compared
2625
2991
  # against one or more selection keys to find a matching key. See
2626
2992
  # [Selection Expressions][1] for a list of expressions and each
2627
2993
  # expression's associated selection key type.
@@ -2713,6 +3079,15 @@ module Aws::ApiGatewayV2
2713
3079
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
2714
3080
  # @return [String]
2715
3081
  #
3082
+ # @!attribute [rw] cors_configuration
3083
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
3084
+ # [Configuring CORS][1] for more information.
3085
+ #
3086
+ #
3087
+ #
3088
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
3089
+ # @return [Types::Cors]
3090
+ #
2716
3091
  # @!attribute [rw] created_date
2717
3092
  # @return [Time]
2718
3093
  #
@@ -2723,11 +3098,15 @@ module Aws::ApiGatewayV2
2723
3098
  # @!attribute [rw] disable_schema_validation
2724
3099
  # @return [Boolean]
2725
3100
  #
3101
+ # @!attribute [rw] import_info
3102
+ # @return [Array<String>]
3103
+ #
2726
3104
  # @!attribute [rw] name
2727
3105
  # A string with a length between \[1-128\].
2728
3106
  # @return [String]
2729
3107
  #
2730
3108
  # @!attribute [rw] protocol_type
3109
+ # Represents a protocol type.
2731
3110
  # @return [String]
2732
3111
  #
2733
3112
  # @!attribute [rw] route_selection_expression
@@ -2739,6 +3118,10 @@ module Aws::ApiGatewayV2
2739
3118
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
2740
3119
  # @return [String]
2741
3120
  #
3121
+ # @!attribute [rw] tags
3122
+ # Represents a collection of tags associated with the resource.
3123
+ # @return [Hash<String,String>]
3124
+ #
2742
3125
  # @!attribute [rw] version
2743
3126
  # A string with a length between \[1-64\].
2744
3127
  # @return [String]
@@ -2746,24 +3129,21 @@ module Aws::ApiGatewayV2
2746
3129
  # @!attribute [rw] warnings
2747
3130
  # @return [Array<String>]
2748
3131
  #
2749
- # @!attribute [rw] tags
2750
- # A key value pair of string with key length between\[1-128\] and
2751
- # value length between\[1-256\]
2752
- # @return [Hash<String,String>]
2753
- #
2754
3132
  class GetApiResponse < Struct.new(
2755
3133
  :api_endpoint,
2756
3134
  :api_id,
2757
3135
  :api_key_selection_expression,
3136
+ :cors_configuration,
2758
3137
  :created_date,
2759
3138
  :description,
2760
3139
  :disable_schema_validation,
3140
+ :import_info,
2761
3141
  :name,
2762
3142
  :protocol_type,
2763
3143
  :route_selection_expression,
3144
+ :tags,
2764
3145
  :version,
2765
- :warnings,
2766
- :tags)
3146
+ :warnings)
2767
3147
  include Aws::Structure
2768
3148
  end
2769
3149
 
@@ -2834,8 +3214,9 @@ module Aws::ApiGatewayV2
2834
3214
  # @return [Integer]
2835
3215
  #
2836
3216
  # @!attribute [rw] authorizer_type
2837
- # The authorizer type. Currently the only valid value is REQUEST, for
2838
- # a Lambda function using incoming request parameters.
3217
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
3218
+ # Lambda function using incoming request parameters. For HTTP APIs,
3219
+ # specify JWT to use JSON Web Tokens.
2839
3220
  # @return [String]
2840
3221
  #
2841
3222
  # @!attribute [rw] authorizer_uri
@@ -2865,14 +3246,15 @@ module Aws::ApiGatewayV2
2865
3246
  # A string with a length between \[0-1024\].
2866
3247
  # @return [String]
2867
3248
  #
3249
+ # @!attribute [rw] jwt_configuration
3250
+ # Represents the configuration of a JWT authorizer. Required for the
3251
+ # JWT authorizer type. Supported only for HTTP APIs.
3252
+ # @return [Types::JWTConfiguration]
3253
+ #
2868
3254
  # @!attribute [rw] name
2869
3255
  # A string with a length between \[1-128\].
2870
3256
  # @return [String]
2871
3257
  #
2872
- # @!attribute [rw] provider_arns
2873
- # For REQUEST authorizer, this is not defined.
2874
- # @return [Array<String>]
2875
- #
2876
3258
  class GetAuthorizerResponse < Struct.new(
2877
3259
  :authorizer_credentials_arn,
2878
3260
  :authorizer_id,
@@ -2881,8 +3263,8 @@ module Aws::ApiGatewayV2
2881
3263
  :authorizer_uri,
2882
3264
  :identity_source,
2883
3265
  :identity_validation_expression,
2884
- :name,
2885
- :provider_arns)
3266
+ :jwt_configuration,
3267
+ :name)
2886
3268
  include Aws::Structure
2887
3269
  end
2888
3270
 
@@ -2945,6 +3327,9 @@ module Aws::ApiGatewayV2
2945
3327
  include Aws::Structure
2946
3328
  end
2947
3329
 
3330
+ # @!attribute [rw] auto_deployed
3331
+ # @return [Boolean]
3332
+ #
2948
3333
  # @!attribute [rw] created_date
2949
3334
  # @return [Time]
2950
3335
  #
@@ -2964,6 +3349,7 @@ module Aws::ApiGatewayV2
2964
3349
  # @return [String]
2965
3350
  #
2966
3351
  class GetDeploymentResponse < Struct.new(
3352
+ :auto_deployed,
2967
3353
  :created_date,
2968
3354
  :deployment_id,
2969
3355
  :deployment_status,
@@ -3044,8 +3430,7 @@ module Aws::ApiGatewayV2
3044
3430
  # @return [Array<Types::DomainNameConfiguration>]
3045
3431
  #
3046
3432
  # @!attribute [rw] tags
3047
- # A key value pair of string with key length between\[1-128\] and
3048
- # value length between\[1-256\]
3433
+ # Represents a collection of tags associated with the resource.
3049
3434
  # @return [Hash<String,String>]
3050
3435
  #
3051
3436
  class GetDomainNameResponse < Struct.new(
@@ -3110,6 +3495,9 @@ module Aws::ApiGatewayV2
3110
3495
  include Aws::Structure
3111
3496
  end
3112
3497
 
3498
+ # @!attribute [rw] api_gateway_managed
3499
+ # @return [Boolean]
3500
+ #
3113
3501
  # @!attribute [rw] connection_id
3114
3502
  # A string with a length between \[1-1024\].
3115
3503
  # @return [String]
@@ -3120,6 +3508,7 @@ module Aws::ApiGatewayV2
3120
3508
  #
3121
3509
  # @!attribute [rw] content_handling_strategy
3122
3510
  # Specifies how to handle response payload content type conversions.
3511
+ # Supported only for WebSocket APIs.
3123
3512
  # @return [String]
3124
3513
  #
3125
3514
  # @!attribute [rw] credentials_arn
@@ -3157,6 +3546,11 @@ module Aws::ApiGatewayV2
3157
3546
  #
3158
3547
  # @!attribute [rw] passthrough_behavior
3159
3548
  # Represents passthrough behavior for an integration response.
3549
+ # Supported only for WebSocket APIs.
3550
+ # @return [String]
3551
+ #
3552
+ # @!attribute [rw] payload_format_version
3553
+ # A string with a length between \[1-64\].
3160
3554
  # @return [String]
3161
3555
  #
3162
3556
  # @!attribute [rw] request_parameters
@@ -3194,6 +3588,7 @@ module Aws::ApiGatewayV2
3194
3588
  # @return [Integer]
3195
3589
  #
3196
3590
  class GetIntegrationResult < Struct.new(
3591
+ :api_gateway_managed,
3197
3592
  :connection_id,
3198
3593
  :connection_type,
3199
3594
  :content_handling_strategy,
@@ -3205,6 +3600,7 @@ module Aws::ApiGatewayV2
3205
3600
  :integration_type,
3206
3601
  :integration_uri,
3207
3602
  :passthrough_behavior,
3603
+ :payload_format_version,
3208
3604
  :request_parameters,
3209
3605
  :request_templates,
3210
3606
  :template_selection_expression,
@@ -3239,6 +3635,7 @@ module Aws::ApiGatewayV2
3239
3635
 
3240
3636
  # @!attribute [rw] content_handling_strategy
3241
3637
  # Specifies how to handle response payload content type conversions.
3638
+ # Supported only for WebSocket APIs.
3242
3639
  # @return [String]
3243
3640
  #
3244
3641
  # @!attribute [rw] integration_response_id
@@ -3246,7 +3643,7 @@ module Aws::ApiGatewayV2
3246
3643
  # @return [String]
3247
3644
  #
3248
3645
  # @!attribute [rw] integration_response_key
3249
- # After evaulating a selection expression, the result is compared
3646
+ # After evaluating a selection expression, the result is compared
3250
3647
  # against one or more selection keys to find a matching key. See
3251
3648
  # [Selection Expressions][1] for a list of expressions and each
3252
3649
  # expression's associated selection key type.
@@ -3515,25 +3912,29 @@ module Aws::ApiGatewayV2
3515
3912
  include Aws::Structure
3516
3913
  end
3517
3914
 
3915
+ # @!attribute [rw] api_gateway_managed
3916
+ # @return [Boolean]
3917
+ #
3518
3918
  # @!attribute [rw] api_key_required
3519
3919
  # @return [Boolean]
3520
3920
  #
3521
3921
  # @!attribute [rw] authorization_scopes
3522
3922
  # A list of authorization scopes configured on a route. The scopes are
3523
- # used with a COGNITO\_USER\_POOLS authorizer to authorize the method
3524
- # invocation. The authorization works by matching the route scopes
3525
- # against the scopes parsed from the access token in the incoming
3526
- # request. The method invocation is authorized if any route scope
3527
- # matches a claimed scope in the access token. Otherwise, the
3528
- # invocation is not authorized. When the route scope is configured,
3529
- # the client must provide an access token instead of an identity token
3530
- # for authorization purposes.
3923
+ # used with a JWT authorizer to authorize the method invocation. The
3924
+ # authorization works by matching the route scopes against the scopes
3925
+ # parsed from the access token in the incoming request. The method
3926
+ # invocation is authorized if any route scope matches a claimed scope
3927
+ # in the access token. Otherwise, the invocation is not authorized.
3928
+ # When the route scope is configured, the client must provide an
3929
+ # access token instead of an identity token for authorization
3930
+ # purposes.
3531
3931
  # @return [Array<String>]
3532
3932
  #
3533
3933
  # @!attribute [rw] authorization_type
3534
- # The authorization type. Valid values are NONE for open access,
3535
- # AWS\_IAM for using AWS IAM permissions, and CUSTOM for using a
3536
- # Lambda authorizer.
3934
+ # The authorization type. For WebSocket APIs, valid values are NONE
3935
+ # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
3936
+ # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
3937
+ # for open access, or JWT for using JSON Web Tokens.
3537
3938
  # @return [String]
3538
3939
  #
3539
3940
  # @!attribute [rw] authorizer_id
@@ -3566,7 +3967,7 @@ module Aws::ApiGatewayV2
3566
3967
  # @return [String]
3567
3968
  #
3568
3969
  # @!attribute [rw] route_key
3569
- # After evaulating a selection expression, the result is compared
3970
+ # After evaluating a selection expression, the result is compared
3570
3971
  # against one or more selection keys to find a matching key. See
3571
3972
  # [Selection Expressions][1] for a list of expressions and each
3572
3973
  # expression's associated selection key type.
@@ -3590,6 +3991,7 @@ module Aws::ApiGatewayV2
3590
3991
  # @return [String]
3591
3992
  #
3592
3993
  class GetRouteResult < Struct.new(
3994
+ :api_gateway_managed,
3593
3995
  :api_key_required,
3594
3996
  :authorization_scopes,
3595
3997
  :authorization_type,
@@ -3652,7 +4054,7 @@ module Aws::ApiGatewayV2
3652
4054
  # @return [String]
3653
4055
  #
3654
4056
  # @!attribute [rw] route_response_key
3655
- # After evaulating a selection expression, the result is compared
4057
+ # After evaluating a selection expression, the result is compared
3656
4058
  # against one or more selection keys to find a matching key. See
3657
4059
  # [Selection Expressions][1] for a list of expressions and each
3658
4060
  # expression's associated selection key type.
@@ -3778,6 +4180,12 @@ module Aws::ApiGatewayV2
3778
4180
  # Settings for logging access in a stage.
3779
4181
  # @return [Types::AccessLogSettings]
3780
4182
  #
4183
+ # @!attribute [rw] api_gateway_managed
4184
+ # @return [Boolean]
4185
+ #
4186
+ # @!attribute [rw] auto_deploy
4187
+ # @return [Boolean]
4188
+ #
3781
4189
  # @!attribute [rw] client_certificate_id
3782
4190
  # The identifier.
3783
4191
  # @return [String]
@@ -3797,6 +4205,9 @@ module Aws::ApiGatewayV2
3797
4205
  # A string with a length between \[0-1024\].
3798
4206
  # @return [String]
3799
4207
  #
4208
+ # @!attribute [rw] last_deployment_status_message
4209
+ # @return [String]
4210
+ #
3800
4211
  # @!attribute [rw] last_updated_date
3801
4212
  # @return [Time]
3802
4213
  #
@@ -3813,17 +4224,19 @@ module Aws::ApiGatewayV2
3813
4224
  # @return [Hash<String,String>]
3814
4225
  #
3815
4226
  # @!attribute [rw] tags
3816
- # A key value pair of string with key length between\[1-128\] and
3817
- # value length between\[1-256\]
4227
+ # Represents a collection of tags associated with the resource.
3818
4228
  # @return [Hash<String,String>]
3819
4229
  #
3820
4230
  class GetStageResponse < Struct.new(
3821
4231
  :access_log_settings,
4232
+ :api_gateway_managed,
4233
+ :auto_deploy,
3822
4234
  :client_certificate_id,
3823
4235
  :created_date,
3824
4236
  :default_route_settings,
3825
4237
  :deployment_id,
3826
4238
  :description,
4239
+ :last_deployment_status_message,
3827
4240
  :last_updated_date,
3828
4241
  :route_settings,
3829
4242
  :stage_name,
@@ -3871,8 +4284,159 @@ module Aws::ApiGatewayV2
3871
4284
  include Aws::Structure
3872
4285
  end
3873
4286
 
4287
+ # @note When making an API call, you may pass GetTagsRequest
4288
+ # data as a hash:
4289
+ #
4290
+ # {
4291
+ # resource_arn: "__string", # required
4292
+ # }
4293
+ #
4294
+ # @!attribute [rw] resource_arn
4295
+ # @return [String]
4296
+ #
4297
+ class GetTagsRequest < Struct.new(
4298
+ :resource_arn)
4299
+ include Aws::Structure
4300
+ end
4301
+
4302
+ # @!attribute [rw] tags
4303
+ # Represents a collection of tags associated with the resource.
4304
+ # @return [Hash<String,String>]
4305
+ #
4306
+ class GetTagsResponse < Struct.new(
4307
+ :tags)
4308
+ include Aws::Structure
4309
+ end
4310
+
4311
+ # Represents the input to ImportAPI. Supported only for HTTP APIs.
4312
+ #
4313
+ # @!attribute [rw] body
4314
+ # The OpenAPI definition. Supported only for HTTP APIs.
4315
+ # @return [String]
4316
+ #
4317
+ class ImportApiInput < Struct.new(
4318
+ :body)
4319
+ include Aws::Structure
4320
+ end
4321
+
4322
+ # @note When making an API call, you may pass ImportApiRequest
4323
+ # data as a hash:
4324
+ #
4325
+ # {
4326
+ # basepath: "__string",
4327
+ # body: "__string", # required
4328
+ # fail_on_warnings: false,
4329
+ # }
4330
+ #
4331
+ # @!attribute [rw] basepath
4332
+ # @return [String]
4333
+ #
4334
+ # @!attribute [rw] body
4335
+ # @return [String]
4336
+ #
4337
+ # @!attribute [rw] fail_on_warnings
4338
+ # @return [Boolean]
4339
+ #
4340
+ class ImportApiRequest < Struct.new(
4341
+ :basepath,
4342
+ :body,
4343
+ :fail_on_warnings)
4344
+ include Aws::Structure
4345
+ end
4346
+
4347
+ # @!attribute [rw] api_endpoint
4348
+ # @return [String]
4349
+ #
4350
+ # @!attribute [rw] api_id
4351
+ # The identifier.
4352
+ # @return [String]
4353
+ #
4354
+ # @!attribute [rw] api_key_selection_expression
4355
+ # An expression used to extract information at runtime. See [Selection
4356
+ # Expressions][1] for more information.
4357
+ #
4358
+ #
4359
+ #
4360
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4361
+ # @return [String]
4362
+ #
4363
+ # @!attribute [rw] cors_configuration
4364
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
4365
+ # [Configuring CORS][1] for more information.
4366
+ #
4367
+ #
4368
+ #
4369
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
4370
+ # @return [Types::Cors]
4371
+ #
4372
+ # @!attribute [rw] created_date
4373
+ # @return [Time]
4374
+ #
4375
+ # @!attribute [rw] description
4376
+ # A string with a length between \[0-1024\].
4377
+ # @return [String]
4378
+ #
4379
+ # @!attribute [rw] disable_schema_validation
4380
+ # @return [Boolean]
4381
+ #
4382
+ # @!attribute [rw] import_info
4383
+ # @return [Array<String>]
4384
+ #
4385
+ # @!attribute [rw] name
4386
+ # A string with a length between \[1-128\].
4387
+ # @return [String]
4388
+ #
4389
+ # @!attribute [rw] protocol_type
4390
+ # Represents a protocol type.
4391
+ # @return [String]
4392
+ #
4393
+ # @!attribute [rw] route_selection_expression
4394
+ # An expression used to extract information at runtime. See [Selection
4395
+ # Expressions][1] for more information.
4396
+ #
4397
+ #
4398
+ #
4399
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4400
+ # @return [String]
4401
+ #
4402
+ # @!attribute [rw] tags
4403
+ # Represents a collection of tags associated with the resource.
4404
+ # @return [Hash<String,String>]
4405
+ #
4406
+ # @!attribute [rw] version
4407
+ # A string with a length between \[1-64\].
4408
+ # @return [String]
4409
+ #
4410
+ # @!attribute [rw] warnings
4411
+ # @return [Array<String>]
4412
+ #
4413
+ class ImportApiResponse < Struct.new(
4414
+ :api_endpoint,
4415
+ :api_id,
4416
+ :api_key_selection_expression,
4417
+ :cors_configuration,
4418
+ :created_date,
4419
+ :description,
4420
+ :disable_schema_validation,
4421
+ :import_info,
4422
+ :name,
4423
+ :protocol_type,
4424
+ :route_selection_expression,
4425
+ :tags,
4426
+ :version,
4427
+ :warnings)
4428
+ include Aws::Structure
4429
+ end
4430
+
3874
4431
  # Represents an integration.
3875
4432
  #
4433
+ # @!attribute [rw] api_gateway_managed
4434
+ # Specifies whether an integration is managed by API Gateway. If you
4435
+ # created an API using using quick create, the resulting integration
4436
+ # is managed by API Gateway. You can update a managed integration, but
4437
+ # you can't delete it.
4438
+ # @return [Boolean]
4439
+ #
3876
4440
  # @!attribute [rw] connection_id
3877
4441
  # The connection ID.
3878
4442
  # @return [String]
@@ -3884,9 +4448,10 @@ module Aws::ApiGatewayV2
3884
4448
  # @return [String]
3885
4449
  #
3886
4450
  # @!attribute [rw] content_handling_strategy
3887
- # Specifies how to handle response payload content type conversions.
3888
- # Supported values are CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with
3889
- # the following behaviors:
4451
+ # Supported only for WebSocket APIs. Specifies how to handle response
4452
+ # payload content type conversions. Supported values are
4453
+ # CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with the following
4454
+ # behaviors:
3890
4455
  #
3891
4456
  # CONVERT\_TO\_BINARY: Converts a response payload from a
3892
4457
  # Base64-encoded string to the corresponding binary blob.
@@ -3922,7 +4487,8 @@ module Aws::ApiGatewayV2
3922
4487
  #
3923
4488
  # @!attribute [rw] integration_response_selection_expression
3924
4489
  # The integration response selection expression for the integration.
3925
- # See [Integration Response Selection Expressions][1].
4490
+ # Supported only for WebSocket APIs. See [Integration Response
4491
+ # Selection Expressions][1].
3926
4492
  #
3927
4493
  #
3928
4494
  #
@@ -3936,7 +4502,7 @@ module Aws::ApiGatewayV2
3936
4502
  # action, including the Lambda function-invoking action. With the
3937
4503
  # Lambda function-invoking action, this is referred to as the Lambda
3938
4504
  # custom integration. With any other AWS service action, this is known
3939
- # as AWS integration.
4505
+ # as AWS integration. Supported only for WebSocket APIs.
3940
4506
  #
3941
4507
  # AWS\_PROXY: for integrating the route or method request with the
3942
4508
  # Lambda function-invoking action with the client request passed
@@ -3945,14 +4511,15 @@ module Aws::ApiGatewayV2
3945
4511
  #
3946
4512
  # HTTP: for integrating the route or method request with an HTTP
3947
4513
  # endpoint. This integration is also referred to as the HTTP custom
3948
- # integration.
4514
+ # integration. Supported only for WebSocket APIs.
3949
4515
  #
3950
4516
  # HTTP\_PROXY: for integrating route or method request with an HTTP
3951
4517
  # endpoint, with the client request passed through as-is. This is also
3952
4518
  # referred to as HTTP proxy integration.
3953
4519
  #
3954
4520
  # MOCK: for integrating the route or method request with API Gateway
3955
- # as a "loopback" endpoint without invoking any backend.
4521
+ # as a "loopback" endpoint without invoking any backend. Supported
4522
+ # only for WebSocket APIs.
3956
4523
  # @return [String]
3957
4524
  #
3958
4525
  # @!attribute [rw] integration_uri
@@ -3965,7 +4532,7 @@ module Aws::ApiGatewayV2
3965
4532
  # the Content-Type header in the request, and the available mapping
3966
4533
  # templates specified as the requestTemplates property on the
3967
4534
  # Integration resource. There are three valid values: WHEN\_NO\_MATCH,
3968
- # WHEN\_NO\_TEMPLATES, and NEVER.
4535
+ # WHEN\_NO\_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
3969
4536
  #
3970
4537
  # WHEN\_NO\_MATCH passes the request body for unmapped content types
3971
4538
  # through to the integration backend without transformation.
@@ -3979,6 +4546,11 @@ module Aws::ApiGatewayV2
3979
4546
  # the same HTTP 415 Unsupported Media Type response.
3980
4547
  # @return [String]
3981
4548
  #
4549
+ # @!attribute [rw] payload_format_version
4550
+ # Specifies the format of the payload sent to an integration. Required
4551
+ # for HTTP APIs. Currently, the only supported value is 1.0.
4552
+ # @return [String]
4553
+ #
3982
4554
  # @!attribute [rw] request_parameters
3983
4555
  # A key-value map specifying request parameters that are passed from
3984
4556
  # the method request to the backend. The key is an integration request
@@ -3986,28 +4558,40 @@ module Aws::ApiGatewayV2
3986
4558
  # parameter value or static value that must be enclosed within single
3987
4559
  # quotes and pre-encoded as required by the backend. The method
3988
4560
  # request parameter value must match the pattern of
3989
- # method.request.\\\{location\\}.\\\{name\\} , where \\\{location\\}
3990
- # is querystring, path, or header; and \\\{name\\} must be a valid and
3991
- # unique method request parameter name.
4561
+ # method.request.<replaceable>\{location\}</replaceable>
4562
+ #
4563
+ # .<replaceable>\{name\}</replaceable>
4564
+ #
4565
+ # , where <replaceable>\{location\}</replaceable>
4566
+ #
4567
+ # is querystring, path, or header; and
4568
+ # <replaceable>\{name\}</replaceable>
4569
+ #
4570
+ # must be a valid and unique method request parameter name. Supported
4571
+ # only for WebSocket APIs.
3992
4572
  # @return [Hash<String,String>]
3993
4573
  #
3994
4574
  # @!attribute [rw] request_templates
3995
4575
  # Represents a map of Velocity templates that are applied on the
3996
4576
  # request payload based on the value of the Content-Type header sent
3997
4577
  # by the client. The content type value is the key in this map, and
3998
- # the template (as a String) is the value.
4578
+ # the template (as a String) is the value. Supported only for
4579
+ # WebSocket APIs.
3999
4580
  # @return [Hash<String,String>]
4000
4581
  #
4001
4582
  # @!attribute [rw] template_selection_expression
4002
- # The template selection expression for the integration.
4583
+ # The template selection expression for the integration. Supported
4584
+ # only for WebSocket APIs.
4003
4585
  # @return [String]
4004
4586
  #
4005
4587
  # @!attribute [rw] timeout_in_millis
4006
4588
  # Custom timeout between 50 and 29,000 milliseconds. The default value
4007
- # is 29,000 milliseconds or 29 seconds.
4589
+ # is 29,000 milliseconds or 29 seconds for WebSocket APIs. The default
4590
+ # value is 5,000 milliseconds, or 5 seconds for HTTP APIs.
4008
4591
  # @return [Integer]
4009
4592
  #
4010
4593
  class Integration < Struct.new(
4594
+ :api_gateway_managed,
4011
4595
  :connection_id,
4012
4596
  :connection_type,
4013
4597
  :content_handling_strategy,
@@ -4019,6 +4603,7 @@ module Aws::ApiGatewayV2
4019
4603
  :integration_type,
4020
4604
  :integration_uri,
4021
4605
  :passthrough_behavior,
4606
+ :payload_format_version,
4022
4607
  :request_parameters,
4023
4608
  :request_templates,
4024
4609
  :template_selection_expression,
@@ -4029,9 +4614,10 @@ module Aws::ApiGatewayV2
4029
4614
  # Represents an integration response.
4030
4615
  #
4031
4616
  # @!attribute [rw] content_handling_strategy
4032
- # Specifies how to handle response payload content type conversions.
4033
- # Supported values are CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with
4034
- # the following behaviors:
4617
+ # Supported only for WebSocket APIs. Specifies how to handle response
4618
+ # payload content type conversions. Supported values are
4619
+ # CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with the following
4620
+ # behaviors:
4035
4621
  #
4036
4622
  # CONVERT\_TO\_BINARY: Converts a response payload from a
4037
4623
  # Base64-encoded string to the corresponding binary blob.
@@ -4122,6 +4708,44 @@ module Aws::ApiGatewayV2
4122
4708
  include Aws::Structure
4123
4709
  end
4124
4710
 
4711
+ # Represents the configuration of a JWT authorizer. Required for the JWT
4712
+ # authorizer type. Supported only for HTTP APIs.
4713
+ #
4714
+ # @note When making an API call, you may pass JWTConfiguration
4715
+ # data as a hash:
4716
+ #
4717
+ # {
4718
+ # audience: ["__string"],
4719
+ # issuer: "UriWithLengthBetween1And2048",
4720
+ # }
4721
+ #
4722
+ # @!attribute [rw] audience
4723
+ # A list of the intended recipients of the JWT. A valid JWT must
4724
+ # provide an aud that matches at least one entry in this list. See
4725
+ # [RFC 7519][1]. Supported only for HTTP APIs.
4726
+ #
4727
+ #
4728
+ #
4729
+ # [1]: https://tools.ietf.org/html/rfc7519#section-4.1.3
4730
+ # @return [Array<String>]
4731
+ #
4732
+ # @!attribute [rw] issuer
4733
+ # The base domain of the identity provider that issues JSON Web
4734
+ # Tokens. For example, an Amazon Cognito user pool has the following
4735
+ # format: https://cognito-idp.<replaceable>\{region\}</replaceable>
4736
+ #
4737
+ # .amazonaws.com/<replaceable>\{userPoolId\}</replaceable>
4738
+ #
4739
+ # . Required for the JWT authorizer type. Supported only for HTTP
4740
+ # APIs.
4741
+ # @return [String]
4742
+ #
4743
+ class JWTConfiguration < Struct.new(
4744
+ :audience,
4745
+ :issuer)
4746
+ include Aws::Structure
4747
+ end
4748
+
4125
4749
  # A limit has been exceeded. See the accompanying error message for
4126
4750
  # details.
4127
4751
  #
@@ -4139,31 +4763,9 @@ module Aws::ApiGatewayV2
4139
4763
  include Aws::Structure
4140
4764
  end
4141
4765
 
4142
- # @note When making an API call, you may pass GetTagsRequest
4143
- # data as a hash:
4144
- #
4145
- # {
4146
- # resource_arn: "__string", # required
4147
- # }
4148
- #
4149
- # @!attribute [rw] resource_arn
4150
- # @return [String]
4151
- #
4152
- class GetTagsRequest < Struct.new(
4153
- :resource_arn)
4154
- include Aws::Structure
4155
- end
4156
-
4157
- # @!attribute [rw] tags
4158
- # @return [Hash<String,String>]
4159
- #
4160
- class GetTagsResponse < Struct.new(
4161
- :tags)
4162
- include Aws::Structure
4163
- end
4164
-
4165
- # Represents a data model for an API. See [Create Models and Mapping
4166
- # Templates for Request and Response Mappings][1].
4766
+ # Represents a data model for an API. Supported only for WebSocket APIs.
4767
+ # See [Create Models and Mapping Templates for Request and Response
4768
+ # Mappings][1].
4167
4769
  #
4168
4770
  #
4169
4771
  #
@@ -4257,39 +4859,174 @@ module Aws::ApiGatewayV2
4257
4859
  include Aws::Structure
4258
4860
  end
4259
4861
 
4862
+ # Overwrites the configuration of an existing API using the provided
4863
+ # definition. Supported only for HTTP APIs.
4864
+ #
4865
+ # @!attribute [rw] body
4866
+ # The OpenAPI definition. Supported only for HTTP APIs.
4867
+ # @return [String]
4868
+ #
4869
+ class ReimportApiInput < Struct.new(
4870
+ :body)
4871
+ include Aws::Structure
4872
+ end
4873
+
4874
+ # @note When making an API call, you may pass ReimportApiRequest
4875
+ # data as a hash:
4876
+ #
4877
+ # {
4878
+ # api_id: "__string", # required
4879
+ # basepath: "__string",
4880
+ # body: "__string", # required
4881
+ # fail_on_warnings: false,
4882
+ # }
4883
+ #
4884
+ # @!attribute [rw] api_id
4885
+ # @return [String]
4886
+ #
4887
+ # @!attribute [rw] basepath
4888
+ # @return [String]
4889
+ #
4890
+ # @!attribute [rw] body
4891
+ # @return [String]
4892
+ #
4893
+ # @!attribute [rw] fail_on_warnings
4894
+ # @return [Boolean]
4895
+ #
4896
+ class ReimportApiRequest < Struct.new(
4897
+ :api_id,
4898
+ :basepath,
4899
+ :body,
4900
+ :fail_on_warnings)
4901
+ include Aws::Structure
4902
+ end
4903
+
4904
+ # @!attribute [rw] api_endpoint
4905
+ # @return [String]
4906
+ #
4907
+ # @!attribute [rw] api_id
4908
+ # The identifier.
4909
+ # @return [String]
4910
+ #
4911
+ # @!attribute [rw] api_key_selection_expression
4912
+ # An expression used to extract information at runtime. See [Selection
4913
+ # Expressions][1] for more information.
4914
+ #
4915
+ #
4916
+ #
4917
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4918
+ # @return [String]
4919
+ #
4920
+ # @!attribute [rw] cors_configuration
4921
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
4922
+ # [Configuring CORS][1] for more information.
4923
+ #
4924
+ #
4925
+ #
4926
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
4927
+ # @return [Types::Cors]
4928
+ #
4929
+ # @!attribute [rw] created_date
4930
+ # @return [Time]
4931
+ #
4932
+ # @!attribute [rw] description
4933
+ # A string with a length between \[0-1024\].
4934
+ # @return [String]
4935
+ #
4936
+ # @!attribute [rw] disable_schema_validation
4937
+ # @return [Boolean]
4938
+ #
4939
+ # @!attribute [rw] import_info
4940
+ # @return [Array<String>]
4941
+ #
4942
+ # @!attribute [rw] name
4943
+ # A string with a length between \[1-128\].
4944
+ # @return [String]
4945
+ #
4946
+ # @!attribute [rw] protocol_type
4947
+ # Represents a protocol type.
4948
+ # @return [String]
4949
+ #
4950
+ # @!attribute [rw] route_selection_expression
4951
+ # An expression used to extract information at runtime. See [Selection
4952
+ # Expressions][1] for more information.
4953
+ #
4954
+ #
4955
+ #
4956
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4957
+ # @return [String]
4958
+ #
4959
+ # @!attribute [rw] tags
4960
+ # Represents a collection of tags associated with the resource.
4961
+ # @return [Hash<String,String>]
4962
+ #
4963
+ # @!attribute [rw] version
4964
+ # A string with a length between \[1-64\].
4965
+ # @return [String]
4966
+ #
4967
+ # @!attribute [rw] warnings
4968
+ # @return [Array<String>]
4969
+ #
4970
+ class ReimportApiResponse < Struct.new(
4971
+ :api_endpoint,
4972
+ :api_id,
4973
+ :api_key_selection_expression,
4974
+ :cors_configuration,
4975
+ :created_date,
4976
+ :description,
4977
+ :disable_schema_validation,
4978
+ :import_info,
4979
+ :name,
4980
+ :protocol_type,
4981
+ :route_selection_expression,
4982
+ :tags,
4983
+ :version,
4984
+ :warnings)
4985
+ include Aws::Structure
4986
+ end
4987
+
4260
4988
  # Represents a route.
4261
4989
  #
4990
+ # @!attribute [rw] api_gateway_managed
4991
+ # Specifies whether a route is managed by API Gateway. If you created
4992
+ # an API using quick create, the $default route is managed by API
4993
+ # Gateway. You can't modify the $default route key.
4994
+ # @return [Boolean]
4995
+ #
4262
4996
  # @!attribute [rw] api_key_required
4263
- # Specifies whether an API key is required for this route.
4997
+ # Specifies whether an API key is required for this route. Supported
4998
+ # only for WebSocket APIs.
4264
4999
  # @return [Boolean]
4265
5000
  #
4266
5001
  # @!attribute [rw] authorization_scopes
4267
5002
  # A list of authorization scopes configured on a route. The scopes are
4268
- # used with a COGNITO\_USER\_POOLS authorizer to authorize the method
4269
- # invocation. The authorization works by matching the route scopes
4270
- # against the scopes parsed from the access token in the incoming
4271
- # request. The method invocation is authorized if any route scope
4272
- # matches a claimed scope in the access token. Otherwise, the
4273
- # invocation is not authorized. When the route scope is configured,
4274
- # the client must provide an access token instead of an identity token
4275
- # for authorization purposes.
5003
+ # used with a JWT authorizer to authorize the method invocation. The
5004
+ # authorization works by matching the route scopes against the scopes
5005
+ # parsed from the access token in the incoming request. The method
5006
+ # invocation is authorized if any route scope matches a claimed scope
5007
+ # in the access token. Otherwise, the invocation is not authorized.
5008
+ # When the route scope is configured, the client must provide an
5009
+ # access token instead of an identity token for authorization
5010
+ # purposes.
4276
5011
  # @return [Array<String>]
4277
5012
  #
4278
5013
  # @!attribute [rw] authorization_type
4279
- # The authorization type for the route. Valid values are NONE for open
4280
- # access, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
4281
- # a Lambda authorizer
5014
+ # The authorization type for the route. For WebSocket APIs, valid
5015
+ # values are NONE for open access, AWS\_IAM for using AWS IAM
5016
+ # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
5017
+ # valid values are NONE for open access, or JWT for using JSON Web
5018
+ # Tokens.
4282
5019
  # @return [String]
4283
5020
  #
4284
5021
  # @!attribute [rw] authorizer_id
4285
5022
  # The identifier of the Authorizer resource to be associated with this
4286
- # route, if the authorizationType is CUSTOM . The authorizer
4287
- # identifier is generated by API Gateway when you created the
4288
- # authorizer.
5023
+ # route. The authorizer identifier is generated by API Gateway when
5024
+ # you created the authorizer.
4289
5025
  # @return [String]
4290
5026
  #
4291
5027
  # @!attribute [rw] model_selection_expression
4292
- # The model selection expression for the route.
5028
+ # The model selection expression for the route. Supported only for
5029
+ # WebSocket APIs.
4293
5030
  # @return [String]
4294
5031
  #
4295
5032
  # @!attribute [rw] operation_name
@@ -4297,11 +5034,12 @@ module Aws::ApiGatewayV2
4297
5034
  # @return [String]
4298
5035
  #
4299
5036
  # @!attribute [rw] request_models
4300
- # The request models for the route.
5037
+ # The request models for the route. Supported only for WebSocket APIs.
4301
5038
  # @return [Hash<String,String>]
4302
5039
  #
4303
5040
  # @!attribute [rw] request_parameters
4304
- # The request parameters for the route.
5041
+ # The request parameters for the route. Supported only for WebSocket
5042
+ # APIs.
4305
5043
  # @return [Hash<String,Types::ParameterConstraints>]
4306
5044
  #
4307
5045
  # @!attribute [rw] route_id
@@ -4313,7 +5051,8 @@ module Aws::ApiGatewayV2
4313
5051
  # @return [String]
4314
5052
  #
4315
5053
  # @!attribute [rw] route_response_selection_expression
4316
- # The route response selection expression for the route.
5054
+ # The route response selection expression for the route. Supported
5055
+ # only for WebSocket APIs.
4317
5056
  # @return [String]
4318
5057
  #
4319
5058
  # @!attribute [rw] target
@@ -4321,6 +5060,7 @@ module Aws::ApiGatewayV2
4321
5060
  # @return [String]
4322
5061
  #
4323
5062
  class Route < Struct.new(
5063
+ :api_gateway_managed,
4324
5064
  :api_key_required,
4325
5065
  :authorization_scopes,
4326
5066
  :authorization_type,
@@ -4340,6 +5080,7 @@ module Aws::ApiGatewayV2
4340
5080
  #
4341
5081
  # @!attribute [rw] model_selection_expression
4342
5082
  # Represents the model selection expression of a route response.
5083
+ # Supported only for WebSocket APIs.
4343
5084
  # @return [String]
4344
5085
  #
4345
5086
  # @!attribute [rw] response_models
@@ -4400,7 +5141,7 @@ module Aws::ApiGatewayV2
4400
5141
  # @!attribute [rw] data_trace_enabled
4401
5142
  # Specifies whether (true) or not (false) data trace logging is
4402
5143
  # enabled for this route. This property affects the log entries pushed
4403
- # to Amazon CloudWatch Logs.
5144
+ # to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
4404
5145
  # @return [Boolean]
4405
5146
  #
4406
5147
  # @!attribute [rw] detailed_metrics_enabled
@@ -4408,17 +5149,19 @@ module Aws::ApiGatewayV2
4408
5149
  # @return [Boolean]
4409
5150
  #
4410
5151
  # @!attribute [rw] logging_level
4411
- # Specifies the logging level for this route: DEBUG, INFO, or WARN.
5152
+ # Specifies the logging level for this route: INFO, ERROR, or OFF.
4412
5153
  # This property affects the log entries pushed to Amazon CloudWatch
4413
- # Logs.
5154
+ # Logs. Supported only for WebSocket APIs.
4414
5155
  # @return [String]
4415
5156
  #
4416
5157
  # @!attribute [rw] throttling_burst_limit
4417
- # Specifies the throttling burst limit.
5158
+ # Specifies the throttling burst limit. Supported only for WebSocket
5159
+ # APIs.
4418
5160
  # @return [Integer]
4419
5161
  #
4420
5162
  # @!attribute [rw] throttling_rate_limit
4421
- # Specifies the throttling rate limit.
5163
+ # Specifies the throttling rate limit. Supported only for WebSocket
5164
+ # APIs.
4422
5165
  # @return [Float]
4423
5166
  #
4424
5167
  class RouteSettings < Struct.new(
@@ -4453,8 +5196,20 @@ module Aws::ApiGatewayV2
4453
5196
  # Settings for logging access in this stage.
4454
5197
  # @return [Types::AccessLogSettings]
4455
5198
  #
5199
+ # @!attribute [rw] api_gateway_managed
5200
+ # Specifies whether a stage is managed by API Gateway. If you created
5201
+ # an API using quick create, the $default stage is managed by API
5202
+ # Gateway. You can't modify the $default stage.
5203
+ # @return [Boolean]
5204
+ #
5205
+ # @!attribute [rw] auto_deploy
5206
+ # Specifies whether updates to an API automatically trigger a new
5207
+ # deployment. The default value is false.
5208
+ # @return [Boolean]
5209
+ #
4456
5210
  # @!attribute [rw] client_certificate_id
4457
- # The identifier of a client certificate for a Stage.
5211
+ # The identifier of a client certificate for a Stage. Supported only
5212
+ # for WebSocket APIs.
4458
5213
  # @return [String]
4459
5214
  #
4460
5215
  # @!attribute [rw] created_date
@@ -4467,18 +5222,24 @@ module Aws::ApiGatewayV2
4467
5222
  #
4468
5223
  # @!attribute [rw] deployment_id
4469
5224
  # The identifier of the Deployment that the Stage is associated with.
5225
+ # Can't be updated if autoDeploy is enabled.
4470
5226
  # @return [String]
4471
5227
  #
4472
5228
  # @!attribute [rw] description
4473
5229
  # The description of the stage.
4474
5230
  # @return [String]
4475
5231
  #
5232
+ # @!attribute [rw] last_deployment_status_message
5233
+ # Describes the status of the last deployment of a stage. Supported
5234
+ # only for stages with autoDeploy enabled.
5235
+ # @return [String]
5236
+ #
4476
5237
  # @!attribute [rw] last_updated_date
4477
5238
  # The timestamp when the stage was last updated.
4478
5239
  # @return [Time]
4479
5240
  #
4480
5241
  # @!attribute [rw] route_settings
4481
- # Route settings for the stage.
5242
+ # Route settings for the stage, by routeKey.
4482
5243
  # @return [Hash<String,Types::RouteSettings>]
4483
5244
  #
4484
5245
  # @!attribute [rw] stage_name
@@ -4488,20 +5249,25 @@ module Aws::ApiGatewayV2
4488
5249
  # @!attribute [rw] stage_variables
4489
5250
  # A map that defines the stage variables for a stage resource.
4490
5251
  # Variable names can have alphanumeric and underscore characters, and
4491
- # the values must match \[A-Za-z0-9-.\_~:/?#&=,\]+.
5252
+ # the values must match \[A-Za-z0-9-.\_~:/?#&amp;=,\]+. Supported only
5253
+ # for WebSocket APIs.
4492
5254
  # @return [Hash<String,String>]
4493
5255
  #
4494
5256
  # @!attribute [rw] tags
4495
- # Tags for the Stage.
5257
+ # The collection of tags. Each tag element is associated with a given
5258
+ # resource.
4496
5259
  # @return [Hash<String,String>]
4497
5260
  #
4498
5261
  class Stage < Struct.new(
4499
5262
  :access_log_settings,
5263
+ :api_gateway_managed,
5264
+ :auto_deploy,
4500
5265
  :client_certificate_id,
4501
5266
  :created_date,
4502
5267
  :default_route_settings,
4503
5268
  :deployment_id,
4504
5269
  :description,
5270
+ :last_deployment_status_message,
4505
5271
  :last_updated_date,
4506
5272
  :route_settings,
4507
5273
  :stage_name,
@@ -4531,7 +5297,8 @@ module Aws::ApiGatewayV2
4531
5297
  # Represents the input parameters for a TagResource request.
4532
5298
  #
4533
5299
  # @!attribute [rw] tags
4534
- # Tags for the resource arn.
5300
+ # The collection of tags. Each tag element is associated with a given
5301
+ # resource.
4535
5302
  # @return [Hash<String,String>]
4536
5303
  #
4537
5304
  class TagResourceInput < Struct.new(
@@ -4553,8 +5320,7 @@ module Aws::ApiGatewayV2
4553
5320
  # @return [String]
4554
5321
  #
4555
5322
  # @!attribute [rw] tags
4556
- # A key value pair of string with key length between\[1-128\] and
4557
- # value length between\[1-256\]
5323
+ # Represents a collection of tags associated with the resource.
4558
5324
  # @return [Hash<String,String>]
4559
5325
  #
4560
5326
  class TagResourceRequest < Struct.new(
@@ -4565,26 +5331,6 @@ module Aws::ApiGatewayV2
4565
5331
 
4566
5332
  class TagResourceResponse < Aws::EmptyStructure; end
4567
5333
 
4568
- # @note When making an API call, you may pass UntagResourceRequest
4569
- # data as a hash:
4570
- #
4571
- # {
4572
- # resource_arn: "__string", # required
4573
- # tag_keys: ["__string"], # required
4574
- # }
4575
- #
4576
- # @!attribute [rw] resource_arn
4577
- # @return [String]
4578
- #
4579
- # @!attribute [rw] tag_keys
4580
- # @return [Array<String>]
4581
- #
4582
- class UntagResourceRequest < Struct.new(
4583
- :resource_arn,
4584
- :tag_keys)
4585
- include Aws::Structure
4586
- end
4587
-
4588
5334
  # Represents a template.
4589
5335
  #
4590
5336
  # @!attribute [rw] value
@@ -4611,31 +5357,88 @@ module Aws::ApiGatewayV2
4611
5357
  include Aws::Structure
4612
5358
  end
4613
5359
 
5360
+ # @note When making an API call, you may pass UntagResourceRequest
5361
+ # data as a hash:
5362
+ #
5363
+ # {
5364
+ # resource_arn: "__string", # required
5365
+ # tag_keys: ["__string"], # required
5366
+ # }
5367
+ #
5368
+ # @!attribute [rw] resource_arn
5369
+ # @return [String]
5370
+ #
5371
+ # @!attribute [rw] tag_keys
5372
+ # @return [Array<String>]
5373
+ #
5374
+ class UntagResourceRequest < Struct.new(
5375
+ :resource_arn,
5376
+ :tag_keys)
5377
+ include Aws::Structure
5378
+ end
5379
+
4614
5380
  # Represents the input parameters for an UpdateApi request.
4615
5381
  #
4616
5382
  # @!attribute [rw] api_key_selection_expression
4617
- # An API key selection expression. See [API Key Selection
4618
- # Expressions][1].
5383
+ # An API key selection expression. Supported only for WebSocket APIs.
5384
+ # See [API Key Selection Expressions][1].
4619
5385
  #
4620
5386
  #
4621
5387
  #
4622
5388
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4623
5389
  # @return [String]
4624
5390
  #
5391
+ # @!attribute [rw] cors_configuration
5392
+ # A CORS configuration. Supported only for HTTP APIs.
5393
+ # @return [Types::Cors]
5394
+ #
5395
+ # @!attribute [rw] credentials_arn
5396
+ # This property is part of quick create. It specifies the credentials
5397
+ # required for the integration, if any. For a Lambda integration,
5398
+ # three options are available. To specify an IAM Role for API Gateway
5399
+ # to assume, use the role's Amazon Resource Name (ARN). To require
5400
+ # that the caller's identity be passed through from the request,
5401
+ # specify arn:aws:iam::*:user/*. To use resource-based permissions
5402
+ # on supported AWS services, specify null. Currently, this property is
5403
+ # not used for HTTP integrations. If provided, this value replaces the
5404
+ # credentials associated with the quick create integration. Supported
5405
+ # only for HTTP APIs.
5406
+ # @return [String]
5407
+ #
4625
5408
  # @!attribute [rw] description
4626
5409
  # The description of the API.
4627
5410
  # @return [String]
4628
5411
  #
4629
5412
  # @!attribute [rw] disable_schema_validation
4630
- # Avoid validating models when creating a deployment.
5413
+ # Avoid validating models when creating a deployment. Supported only
5414
+ # for WebSocket APIs.
4631
5415
  # @return [Boolean]
4632
5416
  #
4633
5417
  # @!attribute [rw] name
4634
5418
  # The name of the API.
4635
5419
  # @return [String]
4636
5420
  #
5421
+ # @!attribute [rw] route_key
5422
+ # This property is part of quick create. If not specified, the route
5423
+ # created using quick create is kept. Otherwise, this value replaces
5424
+ # the route key of the quick create route. Additional routes may still
5425
+ # be added after the API is updated. Supported only for HTTP APIs.
5426
+ # @return [String]
5427
+ #
4637
5428
  # @!attribute [rw] route_selection_expression
4638
- # The route selection expression for the API.
5429
+ # The route selection expression for the API. For HTTP APIs, the
5430
+ # routeSelectionExpression must be $\\\{request.method\\}
5431
+ # $\\\{request.path\\}. If not provided, this will be the default for
5432
+ # HTTP APIs. This property is required for WebSocket APIs.
5433
+ # @return [String]
5434
+ #
5435
+ # @!attribute [rw] target
5436
+ # This property is part of quick create. For HTTP integrations,
5437
+ # specify a fully qualified URL. For Lambda integrations, specify a
5438
+ # function ARN. The type of the integration will be HTTP\_PROXY or
5439
+ # AWS\_PROXY, respectively. The value provided updates the integration
5440
+ # URI and integration type. You can update a quick-created target, but
5441
+ # you can't remove it from an API. Supported only for HTTP APIs.
4639
5442
  # @return [String]
4640
5443
  #
4641
5444
  # @!attribute [rw] version
@@ -4644,10 +5447,14 @@ module Aws::ApiGatewayV2
4644
5447
  #
4645
5448
  class UpdateApiInput < Struct.new(
4646
5449
  :api_key_selection_expression,
5450
+ :cors_configuration,
5451
+ :credentials_arn,
4647
5452
  :description,
4648
5453
  :disable_schema_validation,
4649
5454
  :name,
5455
+ :route_key,
4650
5456
  :route_selection_expression,
5457
+ :target,
4651
5458
  :version)
4652
5459
  include Aws::Structure
4653
5460
  end
@@ -4692,7 +5499,7 @@ module Aws::ApiGatewayV2
4692
5499
  # @return [String]
4693
5500
  #
4694
5501
  # @!attribute [rw] api_mapping_key
4695
- # After evaulating a selection expression, the result is compared
5502
+ # After evaluating a selection expression, the result is compared
4696
5503
  # against one or more selection keys to find a matching key. See
4697
5504
  # [Selection Expressions][1] for a list of expressions and each
4698
5505
  # expression's associated selection key type.
@@ -4727,7 +5534,7 @@ module Aws::ApiGatewayV2
4727
5534
  # @return [String]
4728
5535
  #
4729
5536
  # @!attribute [rw] api_mapping_key
4730
- # After evaulating a selection expression, the result is compared
5537
+ # After evaluating a selection expression, the result is compared
4731
5538
  # against one or more selection keys to find a matching key. See
4732
5539
  # [Selection Expressions][1] for a list of expressions and each
4733
5540
  # expression's associated selection key type.
@@ -4755,10 +5562,21 @@ module Aws::ApiGatewayV2
4755
5562
  # {
4756
5563
  # api_id: "__string", # required
4757
5564
  # api_key_selection_expression: "SelectionExpression",
5565
+ # cors_configuration: {
5566
+ # allow_credentials: false,
5567
+ # allow_headers: ["__string"],
5568
+ # allow_methods: ["StringWithLengthBetween1And64"],
5569
+ # allow_origins: ["__string"],
5570
+ # expose_headers: ["__string"],
5571
+ # max_age: 1,
5572
+ # },
5573
+ # credentials_arn: "Arn",
4758
5574
  # description: "StringWithLengthBetween0And1024",
4759
5575
  # disable_schema_validation: false,
4760
5576
  # name: "StringWithLengthBetween1And128",
5577
+ # route_key: "SelectionKey",
4761
5578
  # route_selection_expression: "SelectionExpression",
5579
+ # target: "UriWithLengthBetween1And2048",
4762
5580
  # version: "StringWithLengthBetween1And64",
4763
5581
  # }
4764
5582
  #
@@ -4774,6 +5592,19 @@ module Aws::ApiGatewayV2
4774
5592
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4775
5593
  # @return [String]
4776
5594
  #
5595
+ # @!attribute [rw] cors_configuration
5596
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
5597
+ # [Configuring CORS][1] for more information.
5598
+ #
5599
+ #
5600
+ #
5601
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
5602
+ # @return [Types::Cors]
5603
+ #
5604
+ # @!attribute [rw] credentials_arn
5605
+ # Represents an Amazon Resource Name (ARN).
5606
+ # @return [String]
5607
+ #
4777
5608
  # @!attribute [rw] description
4778
5609
  # A string with a length between \[0-1024\].
4779
5610
  # @return [String]
@@ -4785,6 +5616,17 @@ module Aws::ApiGatewayV2
4785
5616
  # A string with a length between \[1-128\].
4786
5617
  # @return [String]
4787
5618
  #
5619
+ # @!attribute [rw] route_key
5620
+ # After evaluating a selection expression, the result is compared
5621
+ # against one or more selection keys to find a matching key. See
5622
+ # [Selection Expressions][1] for a list of expressions and each
5623
+ # expression's associated selection key type.
5624
+ #
5625
+ #
5626
+ #
5627
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
5628
+ # @return [String]
5629
+ #
4788
5630
  # @!attribute [rw] route_selection_expression
4789
5631
  # An expression used to extract information at runtime. See [Selection
4790
5632
  # Expressions][1] for more information.
@@ -4794,6 +5636,10 @@ module Aws::ApiGatewayV2
4794
5636
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4795
5637
  # @return [String]
4796
5638
  #
5639
+ # @!attribute [rw] target
5640
+ # A string representation of a URI with a length between \[1-2048\].
5641
+ # @return [String]
5642
+ #
4797
5643
  # @!attribute [rw] version
4798
5644
  # A string with a length between \[1-64\].
4799
5645
  # @return [String]
@@ -4801,10 +5647,14 @@ module Aws::ApiGatewayV2
4801
5647
  class UpdateApiRequest < Struct.new(
4802
5648
  :api_id,
4803
5649
  :api_key_selection_expression,
5650
+ :cors_configuration,
5651
+ :credentials_arn,
4804
5652
  :description,
4805
5653
  :disable_schema_validation,
4806
5654
  :name,
5655
+ :route_key,
4807
5656
  :route_selection_expression,
5657
+ :target,
4808
5658
  :version)
4809
5659
  include Aws::Structure
4810
5660
  end
@@ -4825,6 +5675,15 @@ module Aws::ApiGatewayV2
4825
5675
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4826
5676
  # @return [String]
4827
5677
  #
5678
+ # @!attribute [rw] cors_configuration
5679
+ # Represents a CORS configuration. Supported only for HTTP APIs. See
5680
+ # [Configuring CORS][1] for more information.
5681
+ #
5682
+ #
5683
+ #
5684
+ # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html
5685
+ # @return [Types::Cors]
5686
+ #
4828
5687
  # @!attribute [rw] created_date
4829
5688
  # @return [Time]
4830
5689
  #
@@ -4835,11 +5694,15 @@ module Aws::ApiGatewayV2
4835
5694
  # @!attribute [rw] disable_schema_validation
4836
5695
  # @return [Boolean]
4837
5696
  #
5697
+ # @!attribute [rw] import_info
5698
+ # @return [Array<String>]
5699
+ #
4838
5700
  # @!attribute [rw] name
4839
5701
  # A string with a length between \[1-128\].
4840
5702
  # @return [String]
4841
5703
  #
4842
5704
  # @!attribute [rw] protocol_type
5705
+ # Represents a protocol type.
4843
5706
  # @return [String]
4844
5707
  #
4845
5708
  # @!attribute [rw] route_selection_expression
@@ -4851,6 +5714,10 @@ module Aws::ApiGatewayV2
4851
5714
  # [1]: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions
4852
5715
  # @return [String]
4853
5716
  #
5717
+ # @!attribute [rw] tags
5718
+ # Represents a collection of tags associated with the resource.
5719
+ # @return [Hash<String,String>]
5720
+ #
4854
5721
  # @!attribute [rw] version
4855
5722
  # A string with a length between \[1-64\].
4856
5723
  # @return [String]
@@ -4858,24 +5725,21 @@ module Aws::ApiGatewayV2
4858
5725
  # @!attribute [rw] warnings
4859
5726
  # @return [Array<String>]
4860
5727
  #
4861
- # @!attribute [rw] tags
4862
- # A key value pair of string with key length between\[1-128\] and
4863
- # value length between\[1-256\]
4864
- # @return [Hash<String,String>]
4865
- #
4866
5728
  class UpdateApiResponse < Struct.new(
4867
5729
  :api_endpoint,
4868
5730
  :api_id,
4869
5731
  :api_key_selection_expression,
5732
+ :cors_configuration,
4870
5733
  :created_date,
4871
5734
  :description,
4872
5735
  :disable_schema_validation,
5736
+ :import_info,
4873
5737
  :name,
4874
5738
  :protocol_type,
4875
5739
  :route_selection_expression,
5740
+ :tags,
4876
5741
  :version,
4877
- :warnings,
4878
- :tags)
5742
+ :warnings)
4879
5743
  include Aws::Structure
4880
5744
  end
4881
5745
 
@@ -4889,64 +5753,75 @@ module Aws::ApiGatewayV2
4889
5753
  # @return [String]
4890
5754
  #
4891
5755
  # @!attribute [rw] authorizer_result_ttl_in_seconds
4892
- # The time to live (TTL), in seconds, of cached authorizer results. If
4893
- # it is zero, authorization caching is disabled. If it is greater than
4894
- # zero, API Gateway will cache authorizer responses. If this field is
4895
- # not set, the default value is 300. The maximum value is 3600, or 1
4896
- # hour.
5756
+ # Authorizer caching is not currently supported. Don't specify this
5757
+ # value for authorizers.
4897
5758
  # @return [Integer]
4898
5759
  #
4899
5760
  # @!attribute [rw] authorizer_type
4900
- # The authorizer type. Currently the only valid value is REQUEST, for
4901
- # a Lambda function using incoming request parameters.
5761
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
5762
+ # Lambda function using incoming request parameters. For HTTP APIs,
5763
+ # specify JWT to use JSON Web Tokens.
4902
5764
  # @return [String]
4903
5765
  #
4904
5766
  # @!attribute [rw] authorizer_uri
4905
5767
  # The authorizer's Uniform Resource Identifier (URI). For REQUEST
4906
5768
  # authorizers, this must be a well-formed Lambda function URI, for
4907
5769
  # example,
4908
- # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:\\\{account\_id\\}:function:\\\{lambda\_function\_name\\}/invocations.
4909
- # In general, the URI has this form:
4910
- # arn:aws:apigateway:\\\{region\\}:lambda:path/\\\{service\_api\\} ,
4911
- # where \\\{region\\} is the same as the region hosting the Lambda
4912
- # function, path indicates that the remaining substring in the URI
4913
- # should be treated as the path to the resource, including the initial
4914
- # /. For Lambda functions, this is usually of the form
4915
- # /2015-03-31/functions/\[FunctionARN\]/invocations.
5770
+ # arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:<replaceable>\{account_id\}</replaceable>
5771
+ #
5772
+ # \:function:<replaceable>\{lambda_function_name\}</replaceable>
5773
+ #
5774
+ # /invocations. In general, the URI has this form:
5775
+ # arn:aws:apigateway:<replaceable>\{region\}</replaceable>
5776
+ #
5777
+ # \:lambda:path/<replaceable>\{service_api\}</replaceable>
5778
+ #
5779
+ # , where <replaceable />
5780
+ #
5781
+ # \\\{region\\} is the same as the region hosting the Lambda function,
5782
+ # path indicates that the remaining substring in the URI should be
5783
+ # treated as the path to the resource, including the initial /. For
5784
+ # Lambda functions, this is usually of the form
5785
+ # /2015-03-31/functions/\[FunctionARN\]/invocations. Supported only
5786
+ # for REQUEST authorizers.
4916
5787
  # @return [String]
4917
5788
  #
4918
5789
  # @!attribute [rw] identity_source
4919
5790
  # The identity source for which authorization is requested.
4920
5791
  #
4921
- # For the REQUEST authorizer, this is required when authorization
4922
- # caching is enabled. The value is a comma-separated string of one or
4923
- # more mapping expressions of the specified request parameters. For
4924
- # example, if an Auth header, a Name query string parameter are
4925
- # defined as identity sources, this value is
4926
- # $method.request.header.Auth, $method.request.querystring.Name. These
4927
- # parameters will be used to derive the authorization caching key and
4928
- # to perform runtime validation of the REQUEST authorizer by verifying
4929
- # all of the identity-related request parameters are present, not null
4930
- # and non-empty. Only when this is true does the authorizer invoke the
4931
- # authorizer Lambda function, otherwise, it returns a 401 Unauthorized
4932
- # response without calling the Lambda function. The valid value is a
4933
- # string of comma-separated mapping expressions of the specified
4934
- # request parameters. When the authorization caching is not enabled,
4935
- # this property is optional.
5792
+ # For a REQUEST authorizer, this is optional. The value is a set of
5793
+ # one or more mapping expressions of the specified request parameters.
5794
+ # Currently, the identity source can be headers, query string
5795
+ # parameters, stage variables, and context parameters. For example, if
5796
+ # an Auth header and a Name query string parameter are defined as
5797
+ # identity sources, this value is route.request.header.Auth,
5798
+ # route.request.querystring.Name. These parameters will be used to
5799
+ # perform runtime validation for Lambda-based authorizers by verifying
5800
+ # all of the identity-related request parameters are present in the
5801
+ # request, not null, and non-empty. Only when this is true does the
5802
+ # authorizer invoke the authorizer Lambda function. Otherwise, it
5803
+ # returns a 401 Unauthorized response without calling the Lambda
5804
+ # function.
5805
+ #
5806
+ # For JWT, a single entry that specifies where to extract the JSON Web
5807
+ # Token (JWT) from inbound requests. Currently only header-based and
5808
+ # query parameter-based selections are supported, for example
5809
+ # "$request.header.Authorization".
4936
5810
  # @return [Array<String>]
4937
5811
  #
4938
5812
  # @!attribute [rw] identity_validation_expression
4939
- # The validation expression does not apply to the REQUEST authorizer.
5813
+ # This parameter is not used.
4940
5814
  # @return [String]
4941
5815
  #
5816
+ # @!attribute [rw] jwt_configuration
5817
+ # Represents the configuration of a JWT authorizer. Required for the
5818
+ # JWT authorizer type. Supported only for HTTP APIs.
5819
+ # @return [Types::JWTConfiguration]
5820
+ #
4942
5821
  # @!attribute [rw] name
4943
5822
  # The name of the authorizer.
4944
5823
  # @return [String]
4945
5824
  #
4946
- # @!attribute [rw] provider_arns
4947
- # For REQUEST authorizer, this is not defined.
4948
- # @return [Array<String>]
4949
- #
4950
5825
  class UpdateAuthorizerInput < Struct.new(
4951
5826
  :authorizer_credentials_arn,
4952
5827
  :authorizer_result_ttl_in_seconds,
@@ -4954,8 +5829,8 @@ module Aws::ApiGatewayV2
4954
5829
  :authorizer_uri,
4955
5830
  :identity_source,
4956
5831
  :identity_validation_expression,
4957
- :name,
4958
- :provider_arns)
5832
+ :jwt_configuration,
5833
+ :name)
4959
5834
  include Aws::Structure
4960
5835
  end
4961
5836
 
@@ -4967,12 +5842,15 @@ module Aws::ApiGatewayV2
4967
5842
  # authorizer_credentials_arn: "Arn",
4968
5843
  # authorizer_id: "__string", # required
4969
5844
  # authorizer_result_ttl_in_seconds: 1,
4970
- # authorizer_type: "REQUEST", # accepts REQUEST
5845
+ # authorizer_type: "REQUEST", # accepts REQUEST, JWT
4971
5846
  # authorizer_uri: "UriWithLengthBetween1And2048",
4972
5847
  # identity_source: ["__string"],
4973
5848
  # identity_validation_expression: "StringWithLengthBetween0And1024",
5849
+ # jwt_configuration: {
5850
+ # audience: ["__string"],
5851
+ # issuer: "UriWithLengthBetween1And2048",
5852
+ # },
4974
5853
  # name: "StringWithLengthBetween1And128",
4975
- # provider_arns: ["Arn"],
4976
5854
  # }
4977
5855
  #
4978
5856
  # @!attribute [rw] api_id
@@ -4990,8 +5868,9 @@ module Aws::ApiGatewayV2
4990
5868
  # @return [Integer]
4991
5869
  #
4992
5870
  # @!attribute [rw] authorizer_type
4993
- # The authorizer type. Currently the only valid value is REQUEST, for
4994
- # a Lambda function using incoming request parameters.
5871
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
5872
+ # Lambda function using incoming request parameters. For HTTP APIs,
5873
+ # specify JWT to use JSON Web Tokens.
4995
5874
  # @return [String]
4996
5875
  #
4997
5876
  # @!attribute [rw] authorizer_uri
@@ -5021,14 +5900,15 @@ module Aws::ApiGatewayV2
5021
5900
  # A string with a length between \[0-1024\].
5022
5901
  # @return [String]
5023
5902
  #
5903
+ # @!attribute [rw] jwt_configuration
5904
+ # Represents the configuration of a JWT authorizer. Required for the
5905
+ # JWT authorizer type. Supported only for HTTP APIs.
5906
+ # @return [Types::JWTConfiguration]
5907
+ #
5024
5908
  # @!attribute [rw] name
5025
5909
  # A string with a length between \[1-128\].
5026
5910
  # @return [String]
5027
5911
  #
5028
- # @!attribute [rw] provider_arns
5029
- # For REQUEST authorizer, this is not defined.
5030
- # @return [Array<String>]
5031
- #
5032
5912
  class UpdateAuthorizerRequest < Struct.new(
5033
5913
  :api_id,
5034
5914
  :authorizer_credentials_arn,
@@ -5038,8 +5918,8 @@ module Aws::ApiGatewayV2
5038
5918
  :authorizer_uri,
5039
5919
  :identity_source,
5040
5920
  :identity_validation_expression,
5041
- :name,
5042
- :provider_arns)
5921
+ :jwt_configuration,
5922
+ :name)
5043
5923
  include Aws::Structure
5044
5924
  end
5045
5925
 
@@ -5056,8 +5936,9 @@ module Aws::ApiGatewayV2
5056
5936
  # @return [Integer]
5057
5937
  #
5058
5938
  # @!attribute [rw] authorizer_type
5059
- # The authorizer type. Currently the only valid value is REQUEST, for
5060
- # a Lambda function using incoming request parameters.
5939
+ # The authorizer type. For WebSocket APIs, specify REQUEST for a
5940
+ # Lambda function using incoming request parameters. For HTTP APIs,
5941
+ # specify JWT to use JSON Web Tokens.
5061
5942
  # @return [String]
5062
5943
  #
5063
5944
  # @!attribute [rw] authorizer_uri
@@ -5087,14 +5968,15 @@ module Aws::ApiGatewayV2
5087
5968
  # A string with a length between \[0-1024\].
5088
5969
  # @return [String]
5089
5970
  #
5971
+ # @!attribute [rw] jwt_configuration
5972
+ # Represents the configuration of a JWT authorizer. Required for the
5973
+ # JWT authorizer type. Supported only for HTTP APIs.
5974
+ # @return [Types::JWTConfiguration]
5975
+ #
5090
5976
  # @!attribute [rw] name
5091
5977
  # A string with a length between \[1-128\].
5092
5978
  # @return [String]
5093
5979
  #
5094
- # @!attribute [rw] provider_arns
5095
- # For REQUEST authorizer, this is not defined.
5096
- # @return [Array<String>]
5097
- #
5098
5980
  class UpdateAuthorizerResponse < Struct.new(
5099
5981
  :authorizer_credentials_arn,
5100
5982
  :authorizer_id,
@@ -5103,8 +5985,8 @@ module Aws::ApiGatewayV2
5103
5985
  :authorizer_uri,
5104
5986
  :identity_source,
5105
5987
  :identity_validation_expression,
5106
- :name,
5107
- :provider_arns)
5988
+ :jwt_configuration,
5989
+ :name)
5108
5990
  include Aws::Structure
5109
5991
  end
5110
5992
 
@@ -5145,6 +6027,9 @@ module Aws::ApiGatewayV2
5145
6027
  include Aws::Structure
5146
6028
  end
5147
6029
 
6030
+ # @!attribute [rw] auto_deployed
6031
+ # @return [Boolean]
6032
+ #
5148
6033
  # @!attribute [rw] created_date
5149
6034
  # @return [Time]
5150
6035
  #
@@ -5164,6 +6049,7 @@ module Aws::ApiGatewayV2
5164
6049
  # @return [String]
5165
6050
  #
5166
6051
  class UpdateDeploymentResponse < Struct.new(
6052
+ :auto_deployed,
5167
6053
  :created_date,
5168
6054
  :deployment_id,
5169
6055
  :deployment_status,
@@ -5194,11 +6080,11 @@ module Aws::ApiGatewayV2
5194
6080
  # certificate_arn: "Arn",
5195
6081
  # certificate_name: "StringWithLengthBetween1And128",
5196
6082
  # certificate_upload_date: Time.now,
6083
+ # domain_name_status: "AVAILABLE", # accepts AVAILABLE, UPDATING
6084
+ # domain_name_status_message: "__string",
5197
6085
  # endpoint_type: "REGIONAL", # accepts REGIONAL, EDGE
5198
6086
  # hosted_zone_id: "__string",
5199
6087
  # security_policy: "TLS_1_0", # accepts TLS_1_0, TLS_1_2
5200
- # domain_name_status: "AVAILABLE", # accepts AVAILABLE, UPDATING
5201
- # domain_name_status_message: "__string",
5202
6088
  # },
5203
6089
  # ],
5204
6090
  # }
@@ -5234,8 +6120,7 @@ module Aws::ApiGatewayV2
5234
6120
  # @return [Array<Types::DomainNameConfiguration>]
5235
6121
  #
5236
6122
  # @!attribute [rw] tags
5237
- # A key value pair of string with key length between\[1-128\] and
5238
- # value length between\[1-256\]
6123
+ # Represents a collection of tags associated with the resource.
5239
6124
  # @return [Hash<String,String>]
5240
6125
  #
5241
6126
  class UpdateDomainNameResponse < Struct.new(
@@ -5259,9 +6144,10 @@ module Aws::ApiGatewayV2
5259
6144
  # @return [String]
5260
6145
  #
5261
6146
  # @!attribute [rw] content_handling_strategy
5262
- # Specifies how to handle response payload content type conversions.
5263
- # Supported values are CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with
5264
- # the following behaviors:
6147
+ # Supported only for WebSocket APIs. Specifies how to handle response
6148
+ # payload content type conversions. Supported values are
6149
+ # CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with the following
6150
+ # behaviors:
5265
6151
  #
5266
6152
  # CONVERT\_TO\_BINARY: Converts a response payload from a
5267
6153
  # Base64-encoded string to the corresponding binary blob.
@@ -5298,7 +6184,7 @@ module Aws::ApiGatewayV2
5298
6184
  # action, including the Lambda function-invoking action. With the
5299
6185
  # Lambda function-invoking action, this is referred to as the Lambda
5300
6186
  # custom integration. With any other AWS service action, this is known
5301
- # as AWS integration.
6187
+ # as AWS integration. Supported only for WebSocket APIs.
5302
6188
  #
5303
6189
  # AWS\_PROXY: for integrating the route or method request with the
5304
6190
  # Lambda function-invoking action with the client request passed
@@ -5307,14 +6193,15 @@ module Aws::ApiGatewayV2
5307
6193
  #
5308
6194
  # HTTP: for integrating the route or method request with an HTTP
5309
6195
  # endpoint. This integration is also referred to as the HTTP custom
5310
- # integration.
6196
+ # integration. Supported only for WebSocket APIs.
5311
6197
  #
5312
6198
  # HTTP\_PROXY: for integrating route or method request with an HTTP
5313
6199
  # endpoint, with the client request passed through as-is. This is also
5314
6200
  # referred to as HTTP proxy integration.
5315
6201
  #
5316
6202
  # MOCK: for integrating the route or method request with API Gateway
5317
- # as a "loopback" endpoint without invoking any backend.
6203
+ # as a "loopback" endpoint without invoking any backend. Supported
6204
+ # only for WebSocket APIs.
5318
6205
  # @return [String]
5319
6206
  #
5320
6207
  # @!attribute [rw] integration_uri
@@ -5327,7 +6214,7 @@ module Aws::ApiGatewayV2
5327
6214
  # the Content-Type header in the request, and the available mapping
5328
6215
  # templates specified as the requestTemplates property on the
5329
6216
  # Integration resource. There are three valid values: WHEN\_NO\_MATCH,
5330
- # WHEN\_NO\_TEMPLATES, and NEVER.
6217
+ # WHEN\_NO\_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
5331
6218
  #
5332
6219
  # WHEN\_NO\_MATCH passes the request body for unmapped content types
5333
6220
  # through to the integration backend without transformation.
@@ -5341,6 +6228,11 @@ module Aws::ApiGatewayV2
5341
6228
  # the same HTTP 415 Unsupported Media Type response.
5342
6229
  # @return [String]
5343
6230
  #
6231
+ # @!attribute [rw] payload_format_version
6232
+ # Specifies the format of the payload sent to an integration. Required
6233
+ # for HTTP APIs. Currently, the only supported value is 1.0.
6234
+ # @return [String]
6235
+ #
5344
6236
  # @!attribute [rw] request_parameters
5345
6237
  # A key-value map specifying request parameters that are passed from
5346
6238
  # the method request to the backend. The key is an integration request
@@ -5348,16 +6240,25 @@ module Aws::ApiGatewayV2
5348
6240
  # parameter value or static value that must be enclosed within single
5349
6241
  # quotes and pre-encoded as required by the backend. The method
5350
6242
  # request parameter value must match the pattern of
5351
- # method.request.\\\{location\\}.\\\{name\\} , where \\\{location\\}
5352
- # is querystring, path, or header; and \\\{name\\} must be a valid and
5353
- # unique method request parameter name.
6243
+ # method.request.<replaceable>\{location\}</replaceable>
6244
+ #
6245
+ # .<replaceable>\{name\}</replaceable>
6246
+ #
6247
+ # , where <replaceable>\{location\}</replaceable>
6248
+ #
6249
+ # is querystring, path, or header; and
6250
+ # <replaceable>\{name\}</replaceable>
6251
+ #
6252
+ # must be a valid and unique method request parameter name. Supported
6253
+ # only for WebSocket APIs.
5354
6254
  # @return [Hash<String,String>]
5355
6255
  #
5356
6256
  # @!attribute [rw] request_templates
5357
6257
  # Represents a map of Velocity templates that are applied on the
5358
6258
  # request payload based on the value of the Content-Type header sent
5359
6259
  # by the client. The content type value is the key in this map, and
5360
- # the template (as a String) is the value.
6260
+ # the template (as a String) is the value. Supported only for
6261
+ # WebSocket APIs.
5361
6262
  # @return [Hash<String,String>]
5362
6263
  #
5363
6264
  # @!attribute [rw] template_selection_expression
@@ -5366,7 +6267,8 @@ module Aws::ApiGatewayV2
5366
6267
  #
5367
6268
  # @!attribute [rw] timeout_in_millis
5368
6269
  # Custom timeout between 50 and 29,000 milliseconds. The default value
5369
- # is 29,000 milliseconds or 29 seconds.
6270
+ # is 29,000 milliseconds or 29 seconds for WebSocket APIs. The default
6271
+ # value is 5,000 milliseconds, or 5 seconds for HTTP APIs.
5370
6272
  # @return [Integer]
5371
6273
  #
5372
6274
  class UpdateIntegrationInput < Struct.new(
@@ -5379,6 +6281,7 @@ module Aws::ApiGatewayV2
5379
6281
  :integration_type,
5380
6282
  :integration_uri,
5381
6283
  :passthrough_behavior,
6284
+ :payload_format_version,
5382
6285
  :request_parameters,
5383
6286
  :request_templates,
5384
6287
  :template_selection_expression,
@@ -5401,6 +6304,7 @@ module Aws::ApiGatewayV2
5401
6304
  # integration_type: "AWS", # accepts AWS, HTTP, MOCK, HTTP_PROXY, AWS_PROXY
5402
6305
  # integration_uri: "UriWithLengthBetween1And2048",
5403
6306
  # passthrough_behavior: "WHEN_NO_MATCH", # accepts WHEN_NO_MATCH, NEVER, WHEN_NO_TEMPLATES
6307
+ # payload_format_version: "StringWithLengthBetween1And64",
5404
6308
  # request_parameters: {
5405
6309
  # "__string" => "StringWithLengthBetween1And512",
5406
6310
  # },
@@ -5424,6 +6328,7 @@ module Aws::ApiGatewayV2
5424
6328
  #
5425
6329
  # @!attribute [rw] content_handling_strategy
5426
6330
  # Specifies how to handle response payload content type conversions.
6331
+ # Supported only for WebSocket APIs.
5427
6332
  # @return [String]
5428
6333
  #
5429
6334
  # @!attribute [rw] credentials_arn
@@ -5451,6 +6356,11 @@ module Aws::ApiGatewayV2
5451
6356
  #
5452
6357
  # @!attribute [rw] passthrough_behavior
5453
6358
  # Represents passthrough behavior for an integration response.
6359
+ # Supported only for WebSocket APIs.
6360
+ # @return [String]
6361
+ #
6362
+ # @!attribute [rw] payload_format_version
6363
+ # A string with a length between \[1-64\].
5454
6364
  # @return [String]
5455
6365
  #
5456
6366
  # @!attribute [rw] request_parameters
@@ -5499,6 +6409,7 @@ module Aws::ApiGatewayV2
5499
6409
  :integration_type,
5500
6410
  :integration_uri,
5501
6411
  :passthrough_behavior,
6412
+ :payload_format_version,
5502
6413
  :request_parameters,
5503
6414
  :request_templates,
5504
6415
  :template_selection_expression,
@@ -5506,6 +6417,9 @@ module Aws::ApiGatewayV2
5506
6417
  include Aws::Structure
5507
6418
  end
5508
6419
 
6420
+ # @!attribute [rw] api_gateway_managed
6421
+ # @return [Boolean]
6422
+ #
5509
6423
  # @!attribute [rw] connection_id
5510
6424
  # A string with a length between \[1-1024\].
5511
6425
  # @return [String]
@@ -5516,6 +6430,7 @@ module Aws::ApiGatewayV2
5516
6430
  #
5517
6431
  # @!attribute [rw] content_handling_strategy
5518
6432
  # Specifies how to handle response payload content type conversions.
6433
+ # Supported only for WebSocket APIs.
5519
6434
  # @return [String]
5520
6435
  #
5521
6436
  # @!attribute [rw] credentials_arn
@@ -5553,6 +6468,11 @@ module Aws::ApiGatewayV2
5553
6468
  #
5554
6469
  # @!attribute [rw] passthrough_behavior
5555
6470
  # Represents passthrough behavior for an integration response.
6471
+ # Supported only for WebSocket APIs.
6472
+ # @return [String]
6473
+ #
6474
+ # @!attribute [rw] payload_format_version
6475
+ # A string with a length between \[1-64\].
5556
6476
  # @return [String]
5557
6477
  #
5558
6478
  # @!attribute [rw] request_parameters
@@ -5590,6 +6510,7 @@ module Aws::ApiGatewayV2
5590
6510
  # @return [Integer]
5591
6511
  #
5592
6512
  class UpdateIntegrationResult < Struct.new(
6513
+ :api_gateway_managed,
5593
6514
  :connection_id,
5594
6515
  :connection_type,
5595
6516
  :content_handling_strategy,
@@ -5601,6 +6522,7 @@ module Aws::ApiGatewayV2
5601
6522
  :integration_type,
5602
6523
  :integration_uri,
5603
6524
  :passthrough_behavior,
6525
+ :payload_format_version,
5604
6526
  :request_parameters,
5605
6527
  :request_templates,
5606
6528
  :template_selection_expression,
@@ -5612,9 +6534,10 @@ module Aws::ApiGatewayV2
5612
6534
  # request.
5613
6535
  #
5614
6536
  # @!attribute [rw] content_handling_strategy
5615
- # Specifies how to handle response payload content type conversions.
5616
- # Supported values are CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with
5617
- # the following behaviors:
6537
+ # Supported only for WebSocket APIs. Specifies how to handle response
6538
+ # payload content type conversions. Supported values are
6539
+ # CONVERT\_TO\_BINARY and CONVERT\_TO\_TEXT, with the following
6540
+ # behaviors:
5618
6541
  #
5619
6542
  # CONVERT\_TO\_BINARY: Converts a response payload from a
5620
6543
  # Base64-encoded string to the corresponding binary blob.
@@ -5638,13 +6561,21 @@ module Aws::ApiGatewayV2
5638
6561
  # response header value, a static value enclosed within a pair of
5639
6562
  # single quotes, or a JSON expression from the integration response
5640
6563
  # body. The mapping key must match the pattern of
5641
- # method.response.header.\\\{name\\} , where name is a valid and
5642
- # unique header name. The mapped non-static value must match the
5643
- # pattern of integration.response.header.\\\{name\\} or
5644
- # integration.response.body.\\\{JSON-expression\\} , where \\\{name\\}
5645
- # is a valid and unique response header name and
5646
- # \\\{JSON-expression\\} is a valid JSON expression without the $
5647
- # prefix.
6564
+ # method.response.header.<replaceable>\{name\}</replaceable>
6565
+ #
6566
+ # , where name is a valid and unique header name. The mapped
6567
+ # non-static value must match the pattern of
6568
+ # integration.response.header.<replaceable>\{name\}</replaceable>
6569
+ #
6570
+ # or
6571
+ # integration.response.body.<replaceable>\{JSON-expression\}</replaceable>
6572
+ #
6573
+ # , where <replaceable>\{name\}</replaceable>
6574
+ #
6575
+ # is a valid and unique response header name and
6576
+ # <replaceable>\{JSON-expression\}</replaceable>
6577
+ #
6578
+ # is a valid JSON expression without the $ prefix.
5648
6579
  # @return [Hash<String,String>]
5649
6580
  #
5650
6581
  # @!attribute [rw] response_templates
@@ -5656,6 +6587,7 @@ module Aws::ApiGatewayV2
5656
6587
  #
5657
6588
  # @!attribute [rw] template_selection_expression
5658
6589
  # The template selection expression for the integration response.
6590
+ # Supported only for WebSocket APIs.
5659
6591
  # @return [String]
5660
6592
  #
5661
6593
  class UpdateIntegrationResponseInput < Struct.new(
@@ -5690,6 +6622,7 @@ module Aws::ApiGatewayV2
5690
6622
  #
5691
6623
  # @!attribute [rw] content_handling_strategy
5692
6624
  # Specifies how to handle response payload content type conversions.
6625
+ # Supported only for WebSocket APIs.
5693
6626
  # @return [String]
5694
6627
  #
5695
6628
  # @!attribute [rw] integration_id
@@ -5699,7 +6632,7 @@ module Aws::ApiGatewayV2
5699
6632
  # @return [String]
5700
6633
  #
5701
6634
  # @!attribute [rw] integration_response_key
5702
- # After evaulating a selection expression, the result is compared
6635
+ # After evaluating a selection expression, the result is compared
5703
6636
  # against one or more selection keys to find a matching key. See
5704
6637
  # [Selection Expressions][1] for a list of expressions and each
5705
6638
  # expression's associated selection key type.
@@ -5753,6 +6686,7 @@ module Aws::ApiGatewayV2
5753
6686
 
5754
6687
  # @!attribute [rw] content_handling_strategy
5755
6688
  # Specifies how to handle response payload content type conversions.
6689
+ # Supported only for WebSocket APIs.
5756
6690
  # @return [String]
5757
6691
  #
5758
6692
  # @!attribute [rw] integration_response_id
@@ -5760,7 +6694,7 @@ module Aws::ApiGatewayV2
5760
6694
  # @return [String]
5761
6695
  #
5762
6696
  # @!attribute [rw] integration_response_key
5763
- # After evaulating a selection expression, the result is compared
6697
+ # After evaluating a selection expression, the result is compared
5764
6698
  # against one or more selection keys to find a matching key. See
5765
6699
  # [Selection Expressions][1] for a list of expressions and each
5766
6700
  # expression's associated selection key type.
@@ -5810,7 +6744,8 @@ module Aws::ApiGatewayV2
5810
6744
  include Aws::Structure
5811
6745
  end
5812
6746
 
5813
- # Represents the input parameters for an UpdateModel request.
6747
+ # Represents the input parameters for an UpdateModel request. Supported
6748
+ # only for WebSocket APIs.
5814
6749
  #
5815
6750
  # @!attribute [rw] content_type
5816
6751
  # The content-type for the model, for example, "application/json".
@@ -5913,7 +6848,8 @@ module Aws::ApiGatewayV2
5913
6848
  # Represents the input parameters for an UpdateRoute request.
5914
6849
  #
5915
6850
  # @!attribute [rw] api_key_required
5916
- # Specifies whether an API key is required for the route.
6851
+ # Specifies whether an API key is required for the route. Supported
6852
+ # only for WebSocket APIs.
5917
6853
  # @return [Boolean]
5918
6854
  #
5919
6855
  # @!attribute [rw] authorization_scopes
@@ -5921,20 +6857,22 @@ module Aws::ApiGatewayV2
5921
6857
  # @return [Array<String>]
5922
6858
  #
5923
6859
  # @!attribute [rw] authorization_type
5924
- # The authorization type for the route. Valid values are NONE for open
5925
- # access, AWS\_IAM for using AWS IAM permissions, and CUSTOM for using
5926
- # a Lambda authorizer.
6860
+ # The authorization type for the route. For WebSocket APIs, valid
6861
+ # values are NONE for open access, AWS\_IAM for using AWS IAM
6862
+ # permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs,
6863
+ # valid values are NONE for open access, or JWT for using JSON Web
6864
+ # Tokens.
5927
6865
  # @return [String]
5928
6866
  #
5929
6867
  # @!attribute [rw] authorizer_id
5930
6868
  # The identifier of the Authorizer resource to be associated with this
5931
- # route, if the authorizationType is CUSTOM . The authorizer
5932
- # identifier is generated by API Gateway when you created the
5933
- # authorizer.
6869
+ # route. The authorizer identifier is generated by API Gateway when
6870
+ # you created the authorizer.
5934
6871
  # @return [String]
5935
6872
  #
5936
6873
  # @!attribute [rw] model_selection_expression
5937
- # The model selection expression for the route.
6874
+ # The model selection expression for the route. Supported only for
6875
+ # WebSocket APIs.
5938
6876
  # @return [String]
5939
6877
  #
5940
6878
  # @!attribute [rw] operation_name
@@ -5942,11 +6880,12 @@ module Aws::ApiGatewayV2
5942
6880
  # @return [String]
5943
6881
  #
5944
6882
  # @!attribute [rw] request_models
5945
- # The request models for the route.
6883
+ # The request models for the route. Supported only for WebSocket APIs.
5946
6884
  # @return [Hash<String,String>]
5947
6885
  #
5948
6886
  # @!attribute [rw] request_parameters
5949
- # The request parameters for the route.
6887
+ # The request parameters for the route. Supported only for WebSocket
6888
+ # APIs.
5950
6889
  # @return [Hash<String,Types::ParameterConstraints>]
5951
6890
  #
5952
6891
  # @!attribute [rw] route_key
@@ -5954,7 +6893,8 @@ module Aws::ApiGatewayV2
5954
6893
  # @return [String]
5955
6894
  #
5956
6895
  # @!attribute [rw] route_response_selection_expression
5957
- # The route response selection expression for the route.
6896
+ # The route response selection expression for the route. Supported
6897
+ # only for WebSocket APIs.
5958
6898
  # @return [String]
5959
6899
  #
5960
6900
  # @!attribute [rw] target
@@ -5983,7 +6923,7 @@ module Aws::ApiGatewayV2
5983
6923
  # api_id: "__string", # required
5984
6924
  # api_key_required: false,
5985
6925
  # authorization_scopes: ["StringWithLengthBetween1And64"],
5986
- # authorization_type: "NONE", # accepts NONE, AWS_IAM, CUSTOM
6926
+ # authorization_type: "NONE", # accepts NONE, AWS_IAM, CUSTOM, JWT
5987
6927
  # authorizer_id: "Id",
5988
6928
  # model_selection_expression: "SelectionExpression",
5989
6929
  # operation_name: "StringWithLengthBetween1And64",
@@ -6009,20 +6949,21 @@ module Aws::ApiGatewayV2
6009
6949
  #
6010
6950
  # @!attribute [rw] authorization_scopes
6011
6951
  # A list of authorization scopes configured on a route. The scopes are
6012
- # used with a COGNITO\_USER\_POOLS authorizer to authorize the method
6013
- # invocation. The authorization works by matching the route scopes
6014
- # against the scopes parsed from the access token in the incoming
6015
- # request. The method invocation is authorized if any route scope
6016
- # matches a claimed scope in the access token. Otherwise, the
6017
- # invocation is not authorized. When the route scope is configured,
6018
- # the client must provide an access token instead of an identity token
6019
- # for authorization purposes.
6952
+ # used with a JWT authorizer to authorize the method invocation. The
6953
+ # authorization works by matching the route scopes against the scopes
6954
+ # parsed from the access token in the incoming request. The method
6955
+ # invocation is authorized if any route scope matches a claimed scope
6956
+ # in the access token. Otherwise, the invocation is not authorized.
6957
+ # When the route scope is configured, the client must provide an
6958
+ # access token instead of an identity token for authorization
6959
+ # purposes.
6020
6960
  # @return [Array<String>]
6021
6961
  #
6022
6962
  # @!attribute [rw] authorization_type
6023
- # The authorization type. Valid values are NONE for open access,
6024
- # AWS\_IAM for using AWS IAM permissions, and CUSTOM for using a
6025
- # Lambda authorizer.
6963
+ # The authorization type. For WebSocket APIs, valid values are NONE
6964
+ # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
6965
+ # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
6966
+ # for open access, or JWT for using JSON Web Tokens.
6026
6967
  # @return [String]
6027
6968
  #
6028
6969
  # @!attribute [rw] authorizer_id
@@ -6054,7 +6995,7 @@ module Aws::ApiGatewayV2
6054
6995
  # @return [String]
6055
6996
  #
6056
6997
  # @!attribute [rw] route_key
6057
- # After evaulating a selection expression, the result is compared
6998
+ # After evaluating a selection expression, the result is compared
6058
6999
  # against one or more selection keys to find a matching key. See
6059
7000
  # [Selection Expressions][1] for a list of expressions and each
6060
7001
  # expression's associated selection key type.
@@ -6094,25 +7035,29 @@ module Aws::ApiGatewayV2
6094
7035
  include Aws::Structure
6095
7036
  end
6096
7037
 
7038
+ # @!attribute [rw] api_gateway_managed
7039
+ # @return [Boolean]
7040
+ #
6097
7041
  # @!attribute [rw] api_key_required
6098
7042
  # @return [Boolean]
6099
7043
  #
6100
7044
  # @!attribute [rw] authorization_scopes
6101
7045
  # A list of authorization scopes configured on a route. The scopes are
6102
- # used with a COGNITO\_USER\_POOLS authorizer to authorize the method
6103
- # invocation. The authorization works by matching the route scopes
6104
- # against the scopes parsed from the access token in the incoming
6105
- # request. The method invocation is authorized if any route scope
6106
- # matches a claimed scope in the access token. Otherwise, the
6107
- # invocation is not authorized. When the route scope is configured,
6108
- # the client must provide an access token instead of an identity token
6109
- # for authorization purposes.
7046
+ # used with a JWT authorizer to authorize the method invocation. The
7047
+ # authorization works by matching the route scopes against the scopes
7048
+ # parsed from the access token in the incoming request. The method
7049
+ # invocation is authorized if any route scope matches a claimed scope
7050
+ # in the access token. Otherwise, the invocation is not authorized.
7051
+ # When the route scope is configured, the client must provide an
7052
+ # access token instead of an identity token for authorization
7053
+ # purposes.
6110
7054
  # @return [Array<String>]
6111
7055
  #
6112
7056
  # @!attribute [rw] authorization_type
6113
- # The authorization type. Valid values are NONE for open access,
6114
- # AWS\_IAM for using AWS IAM permissions, and CUSTOM for using a
6115
- # Lambda authorizer.
7057
+ # The authorization type. For WebSocket APIs, valid values are NONE
7058
+ # for open access, AWS\_IAM for using AWS IAM permissions, and CUSTOM
7059
+ # for using a Lambda authorizer. For HTTP APIs, valid values are NONE
7060
+ # for open access, or JWT for using JSON Web Tokens.
6116
7061
  # @return [String]
6117
7062
  #
6118
7063
  # @!attribute [rw] authorizer_id
@@ -6145,7 +7090,7 @@ module Aws::ApiGatewayV2
6145
7090
  # @return [String]
6146
7091
  #
6147
7092
  # @!attribute [rw] route_key
6148
- # After evaulating a selection expression, the result is compared
7093
+ # After evaluating a selection expression, the result is compared
6149
7094
  # against one or more selection keys to find a matching key. See
6150
7095
  # [Selection Expressions][1] for a list of expressions and each
6151
7096
  # expression's associated selection key type.
@@ -6169,6 +7114,7 @@ module Aws::ApiGatewayV2
6169
7114
  # @return [String]
6170
7115
  #
6171
7116
  class UpdateRouteResult < Struct.new(
7117
+ :api_gateway_managed,
6172
7118
  :api_key_required,
6173
7119
  :authorization_scopes,
6174
7120
  :authorization_type,
@@ -6187,7 +7133,8 @@ module Aws::ApiGatewayV2
6187
7133
  # Represents the input parameters for an UpdateRouteResponse request.
6188
7134
  #
6189
7135
  # @!attribute [rw] model_selection_expression
6190
- # The model selection expression for the route response.
7136
+ # The model selection expression for the route response. Supported
7137
+ # only for WebSocket APIs.
6191
7138
  # @return [String]
6192
7139
  #
6193
7140
  # @!attribute [rw] response_models
@@ -6256,7 +7203,7 @@ module Aws::ApiGatewayV2
6256
7203
  # @return [String]
6257
7204
  #
6258
7205
  # @!attribute [rw] route_response_key
6259
- # After evaulating a selection expression, the result is compared
7206
+ # After evaluating a selection expression, the result is compared
6260
7207
  # against one or more selection keys to find a matching key. See
6261
7208
  # [Selection Expressions][1] for a list of expressions and each
6262
7209
  # expression's associated selection key type.
@@ -6299,7 +7246,7 @@ module Aws::ApiGatewayV2
6299
7246
  # @return [String]
6300
7247
  #
6301
7248
  # @!attribute [rw] route_response_key
6302
- # After evaulating a selection expression, the result is compared
7249
+ # After evaluating a selection expression, the result is compared
6303
7250
  # against one or more selection keys to find a matching key. See
6304
7251
  # [Selection Expressions][1] for a list of expressions and each
6305
7252
  # expression's associated selection key type.
@@ -6324,6 +7271,11 @@ module Aws::ApiGatewayV2
6324
7271
  # Settings for logging access in this stage.
6325
7272
  # @return [Types::AccessLogSettings]
6326
7273
  #
7274
+ # @!attribute [rw] auto_deploy
7275
+ # Specifies whether updates to an API automatically trigger a new
7276
+ # deployment. The default value is false.
7277
+ # @return [Boolean]
7278
+ #
6327
7279
  # @!attribute [rw] client_certificate_id
6328
7280
  # The identifier of a client certificate for a Stage.
6329
7281
  # @return [String]
@@ -6333,7 +7285,8 @@ module Aws::ApiGatewayV2
6333
7285
  # @return [Types::RouteSettings]
6334
7286
  #
6335
7287
  # @!attribute [rw] deployment_id
6336
- # The deployment identifier for the API stage.
7288
+ # The deployment identifier for the API stage. Can't be updated if
7289
+ # autoDeploy is enabled.
6337
7290
  # @return [String]
6338
7291
  #
6339
7292
  # @!attribute [rw] description
@@ -6347,11 +7300,13 @@ module Aws::ApiGatewayV2
6347
7300
  # @!attribute [rw] stage_variables
6348
7301
  # A map that defines the stage variables for a Stage. Variable names
6349
7302
  # can have alphanumeric and underscore characters, and the values must
6350
- # match \[A-Za-z0-9-.\_~:/?#&=,\]+.
7303
+ # match \[A-Za-z0-9-.\_~:/?#&amp;=,\]+. Supported only for WebSocket
7304
+ # APIs.
6351
7305
  # @return [Hash<String,String>]
6352
7306
  #
6353
7307
  class UpdateStageInput < Struct.new(
6354
7308
  :access_log_settings,
7309
+ :auto_deploy,
6355
7310
  :client_certificate_id,
6356
7311
  :default_route_settings,
6357
7312
  :deployment_id,
@@ -6370,6 +7325,7 @@ module Aws::ApiGatewayV2
6370
7325
  # format: "StringWithLengthBetween1And1024",
6371
7326
  # },
6372
7327
  # api_id: "__string", # required
7328
+ # auto_deploy: false,
6373
7329
  # client_certificate_id: "Id",
6374
7330
  # default_route_settings: {
6375
7331
  # data_trace_enabled: false,
@@ -6402,6 +7358,9 @@ module Aws::ApiGatewayV2
6402
7358
  # @!attribute [rw] api_id
6403
7359
  # @return [String]
6404
7360
  #
7361
+ # @!attribute [rw] auto_deploy
7362
+ # @return [Boolean]
7363
+ #
6405
7364
  # @!attribute [rw] client_certificate_id
6406
7365
  # The identifier.
6407
7366
  # @return [String]
@@ -6432,6 +7391,7 @@ module Aws::ApiGatewayV2
6432
7391
  class UpdateStageRequest < Struct.new(
6433
7392
  :access_log_settings,
6434
7393
  :api_id,
7394
+ :auto_deploy,
6435
7395
  :client_certificate_id,
6436
7396
  :default_route_settings,
6437
7397
  :deployment_id,
@@ -6446,6 +7406,12 @@ module Aws::ApiGatewayV2
6446
7406
  # Settings for logging access in a stage.
6447
7407
  # @return [Types::AccessLogSettings]
6448
7408
  #
7409
+ # @!attribute [rw] api_gateway_managed
7410
+ # @return [Boolean]
7411
+ #
7412
+ # @!attribute [rw] auto_deploy
7413
+ # @return [Boolean]
7414
+ #
6449
7415
  # @!attribute [rw] client_certificate_id
6450
7416
  # The identifier.
6451
7417
  # @return [String]
@@ -6465,6 +7431,9 @@ module Aws::ApiGatewayV2
6465
7431
  # A string with a length between \[0-1024\].
6466
7432
  # @return [String]
6467
7433
  #
7434
+ # @!attribute [rw] last_deployment_status_message
7435
+ # @return [String]
7436
+ #
6468
7437
  # @!attribute [rw] last_updated_date
6469
7438
  # @return [Time]
6470
7439
  #
@@ -6481,17 +7450,19 @@ module Aws::ApiGatewayV2
6481
7450
  # @return [Hash<String,String>]
6482
7451
  #
6483
7452
  # @!attribute [rw] tags
6484
- # A key value pair of string with key length between\[1-128\] and
6485
- # value length between\[1-256\]
7453
+ # Represents a collection of tags associated with the resource.
6486
7454
  # @return [Hash<String,String>]
6487
7455
  #
6488
7456
  class UpdateStageResponse < Struct.new(
6489
7457
  :access_log_settings,
7458
+ :api_gateway_managed,
7459
+ :auto_deploy,
6490
7460
  :client_certificate_id,
6491
7461
  :created_date,
6492
7462
  :default_route_settings,
6493
7463
  :deployment_id,
6494
7464
  :description,
7465
+ :last_deployment_status_message,
6495
7466
  :last_updated_date,
6496
7467
  :route_settings,
6497
7468
  :stage_name,