aws-sdk-appmesh 1.27.0 → 1.32.0

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