aws-sdk-apigatewayv2 1.14.0 → 1.15.0

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