aws-sdk-appmesh 1.27.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c697bf2d1b5df9d6ea020b7e11e96355a3929057befec084f3bbd998780f92bc
4
- data.tar.gz: 3bd361104f2ff0bea7258f33672999eb4bfa61888a953f8daa8371cf03ea15f2
3
+ metadata.gz: 40358f867c16779f0ec303004bf0ce96a7d6f0a0cc0c18689e722d9802ebb32f
4
+ data.tar.gz: cc0cc36137a3b10a23baf940fa574cac98ea8648d93c39963cb7822785b77385
5
5
  SHA512:
6
- metadata.gz: ea02a293a267b49b08366813485abec60933c073fa11ccbdceca1f41c631460e182cf902dbddacb51b1b0de42b9dd1e6f0bd2c6d91b05012b749e28576219a90
7
- data.tar.gz: 33cbb8b8426c8195210a194621c3474210f5dd823390999b913f82eacd051778eb0df7bd779bdba25c0201881f0f0a3538061dfa1db71d6903bdb73b801b9fca
6
+ metadata.gz: c1ca9f189b843cd4c0c56c442c235bdf11e189a88f16c26642975ceefb4d7e833baf6afdc4cc07fe944ea4782e2c03b4ac0180109f942ecd4d5f895acbf20b07
7
+ data.tar.gz: 6c9a809eea47857171c2c4c8b6206546cf23de1a5db88fc9605fc9f8ec2b69a094c96c9dd90f58948f9cbafea298b54055345a0a8311c6844ab764386b988a2d
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -27,7 +28,7 @@ require_relative 'aws-sdk-appmesh/customizations'
27
28
  # structure.
28
29
  #
29
30
  # app_mesh = Aws::AppMesh::Client.new
30
- # resp = app_mesh.create_mesh(params)
31
+ # resp = app_mesh.create_gateway_route(params)
31
32
  #
32
33
  # See {Client} for more information.
33
34
  #
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-appmesh/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::AppMesh
49
50
 
50
- GEM_VERSION = '1.27.0'
51
+ GEM_VERSION = '1.32.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::AppMesh
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::AppMesh
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -312,6 +327,145 @@ module Aws::AppMesh
312
327
 
313
328
  # @!group API Operations
314
329
 
330
+ # Creates a gateway route.
331
+ #
332
+ # A gateway route is attached to a virtual gateway and routes traffic to
333
+ # an existing virtual service. If a route matches a request, it can
334
+ # distribute traffic to a target virtual service.
335
+ #
336
+ # For more information about gateway routes, see [Gateway routes][1].
337
+ #
338
+ #
339
+ #
340
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html
341
+ #
342
+ # @option params [String] :client_token
343
+ # Unique, case-sensitive identifier that you provide to ensure the
344
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
345
+ # underscores are allowed.
346
+ #
347
+ # **A suitable default value is auto-generated.** You should normally
348
+ # not need to pass this option.**
349
+ #
350
+ # @option params [required, String] :gateway_route_name
351
+ # The name to use for the gateway route.
352
+ #
353
+ # @option params [required, String] :mesh_name
354
+ # The name of the service mesh to create the gateway route in.
355
+ #
356
+ # @option params [String] :mesh_owner
357
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
358
+ # not your own, then the account that you specify must share the mesh
359
+ # with your account before you can create the resource in the service
360
+ # mesh. For more information about mesh sharing, see [Working with
361
+ # shared meshes][1].
362
+ #
363
+ #
364
+ #
365
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
366
+ #
367
+ # @option params [required, Types::GatewayRouteSpec] :spec
368
+ # The gateway route specification to apply.
369
+ #
370
+ # @option params [Array<Types::TagRef>] :tags
371
+ # Optional metadata that you can apply to the gateway route to assist
372
+ # with categorization and organization. Each tag consists of a key and
373
+ # an optional value, both of which you define. Tag keys can have a
374
+ # maximum character length of 128 characters, and tag values can have a
375
+ # maximum length of 256 characters.
376
+ #
377
+ # @option params [required, String] :virtual_gateway_name
378
+ # The name of the virtual gateway to associate the gateway route with.
379
+ # If the virtual gateway is in a shared mesh, then you must be the owner
380
+ # of the virtual gateway resource.
381
+ #
382
+ # @return [Types::CreateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
383
+ #
384
+ # * {Types::CreateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
385
+ #
386
+ # @example Request syntax with placeholder values
387
+ #
388
+ # resp = client.create_gateway_route({
389
+ # client_token: "String",
390
+ # gateway_route_name: "ResourceName", # required
391
+ # mesh_name: "ResourceName", # required
392
+ # mesh_owner: "AccountId",
393
+ # spec: { # required
394
+ # grpc_route: {
395
+ # action: { # required
396
+ # target: { # required
397
+ # virtual_service: { # required
398
+ # virtual_service_name: "ResourceName", # required
399
+ # },
400
+ # },
401
+ # },
402
+ # match: { # required
403
+ # service_name: "ServiceName",
404
+ # },
405
+ # },
406
+ # http2_route: {
407
+ # action: { # required
408
+ # target: { # required
409
+ # virtual_service: { # required
410
+ # virtual_service_name: "ResourceName", # required
411
+ # },
412
+ # },
413
+ # },
414
+ # match: { # required
415
+ # prefix: "String", # required
416
+ # },
417
+ # },
418
+ # http_route: {
419
+ # action: { # required
420
+ # target: { # required
421
+ # virtual_service: { # required
422
+ # virtual_service_name: "ResourceName", # required
423
+ # },
424
+ # },
425
+ # },
426
+ # match: { # required
427
+ # prefix: "String", # required
428
+ # },
429
+ # },
430
+ # },
431
+ # tags: [
432
+ # {
433
+ # key: "TagKey", # required
434
+ # value: "TagValue",
435
+ # },
436
+ # ],
437
+ # virtual_gateway_name: "ResourceName", # required
438
+ # })
439
+ #
440
+ # @example Response structure
441
+ #
442
+ # resp.gateway_route.gateway_route_name #=> String
443
+ # resp.gateway_route.mesh_name #=> String
444
+ # resp.gateway_route.metadata.arn #=> String
445
+ # resp.gateway_route.metadata.created_at #=> Time
446
+ # resp.gateway_route.metadata.last_updated_at #=> Time
447
+ # resp.gateway_route.metadata.mesh_owner #=> String
448
+ # resp.gateway_route.metadata.resource_owner #=> String
449
+ # resp.gateway_route.metadata.uid #=> String
450
+ # resp.gateway_route.metadata.version #=> Integer
451
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
452
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
453
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
454
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
455
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
456
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
457
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
458
+ # resp.gateway_route.virtual_gateway_name #=> String
459
+ #
460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute AWS API Documentation
461
+ #
462
+ # @overload create_gateway_route(params = {})
463
+ # @param [Hash] params ({})
464
+ def create_gateway_route(params = {}, options = {})
465
+ req = build_request(:create_gateway_route, params)
466
+ req.send_request(options)
467
+ end
468
+
315
469
  # Creates a service mesh.
316
470
  #
317
471
  # A service mesh is a logical boundary for network traffic between
@@ -380,7 +534,7 @@ module Aws::AppMesh
380
534
  # resp.mesh.metadata.uid #=> String
381
535
  # resp.mesh.metadata.version #=> Integer
382
536
  # resp.mesh.spec.egress_filter.type #=> String, one of "ALLOW_ALL", "DROP_ALL"
383
- # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
537
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
384
538
  #
385
539
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh AWS API Documentation
386
540
  #
@@ -488,18 +642,18 @@ module Aws::AppMesh
488
642
  # http_retry_events: ["HttpRetryPolicyEvent"],
489
643
  # max_retries: 1, # required
490
644
  # per_retry_timeout: { # required
491
- # unit: "ms", # accepts ms, s
645
+ # unit: "s", # accepts s, ms
492
646
  # value: 1,
493
647
  # },
494
648
  # tcp_retry_events: ["connection-error"], # accepts connection-error
495
649
  # },
496
650
  # timeout: {
497
651
  # idle: {
498
- # unit: "ms", # accepts ms, s
652
+ # unit: "s", # accepts s, ms
499
653
  # value: 1,
500
654
  # },
501
655
  # per_request: {
502
- # unit: "ms", # accepts ms, s
656
+ # unit: "s", # accepts s, ms
503
657
  # value: 1,
504
658
  # },
505
659
  # },
@@ -530,7 +684,7 @@ module Aws::AppMesh
530
684
  # name: "HeaderName", # required
531
685
  # },
532
686
  # ],
533
- # method: "CONNECT", # accepts CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
687
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
534
688
  # prefix: "String", # required
535
689
  # scheme: "http", # accepts http, https
536
690
  # },
@@ -538,18 +692,18 @@ module Aws::AppMesh
538
692
  # http_retry_events: ["HttpRetryPolicyEvent"],
539
693
  # max_retries: 1, # required
540
694
  # per_retry_timeout: { # required
541
- # unit: "ms", # accepts ms, s
695
+ # unit: "s", # accepts s, ms
542
696
  # value: 1,
543
697
  # },
544
698
  # tcp_retry_events: ["connection-error"], # accepts connection-error
545
699
  # },
546
700
  # timeout: {
547
701
  # idle: {
548
- # unit: "ms", # accepts ms, s
702
+ # unit: "s", # accepts s, ms
549
703
  # value: 1,
550
704
  # },
551
705
  # per_request: {
552
- # unit: "ms", # accepts ms, s
706
+ # unit: "s", # accepts s, ms
553
707
  # value: 1,
554
708
  # },
555
709
  # },
@@ -580,7 +734,7 @@ module Aws::AppMesh
580
734
  # name: "HeaderName", # required
581
735
  # },
582
736
  # ],
583
- # method: "CONNECT", # accepts CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
737
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
584
738
  # prefix: "String", # required
585
739
  # scheme: "http", # accepts http, https
586
740
  # },
@@ -588,18 +742,18 @@ module Aws::AppMesh
588
742
  # http_retry_events: ["HttpRetryPolicyEvent"],
589
743
  # max_retries: 1, # required
590
744
  # per_retry_timeout: { # required
591
- # unit: "ms", # accepts ms, s
745
+ # unit: "s", # accepts s, ms
592
746
  # value: 1,
593
747
  # },
594
748
  # tcp_retry_events: ["connection-error"], # accepts connection-error
595
749
  # },
596
750
  # timeout: {
597
751
  # idle: {
598
- # unit: "ms", # accepts ms, s
752
+ # unit: "s", # accepts s, ms
599
753
  # value: 1,
600
754
  # },
601
755
  # per_request: {
602
- # unit: "ms", # accepts ms, s
756
+ # unit: "s", # accepts s, ms
603
757
  # value: 1,
604
758
  # },
605
759
  # },
@@ -616,7 +770,7 @@ module Aws::AppMesh
616
770
  # },
617
771
  # timeout: {
618
772
  # idle: {
619
- # unit: "ms", # accepts ms, s
773
+ # unit: "s", # accepts s, ms
620
774
  # value: 1,
621
775
  # },
622
776
  # },
@@ -661,13 +815,13 @@ module Aws::AppMesh
661
815
  # resp.route.spec.grpc_route.retry_policy.http_retry_events #=> Array
662
816
  # resp.route.spec.grpc_route.retry_policy.http_retry_events[0] #=> String
663
817
  # resp.route.spec.grpc_route.retry_policy.max_retries #=> Integer
664
- # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
818
+ # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
665
819
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
666
820
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
667
821
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
668
- # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
822
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "s", "ms"
669
823
  # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
670
- # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
824
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "s", "ms"
671
825
  # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
672
826
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
673
827
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
@@ -681,19 +835,19 @@ module Aws::AppMesh
681
835
  # resp.route.spec.http2_route.match.headers[0].match.regex #=> String
682
836
  # resp.route.spec.http2_route.match.headers[0].match.suffix #=> String
683
837
  # resp.route.spec.http2_route.match.headers[0].name #=> String
684
- # resp.route.spec.http2_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
838
+ # resp.route.spec.http2_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
685
839
  # resp.route.spec.http2_route.match.prefix #=> String
686
840
  # resp.route.spec.http2_route.match.scheme #=> String, one of "http", "https"
687
841
  # resp.route.spec.http2_route.retry_policy.http_retry_events #=> Array
688
842
  # resp.route.spec.http2_route.retry_policy.http_retry_events[0] #=> String
689
843
  # resp.route.spec.http2_route.retry_policy.max_retries #=> Integer
690
- # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
844
+ # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
691
845
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
692
846
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
693
847
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
694
- # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
848
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "s", "ms"
695
849
  # resp.route.spec.http2_route.timeout.idle.value #=> Integer
696
- # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
850
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "s", "ms"
697
851
  # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
698
852
  # resp.route.spec.http_route.action.weighted_targets #=> Array
699
853
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
@@ -707,27 +861,27 @@ module Aws::AppMesh
707
861
  # resp.route.spec.http_route.match.headers[0].match.regex #=> String
708
862
  # resp.route.spec.http_route.match.headers[0].match.suffix #=> String
709
863
  # resp.route.spec.http_route.match.headers[0].name #=> String
710
- # resp.route.spec.http_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
864
+ # resp.route.spec.http_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
711
865
  # resp.route.spec.http_route.match.prefix #=> String
712
866
  # resp.route.spec.http_route.match.scheme #=> String, one of "http", "https"
713
867
  # resp.route.spec.http_route.retry_policy.http_retry_events #=> Array
714
868
  # resp.route.spec.http_route.retry_policy.http_retry_events[0] #=> String
715
869
  # resp.route.spec.http_route.retry_policy.max_retries #=> Integer
716
- # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
870
+ # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
717
871
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
718
872
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
719
873
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
720
- # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
874
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "s", "ms"
721
875
  # resp.route.spec.http_route.timeout.idle.value #=> Integer
722
- # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
876
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "s", "ms"
723
877
  # resp.route.spec.http_route.timeout.per_request.value #=> Integer
724
878
  # resp.route.spec.priority #=> Integer
725
879
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
726
880
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
727
881
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
728
- # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
882
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "s", "ms"
729
883
  # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
730
- # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
884
+ # resp.route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
731
885
  # resp.route.virtual_router_name #=> String
732
886
  #
733
887
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute AWS API Documentation
@@ -739,6 +893,191 @@ module Aws::AppMesh
739
893
  req.send_request(options)
740
894
  end
741
895
 
896
+ # Creates a virtual gateway.
897
+ #
898
+ # A virtual gateway allows resources outside your mesh to communicate to
899
+ # resources that are inside your mesh. The virtual gateway represents an
900
+ # Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or
901
+ # on an Amazon EC2 instance. Unlike a virtual node, which represents an
902
+ # Envoy running with an application, a virtual gateway represents Envoy
903
+ # deployed by itself.
904
+ #
905
+ # For more information about virtual gateways, see [Virtual
906
+ # gateways][1].
907
+ #
908
+ #
909
+ #
910
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
911
+ #
912
+ # @option params [String] :client_token
913
+ # Unique, case-sensitive identifier that you provide to ensure the
914
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
915
+ # underscores are allowed.
916
+ #
917
+ # **A suitable default value is auto-generated.** You should normally
918
+ # not need to pass this option.**
919
+ #
920
+ # @option params [required, String] :mesh_name
921
+ # The name of the service mesh to create the virtual gateway in.
922
+ #
923
+ # @option params [String] :mesh_owner
924
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
925
+ # not your own, then the account that you specify must share the mesh
926
+ # with your account before you can create the resource in the service
927
+ # mesh. For more information about mesh sharing, see [Working with
928
+ # shared meshes][1].
929
+ #
930
+ #
931
+ #
932
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
933
+ #
934
+ # @option params [required, Types::VirtualGatewaySpec] :spec
935
+ # The virtual gateway specification to apply.
936
+ #
937
+ # @option params [Array<Types::TagRef>] :tags
938
+ # Optional metadata that you can apply to the virtual gateway to assist
939
+ # with categorization and organization. Each tag consists of a key and
940
+ # an optional value, both of which you define. Tag keys can have a
941
+ # maximum character length of 128 characters, and tag values can have a
942
+ # maximum length of 256 characters.
943
+ #
944
+ # @option params [required, String] :virtual_gateway_name
945
+ # The name to use for the virtual gateway.
946
+ #
947
+ # @return [Types::CreateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
948
+ #
949
+ # * {Types::CreateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
950
+ #
951
+ # @example Request syntax with placeholder values
952
+ #
953
+ # resp = client.create_virtual_gateway({
954
+ # client_token: "String",
955
+ # mesh_name: "ResourceName", # required
956
+ # mesh_owner: "AccountId",
957
+ # spec: { # required
958
+ # backend_defaults: {
959
+ # client_policy: {
960
+ # tls: {
961
+ # enforce: false,
962
+ # ports: [1],
963
+ # validation: { # required
964
+ # trust: { # required
965
+ # acm: {
966
+ # certificate_authority_arns: ["Arn"], # required
967
+ # },
968
+ # file: {
969
+ # certificate_chain: "FilePath", # required
970
+ # },
971
+ # },
972
+ # },
973
+ # },
974
+ # },
975
+ # },
976
+ # listeners: [ # required
977
+ # {
978
+ # connection_pool: {
979
+ # grpc: {
980
+ # max_requests: 1, # required
981
+ # },
982
+ # http: {
983
+ # max_connections: 1, # required
984
+ # max_pending_requests: 1,
985
+ # },
986
+ # http2: {
987
+ # max_requests: 1, # required
988
+ # },
989
+ # },
990
+ # health_check: {
991
+ # healthy_threshold: 1, # required
992
+ # interval_millis: 1, # required
993
+ # path: "String",
994
+ # port: 1,
995
+ # protocol: "http", # required, accepts http, http2, grpc
996
+ # timeout_millis: 1, # required
997
+ # unhealthy_threshold: 1, # required
998
+ # },
999
+ # port_mapping: { # required
1000
+ # port: 1, # required
1001
+ # protocol: "http", # required, accepts http, http2, grpc
1002
+ # },
1003
+ # tls: {
1004
+ # certificate: { # required
1005
+ # acm: {
1006
+ # certificate_arn: "Arn", # required
1007
+ # },
1008
+ # file: {
1009
+ # certificate_chain: "FilePath", # required
1010
+ # private_key: "FilePath", # required
1011
+ # },
1012
+ # },
1013
+ # mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
1014
+ # },
1015
+ # },
1016
+ # ],
1017
+ # logging: {
1018
+ # access_log: {
1019
+ # file: {
1020
+ # path: "FilePath", # required
1021
+ # },
1022
+ # },
1023
+ # },
1024
+ # },
1025
+ # tags: [
1026
+ # {
1027
+ # key: "TagKey", # required
1028
+ # value: "TagValue",
1029
+ # },
1030
+ # ],
1031
+ # virtual_gateway_name: "ResourceName", # required
1032
+ # })
1033
+ #
1034
+ # @example Response structure
1035
+ #
1036
+ # resp.virtual_gateway.mesh_name #=> String
1037
+ # resp.virtual_gateway.metadata.arn #=> String
1038
+ # resp.virtual_gateway.metadata.created_at #=> Time
1039
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1040
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1041
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1042
+ # resp.virtual_gateway.metadata.uid #=> String
1043
+ # resp.virtual_gateway.metadata.version #=> Integer
1044
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1045
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1046
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1047
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1048
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1049
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1050
+ # resp.virtual_gateway.spec.listeners #=> Array
1051
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
1052
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_connections #=> Integer
1053
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
1054
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
1055
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1056
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1057
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1058
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1059
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "http", "http2", "grpc"
1060
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1061
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1062
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1063
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "http2", "grpc"
1064
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1065
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1066
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1067
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
1068
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1069
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1070
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1071
+ #
1072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway AWS API Documentation
1073
+ #
1074
+ # @overload create_virtual_gateway(params = {})
1075
+ # @param [Hash] params ({})
1076
+ def create_virtual_gateway(params = {}, options = {})
1077
+ req = build_request(:create_virtual_gateway, params)
1078
+ req.send_request(options)
1079
+ end
1080
+
742
1081
  # Creates a virtual node within a service mesh.
743
1082
  #
744
1083
  # A virtual node acts as a logical pointer to a particular task group,
@@ -753,26 +1092,32 @@ module Aws::AppMesh
753
1092
  # communicate to is specified as a `backend`.
754
1093
  #
755
1094
  # The response metadata for your new virtual node contains the `arn`
756
- # that is associated with the virtual node. Set this value (either the
757
- # full ARN or the truncated resource name: for example,
758
- # `mesh/default/virtualNode/simpleapp`) as the
759
- # `APPMESH_VIRTUAL_NODE_NAME` environment variable for your task
1095
+ # that is associated with the virtual node. Set this value to the full
1096
+ # ARN; for example,
1097
+ # `arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp`)
1098
+ # as the `APPMESH_RESOURCE_ARN` environment variable for your task
760
1099
  # group's Envoy proxy container in your task definition or pod spec.
761
1100
  # This is then mapped to the `node.id` and `node.cluster` Envoy
762
1101
  # parameters.
763
1102
  #
764
- # <note markdown="1"> If you require your Envoy stats or tracing to use a different name,
765
- # you can override the `node.cluster` value that is set by
766
- # `APPMESH_VIRTUAL_NODE_NAME` with the `APPMESH_VIRTUAL_NODE_CLUSTER`
767
- # environment variable.
1103
+ # <note markdown="1"> By default, App Mesh uses the name of the resource you specified in
1104
+ # `APPMESH_RESOURCE_ARN` when Envoy is referring to itself in metrics
1105
+ # and traces. You can override this behavior by setting the
1106
+ # `APPMESH_RESOURCE_CLUSTER` environment variable with your own name.
1107
+ #
1108
+ # AWS Cloud Map is not available in the eu-south-1 Region.
768
1109
  #
769
1110
  # </note>
770
1111
  #
771
- # For more information about virtual nodes, see [Virtual nodes][1].
1112
+ # For more information about virtual nodes, see [Virtual nodes][1]. You
1113
+ # must be using `1.15.0` or later of the Envoy image when setting these
1114
+ # variables. For more information about App Mesh Envoy variables, see
1115
+ # [Envoy image][2] in the AWS App Mesh User Guide.
772
1116
  #
773
1117
  #
774
1118
  #
775
1119
  # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html
1120
+ # [2]: https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html
776
1121
  #
777
1122
  # @option params [String] :client_token
778
1123
  # Unique, case-sensitive identifier that you provide to ensure the
@@ -863,53 +1208,80 @@ module Aws::AppMesh
863
1208
  # ],
864
1209
  # listeners: [
865
1210
  # {
1211
+ # connection_pool: {
1212
+ # grpc: {
1213
+ # max_requests: 1, # required
1214
+ # },
1215
+ # http: {
1216
+ # max_connections: 1, # required
1217
+ # max_pending_requests: 1,
1218
+ # },
1219
+ # http2: {
1220
+ # max_requests: 1, # required
1221
+ # },
1222
+ # tcp: {
1223
+ # max_connections: 1, # required
1224
+ # },
1225
+ # },
866
1226
  # health_check: {
867
1227
  # healthy_threshold: 1, # required
868
1228
  # interval_millis: 1, # required
869
1229
  # path: "String",
870
1230
  # port: 1,
871
- # protocol: "grpc", # required, accepts grpc, http, http2, tcp
1231
+ # protocol: "http", # required, accepts http, tcp, http2, grpc
872
1232
  # timeout_millis: 1, # required
873
1233
  # unhealthy_threshold: 1, # required
874
1234
  # },
1235
+ # outlier_detection: {
1236
+ # base_ejection_duration: { # required
1237
+ # unit: "s", # accepts s, ms
1238
+ # value: 1,
1239
+ # },
1240
+ # interval: { # required
1241
+ # unit: "s", # accepts s, ms
1242
+ # value: 1,
1243
+ # },
1244
+ # max_ejection_percent: 1, # required
1245
+ # max_server_errors: 1, # required
1246
+ # },
875
1247
  # port_mapping: { # required
876
1248
  # port: 1, # required
877
- # protocol: "grpc", # required, accepts grpc, http, http2, tcp
1249
+ # protocol: "http", # required, accepts http, tcp, http2, grpc
878
1250
  # },
879
1251
  # timeout: {
880
1252
  # grpc: {
881
1253
  # idle: {
882
- # unit: "ms", # accepts ms, s
1254
+ # unit: "s", # accepts s, ms
883
1255
  # value: 1,
884
1256
  # },
885
1257
  # per_request: {
886
- # unit: "ms", # accepts ms, s
1258
+ # unit: "s", # accepts s, ms
887
1259
  # value: 1,
888
1260
  # },
889
1261
  # },
890
1262
  # http: {
891
1263
  # idle: {
892
- # unit: "ms", # accepts ms, s
1264
+ # unit: "s", # accepts s, ms
893
1265
  # value: 1,
894
1266
  # },
895
1267
  # per_request: {
896
- # unit: "ms", # accepts ms, s
1268
+ # unit: "s", # accepts s, ms
897
1269
  # value: 1,
898
1270
  # },
899
1271
  # },
900
1272
  # http2: {
901
1273
  # idle: {
902
- # unit: "ms", # accepts ms, s
1274
+ # unit: "s", # accepts s, ms
903
1275
  # value: 1,
904
1276
  # },
905
1277
  # per_request: {
906
- # unit: "ms", # accepts ms, s
1278
+ # unit: "s", # accepts s, ms
907
1279
  # value: 1,
908
1280
  # },
909
1281
  # },
910
1282
  # tcp: {
911
1283
  # idle: {
912
- # unit: "ms", # accepts ms, s
1284
+ # unit: "s", # accepts s, ms
913
1285
  # value: 1,
914
1286
  # },
915
1287
  # },
@@ -924,7 +1296,7 @@ module Aws::AppMesh
924
1296
  # private_key: "FilePath", # required
925
1297
  # },
926
1298
  # },
927
- # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
1299
+ # mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
928
1300
  # },
929
1301
  # },
930
1302
  # ],
@@ -985,33 +1357,44 @@ module Aws::AppMesh
985
1357
  # resp.virtual_node.spec.backends[0].virtual_service.client_policy.tls.validation.trust.file.certificate_chain #=> String
986
1358
  # resp.virtual_node.spec.backends[0].virtual_service.virtual_service_name #=> String
987
1359
  # resp.virtual_node.spec.listeners #=> Array
1360
+ # resp.virtual_node.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
1361
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_connections #=> Integer
1362
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
1363
+ # resp.virtual_node.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
1364
+ # resp.virtual_node.spec.listeners[0].connection_pool.tcp.max_connections #=> Integer
988
1365
  # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
989
1366
  # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
990
1367
  # resp.virtual_node.spec.listeners[0].health_check.path #=> String
991
1368
  # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
992
- # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1369
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp", "http2", "grpc"
993
1370
  # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
994
1371
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1372
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.unit #=> String, one of "s", "ms"
1373
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.value #=> Integer
1374
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.unit #=> String, one of "s", "ms"
1375
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.value #=> Integer
1376
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_ejection_percent #=> Integer
1377
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_server_errors #=> Integer
995
1378
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
996
- # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
997
- # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
1379
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
1380
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "s", "ms"
998
1381
  # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
999
- # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
1382
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "s", "ms"
1000
1383
  # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1001
- # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
1384
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "s", "ms"
1002
1385
  # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1003
- # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
1386
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "s", "ms"
1004
1387
  # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1005
- # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
1388
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "s", "ms"
1006
1389
  # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1007
- # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
1390
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "s", "ms"
1008
1391
  # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1009
- # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
1392
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "s", "ms"
1010
1393
  # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1011
1394
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1012
1395
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1013
1396
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
1014
- # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1397
+ # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
1015
1398
  # resp.virtual_node.spec.logging.access_log.file.path #=> String
1016
1399
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes #=> Array
1017
1400
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes[0].key #=> String
@@ -1019,7 +1402,7 @@ module Aws::AppMesh
1019
1402
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.namespace_name #=> String
1020
1403
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.service_name #=> String
1021
1404
  # resp.virtual_node.spec.service_discovery.dns.hostname #=> String
1022
- # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1405
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1023
1406
  # resp.virtual_node.virtual_node_name #=> String
1024
1407
  #
1025
1408
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode AWS API Documentation
@@ -1096,7 +1479,7 @@ module Aws::AppMesh
1096
1479
  # {
1097
1480
  # port_mapping: { # required
1098
1481
  # port: 1, # required
1099
- # protocol: "grpc", # required, accepts grpc, http, http2, tcp
1482
+ # protocol: "http", # required, accepts http, tcp, http2, grpc
1100
1483
  # },
1101
1484
  # },
1102
1485
  # ],
@@ -1122,8 +1505,8 @@ module Aws::AppMesh
1122
1505
  # resp.virtual_router.metadata.version #=> Integer
1123
1506
  # resp.virtual_router.spec.listeners #=> Array
1124
1507
  # resp.virtual_router.spec.listeners[0].port_mapping.port #=> Integer
1125
- # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1126
- # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1508
+ # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
1509
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1127
1510
  # resp.virtual_router.virtual_router_name #=> String
1128
1511
  #
1129
1512
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter AWS API Documentation
@@ -1227,7 +1610,7 @@ module Aws::AppMesh
1227
1610
  # resp.virtual_service.metadata.version #=> Integer
1228
1611
  # resp.virtual_service.spec.provider.virtual_node.virtual_node_name #=> String
1229
1612
  # resp.virtual_service.spec.provider.virtual_router.virtual_router_name #=> String
1230
- # resp.virtual_service.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1613
+ # resp.virtual_service.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1231
1614
  # resp.virtual_service.virtual_service_name #=> String
1232
1615
  #
1233
1616
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService AWS API Documentation
@@ -1239,6 +1622,69 @@ module Aws::AppMesh
1239
1622
  req.send_request(options)
1240
1623
  end
1241
1624
 
1625
+ # Deletes an existing gateway route.
1626
+ #
1627
+ # @option params [required, String] :gateway_route_name
1628
+ # The name of the gateway route to delete.
1629
+ #
1630
+ # @option params [required, String] :mesh_name
1631
+ # The name of the service mesh to delete the gateway route from.
1632
+ #
1633
+ # @option params [String] :mesh_owner
1634
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1635
+ # not your own, then it's the ID of the account that shared the mesh
1636
+ # with your account. For more information about mesh sharing, see
1637
+ # [Working with shared meshes][1].
1638
+ #
1639
+ #
1640
+ #
1641
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1642
+ #
1643
+ # @option params [required, String] :virtual_gateway_name
1644
+ # The name of the virtual gateway to delete the route from.
1645
+ #
1646
+ # @return [Types::DeleteGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1647
+ #
1648
+ # * {Types::DeleteGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
1649
+ #
1650
+ # @example Request syntax with placeholder values
1651
+ #
1652
+ # resp = client.delete_gateway_route({
1653
+ # gateway_route_name: "ResourceName", # required
1654
+ # mesh_name: "ResourceName", # required
1655
+ # mesh_owner: "AccountId",
1656
+ # virtual_gateway_name: "ResourceName", # required
1657
+ # })
1658
+ #
1659
+ # @example Response structure
1660
+ #
1661
+ # resp.gateway_route.gateway_route_name #=> String
1662
+ # resp.gateway_route.mesh_name #=> String
1663
+ # resp.gateway_route.metadata.arn #=> String
1664
+ # resp.gateway_route.metadata.created_at #=> Time
1665
+ # resp.gateway_route.metadata.last_updated_at #=> Time
1666
+ # resp.gateway_route.metadata.mesh_owner #=> String
1667
+ # resp.gateway_route.metadata.resource_owner #=> String
1668
+ # resp.gateway_route.metadata.uid #=> String
1669
+ # resp.gateway_route.metadata.version #=> Integer
1670
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
1671
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
1672
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
1673
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
1674
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
1675
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
1676
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1677
+ # resp.gateway_route.virtual_gateway_name #=> String
1678
+ #
1679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute AWS API Documentation
1680
+ #
1681
+ # @overload delete_gateway_route(params = {})
1682
+ # @param [Hash] params ({})
1683
+ def delete_gateway_route(params = {}, options = {})
1684
+ req = build_request(:delete_gateway_route, params)
1685
+ req.send_request(options)
1686
+ end
1687
+
1242
1688
  # Deletes an existing service mesh.
1243
1689
  #
1244
1690
  # You must delete all resources (virtual services, routes, virtual
@@ -1269,7 +1715,7 @@ module Aws::AppMesh
1269
1715
  # resp.mesh.metadata.uid #=> String
1270
1716
  # resp.mesh.metadata.version #=> Integer
1271
1717
  # resp.mesh.spec.egress_filter.type #=> String, one of "ALLOW_ALL", "DROP_ALL"
1272
- # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1718
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1273
1719
  #
1274
1720
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh AWS API Documentation
1275
1721
  #
@@ -1344,13 +1790,13 @@ module Aws::AppMesh
1344
1790
  # resp.route.spec.grpc_route.retry_policy.http_retry_events #=> Array
1345
1791
  # resp.route.spec.grpc_route.retry_policy.http_retry_events[0] #=> String
1346
1792
  # resp.route.spec.grpc_route.retry_policy.max_retries #=> Integer
1347
- # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
1793
+ # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
1348
1794
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
1349
1795
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
1350
1796
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1351
- # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
1797
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "s", "ms"
1352
1798
  # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
1353
- # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
1799
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "s", "ms"
1354
1800
  # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
1355
1801
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
1356
1802
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
@@ -1364,19 +1810,19 @@ module Aws::AppMesh
1364
1810
  # resp.route.spec.http2_route.match.headers[0].match.regex #=> String
1365
1811
  # resp.route.spec.http2_route.match.headers[0].match.suffix #=> String
1366
1812
  # resp.route.spec.http2_route.match.headers[0].name #=> String
1367
- # resp.route.spec.http2_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
1813
+ # resp.route.spec.http2_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
1368
1814
  # resp.route.spec.http2_route.match.prefix #=> String
1369
1815
  # resp.route.spec.http2_route.match.scheme #=> String, one of "http", "https"
1370
1816
  # resp.route.spec.http2_route.retry_policy.http_retry_events #=> Array
1371
1817
  # resp.route.spec.http2_route.retry_policy.http_retry_events[0] #=> String
1372
1818
  # resp.route.spec.http2_route.retry_policy.max_retries #=> Integer
1373
- # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
1819
+ # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
1374
1820
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
1375
1821
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
1376
1822
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1377
- # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
1823
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "s", "ms"
1378
1824
  # resp.route.spec.http2_route.timeout.idle.value #=> Integer
1379
- # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
1825
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "s", "ms"
1380
1826
  # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
1381
1827
  # resp.route.spec.http_route.action.weighted_targets #=> Array
1382
1828
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
@@ -1390,27 +1836,27 @@ module Aws::AppMesh
1390
1836
  # resp.route.spec.http_route.match.headers[0].match.regex #=> String
1391
1837
  # resp.route.spec.http_route.match.headers[0].match.suffix #=> String
1392
1838
  # resp.route.spec.http_route.match.headers[0].name #=> String
1393
- # resp.route.spec.http_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
1839
+ # resp.route.spec.http_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
1394
1840
  # resp.route.spec.http_route.match.prefix #=> String
1395
1841
  # resp.route.spec.http_route.match.scheme #=> String, one of "http", "https"
1396
1842
  # resp.route.spec.http_route.retry_policy.http_retry_events #=> Array
1397
1843
  # resp.route.spec.http_route.retry_policy.http_retry_events[0] #=> String
1398
1844
  # resp.route.spec.http_route.retry_policy.max_retries #=> Integer
1399
- # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
1845
+ # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
1400
1846
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
1401
1847
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
1402
1848
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1403
- # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
1849
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "s", "ms"
1404
1850
  # resp.route.spec.http_route.timeout.idle.value #=> Integer
1405
- # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
1851
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "s", "ms"
1406
1852
  # resp.route.spec.http_route.timeout.per_request.value #=> Integer
1407
1853
  # resp.route.spec.priority #=> Integer
1408
1854
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
1409
1855
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
1410
1856
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
1411
- # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
1857
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "s", "ms"
1412
1858
  # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
1413
- # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1859
+ # resp.route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1414
1860
  # resp.route.virtual_router_name #=> String
1415
1861
  #
1416
1862
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute AWS API Documentation
@@ -1422,10 +1868,88 @@ module Aws::AppMesh
1422
1868
  req.send_request(options)
1423
1869
  end
1424
1870
 
1425
- # Deletes an existing virtual node.
1426
- #
1427
- # You must delete any virtual services that list a virtual node as a
1428
- # service provider before you can delete the virtual node itself.
1871
+ # Deletes an existing virtual gateway. You cannot delete a virtual
1872
+ # gateway if any gateway routes are associated to it.
1873
+ #
1874
+ # @option params [required, String] :mesh_name
1875
+ # The name of the service mesh to delete the virtual gateway from.
1876
+ #
1877
+ # @option params [String] :mesh_owner
1878
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1879
+ # not your own, then it's the ID of the account that shared the mesh
1880
+ # with your account. For more information about mesh sharing, see
1881
+ # [Working with shared meshes][1].
1882
+ #
1883
+ #
1884
+ #
1885
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1886
+ #
1887
+ # @option params [required, String] :virtual_gateway_name
1888
+ # The name of the virtual gateway to delete.
1889
+ #
1890
+ # @return [Types::DeleteVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1891
+ #
1892
+ # * {Types::DeleteVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
1893
+ #
1894
+ # @example Request syntax with placeholder values
1895
+ #
1896
+ # resp = client.delete_virtual_gateway({
1897
+ # mesh_name: "ResourceName", # required
1898
+ # mesh_owner: "AccountId",
1899
+ # virtual_gateway_name: "ResourceName", # required
1900
+ # })
1901
+ #
1902
+ # @example Response structure
1903
+ #
1904
+ # resp.virtual_gateway.mesh_name #=> String
1905
+ # resp.virtual_gateway.metadata.arn #=> String
1906
+ # resp.virtual_gateway.metadata.created_at #=> Time
1907
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1908
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1909
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1910
+ # resp.virtual_gateway.metadata.uid #=> String
1911
+ # resp.virtual_gateway.metadata.version #=> Integer
1912
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1913
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1914
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1915
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1916
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1917
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1918
+ # resp.virtual_gateway.spec.listeners #=> Array
1919
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
1920
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_connections #=> Integer
1921
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
1922
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
1923
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1924
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1925
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1926
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1927
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "http", "http2", "grpc"
1928
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1929
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1930
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1931
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "http2", "grpc"
1932
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1933
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1934
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1935
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
1936
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1937
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1938
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1939
+ #
1940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway AWS API Documentation
1941
+ #
1942
+ # @overload delete_virtual_gateway(params = {})
1943
+ # @param [Hash] params ({})
1944
+ def delete_virtual_gateway(params = {}, options = {})
1945
+ req = build_request(:delete_virtual_gateway, params)
1946
+ req.send_request(options)
1947
+ end
1948
+
1949
+ # Deletes an existing virtual node.
1950
+ #
1951
+ # You must delete any virtual services that list a virtual node as a
1952
+ # service provider before you can delete the virtual node itself.
1429
1953
  #
1430
1954
  # @option params [required, String] :mesh_name
1431
1955
  # The name of the service mesh to delete the virtual node in.
@@ -1480,33 +2004,44 @@ module Aws::AppMesh
1480
2004
  # resp.virtual_node.spec.backends[0].virtual_service.client_policy.tls.validation.trust.file.certificate_chain #=> String
1481
2005
  # resp.virtual_node.spec.backends[0].virtual_service.virtual_service_name #=> String
1482
2006
  # resp.virtual_node.spec.listeners #=> Array
2007
+ # resp.virtual_node.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
2008
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_connections #=> Integer
2009
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
2010
+ # resp.virtual_node.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
2011
+ # resp.virtual_node.spec.listeners[0].connection_pool.tcp.max_connections #=> Integer
1483
2012
  # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
1484
2013
  # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
1485
2014
  # resp.virtual_node.spec.listeners[0].health_check.path #=> String
1486
2015
  # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
1487
- # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2", "tcp"
2016
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp", "http2", "grpc"
1488
2017
  # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
1489
2018
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2019
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.unit #=> String, one of "s", "ms"
2020
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.value #=> Integer
2021
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.unit #=> String, one of "s", "ms"
2022
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.value #=> Integer
2023
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_ejection_percent #=> Integer
2024
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_server_errors #=> Integer
1490
2025
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1491
- # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1492
- # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
2026
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
2027
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "s", "ms"
1493
2028
  # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
1494
- # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
2029
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "s", "ms"
1495
2030
  # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1496
- # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
2031
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "s", "ms"
1497
2032
  # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1498
- # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
2033
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "s", "ms"
1499
2034
  # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1500
- # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
2035
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "s", "ms"
1501
2036
  # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1502
- # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
2037
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "s", "ms"
1503
2038
  # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1504
- # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
2039
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "s", "ms"
1505
2040
  # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1506
2041
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1507
2042
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1508
2043
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
1509
- # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
2044
+ # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
1510
2045
  # resp.virtual_node.spec.logging.access_log.file.path #=> String
1511
2046
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes #=> Array
1512
2047
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes[0].key #=> String
@@ -1514,7 +2049,7 @@ module Aws::AppMesh
1514
2049
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.namespace_name #=> String
1515
2050
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.service_name #=> String
1516
2051
  # resp.virtual_node.spec.service_discovery.dns.hostname #=> String
1517
- # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2052
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1518
2053
  # resp.virtual_node.virtual_node_name #=> String
1519
2054
  #
1520
2055
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode AWS API Documentation
@@ -1571,8 +2106,8 @@ module Aws::AppMesh
1571
2106
  # resp.virtual_router.metadata.version #=> Integer
1572
2107
  # resp.virtual_router.spec.listeners #=> Array
1573
2108
  # resp.virtual_router.spec.listeners[0].port_mapping.port #=> Integer
1574
- # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1575
- # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2109
+ # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
2110
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1576
2111
  # resp.virtual_router.virtual_router_name #=> String
1577
2112
  #
1578
2113
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter AWS API Documentation
@@ -1626,7 +2161,7 @@ module Aws::AppMesh
1626
2161
  # resp.virtual_service.metadata.version #=> Integer
1627
2162
  # resp.virtual_service.spec.provider.virtual_node.virtual_node_name #=> String
1628
2163
  # resp.virtual_service.spec.provider.virtual_router.virtual_router_name #=> String
1629
- # resp.virtual_service.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2164
+ # resp.virtual_service.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1630
2165
  # resp.virtual_service.virtual_service_name #=> String
1631
2166
  #
1632
2167
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService AWS API Documentation
@@ -1638,6 +2173,70 @@ module Aws::AppMesh
1638
2173
  req.send_request(options)
1639
2174
  end
1640
2175
 
2176
+ # Describes an existing gateway route.
2177
+ #
2178
+ # @option params [required, String] :gateway_route_name
2179
+ # The name of the gateway route to describe.
2180
+ #
2181
+ # @option params [required, String] :mesh_name
2182
+ # The name of the service mesh that the gateway route resides in.
2183
+ #
2184
+ # @option params [String] :mesh_owner
2185
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2186
+ # not your own, then it's the ID of the account that shared the mesh
2187
+ # with your account. For more information about mesh sharing, see
2188
+ # [Working with shared meshes][1].
2189
+ #
2190
+ #
2191
+ #
2192
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2193
+ #
2194
+ # @option params [required, String] :virtual_gateway_name
2195
+ # The name of the virtual gateway that the gateway route is associated
2196
+ # with.
2197
+ #
2198
+ # @return [Types::DescribeGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2199
+ #
2200
+ # * {Types::DescribeGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
2201
+ #
2202
+ # @example Request syntax with placeholder values
2203
+ #
2204
+ # resp = client.describe_gateway_route({
2205
+ # gateway_route_name: "ResourceName", # required
2206
+ # mesh_name: "ResourceName", # required
2207
+ # mesh_owner: "AccountId",
2208
+ # virtual_gateway_name: "ResourceName", # required
2209
+ # })
2210
+ #
2211
+ # @example Response structure
2212
+ #
2213
+ # resp.gateway_route.gateway_route_name #=> String
2214
+ # resp.gateway_route.mesh_name #=> String
2215
+ # resp.gateway_route.metadata.arn #=> String
2216
+ # resp.gateway_route.metadata.created_at #=> Time
2217
+ # resp.gateway_route.metadata.last_updated_at #=> Time
2218
+ # resp.gateway_route.metadata.mesh_owner #=> String
2219
+ # resp.gateway_route.metadata.resource_owner #=> String
2220
+ # resp.gateway_route.metadata.uid #=> String
2221
+ # resp.gateway_route.metadata.version #=> Integer
2222
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
2223
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
2224
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
2225
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
2226
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
2227
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
2228
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
2229
+ # resp.gateway_route.virtual_gateway_name #=> String
2230
+ #
2231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute AWS API Documentation
2232
+ #
2233
+ # @overload describe_gateway_route(params = {})
2234
+ # @param [Hash] params ({})
2235
+ def describe_gateway_route(params = {}, options = {})
2236
+ req = build_request(:describe_gateway_route, params)
2237
+ req.send_request(options)
2238
+ end
2239
+
1641
2240
  # Describes an existing service mesh.
1642
2241
  #
1643
2242
  # @option params [required, String] :mesh_name
@@ -1675,7 +2274,7 @@ module Aws::AppMesh
1675
2274
  # resp.mesh.metadata.uid #=> String
1676
2275
  # resp.mesh.metadata.version #=> Integer
1677
2276
  # resp.mesh.spec.egress_filter.type #=> String, one of "ALLOW_ALL", "DROP_ALL"
1678
- # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2277
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1679
2278
  #
1680
2279
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh AWS API Documentation
1681
2280
  #
@@ -1750,13 +2349,13 @@ module Aws::AppMesh
1750
2349
  # resp.route.spec.grpc_route.retry_policy.http_retry_events #=> Array
1751
2350
  # resp.route.spec.grpc_route.retry_policy.http_retry_events[0] #=> String
1752
2351
  # resp.route.spec.grpc_route.retry_policy.max_retries #=> Integer
1753
- # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
2352
+ # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
1754
2353
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
1755
2354
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
1756
2355
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1757
- # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
2356
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "s", "ms"
1758
2357
  # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
1759
- # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
2358
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "s", "ms"
1760
2359
  # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
1761
2360
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
1762
2361
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
@@ -1770,19 +2369,19 @@ module Aws::AppMesh
1770
2369
  # resp.route.spec.http2_route.match.headers[0].match.regex #=> String
1771
2370
  # resp.route.spec.http2_route.match.headers[0].match.suffix #=> String
1772
2371
  # resp.route.spec.http2_route.match.headers[0].name #=> String
1773
- # resp.route.spec.http2_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
2372
+ # resp.route.spec.http2_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
1774
2373
  # resp.route.spec.http2_route.match.prefix #=> String
1775
2374
  # resp.route.spec.http2_route.match.scheme #=> String, one of "http", "https"
1776
2375
  # resp.route.spec.http2_route.retry_policy.http_retry_events #=> Array
1777
2376
  # resp.route.spec.http2_route.retry_policy.http_retry_events[0] #=> String
1778
2377
  # resp.route.spec.http2_route.retry_policy.max_retries #=> Integer
1779
- # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
2378
+ # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
1780
2379
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
1781
2380
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
1782
2381
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1783
- # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
2382
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "s", "ms"
1784
2383
  # resp.route.spec.http2_route.timeout.idle.value #=> Integer
1785
- # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
2384
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "s", "ms"
1786
2385
  # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
1787
2386
  # resp.route.spec.http_route.action.weighted_targets #=> Array
1788
2387
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
@@ -1796,27 +2395,27 @@ module Aws::AppMesh
1796
2395
  # resp.route.spec.http_route.match.headers[0].match.regex #=> String
1797
2396
  # resp.route.spec.http_route.match.headers[0].match.suffix #=> String
1798
2397
  # resp.route.spec.http_route.match.headers[0].name #=> String
1799
- # resp.route.spec.http_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
2398
+ # resp.route.spec.http_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
1800
2399
  # resp.route.spec.http_route.match.prefix #=> String
1801
2400
  # resp.route.spec.http_route.match.scheme #=> String, one of "http", "https"
1802
2401
  # resp.route.spec.http_route.retry_policy.http_retry_events #=> Array
1803
2402
  # resp.route.spec.http_route.retry_policy.http_retry_events[0] #=> String
1804
2403
  # resp.route.spec.http_route.retry_policy.max_retries #=> Integer
1805
- # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
2404
+ # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
1806
2405
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
1807
2406
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
1808
2407
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1809
- # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
2408
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "s", "ms"
1810
2409
  # resp.route.spec.http_route.timeout.idle.value #=> Integer
1811
- # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
2410
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "s", "ms"
1812
2411
  # resp.route.spec.http_route.timeout.per_request.value #=> Integer
1813
2412
  # resp.route.spec.priority #=> Integer
1814
2413
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
1815
2414
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
1816
2415
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
1817
- # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
2416
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "s", "ms"
1818
2417
  # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
1819
- # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2418
+ # resp.route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1820
2419
  # resp.route.virtual_router_name #=> String
1821
2420
  #
1822
2421
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute AWS API Documentation
@@ -1828,6 +2427,83 @@ module Aws::AppMesh
1828
2427
  req.send_request(options)
1829
2428
  end
1830
2429
 
2430
+ # Describes an existing virtual gateway.
2431
+ #
2432
+ # @option params [required, String] :mesh_name
2433
+ # The name of the service mesh that the gateway route resides in.
2434
+ #
2435
+ # @option params [String] :mesh_owner
2436
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2437
+ # not your own, then it's the ID of the account that shared the mesh
2438
+ # with your account. For more information about mesh sharing, see
2439
+ # [Working with shared meshes][1].
2440
+ #
2441
+ #
2442
+ #
2443
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2444
+ #
2445
+ # @option params [required, String] :virtual_gateway_name
2446
+ # The name of the virtual gateway to describe.
2447
+ #
2448
+ # @return [Types::DescribeVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2449
+ #
2450
+ # * {Types::DescribeVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
2451
+ #
2452
+ # @example Request syntax with placeholder values
2453
+ #
2454
+ # resp = client.describe_virtual_gateway({
2455
+ # mesh_name: "ResourceName", # required
2456
+ # mesh_owner: "AccountId",
2457
+ # virtual_gateway_name: "ResourceName", # required
2458
+ # })
2459
+ #
2460
+ # @example Response structure
2461
+ #
2462
+ # resp.virtual_gateway.mesh_name #=> String
2463
+ # resp.virtual_gateway.metadata.arn #=> String
2464
+ # resp.virtual_gateway.metadata.created_at #=> Time
2465
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
2466
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
2467
+ # resp.virtual_gateway.metadata.resource_owner #=> String
2468
+ # resp.virtual_gateway.metadata.uid #=> String
2469
+ # resp.virtual_gateway.metadata.version #=> Integer
2470
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
2471
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
2472
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
2473
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
2474
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
2475
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
2476
+ # resp.virtual_gateway.spec.listeners #=> Array
2477
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
2478
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_connections #=> Integer
2479
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
2480
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
2481
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
2482
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
2483
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
2484
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
2485
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "http", "http2", "grpc"
2486
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
2487
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2488
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
2489
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "http2", "grpc"
2490
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
2491
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
2492
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
2493
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
2494
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
2495
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
2496
+ # resp.virtual_gateway.virtual_gateway_name #=> String
2497
+ #
2498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway AWS API Documentation
2499
+ #
2500
+ # @overload describe_virtual_gateway(params = {})
2501
+ # @param [Hash] params ({})
2502
+ def describe_virtual_gateway(params = {}, options = {})
2503
+ req = build_request(:describe_virtual_gateway, params)
2504
+ req.send_request(options)
2505
+ end
2506
+
1831
2507
  # Describes an existing virtual node.
1832
2508
  #
1833
2509
  # @option params [required, String] :mesh_name
@@ -1883,33 +2559,44 @@ module Aws::AppMesh
1883
2559
  # resp.virtual_node.spec.backends[0].virtual_service.client_policy.tls.validation.trust.file.certificate_chain #=> String
1884
2560
  # resp.virtual_node.spec.backends[0].virtual_service.virtual_service_name #=> String
1885
2561
  # resp.virtual_node.spec.listeners #=> Array
2562
+ # resp.virtual_node.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
2563
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_connections #=> Integer
2564
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
2565
+ # resp.virtual_node.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
2566
+ # resp.virtual_node.spec.listeners[0].connection_pool.tcp.max_connections #=> Integer
1886
2567
  # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
1887
2568
  # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
1888
2569
  # resp.virtual_node.spec.listeners[0].health_check.path #=> String
1889
2570
  # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
1890
- # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2", "tcp"
2571
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp", "http2", "grpc"
1891
2572
  # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
1892
2573
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2574
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.unit #=> String, one of "s", "ms"
2575
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.value #=> Integer
2576
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.unit #=> String, one of "s", "ms"
2577
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.value #=> Integer
2578
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_ejection_percent #=> Integer
2579
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_server_errors #=> Integer
1893
2580
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1894
- # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1895
- # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
2581
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
2582
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "s", "ms"
1896
2583
  # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
1897
- # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
2584
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "s", "ms"
1898
2585
  # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1899
- # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
2586
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "s", "ms"
1900
2587
  # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1901
- # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
2588
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "s", "ms"
1902
2589
  # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1903
- # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
2590
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "s", "ms"
1904
2591
  # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1905
- # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
2592
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "s", "ms"
1906
2593
  # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1907
- # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
2594
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "s", "ms"
1908
2595
  # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1909
2596
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1910
2597
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1911
2598
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
1912
- # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
2599
+ # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
1913
2600
  # resp.virtual_node.spec.logging.access_log.file.path #=> String
1914
2601
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes #=> Array
1915
2602
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes[0].key #=> String
@@ -1917,7 +2604,7 @@ module Aws::AppMesh
1917
2604
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.namespace_name #=> String
1918
2605
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.service_name #=> String
1919
2606
  # resp.virtual_node.spec.service_discovery.dns.hostname #=> String
1920
- # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2607
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1921
2608
  # resp.virtual_node.virtual_node_name #=> String
1922
2609
  #
1923
2610
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode AWS API Documentation
@@ -1971,8 +2658,8 @@ module Aws::AppMesh
1971
2658
  # resp.virtual_router.metadata.version #=> Integer
1972
2659
  # resp.virtual_router.spec.listeners #=> Array
1973
2660
  # resp.virtual_router.spec.listeners[0].port_mapping.port #=> Integer
1974
- # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1975
- # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2661
+ # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
2662
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
1976
2663
  # resp.virtual_router.virtual_router_name #=> String
1977
2664
  #
1978
2665
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter AWS API Documentation
@@ -2026,7 +2713,7 @@ module Aws::AppMesh
2026
2713
  # resp.virtual_service.metadata.version #=> Integer
2027
2714
  # resp.virtual_service.spec.provider.virtual_node.virtual_node_name #=> String
2028
2715
  # resp.virtual_service.spec.provider.virtual_router.virtual_router_name #=> String
2029
- # resp.virtual_service.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2716
+ # resp.virtual_service.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
2030
2717
  # resp.virtual_service.virtual_service_name #=> String
2031
2718
  #
2032
2719
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService AWS API Documentation
@@ -2038,6 +2725,81 @@ module Aws::AppMesh
2038
2725
  req.send_request(options)
2039
2726
  end
2040
2727
 
2728
+ # Returns a list of existing gateway routes that are associated to a
2729
+ # virtual gateway.
2730
+ #
2731
+ # @option params [Integer] :limit
2732
+ # The maximum number of results returned by `ListGatewayRoutes` in
2733
+ # paginated output. When you use this parameter, `ListGatewayRoutes`
2734
+ # returns only `limit` results in a single page along with a `nextToken`
2735
+ # response element. You can see the remaining results of the initial
2736
+ # request by sending another `ListGatewayRoutes` request with the
2737
+ # returned `nextToken` value. This value can be between 1 and 100. If
2738
+ # you don't use this parameter, `ListGatewayRoutes` returns up to 100
2739
+ # results and a `nextToken` value if applicable.
2740
+ #
2741
+ # @option params [required, String] :mesh_name
2742
+ # The name of the service mesh to list gateway routes in.
2743
+ #
2744
+ # @option params [String] :mesh_owner
2745
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2746
+ # not your own, then it's the ID of the account that shared the mesh
2747
+ # with your account. For more information about mesh sharing, see
2748
+ # [Working with shared meshes][1].
2749
+ #
2750
+ #
2751
+ #
2752
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2753
+ #
2754
+ # @option params [String] :next_token
2755
+ # The `nextToken` value returned from a previous paginated
2756
+ # `ListGatewayRoutes` request where `limit` was used and the results
2757
+ # exceeded the value of that parameter. Pagination continues from the
2758
+ # end of the previous results that returned the `nextToken` value.
2759
+ #
2760
+ # @option params [required, String] :virtual_gateway_name
2761
+ # The name of the virtual gateway to list gateway routes in.
2762
+ #
2763
+ # @return [Types::ListGatewayRoutesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2764
+ #
2765
+ # * {Types::ListGatewayRoutesOutput#gateway_routes #gateway_routes} => Array&lt;Types::GatewayRouteRef&gt;
2766
+ # * {Types::ListGatewayRoutesOutput#next_token #next_token} => String
2767
+ #
2768
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2769
+ #
2770
+ # @example Request syntax with placeholder values
2771
+ #
2772
+ # resp = client.list_gateway_routes({
2773
+ # limit: 1,
2774
+ # mesh_name: "ResourceName", # required
2775
+ # mesh_owner: "AccountId",
2776
+ # next_token: "String",
2777
+ # virtual_gateway_name: "ResourceName", # required
2778
+ # })
2779
+ #
2780
+ # @example Response structure
2781
+ #
2782
+ # resp.gateway_routes #=> Array
2783
+ # resp.gateway_routes[0].arn #=> String
2784
+ # resp.gateway_routes[0].created_at #=> Time
2785
+ # resp.gateway_routes[0].gateway_route_name #=> String
2786
+ # resp.gateway_routes[0].last_updated_at #=> Time
2787
+ # resp.gateway_routes[0].mesh_name #=> String
2788
+ # resp.gateway_routes[0].mesh_owner #=> String
2789
+ # resp.gateway_routes[0].resource_owner #=> String
2790
+ # resp.gateway_routes[0].version #=> Integer
2791
+ # resp.gateway_routes[0].virtual_gateway_name #=> String
2792
+ # resp.next_token #=> String
2793
+ #
2794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes AWS API Documentation
2795
+ #
2796
+ # @overload list_gateway_routes(params = {})
2797
+ # @param [Hash] params ({})
2798
+ def list_gateway_routes(params = {}, options = {})
2799
+ req = build_request(:list_gateway_routes, params)
2800
+ req.send_request(options)
2801
+ end
2802
+
2041
2803
  # Returns a list of existing service meshes.
2042
2804
  #
2043
2805
  # @option params [Integer] :limit
@@ -2224,6 +2986,75 @@ module Aws::AppMesh
2224
2986
  req.send_request(options)
2225
2987
  end
2226
2988
 
2989
+ # Returns a list of existing virtual gateways in a service mesh.
2990
+ #
2991
+ # @option params [Integer] :limit
2992
+ # The maximum number of results returned by `ListVirtualGateways` in
2993
+ # paginated output. When you use this parameter, `ListVirtualGateways`
2994
+ # returns only `limit` results in a single page along with a `nextToken`
2995
+ # response element. You can see the remaining results of the initial
2996
+ # request by sending another `ListVirtualGateways` request with the
2997
+ # returned `nextToken` value. This value can be between 1 and 100. If
2998
+ # you don't use this parameter, `ListVirtualGateways` returns up to 100
2999
+ # results and a `nextToken` value if applicable.
3000
+ #
3001
+ # @option params [required, String] :mesh_name
3002
+ # The name of the service mesh to list virtual gateways in.
3003
+ #
3004
+ # @option params [String] :mesh_owner
3005
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3006
+ # not your own, then it's the ID of the account that shared the mesh
3007
+ # with your account. For more information about mesh sharing, see
3008
+ # [Working with shared meshes][1].
3009
+ #
3010
+ #
3011
+ #
3012
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3013
+ #
3014
+ # @option params [String] :next_token
3015
+ # The `nextToken` value returned from a previous paginated
3016
+ # `ListVirtualGateways` request where `limit` was used and the results
3017
+ # exceeded the value of that parameter. Pagination continues from the
3018
+ # end of the previous results that returned the `nextToken` value.
3019
+ #
3020
+ # @return [Types::ListVirtualGatewaysOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3021
+ #
3022
+ # * {Types::ListVirtualGatewaysOutput#next_token #next_token} => String
3023
+ # * {Types::ListVirtualGatewaysOutput#virtual_gateways #virtual_gateways} => Array&lt;Types::VirtualGatewayRef&gt;
3024
+ #
3025
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3026
+ #
3027
+ # @example Request syntax with placeholder values
3028
+ #
3029
+ # resp = client.list_virtual_gateways({
3030
+ # limit: 1,
3031
+ # mesh_name: "ResourceName", # required
3032
+ # mesh_owner: "AccountId",
3033
+ # next_token: "String",
3034
+ # })
3035
+ #
3036
+ # @example Response structure
3037
+ #
3038
+ # resp.next_token #=> String
3039
+ # resp.virtual_gateways #=> Array
3040
+ # resp.virtual_gateways[0].arn #=> String
3041
+ # resp.virtual_gateways[0].created_at #=> Time
3042
+ # resp.virtual_gateways[0].last_updated_at #=> Time
3043
+ # resp.virtual_gateways[0].mesh_name #=> String
3044
+ # resp.virtual_gateways[0].mesh_owner #=> String
3045
+ # resp.virtual_gateways[0].resource_owner #=> String
3046
+ # resp.virtual_gateways[0].version #=> Integer
3047
+ # resp.virtual_gateways[0].virtual_gateway_name #=> String
3048
+ #
3049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways AWS API Documentation
3050
+ #
3051
+ # @overload list_virtual_gateways(params = {})
3052
+ # @param [Hash] params ({})
3053
+ def list_virtual_gateways(params = {}, options = {})
3054
+ req = build_request(:list_virtual_gateways, params)
3055
+ req.send_request(options)
3056
+ end
3057
+
2227
3058
  # Returns a list of existing virtual nodes.
2228
3059
  #
2229
3060
  # @option params [Integer] :limit
@@ -2493,6 +3324,122 @@ module Aws::AppMesh
2493
3324
  req.send_request(options)
2494
3325
  end
2495
3326
 
3327
+ # Updates an existing gateway route that is associated to a specified
3328
+ # virtual gateway in a service mesh.
3329
+ #
3330
+ # @option params [String] :client_token
3331
+ # Unique, case-sensitive identifier that you provide to ensure the
3332
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3333
+ # underscores are allowed.
3334
+ #
3335
+ # **A suitable default value is auto-generated.** You should normally
3336
+ # not need to pass this option.**
3337
+ #
3338
+ # @option params [required, String] :gateway_route_name
3339
+ # The name of the gateway route to update.
3340
+ #
3341
+ # @option params [required, String] :mesh_name
3342
+ # The name of the service mesh that the gateway route resides in.
3343
+ #
3344
+ # @option params [String] :mesh_owner
3345
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3346
+ # not your own, then it's the ID of the account that shared the mesh
3347
+ # with your account. For more information about mesh sharing, see
3348
+ # [Working with shared meshes][1].
3349
+ #
3350
+ #
3351
+ #
3352
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3353
+ #
3354
+ # @option params [required, Types::GatewayRouteSpec] :spec
3355
+ # The new gateway route specification to apply. This overwrites the
3356
+ # existing data.
3357
+ #
3358
+ # @option params [required, String] :virtual_gateway_name
3359
+ # The name of the virtual gateway that the gateway route is associated
3360
+ # with.
3361
+ #
3362
+ # @return [Types::UpdateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3363
+ #
3364
+ # * {Types::UpdateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
3365
+ #
3366
+ # @example Request syntax with placeholder values
3367
+ #
3368
+ # resp = client.update_gateway_route({
3369
+ # client_token: "String",
3370
+ # gateway_route_name: "ResourceName", # required
3371
+ # mesh_name: "ResourceName", # required
3372
+ # mesh_owner: "AccountId",
3373
+ # spec: { # required
3374
+ # grpc_route: {
3375
+ # action: { # required
3376
+ # target: { # required
3377
+ # virtual_service: { # required
3378
+ # virtual_service_name: "ResourceName", # required
3379
+ # },
3380
+ # },
3381
+ # },
3382
+ # match: { # required
3383
+ # service_name: "ServiceName",
3384
+ # },
3385
+ # },
3386
+ # http2_route: {
3387
+ # action: { # required
3388
+ # target: { # required
3389
+ # virtual_service: { # required
3390
+ # virtual_service_name: "ResourceName", # required
3391
+ # },
3392
+ # },
3393
+ # },
3394
+ # match: { # required
3395
+ # prefix: "String", # required
3396
+ # },
3397
+ # },
3398
+ # http_route: {
3399
+ # action: { # required
3400
+ # target: { # required
3401
+ # virtual_service: { # required
3402
+ # virtual_service_name: "ResourceName", # required
3403
+ # },
3404
+ # },
3405
+ # },
3406
+ # match: { # required
3407
+ # prefix: "String", # required
3408
+ # },
3409
+ # },
3410
+ # },
3411
+ # virtual_gateway_name: "ResourceName", # required
3412
+ # })
3413
+ #
3414
+ # @example Response structure
3415
+ #
3416
+ # resp.gateway_route.gateway_route_name #=> String
3417
+ # resp.gateway_route.mesh_name #=> String
3418
+ # resp.gateway_route.metadata.arn #=> String
3419
+ # resp.gateway_route.metadata.created_at #=> Time
3420
+ # resp.gateway_route.metadata.last_updated_at #=> Time
3421
+ # resp.gateway_route.metadata.mesh_owner #=> String
3422
+ # resp.gateway_route.metadata.resource_owner #=> String
3423
+ # resp.gateway_route.metadata.uid #=> String
3424
+ # resp.gateway_route.metadata.version #=> Integer
3425
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
3426
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
3427
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
3428
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
3429
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
3430
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
3431
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
3432
+ # resp.gateway_route.virtual_gateway_name #=> String
3433
+ #
3434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute AWS API Documentation
3435
+ #
3436
+ # @overload update_gateway_route(params = {})
3437
+ # @param [Hash] params ({})
3438
+ def update_gateway_route(params = {}, options = {})
3439
+ req = build_request(:update_gateway_route, params)
3440
+ req.send_request(options)
3441
+ end
3442
+
2496
3443
  # Updates an existing service mesh.
2497
3444
  #
2498
3445
  # @option params [String] :client_token
@@ -2536,7 +3483,7 @@ module Aws::AppMesh
2536
3483
  # resp.mesh.metadata.uid #=> String
2537
3484
  # resp.mesh.metadata.version #=> Integer
2538
3485
  # resp.mesh.spec.egress_filter.type #=> String, one of "ALLOW_ALL", "DROP_ALL"
2539
- # resp.mesh.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3486
+ # resp.mesh.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
2540
3487
  #
2541
3488
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh AWS API Documentation
2542
3489
  #
@@ -2627,18 +3574,18 @@ module Aws::AppMesh
2627
3574
  # http_retry_events: ["HttpRetryPolicyEvent"],
2628
3575
  # max_retries: 1, # required
2629
3576
  # per_retry_timeout: { # required
2630
- # unit: "ms", # accepts ms, s
3577
+ # unit: "s", # accepts s, ms
2631
3578
  # value: 1,
2632
3579
  # },
2633
3580
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2634
3581
  # },
2635
3582
  # timeout: {
2636
3583
  # idle: {
2637
- # unit: "ms", # accepts ms, s
3584
+ # unit: "s", # accepts s, ms
2638
3585
  # value: 1,
2639
3586
  # },
2640
3587
  # per_request: {
2641
- # unit: "ms", # accepts ms, s
3588
+ # unit: "s", # accepts s, ms
2642
3589
  # value: 1,
2643
3590
  # },
2644
3591
  # },
@@ -2669,7 +3616,7 @@ module Aws::AppMesh
2669
3616
  # name: "HeaderName", # required
2670
3617
  # },
2671
3618
  # ],
2672
- # method: "CONNECT", # accepts CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
3619
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2673
3620
  # prefix: "String", # required
2674
3621
  # scheme: "http", # accepts http, https
2675
3622
  # },
@@ -2677,18 +3624,18 @@ module Aws::AppMesh
2677
3624
  # http_retry_events: ["HttpRetryPolicyEvent"],
2678
3625
  # max_retries: 1, # required
2679
3626
  # per_retry_timeout: { # required
2680
- # unit: "ms", # accepts ms, s
3627
+ # unit: "s", # accepts s, ms
2681
3628
  # value: 1,
2682
3629
  # },
2683
3630
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2684
3631
  # },
2685
3632
  # timeout: {
2686
3633
  # idle: {
2687
- # unit: "ms", # accepts ms, s
3634
+ # unit: "s", # accepts s, ms
2688
3635
  # value: 1,
2689
3636
  # },
2690
3637
  # per_request: {
2691
- # unit: "ms", # accepts ms, s
3638
+ # unit: "s", # accepts s, ms
2692
3639
  # value: 1,
2693
3640
  # },
2694
3641
  # },
@@ -2719,7 +3666,7 @@ module Aws::AppMesh
2719
3666
  # name: "HeaderName", # required
2720
3667
  # },
2721
3668
  # ],
2722
- # method: "CONNECT", # accepts CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE
3669
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2723
3670
  # prefix: "String", # required
2724
3671
  # scheme: "http", # accepts http, https
2725
3672
  # },
@@ -2727,18 +3674,18 @@ module Aws::AppMesh
2727
3674
  # http_retry_events: ["HttpRetryPolicyEvent"],
2728
3675
  # max_retries: 1, # required
2729
3676
  # per_retry_timeout: { # required
2730
- # unit: "ms", # accepts ms, s
3677
+ # unit: "s", # accepts s, ms
2731
3678
  # value: 1,
2732
3679
  # },
2733
3680
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2734
3681
  # },
2735
3682
  # timeout: {
2736
3683
  # idle: {
2737
- # unit: "ms", # accepts ms, s
3684
+ # unit: "s", # accepts s, ms
2738
3685
  # value: 1,
2739
3686
  # },
2740
3687
  # per_request: {
2741
- # unit: "ms", # accepts ms, s
3688
+ # unit: "s", # accepts s, ms
2742
3689
  # value: 1,
2743
3690
  # },
2744
3691
  # },
@@ -2755,7 +3702,7 @@ module Aws::AppMesh
2755
3702
  # },
2756
3703
  # timeout: {
2757
3704
  # idle: {
2758
- # unit: "ms", # accepts ms, s
3705
+ # unit: "s", # accepts s, ms
2759
3706
  # value: 1,
2760
3707
  # },
2761
3708
  # },
@@ -2794,13 +3741,13 @@ module Aws::AppMesh
2794
3741
  # resp.route.spec.grpc_route.retry_policy.http_retry_events #=> Array
2795
3742
  # resp.route.spec.grpc_route.retry_policy.http_retry_events[0] #=> String
2796
3743
  # resp.route.spec.grpc_route.retry_policy.max_retries #=> Integer
2797
- # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
3744
+ # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
2798
3745
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
2799
3746
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
2800
3747
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2801
- # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
3748
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "s", "ms"
2802
3749
  # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
2803
- # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
3750
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "s", "ms"
2804
3751
  # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
2805
3752
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
2806
3753
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
@@ -2814,19 +3761,19 @@ module Aws::AppMesh
2814
3761
  # resp.route.spec.http2_route.match.headers[0].match.regex #=> String
2815
3762
  # resp.route.spec.http2_route.match.headers[0].match.suffix #=> String
2816
3763
  # resp.route.spec.http2_route.match.headers[0].name #=> String
2817
- # resp.route.spec.http2_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
3764
+ # resp.route.spec.http2_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
2818
3765
  # resp.route.spec.http2_route.match.prefix #=> String
2819
3766
  # resp.route.spec.http2_route.match.scheme #=> String, one of "http", "https"
2820
3767
  # resp.route.spec.http2_route.retry_policy.http_retry_events #=> Array
2821
3768
  # resp.route.spec.http2_route.retry_policy.http_retry_events[0] #=> String
2822
3769
  # resp.route.spec.http2_route.retry_policy.max_retries #=> Integer
2823
- # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
3770
+ # resp.route.spec.http2_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
2824
3771
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
2825
3772
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
2826
3773
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2827
- # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
3774
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "s", "ms"
2828
3775
  # resp.route.spec.http2_route.timeout.idle.value #=> Integer
2829
- # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
3776
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "s", "ms"
2830
3777
  # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
2831
3778
  # resp.route.spec.http_route.action.weighted_targets #=> Array
2832
3779
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
@@ -2840,27 +3787,27 @@ module Aws::AppMesh
2840
3787
  # resp.route.spec.http_route.match.headers[0].match.regex #=> String
2841
3788
  # resp.route.spec.http_route.match.headers[0].match.suffix #=> String
2842
3789
  # resp.route.spec.http_route.match.headers[0].name #=> String
2843
- # resp.route.spec.http_route.match.method #=> String, one of "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"
3790
+ # resp.route.spec.http_route.match.method #=> String, one of "GET", "HEAD", "POST", "PUT", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH"
2844
3791
  # resp.route.spec.http_route.match.prefix #=> String
2845
3792
  # resp.route.spec.http_route.match.scheme #=> String, one of "http", "https"
2846
3793
  # resp.route.spec.http_route.retry_policy.http_retry_events #=> Array
2847
3794
  # resp.route.spec.http_route.retry_policy.http_retry_events[0] #=> String
2848
3795
  # resp.route.spec.http_route.retry_policy.max_retries #=> Integer
2849
- # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "ms", "s"
3796
+ # resp.route.spec.http_route.retry_policy.per_retry_timeout.unit #=> String, one of "s", "ms"
2850
3797
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
2851
3798
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
2852
3799
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2853
- # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
3800
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "s", "ms"
2854
3801
  # resp.route.spec.http_route.timeout.idle.value #=> Integer
2855
- # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
3802
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "s", "ms"
2856
3803
  # resp.route.spec.http_route.timeout.per_request.value #=> Integer
2857
3804
  # resp.route.spec.priority #=> Integer
2858
3805
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
2859
3806
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
2860
3807
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
2861
- # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
3808
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "s", "ms"
2862
3809
  # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
2863
- # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3810
+ # resp.route.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
2864
3811
  # resp.route.virtual_router_name #=> String
2865
3812
  #
2866
3813
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute AWS API Documentation
@@ -2872,6 +3819,164 @@ module Aws::AppMesh
2872
3819
  req.send_request(options)
2873
3820
  end
2874
3821
 
3822
+ # Updates an existing virtual gateway in a specified service mesh.
3823
+ #
3824
+ # @option params [String] :client_token
3825
+ # Unique, case-sensitive identifier that you provide to ensure the
3826
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3827
+ # underscores are allowed.
3828
+ #
3829
+ # **A suitable default value is auto-generated.** You should normally
3830
+ # not need to pass this option.**
3831
+ #
3832
+ # @option params [required, String] :mesh_name
3833
+ # The name of the service mesh that the virtual gateway resides in.
3834
+ #
3835
+ # @option params [String] :mesh_owner
3836
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3837
+ # not your own, then it's the ID of the account that shared the mesh
3838
+ # with your account. For more information about mesh sharing, see
3839
+ # [Working with shared meshes][1].
3840
+ #
3841
+ #
3842
+ #
3843
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3844
+ #
3845
+ # @option params [required, Types::VirtualGatewaySpec] :spec
3846
+ # The new virtual gateway specification to apply. This overwrites the
3847
+ # existing data.
3848
+ #
3849
+ # @option params [required, String] :virtual_gateway_name
3850
+ # The name of the virtual gateway to update.
3851
+ #
3852
+ # @return [Types::UpdateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3853
+ #
3854
+ # * {Types::UpdateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
3855
+ #
3856
+ # @example Request syntax with placeholder values
3857
+ #
3858
+ # resp = client.update_virtual_gateway({
3859
+ # client_token: "String",
3860
+ # mesh_name: "ResourceName", # required
3861
+ # mesh_owner: "AccountId",
3862
+ # spec: { # required
3863
+ # backend_defaults: {
3864
+ # client_policy: {
3865
+ # tls: {
3866
+ # enforce: false,
3867
+ # ports: [1],
3868
+ # validation: { # required
3869
+ # trust: { # required
3870
+ # acm: {
3871
+ # certificate_authority_arns: ["Arn"], # required
3872
+ # },
3873
+ # file: {
3874
+ # certificate_chain: "FilePath", # required
3875
+ # },
3876
+ # },
3877
+ # },
3878
+ # },
3879
+ # },
3880
+ # },
3881
+ # listeners: [ # required
3882
+ # {
3883
+ # connection_pool: {
3884
+ # grpc: {
3885
+ # max_requests: 1, # required
3886
+ # },
3887
+ # http: {
3888
+ # max_connections: 1, # required
3889
+ # max_pending_requests: 1,
3890
+ # },
3891
+ # http2: {
3892
+ # max_requests: 1, # required
3893
+ # },
3894
+ # },
3895
+ # health_check: {
3896
+ # healthy_threshold: 1, # required
3897
+ # interval_millis: 1, # required
3898
+ # path: "String",
3899
+ # port: 1,
3900
+ # protocol: "http", # required, accepts http, http2, grpc
3901
+ # timeout_millis: 1, # required
3902
+ # unhealthy_threshold: 1, # required
3903
+ # },
3904
+ # port_mapping: { # required
3905
+ # port: 1, # required
3906
+ # protocol: "http", # required, accepts http, http2, grpc
3907
+ # },
3908
+ # tls: {
3909
+ # certificate: { # required
3910
+ # acm: {
3911
+ # certificate_arn: "Arn", # required
3912
+ # },
3913
+ # file: {
3914
+ # certificate_chain: "FilePath", # required
3915
+ # private_key: "FilePath", # required
3916
+ # },
3917
+ # },
3918
+ # mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
3919
+ # },
3920
+ # },
3921
+ # ],
3922
+ # logging: {
3923
+ # access_log: {
3924
+ # file: {
3925
+ # path: "FilePath", # required
3926
+ # },
3927
+ # },
3928
+ # },
3929
+ # },
3930
+ # virtual_gateway_name: "ResourceName", # required
3931
+ # })
3932
+ #
3933
+ # @example Response structure
3934
+ #
3935
+ # resp.virtual_gateway.mesh_name #=> String
3936
+ # resp.virtual_gateway.metadata.arn #=> String
3937
+ # resp.virtual_gateway.metadata.created_at #=> Time
3938
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
3939
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
3940
+ # resp.virtual_gateway.metadata.resource_owner #=> String
3941
+ # resp.virtual_gateway.metadata.uid #=> String
3942
+ # resp.virtual_gateway.metadata.version #=> Integer
3943
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
3944
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
3945
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
3946
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
3947
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
3948
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
3949
+ # resp.virtual_gateway.spec.listeners #=> Array
3950
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
3951
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_connections #=> Integer
3952
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
3953
+ # resp.virtual_gateway.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
3954
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
3955
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
3956
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
3957
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
3958
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "http", "http2", "grpc"
3959
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
3960
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
3961
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
3962
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "http2", "grpc"
3963
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
3964
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
3965
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
3966
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
3967
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
3968
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
3969
+ # resp.virtual_gateway.virtual_gateway_name #=> String
3970
+ #
3971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway AWS API Documentation
3972
+ #
3973
+ # @overload update_virtual_gateway(params = {})
3974
+ # @param [Hash] params ({})
3975
+ def update_virtual_gateway(params = {}, options = {})
3976
+ req = build_request(:update_virtual_gateway, params)
3977
+ req.send_request(options)
3978
+ end
3979
+
2875
3980
  # Updates an existing virtual node in a specified service mesh.
2876
3981
  #
2877
3982
  # @option params [String] :client_token
@@ -2956,53 +4061,80 @@ module Aws::AppMesh
2956
4061
  # ],
2957
4062
  # listeners: [
2958
4063
  # {
4064
+ # connection_pool: {
4065
+ # grpc: {
4066
+ # max_requests: 1, # required
4067
+ # },
4068
+ # http: {
4069
+ # max_connections: 1, # required
4070
+ # max_pending_requests: 1,
4071
+ # },
4072
+ # http2: {
4073
+ # max_requests: 1, # required
4074
+ # },
4075
+ # tcp: {
4076
+ # max_connections: 1, # required
4077
+ # },
4078
+ # },
2959
4079
  # health_check: {
2960
4080
  # healthy_threshold: 1, # required
2961
4081
  # interval_millis: 1, # required
2962
4082
  # path: "String",
2963
4083
  # port: 1,
2964
- # protocol: "grpc", # required, accepts grpc, http, http2, tcp
4084
+ # protocol: "http", # required, accepts http, tcp, http2, grpc
2965
4085
  # timeout_millis: 1, # required
2966
4086
  # unhealthy_threshold: 1, # required
2967
4087
  # },
4088
+ # outlier_detection: {
4089
+ # base_ejection_duration: { # required
4090
+ # unit: "s", # accepts s, ms
4091
+ # value: 1,
4092
+ # },
4093
+ # interval: { # required
4094
+ # unit: "s", # accepts s, ms
4095
+ # value: 1,
4096
+ # },
4097
+ # max_ejection_percent: 1, # required
4098
+ # max_server_errors: 1, # required
4099
+ # },
2968
4100
  # port_mapping: { # required
2969
4101
  # port: 1, # required
2970
- # protocol: "grpc", # required, accepts grpc, http, http2, tcp
4102
+ # protocol: "http", # required, accepts http, tcp, http2, grpc
2971
4103
  # },
2972
4104
  # timeout: {
2973
4105
  # grpc: {
2974
4106
  # idle: {
2975
- # unit: "ms", # accepts ms, s
4107
+ # unit: "s", # accepts s, ms
2976
4108
  # value: 1,
2977
4109
  # },
2978
4110
  # per_request: {
2979
- # unit: "ms", # accepts ms, s
4111
+ # unit: "s", # accepts s, ms
2980
4112
  # value: 1,
2981
4113
  # },
2982
4114
  # },
2983
4115
  # http: {
2984
4116
  # idle: {
2985
- # unit: "ms", # accepts ms, s
4117
+ # unit: "s", # accepts s, ms
2986
4118
  # value: 1,
2987
4119
  # },
2988
4120
  # per_request: {
2989
- # unit: "ms", # accepts ms, s
4121
+ # unit: "s", # accepts s, ms
2990
4122
  # value: 1,
2991
4123
  # },
2992
4124
  # },
2993
4125
  # http2: {
2994
4126
  # idle: {
2995
- # unit: "ms", # accepts ms, s
4127
+ # unit: "s", # accepts s, ms
2996
4128
  # value: 1,
2997
4129
  # },
2998
4130
  # per_request: {
2999
- # unit: "ms", # accepts ms, s
4131
+ # unit: "s", # accepts s, ms
3000
4132
  # value: 1,
3001
4133
  # },
3002
4134
  # },
3003
4135
  # tcp: {
3004
4136
  # idle: {
3005
- # unit: "ms", # accepts ms, s
4137
+ # unit: "s", # accepts s, ms
3006
4138
  # value: 1,
3007
4139
  # },
3008
4140
  # },
@@ -3017,7 +4149,7 @@ module Aws::AppMesh
3017
4149
  # private_key: "FilePath", # required
3018
4150
  # },
3019
4151
  # },
3020
- # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
4152
+ # mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
3021
4153
  # },
3022
4154
  # },
3023
4155
  # ],
@@ -3072,33 +4204,44 @@ module Aws::AppMesh
3072
4204
  # resp.virtual_node.spec.backends[0].virtual_service.client_policy.tls.validation.trust.file.certificate_chain #=> String
3073
4205
  # resp.virtual_node.spec.backends[0].virtual_service.virtual_service_name #=> String
3074
4206
  # resp.virtual_node.spec.listeners #=> Array
4207
+ # resp.virtual_node.spec.listeners[0].connection_pool.grpc.max_requests #=> Integer
4208
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_connections #=> Integer
4209
+ # resp.virtual_node.spec.listeners[0].connection_pool.http.max_pending_requests #=> Integer
4210
+ # resp.virtual_node.spec.listeners[0].connection_pool.http2.max_requests #=> Integer
4211
+ # resp.virtual_node.spec.listeners[0].connection_pool.tcp.max_connections #=> Integer
3075
4212
  # resp.virtual_node.spec.listeners[0].health_check.healthy_threshold #=> Integer
3076
4213
  # resp.virtual_node.spec.listeners[0].health_check.interval_millis #=> Integer
3077
4214
  # resp.virtual_node.spec.listeners[0].health_check.path #=> String
3078
4215
  # resp.virtual_node.spec.listeners[0].health_check.port #=> Integer
3079
- # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2", "tcp"
4216
+ # resp.virtual_node.spec.listeners[0].health_check.protocol #=> String, one of "http", "tcp", "http2", "grpc"
3080
4217
  # resp.virtual_node.spec.listeners[0].health_check.timeout_millis #=> Integer
3081
4218
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
4219
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.unit #=> String, one of "s", "ms"
4220
+ # resp.virtual_node.spec.listeners[0].outlier_detection.base_ejection_duration.value #=> Integer
4221
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.unit #=> String, one of "s", "ms"
4222
+ # resp.virtual_node.spec.listeners[0].outlier_detection.interval.value #=> Integer
4223
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_ejection_percent #=> Integer
4224
+ # resp.virtual_node.spec.listeners[0].outlier_detection.max_server_errors #=> Integer
3082
4225
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
3083
- # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
3084
- # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
4226
+ # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
4227
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "s", "ms"
3085
4228
  # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
3086
- # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
4229
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "s", "ms"
3087
4230
  # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
3088
- # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
4231
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "s", "ms"
3089
4232
  # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
3090
- # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
4233
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "s", "ms"
3091
4234
  # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
3092
- # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
4235
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "s", "ms"
3093
4236
  # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
3094
- # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
4237
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "s", "ms"
3095
4238
  # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
3096
- # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
4239
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "s", "ms"
3097
4240
  # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
3098
4241
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
3099
4242
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
3100
4243
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
3101
- # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
4244
+ # resp.virtual_node.spec.listeners[0].tls.mode #=> String, one of "STRICT", "PERMISSIVE", "DISABLED"
3102
4245
  # resp.virtual_node.spec.logging.access_log.file.path #=> String
3103
4246
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes #=> Array
3104
4247
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.attributes[0].key #=> String
@@ -3106,7 +4249,7 @@ module Aws::AppMesh
3106
4249
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.namespace_name #=> String
3107
4250
  # resp.virtual_node.spec.service_discovery.aws_cloud_map.service_name #=> String
3108
4251
  # resp.virtual_node.spec.service_discovery.dns.hostname #=> String
3109
- # resp.virtual_node.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
4252
+ # resp.virtual_node.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
3110
4253
  # resp.virtual_node.virtual_node_name #=> String
3111
4254
  #
3112
4255
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode AWS API Documentation
@@ -3163,7 +4306,7 @@ module Aws::AppMesh
3163
4306
  # {
3164
4307
  # port_mapping: { # required
3165
4308
  # port: 1, # required
3166
- # protocol: "grpc", # required, accepts grpc, http, http2, tcp
4309
+ # protocol: "http", # required, accepts http, tcp, http2, grpc
3167
4310
  # },
3168
4311
  # },
3169
4312
  # ],
@@ -3183,8 +4326,8 @@ module Aws::AppMesh
3183
4326
  # resp.virtual_router.metadata.version #=> Integer
3184
4327
  # resp.virtual_router.spec.listeners #=> Array
3185
4328
  # resp.virtual_router.spec.listeners[0].port_mapping.port #=> Integer
3186
- # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
3187
- # resp.virtual_router.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
4329
+ # resp.virtual_router.spec.listeners[0].port_mapping.protocol #=> String, one of "http", "tcp", "http2", "grpc"
4330
+ # resp.virtual_router.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
3188
4331
  # resp.virtual_router.virtual_router_name #=> String
3189
4332
  #
3190
4333
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter AWS API Documentation
@@ -3261,7 +4404,7 @@ module Aws::AppMesh
3261
4404
  # resp.virtual_service.metadata.version #=> Integer
3262
4405
  # resp.virtual_service.spec.provider.virtual_node.virtual_node_name #=> String
3263
4406
  # resp.virtual_service.spec.provider.virtual_router.virtual_router_name #=> String
3264
- # resp.virtual_service.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
4407
+ # resp.virtual_service.status.status #=> String, one of "ACTIVE", "INACTIVE", "DELETED"
3265
4408
  # resp.virtual_service.virtual_service_name #=> String
3266
4409
  #
3267
4410
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService AWS API Documentation
@@ -3286,7 +4429,7 @@ module Aws::AppMesh
3286
4429
  params: params,
3287
4430
  config: config)
3288
4431
  context[:gem_name] = 'aws-sdk-appmesh'
3289
- context[:gem_version] = '1.27.0'
4432
+ context[:gem_version] = '1.32.0'
3290
4433
  Seahorse::Client::Request.new(handlers, context)
3291
4434
  end
3292
4435