aws-sdk-appmesh 1.24.0 → 1.29.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: 9c3dd391d1c5a608dce75c1166ee229d7e1fc7ae25e83b3688d4375fa2ee1bb0
4
- data.tar.gz: d3030698fd1f1364c888cfffbdc916894569c43186c0e33ee555e9507c62cd6a
3
+ metadata.gz: 372c1164ea6cc403dbd15338ab5042565f447418e35796a6e62234ae0493d725
4
+ data.tar.gz: 2b3df0de4360be1e13f9197bf3092f09fa8c4dea44e31c2d54910762aa1f091c
5
5
  SHA512:
6
- metadata.gz: b6517eaf59773fde081496e0a460357732aed56c3f12023a2d11caba58b2ac1f372e63ee83608cac613f5632df5da2d7bb7824efabca9931d300ca7b4ee48bdd
7
- data.tar.gz: bc690d5b2b645bc15b0f97d5027dfce0ed861d449e7e7d59f3459ab9c490d614acf3fff8b82982c64205d0424253bac6a7ff7bda7e4a36a7c5924beab2fc802b
6
+ metadata.gz: 5cdab82deacb2c0ccd054daf1c08788ce8f34a3fbb71005151e87c0c5ec8675ce2df1cfc6dd4e08d947c25a9e6f508f4f3770cf3cdb91d5ada265416bf7ccc3d
7
+ data.tar.gz: a7bc3b6fec1997e5cb175c13f862994a64a7a742f3227ba9c309cd0942b81b144d8e35b161a9d1c2037d3498653e7912f2056901ab1343565ab37ed24b05593d
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -25,7 +27,7 @@ require_relative 'aws-sdk-appmesh/customizations'
25
27
  # structure.
26
28
  #
27
29
  # app_mesh = Aws::AppMesh::Client.new
28
- # resp = app_mesh.create_mesh(params)
30
+ # resp = app_mesh.create_gateway_route(params)
29
31
  #
30
32
  # See {Client} for more information.
31
33
  #
@@ -42,9 +44,9 @@ require_relative 'aws-sdk-appmesh/customizations'
42
44
  #
43
45
  # See {Errors} for more information.
44
46
  #
45
- # @service
47
+ # @!group service
46
48
  module Aws::AppMesh
47
49
 
48
- GEM_VERSION = '1.24.0'
50
+ GEM_VERSION = '1.29.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::AppMesh
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::RestJson)
74
78
 
@@ -81,13 +85,28 @@ module Aws::AppMesh
81
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
86
  # credentials.
83
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
+ #
84
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
103
  # from an EC2 IMDS on an EC2 instance.
86
104
  #
87
- # * `Aws::SharedCredentials` - Used for loading credentials from a
88
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
89
107
  #
90
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
91
110
  #
92
111
  # When `:credentials` are not configured directly, the following
93
112
  # locations will be searched for credentials:
@@ -97,10 +116,10 @@ module Aws::AppMesh
97
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
117
  # * `~/.aws/credentials`
99
118
  # * `~/.aws/config`
100
- # * EC2 IMDS instance profile - When used by default, the timeouts are
101
- # very aggressive. Construct and pass an instance of
102
- # `Aws::InstanceProfileCredentails` to enable retries and extended
103
- # 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.
104
123
  #
105
124
  # @option options [required, String] :region
106
125
  # The AWS region to connect to. The configured `:region` is
@@ -161,7 +180,7 @@ module Aws::AppMesh
161
180
  # @option options [String] :endpoint
162
181
  # The client endpoint is normally constructed from the `:region`
163
182
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
184
  #
166
185
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
186
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -308,6 +327,145 @@ module Aws::AppMesh
308
327
 
309
328
  # @!group API Operations
310
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", "DELETED", "INACTIVE"
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
+
311
469
  # Creates a service mesh.
312
470
  #
313
471
  # A service mesh is a logical boundary for network traffic between
@@ -414,7 +572,7 @@ module Aws::AppMesh
414
572
  # not your own, then the account that you specify must share the mesh
415
573
  # with your account before you can create the resource in the service
416
574
  # mesh. For more information about mesh sharing, see [Working with
417
- # Shared Meshes][1].
575
+ # shared meshes][1].
418
576
  #
419
577
  #
420
578
  #
@@ -489,6 +647,16 @@ module Aws::AppMesh
489
647
  # },
490
648
  # tcp_retry_events: ["connection-error"], # accepts connection-error
491
649
  # },
650
+ # timeout: {
651
+ # idle: {
652
+ # unit: "ms", # accepts ms, s
653
+ # value: 1,
654
+ # },
655
+ # per_request: {
656
+ # unit: "ms", # accepts ms, s
657
+ # value: 1,
658
+ # },
659
+ # },
492
660
  # },
493
661
  # http2_route: {
494
662
  # action: { # required
@@ -529,6 +697,16 @@ module Aws::AppMesh
529
697
  # },
530
698
  # tcp_retry_events: ["connection-error"], # accepts connection-error
531
699
  # },
700
+ # timeout: {
701
+ # idle: {
702
+ # unit: "ms", # accepts ms, s
703
+ # value: 1,
704
+ # },
705
+ # per_request: {
706
+ # unit: "ms", # accepts ms, s
707
+ # value: 1,
708
+ # },
709
+ # },
532
710
  # },
533
711
  # http_route: {
534
712
  # action: { # required
@@ -569,6 +747,16 @@ module Aws::AppMesh
569
747
  # },
570
748
  # tcp_retry_events: ["connection-error"], # accepts connection-error
571
749
  # },
750
+ # timeout: {
751
+ # idle: {
752
+ # unit: "ms", # accepts ms, s
753
+ # value: 1,
754
+ # },
755
+ # per_request: {
756
+ # unit: "ms", # accepts ms, s
757
+ # value: 1,
758
+ # },
759
+ # },
572
760
  # },
573
761
  # priority: 1,
574
762
  # tcp_route: {
@@ -580,6 +768,12 @@ module Aws::AppMesh
580
768
  # },
581
769
  # ],
582
770
  # },
771
+ # timeout: {
772
+ # idle: {
773
+ # unit: "ms", # accepts ms, s
774
+ # value: 1,
775
+ # },
776
+ # },
583
777
  # },
584
778
  # },
585
779
  # tags: [
@@ -625,6 +819,10 @@ module Aws::AppMesh
625
819
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
626
820
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
627
821
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
822
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
823
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
824
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
825
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
628
826
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
629
827
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
630
828
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -647,6 +845,10 @@ module Aws::AppMesh
647
845
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
648
846
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
649
847
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
848
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
849
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
850
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
851
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
650
852
  # resp.route.spec.http_route.action.weighted_targets #=> Array
651
853
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
652
854
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -669,10 +871,16 @@ module Aws::AppMesh
669
871
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
670
872
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
671
873
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
874
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
875
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
876
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
877
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
672
878
  # resp.route.spec.priority #=> Integer
673
879
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
674
880
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
675
881
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
882
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
883
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
676
884
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
677
885
  # resp.route.virtual_router_name #=> String
678
886
  #
@@ -685,6 +893,175 @@ module Aws::AppMesh
685
893
  req.send_request(options)
686
894
  end
687
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
+ # health_check: {
979
+ # healthy_threshold: 1, # required
980
+ # interval_millis: 1, # required
981
+ # path: "String",
982
+ # port: 1,
983
+ # protocol: "grpc", # required, accepts grpc, http, http2
984
+ # timeout_millis: 1, # required
985
+ # unhealthy_threshold: 1, # required
986
+ # },
987
+ # port_mapping: { # required
988
+ # port: 1, # required
989
+ # protocol: "grpc", # required, accepts grpc, http, http2
990
+ # },
991
+ # tls: {
992
+ # certificate: { # required
993
+ # acm: {
994
+ # certificate_arn: "Arn", # required
995
+ # },
996
+ # file: {
997
+ # certificate_chain: "FilePath", # required
998
+ # private_key: "FilePath", # required
999
+ # },
1000
+ # },
1001
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
1002
+ # },
1003
+ # },
1004
+ # ],
1005
+ # logging: {
1006
+ # access_log: {
1007
+ # file: {
1008
+ # path: "FilePath", # required
1009
+ # },
1010
+ # },
1011
+ # },
1012
+ # },
1013
+ # tags: [
1014
+ # {
1015
+ # key: "TagKey", # required
1016
+ # value: "TagValue",
1017
+ # },
1018
+ # ],
1019
+ # virtual_gateway_name: "ResourceName", # required
1020
+ # })
1021
+ #
1022
+ # @example Response structure
1023
+ #
1024
+ # resp.virtual_gateway.mesh_name #=> String
1025
+ # resp.virtual_gateway.metadata.arn #=> String
1026
+ # resp.virtual_gateway.metadata.created_at #=> Time
1027
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1028
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1029
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1030
+ # resp.virtual_gateway.metadata.uid #=> String
1031
+ # resp.virtual_gateway.metadata.version #=> Integer
1032
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1033
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1034
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1035
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1036
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1037
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1038
+ # resp.virtual_gateway.spec.listeners #=> Array
1039
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1040
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1041
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1042
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1043
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
1044
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1045
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1046
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1047
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
1048
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1049
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1050
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1051
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1052
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1053
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1054
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1055
+ #
1056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway AWS API Documentation
1057
+ #
1058
+ # @overload create_virtual_gateway(params = {})
1059
+ # @param [Hash] params ({})
1060
+ def create_virtual_gateway(params = {}, options = {})
1061
+ req = build_request(:create_virtual_gateway, params)
1062
+ req.send_request(options)
1063
+ end
1064
+
688
1065
  # Creates a virtual node within a service mesh.
689
1066
  #
690
1067
  # A virtual node acts as a logical pointer to a particular task group,
@@ -736,7 +1113,7 @@ module Aws::AppMesh
736
1113
  # not your own, then the account that you specify must share the mesh
737
1114
  # with your account before you can create the resource in the service
738
1115
  # mesh. For more information about mesh sharing, see [Working with
739
- # Shared Meshes][1].
1116
+ # shared meshes][1].
740
1117
  #
741
1118
  #
742
1119
  #
@@ -822,6 +1199,44 @@ module Aws::AppMesh
822
1199
  # port: 1, # required
823
1200
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
824
1201
  # },
1202
+ # timeout: {
1203
+ # grpc: {
1204
+ # idle: {
1205
+ # unit: "ms", # accepts ms, s
1206
+ # value: 1,
1207
+ # },
1208
+ # per_request: {
1209
+ # unit: "ms", # accepts ms, s
1210
+ # value: 1,
1211
+ # },
1212
+ # },
1213
+ # http: {
1214
+ # idle: {
1215
+ # unit: "ms", # accepts ms, s
1216
+ # value: 1,
1217
+ # },
1218
+ # per_request: {
1219
+ # unit: "ms", # accepts ms, s
1220
+ # value: 1,
1221
+ # },
1222
+ # },
1223
+ # http2: {
1224
+ # idle: {
1225
+ # unit: "ms", # accepts ms, s
1226
+ # value: 1,
1227
+ # },
1228
+ # per_request: {
1229
+ # unit: "ms", # accepts ms, s
1230
+ # value: 1,
1231
+ # },
1232
+ # },
1233
+ # tcp: {
1234
+ # idle: {
1235
+ # unit: "ms", # accepts ms, s
1236
+ # value: 1,
1237
+ # },
1238
+ # },
1239
+ # },
825
1240
  # tls: {
826
1241
  # certificate: { # required
827
1242
  # acm: {
@@ -902,6 +1317,20 @@ module Aws::AppMesh
902
1317
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
903
1318
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
904
1319
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1320
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
1321
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
1322
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
1323
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1324
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
1325
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1326
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
1327
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1328
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
1329
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1330
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
1331
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1332
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
1333
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
905
1334
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
906
1335
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
907
1336
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -956,7 +1385,7 @@ module Aws::AppMesh
956
1385
  # not your own, then the account that you specify must share the mesh
957
1386
  # with your account before you can create the resource in the service
958
1387
  # mesh. For more information about mesh sharing, see [Working with
959
- # Shared Meshes][1].
1388
+ # shared meshes][1].
960
1389
  #
961
1390
  #
962
1391
  #
@@ -1061,7 +1490,7 @@ module Aws::AppMesh
1061
1490
  # not your own, then the account that you specify must share the mesh
1062
1491
  # with your account before you can create the resource in the service
1063
1492
  # mesh. For more information about mesh sharing, see [Working with
1064
- # Shared Meshes][1].
1493
+ # shared meshes][1].
1065
1494
  #
1066
1495
  #
1067
1496
  #
@@ -1133,24 +1562,87 @@ module Aws::AppMesh
1133
1562
  req.send_request(options)
1134
1563
  end
1135
1564
 
1136
- # Deletes an existing service mesh.
1565
+ # Deletes an existing gateway route.
1137
1566
  #
1138
- # You must delete all resources (virtual services, routes, virtual
1139
- # routers, and virtual nodes) in the service mesh before you can delete
1140
- # the mesh itself.
1567
+ # @option params [required, String] :gateway_route_name
1568
+ # The name of the gateway route to delete.
1141
1569
  #
1142
1570
  # @option params [required, String] :mesh_name
1143
- # The name of the service mesh to delete.
1571
+ # The name of the service mesh to delete the gateway route from.
1144
1572
  #
1145
- # @return [Types::DeleteMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1573
+ # @option params [String] :mesh_owner
1574
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1575
+ # not your own, then it's the ID of the account that shared the mesh
1576
+ # with your account. For more information about mesh sharing, see
1577
+ # [Working with shared meshes][1].
1146
1578
  #
1147
- # * {Types::DeleteMeshOutput#mesh #mesh} => Types::MeshData
1148
1579
  #
1149
- # @example Request syntax with placeholder values
1150
1580
  #
1151
- # resp = client.delete_mesh({
1152
- # mesh_name: "ResourceName", # required
1153
- # })
1581
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1582
+ #
1583
+ # @option params [required, String] :virtual_gateway_name
1584
+ # The name of the virtual gateway to delete the route from.
1585
+ #
1586
+ # @return [Types::DeleteGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1587
+ #
1588
+ # * {Types::DeleteGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
1589
+ #
1590
+ # @example Request syntax with placeholder values
1591
+ #
1592
+ # resp = client.delete_gateway_route({
1593
+ # gateway_route_name: "ResourceName", # required
1594
+ # mesh_name: "ResourceName", # required
1595
+ # mesh_owner: "AccountId",
1596
+ # virtual_gateway_name: "ResourceName", # required
1597
+ # })
1598
+ #
1599
+ # @example Response structure
1600
+ #
1601
+ # resp.gateway_route.gateway_route_name #=> String
1602
+ # resp.gateway_route.mesh_name #=> String
1603
+ # resp.gateway_route.metadata.arn #=> String
1604
+ # resp.gateway_route.metadata.created_at #=> Time
1605
+ # resp.gateway_route.metadata.last_updated_at #=> Time
1606
+ # resp.gateway_route.metadata.mesh_owner #=> String
1607
+ # resp.gateway_route.metadata.resource_owner #=> String
1608
+ # resp.gateway_route.metadata.uid #=> String
1609
+ # resp.gateway_route.metadata.version #=> Integer
1610
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
1611
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
1612
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
1613
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
1614
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
1615
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
1616
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1617
+ # resp.gateway_route.virtual_gateway_name #=> String
1618
+ #
1619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute AWS API Documentation
1620
+ #
1621
+ # @overload delete_gateway_route(params = {})
1622
+ # @param [Hash] params ({})
1623
+ def delete_gateway_route(params = {}, options = {})
1624
+ req = build_request(:delete_gateway_route, params)
1625
+ req.send_request(options)
1626
+ end
1627
+
1628
+ # Deletes an existing service mesh.
1629
+ #
1630
+ # You must delete all resources (virtual services, routes, virtual
1631
+ # routers, and virtual nodes) in the service mesh before you can delete
1632
+ # the mesh itself.
1633
+ #
1634
+ # @option params [required, String] :mesh_name
1635
+ # The name of the service mesh to delete.
1636
+ #
1637
+ # @return [Types::DeleteMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1638
+ #
1639
+ # * {Types::DeleteMeshOutput#mesh #mesh} => Types::MeshData
1640
+ #
1641
+ # @example Request syntax with placeholder values
1642
+ #
1643
+ # resp = client.delete_mesh({
1644
+ # mesh_name: "ResourceName", # required
1645
+ # })
1154
1646
  #
1155
1647
  # @example Response structure
1156
1648
  #
@@ -1183,7 +1675,7 @@ module Aws::AppMesh
1183
1675
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1184
1676
  # not your own, then it's the ID of the account that shared the mesh
1185
1677
  # with your account. For more information about mesh sharing, see
1186
- # [Working with Shared Meshes][1].
1678
+ # [Working with shared meshes][1].
1187
1679
  #
1188
1680
  #
1189
1681
  #
@@ -1242,6 +1734,10 @@ module Aws::AppMesh
1242
1734
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
1243
1735
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
1244
1736
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1737
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
1738
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
1739
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
1740
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
1245
1741
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
1246
1742
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
1247
1743
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -1264,6 +1760,10 @@ module Aws::AppMesh
1264
1760
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
1265
1761
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
1266
1762
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1763
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
1764
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
1765
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
1766
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
1267
1767
  # resp.route.spec.http_route.action.weighted_targets #=> Array
1268
1768
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
1269
1769
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -1286,10 +1786,16 @@ module Aws::AppMesh
1286
1786
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
1287
1787
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
1288
1788
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1789
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
1790
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
1791
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
1792
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
1289
1793
  # resp.route.spec.priority #=> Integer
1290
1794
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
1291
1795
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
1292
1796
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
1797
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
1798
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
1293
1799
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1294
1800
  # resp.route.virtual_router_name #=> String
1295
1801
  #
@@ -1302,6 +1808,80 @@ module Aws::AppMesh
1302
1808
  req.send_request(options)
1303
1809
  end
1304
1810
 
1811
+ # Deletes an existing virtual gateway. You cannot delete a virtual
1812
+ # gateway if any gateway routes are associated to it.
1813
+ #
1814
+ # @option params [required, String] :mesh_name
1815
+ # The name of the service mesh to delete the virtual gateway from.
1816
+ #
1817
+ # @option params [String] :mesh_owner
1818
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1819
+ # not your own, then it's the ID of the account that shared the mesh
1820
+ # with your account. For more information about mesh sharing, see
1821
+ # [Working with shared meshes][1].
1822
+ #
1823
+ #
1824
+ #
1825
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1826
+ #
1827
+ # @option params [required, String] :virtual_gateway_name
1828
+ # The name of the virtual gateway to delete.
1829
+ #
1830
+ # @return [Types::DeleteVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1831
+ #
1832
+ # * {Types::DeleteVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
1833
+ #
1834
+ # @example Request syntax with placeholder values
1835
+ #
1836
+ # resp = client.delete_virtual_gateway({
1837
+ # mesh_name: "ResourceName", # required
1838
+ # mesh_owner: "AccountId",
1839
+ # virtual_gateway_name: "ResourceName", # required
1840
+ # })
1841
+ #
1842
+ # @example Response structure
1843
+ #
1844
+ # resp.virtual_gateway.mesh_name #=> String
1845
+ # resp.virtual_gateway.metadata.arn #=> String
1846
+ # resp.virtual_gateway.metadata.created_at #=> Time
1847
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1848
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1849
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1850
+ # resp.virtual_gateway.metadata.uid #=> String
1851
+ # resp.virtual_gateway.metadata.version #=> Integer
1852
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1853
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1854
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1855
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1856
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1857
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1858
+ # resp.virtual_gateway.spec.listeners #=> Array
1859
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1860
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1861
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1862
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1863
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
1864
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1865
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1866
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1867
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
1868
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1869
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1870
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1871
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1872
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1873
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1874
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1875
+ #
1876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway AWS API Documentation
1877
+ #
1878
+ # @overload delete_virtual_gateway(params = {})
1879
+ # @param [Hash] params ({})
1880
+ def delete_virtual_gateway(params = {}, options = {})
1881
+ req = build_request(:delete_virtual_gateway, params)
1882
+ req.send_request(options)
1883
+ end
1884
+
1305
1885
  # Deletes an existing virtual node.
1306
1886
  #
1307
1887
  # You must delete any virtual services that list a virtual node as a
@@ -1314,7 +1894,7 @@ module Aws::AppMesh
1314
1894
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1315
1895
  # not your own, then it's the ID of the account that shared the mesh
1316
1896
  # with your account. For more information about mesh sharing, see
1317
- # [Working with Shared Meshes][1].
1897
+ # [Working with shared meshes][1].
1318
1898
  #
1319
1899
  #
1320
1900
  #
@@ -1369,6 +1949,20 @@ module Aws::AppMesh
1369
1949
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1370
1950
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1371
1951
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1952
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
1953
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
1954
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
1955
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1956
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
1957
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1958
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
1959
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1960
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
1961
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1962
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
1963
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1964
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
1965
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1372
1966
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1373
1967
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1374
1968
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -1404,7 +1998,7 @@ module Aws::AppMesh
1404
1998
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1405
1999
  # not your own, then it's the ID of the account that shared the mesh
1406
2000
  # with your account. For more information about mesh sharing, see
1407
- # [Working with Shared Meshes][1].
2001
+ # [Working with shared meshes][1].
1408
2002
  #
1409
2003
  #
1410
2004
  #
@@ -1459,7 +2053,7 @@ module Aws::AppMesh
1459
2053
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1460
2054
  # not your own, then it's the ID of the account that shared the mesh
1461
2055
  # with your account. For more information about mesh sharing, see
1462
- # [Working with Shared Meshes][1].
2056
+ # [Working with shared meshes][1].
1463
2057
  #
1464
2058
  #
1465
2059
  #
@@ -1504,6 +2098,70 @@ module Aws::AppMesh
1504
2098
  req.send_request(options)
1505
2099
  end
1506
2100
 
2101
+ # Describes an existing gateway route.
2102
+ #
2103
+ # @option params [required, String] :gateway_route_name
2104
+ # The name of the gateway route to describe.
2105
+ #
2106
+ # @option params [required, String] :mesh_name
2107
+ # The name of the service mesh that the gateway route resides in.
2108
+ #
2109
+ # @option params [String] :mesh_owner
2110
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2111
+ # not your own, then it's the ID of the account that shared the mesh
2112
+ # with your account. For more information about mesh sharing, see
2113
+ # [Working with shared meshes][1].
2114
+ #
2115
+ #
2116
+ #
2117
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2118
+ #
2119
+ # @option params [required, String] :virtual_gateway_name
2120
+ # The name of the virtual gateway that the gateway route is associated
2121
+ # with.
2122
+ #
2123
+ # @return [Types::DescribeGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2124
+ #
2125
+ # * {Types::DescribeGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
2126
+ #
2127
+ # @example Request syntax with placeholder values
2128
+ #
2129
+ # resp = client.describe_gateway_route({
2130
+ # gateway_route_name: "ResourceName", # required
2131
+ # mesh_name: "ResourceName", # required
2132
+ # mesh_owner: "AccountId",
2133
+ # virtual_gateway_name: "ResourceName", # required
2134
+ # })
2135
+ #
2136
+ # @example Response structure
2137
+ #
2138
+ # resp.gateway_route.gateway_route_name #=> String
2139
+ # resp.gateway_route.mesh_name #=> String
2140
+ # resp.gateway_route.metadata.arn #=> String
2141
+ # resp.gateway_route.metadata.created_at #=> Time
2142
+ # resp.gateway_route.metadata.last_updated_at #=> Time
2143
+ # resp.gateway_route.metadata.mesh_owner #=> String
2144
+ # resp.gateway_route.metadata.resource_owner #=> String
2145
+ # resp.gateway_route.metadata.uid #=> String
2146
+ # resp.gateway_route.metadata.version #=> Integer
2147
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
2148
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
2149
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
2150
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
2151
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
2152
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
2153
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2154
+ # resp.gateway_route.virtual_gateway_name #=> String
2155
+ #
2156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute AWS API Documentation
2157
+ #
2158
+ # @overload describe_gateway_route(params = {})
2159
+ # @param [Hash] params ({})
2160
+ def describe_gateway_route(params = {}, options = {})
2161
+ req = build_request(:describe_gateway_route, params)
2162
+ req.send_request(options)
2163
+ end
2164
+
1507
2165
  # Describes an existing service mesh.
1508
2166
  #
1509
2167
  # @option params [required, String] :mesh_name
@@ -1513,7 +2171,7 @@ module Aws::AppMesh
1513
2171
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1514
2172
  # not your own, then it's the ID of the account that shared the mesh
1515
2173
  # with your account. For more information about mesh sharing, see
1516
- # [Working with Shared Meshes][1].
2174
+ # [Working with shared meshes][1].
1517
2175
  #
1518
2176
  #
1519
2177
  #
@@ -1561,7 +2219,7 @@ module Aws::AppMesh
1561
2219
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1562
2220
  # not your own, then it's the ID of the account that shared the mesh
1563
2221
  # with your account. For more information about mesh sharing, see
1564
- # [Working with Shared Meshes][1].
2222
+ # [Working with shared meshes][1].
1565
2223
  #
1566
2224
  #
1567
2225
  #
@@ -1620,6 +2278,10 @@ module Aws::AppMesh
1620
2278
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
1621
2279
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
1622
2280
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2281
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
2282
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
2283
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
2284
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
1623
2285
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
1624
2286
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
1625
2287
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -1642,6 +2304,10 @@ module Aws::AppMesh
1642
2304
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
1643
2305
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
1644
2306
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2307
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
2308
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
2309
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
2310
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
1645
2311
  # resp.route.spec.http_route.action.weighted_targets #=> Array
1646
2312
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
1647
2313
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -1664,10 +2330,16 @@ module Aws::AppMesh
1664
2330
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
1665
2331
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
1666
2332
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2333
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
2334
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
2335
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
2336
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
1667
2337
  # resp.route.spec.priority #=> Integer
1668
2338
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
1669
2339
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
1670
2340
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
2341
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
2342
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
1671
2343
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1672
2344
  # resp.route.virtual_router_name #=> String
1673
2345
  #
@@ -1680,6 +2352,79 @@ module Aws::AppMesh
1680
2352
  req.send_request(options)
1681
2353
  end
1682
2354
 
2355
+ # Describes an existing virtual gateway.
2356
+ #
2357
+ # @option params [required, String] :mesh_name
2358
+ # The name of the service mesh that the gateway route resides in.
2359
+ #
2360
+ # @option params [String] :mesh_owner
2361
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2362
+ # not your own, then it's the ID of the account that shared the mesh
2363
+ # with your account. For more information about mesh sharing, see
2364
+ # [Working with shared meshes][1].
2365
+ #
2366
+ #
2367
+ #
2368
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2369
+ #
2370
+ # @option params [required, String] :virtual_gateway_name
2371
+ # The name of the virtual gateway to describe.
2372
+ #
2373
+ # @return [Types::DescribeVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2374
+ #
2375
+ # * {Types::DescribeVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
2376
+ #
2377
+ # @example Request syntax with placeholder values
2378
+ #
2379
+ # resp = client.describe_virtual_gateway({
2380
+ # mesh_name: "ResourceName", # required
2381
+ # mesh_owner: "AccountId",
2382
+ # virtual_gateway_name: "ResourceName", # required
2383
+ # })
2384
+ #
2385
+ # @example Response structure
2386
+ #
2387
+ # resp.virtual_gateway.mesh_name #=> String
2388
+ # resp.virtual_gateway.metadata.arn #=> String
2389
+ # resp.virtual_gateway.metadata.created_at #=> Time
2390
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
2391
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
2392
+ # resp.virtual_gateway.metadata.resource_owner #=> String
2393
+ # resp.virtual_gateway.metadata.uid #=> String
2394
+ # resp.virtual_gateway.metadata.version #=> Integer
2395
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
2396
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
2397
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
2398
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
2399
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
2400
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
2401
+ # resp.virtual_gateway.spec.listeners #=> Array
2402
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
2403
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
2404
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
2405
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
2406
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
2407
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
2408
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2409
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
2410
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
2411
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
2412
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
2413
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
2414
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
2415
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
2416
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2417
+ # resp.virtual_gateway.virtual_gateway_name #=> String
2418
+ #
2419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway AWS API Documentation
2420
+ #
2421
+ # @overload describe_virtual_gateway(params = {})
2422
+ # @param [Hash] params ({})
2423
+ def describe_virtual_gateway(params = {}, options = {})
2424
+ req = build_request(:describe_virtual_gateway, params)
2425
+ req.send_request(options)
2426
+ end
2427
+
1683
2428
  # Describes an existing virtual node.
1684
2429
  #
1685
2430
  # @option params [required, String] :mesh_name
@@ -1689,7 +2434,7 @@ module Aws::AppMesh
1689
2434
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1690
2435
  # not your own, then it's the ID of the account that shared the mesh
1691
2436
  # with your account. For more information about mesh sharing, see
1692
- # [Working with Shared Meshes][1].
2437
+ # [Working with shared meshes][1].
1693
2438
  #
1694
2439
  #
1695
2440
  #
@@ -1744,6 +2489,20 @@ module Aws::AppMesh
1744
2489
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1745
2490
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1746
2491
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
2492
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
2493
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
2494
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
2495
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
2496
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
2497
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
2498
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
2499
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
2500
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
2501
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
2502
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
2503
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
2504
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
2505
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1747
2506
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1748
2507
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1749
2508
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -1776,7 +2535,7 @@ module Aws::AppMesh
1776
2535
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1777
2536
  # not your own, then it's the ID of the account that shared the mesh
1778
2537
  # with your account. For more information about mesh sharing, see
1779
- # [Working with Shared Meshes][1].
2538
+ # [Working with shared meshes][1].
1780
2539
  #
1781
2540
  #
1782
2541
  #
@@ -1831,7 +2590,7 @@ module Aws::AppMesh
1831
2590
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1832
2591
  # not your own, then it's the ID of the account that shared the mesh
1833
2592
  # with your account. For more information about mesh sharing, see
1834
- # [Working with Shared Meshes][1].
2593
+ # [Working with shared meshes][1].
1835
2594
  #
1836
2595
  #
1837
2596
  #
@@ -1876,6 +2635,81 @@ module Aws::AppMesh
1876
2635
  req.send_request(options)
1877
2636
  end
1878
2637
 
2638
+ # Returns a list of existing gateway routes that are associated to a
2639
+ # virtual gateway.
2640
+ #
2641
+ # @option params [Integer] :limit
2642
+ # The maximum number of results returned by `ListGatewayRoutes` in
2643
+ # paginated output. When you use this parameter, `ListGatewayRoutes`
2644
+ # returns only `limit` results in a single page along with a `nextToken`
2645
+ # response element. You can see the remaining results of the initial
2646
+ # request by sending another `ListGatewayRoutes` request with the
2647
+ # returned `nextToken` value. This value can be between 1 and 100. If
2648
+ # you don't use this parameter, `ListGatewayRoutes` returns up to 100
2649
+ # results and a `nextToken` value if applicable.
2650
+ #
2651
+ # @option params [required, String] :mesh_name
2652
+ # The name of the service mesh to list gateway routes in.
2653
+ #
2654
+ # @option params [String] :mesh_owner
2655
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2656
+ # not your own, then it's the ID of the account that shared the mesh
2657
+ # with your account. For more information about mesh sharing, see
2658
+ # [Working with shared meshes][1].
2659
+ #
2660
+ #
2661
+ #
2662
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2663
+ #
2664
+ # @option params [String] :next_token
2665
+ # The `nextToken` value returned from a previous paginated
2666
+ # `ListGatewayRoutes` request where `limit` was used and the results
2667
+ # exceeded the value of that parameter. Pagination continues from the
2668
+ # end of the previous results that returned the `nextToken` value.
2669
+ #
2670
+ # @option params [required, String] :virtual_gateway_name
2671
+ # The name of the virtual gateway to list gateway routes in.
2672
+ #
2673
+ # @return [Types::ListGatewayRoutesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2674
+ #
2675
+ # * {Types::ListGatewayRoutesOutput#gateway_routes #gateway_routes} => Array&lt;Types::GatewayRouteRef&gt;
2676
+ # * {Types::ListGatewayRoutesOutput#next_token #next_token} => String
2677
+ #
2678
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2679
+ #
2680
+ # @example Request syntax with placeholder values
2681
+ #
2682
+ # resp = client.list_gateway_routes({
2683
+ # limit: 1,
2684
+ # mesh_name: "ResourceName", # required
2685
+ # mesh_owner: "AccountId",
2686
+ # next_token: "String",
2687
+ # virtual_gateway_name: "ResourceName", # required
2688
+ # })
2689
+ #
2690
+ # @example Response structure
2691
+ #
2692
+ # resp.gateway_routes #=> Array
2693
+ # resp.gateway_routes[0].arn #=> String
2694
+ # resp.gateway_routes[0].created_at #=> Time
2695
+ # resp.gateway_routes[0].gateway_route_name #=> String
2696
+ # resp.gateway_routes[0].last_updated_at #=> Time
2697
+ # resp.gateway_routes[0].mesh_name #=> String
2698
+ # resp.gateway_routes[0].mesh_owner #=> String
2699
+ # resp.gateway_routes[0].resource_owner #=> String
2700
+ # resp.gateway_routes[0].version #=> Integer
2701
+ # resp.gateway_routes[0].virtual_gateway_name #=> String
2702
+ # resp.next_token #=> String
2703
+ #
2704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes AWS API Documentation
2705
+ #
2706
+ # @overload list_gateway_routes(params = {})
2707
+ # @param [Hash] params ({})
2708
+ def list_gateway_routes(params = {}, options = {})
2709
+ req = build_request(:list_gateway_routes, params)
2710
+ req.send_request(options)
2711
+ end
2712
+
1879
2713
  # Returns a list of existing service meshes.
1880
2714
  #
1881
2715
  # @option params [Integer] :limit
@@ -1954,7 +2788,7 @@ module Aws::AppMesh
1954
2788
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1955
2789
  # not your own, then it's the ID of the account that shared the mesh
1956
2790
  # with your account. For more information about mesh sharing, see
1957
- # [Working with Shared Meshes][1].
2791
+ # [Working with shared meshes][1].
1958
2792
  #
1959
2793
  #
1960
2794
  #
@@ -2062,6 +2896,75 @@ module Aws::AppMesh
2062
2896
  req.send_request(options)
2063
2897
  end
2064
2898
 
2899
+ # Returns a list of existing virtual gateways in a service mesh.
2900
+ #
2901
+ # @option params [Integer] :limit
2902
+ # The maximum number of results returned by `ListVirtualGateways` in
2903
+ # paginated output. When you use this parameter, `ListVirtualGateways`
2904
+ # returns only `limit` results in a single page along with a `nextToken`
2905
+ # response element. You can see the remaining results of the initial
2906
+ # request by sending another `ListVirtualGateways` request with the
2907
+ # returned `nextToken` value. This value can be between 1 and 100. If
2908
+ # you don't use this parameter, `ListVirtualGateways` returns up to 100
2909
+ # results and a `nextToken` value if applicable.
2910
+ #
2911
+ # @option params [required, String] :mesh_name
2912
+ # The name of the service mesh to list virtual gateways in.
2913
+ #
2914
+ # @option params [String] :mesh_owner
2915
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2916
+ # not your own, then it's the ID of the account that shared the mesh
2917
+ # with your account. For more information about mesh sharing, see
2918
+ # [Working with shared meshes][1].
2919
+ #
2920
+ #
2921
+ #
2922
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2923
+ #
2924
+ # @option params [String] :next_token
2925
+ # The `nextToken` value returned from a previous paginated
2926
+ # `ListVirtualGateways` request where `limit` was used and the results
2927
+ # exceeded the value of that parameter. Pagination continues from the
2928
+ # end of the previous results that returned the `nextToken` value.
2929
+ #
2930
+ # @return [Types::ListVirtualGatewaysOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2931
+ #
2932
+ # * {Types::ListVirtualGatewaysOutput#next_token #next_token} => String
2933
+ # * {Types::ListVirtualGatewaysOutput#virtual_gateways #virtual_gateways} => Array&lt;Types::VirtualGatewayRef&gt;
2934
+ #
2935
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2936
+ #
2937
+ # @example Request syntax with placeholder values
2938
+ #
2939
+ # resp = client.list_virtual_gateways({
2940
+ # limit: 1,
2941
+ # mesh_name: "ResourceName", # required
2942
+ # mesh_owner: "AccountId",
2943
+ # next_token: "String",
2944
+ # })
2945
+ #
2946
+ # @example Response structure
2947
+ #
2948
+ # resp.next_token #=> String
2949
+ # resp.virtual_gateways #=> Array
2950
+ # resp.virtual_gateways[0].arn #=> String
2951
+ # resp.virtual_gateways[0].created_at #=> Time
2952
+ # resp.virtual_gateways[0].last_updated_at #=> Time
2953
+ # resp.virtual_gateways[0].mesh_name #=> String
2954
+ # resp.virtual_gateways[0].mesh_owner #=> String
2955
+ # resp.virtual_gateways[0].resource_owner #=> String
2956
+ # resp.virtual_gateways[0].version #=> Integer
2957
+ # resp.virtual_gateways[0].virtual_gateway_name #=> String
2958
+ #
2959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways AWS API Documentation
2960
+ #
2961
+ # @overload list_virtual_gateways(params = {})
2962
+ # @param [Hash] params ({})
2963
+ def list_virtual_gateways(params = {}, options = {})
2964
+ req = build_request(:list_virtual_gateways, params)
2965
+ req.send_request(options)
2966
+ end
2967
+
2065
2968
  # Returns a list of existing virtual nodes.
2066
2969
  #
2067
2970
  # @option params [Integer] :limit
@@ -2081,7 +2984,7 @@ module Aws::AppMesh
2081
2984
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2082
2985
  # not your own, then it's the ID of the account that shared the mesh
2083
2986
  # with your account. For more information about mesh sharing, see
2084
- # [Working with Shared Meshes][1].
2987
+ # [Working with shared meshes][1].
2085
2988
  #
2086
2989
  #
2087
2990
  #
@@ -2150,7 +3053,7 @@ module Aws::AppMesh
2150
3053
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2151
3054
  # not your own, then it's the ID of the account that shared the mesh
2152
3055
  # with your account. For more information about mesh sharing, see
2153
- # [Working with Shared Meshes][1].
3056
+ # [Working with shared meshes][1].
2154
3057
  #
2155
3058
  #
2156
3059
  #
@@ -2219,7 +3122,7 @@ module Aws::AppMesh
2219
3122
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2220
3123
  # not your own, then it's the ID of the account that shared the mesh
2221
3124
  # with your account. For more information about mesh sharing, see
2222
- # [Working with Shared Meshes][1].
3125
+ # [Working with shared meshes][1].
2223
3126
  #
2224
3127
  #
2225
3128
  #
@@ -2331,6 +3234,122 @@ module Aws::AppMesh
2331
3234
  req.send_request(options)
2332
3235
  end
2333
3236
 
3237
+ # Updates an existing gateway route that is associated to a specified
3238
+ # virtual gateway in a service mesh.
3239
+ #
3240
+ # @option params [String] :client_token
3241
+ # Unique, case-sensitive identifier that you provide to ensure the
3242
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3243
+ # underscores are allowed.
3244
+ #
3245
+ # **A suitable default value is auto-generated.** You should normally
3246
+ # not need to pass this option.**
3247
+ #
3248
+ # @option params [required, String] :gateway_route_name
3249
+ # The name of the gateway route to update.
3250
+ #
3251
+ # @option params [required, String] :mesh_name
3252
+ # The name of the service mesh that the gateway route resides in.
3253
+ #
3254
+ # @option params [String] :mesh_owner
3255
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3256
+ # not your own, then it's the ID of the account that shared the mesh
3257
+ # with your account. For more information about mesh sharing, see
3258
+ # [Working with shared meshes][1].
3259
+ #
3260
+ #
3261
+ #
3262
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3263
+ #
3264
+ # @option params [required, Types::GatewayRouteSpec] :spec
3265
+ # The new gateway route specification to apply. This overwrites the
3266
+ # existing data.
3267
+ #
3268
+ # @option params [required, String] :virtual_gateway_name
3269
+ # The name of the virtual gateway that the gateway route is associated
3270
+ # with.
3271
+ #
3272
+ # @return [Types::UpdateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3273
+ #
3274
+ # * {Types::UpdateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
3275
+ #
3276
+ # @example Request syntax with placeholder values
3277
+ #
3278
+ # resp = client.update_gateway_route({
3279
+ # client_token: "String",
3280
+ # gateway_route_name: "ResourceName", # required
3281
+ # mesh_name: "ResourceName", # required
3282
+ # mesh_owner: "AccountId",
3283
+ # spec: { # required
3284
+ # grpc_route: {
3285
+ # action: { # required
3286
+ # target: { # required
3287
+ # virtual_service: { # required
3288
+ # virtual_service_name: "ResourceName", # required
3289
+ # },
3290
+ # },
3291
+ # },
3292
+ # match: { # required
3293
+ # service_name: "ServiceName",
3294
+ # },
3295
+ # },
3296
+ # http2_route: {
3297
+ # action: { # required
3298
+ # target: { # required
3299
+ # virtual_service: { # required
3300
+ # virtual_service_name: "ResourceName", # required
3301
+ # },
3302
+ # },
3303
+ # },
3304
+ # match: { # required
3305
+ # prefix: "String", # required
3306
+ # },
3307
+ # },
3308
+ # http_route: {
3309
+ # action: { # required
3310
+ # target: { # required
3311
+ # virtual_service: { # required
3312
+ # virtual_service_name: "ResourceName", # required
3313
+ # },
3314
+ # },
3315
+ # },
3316
+ # match: { # required
3317
+ # prefix: "String", # required
3318
+ # },
3319
+ # },
3320
+ # },
3321
+ # virtual_gateway_name: "ResourceName", # required
3322
+ # })
3323
+ #
3324
+ # @example Response structure
3325
+ #
3326
+ # resp.gateway_route.gateway_route_name #=> String
3327
+ # resp.gateway_route.mesh_name #=> String
3328
+ # resp.gateway_route.metadata.arn #=> String
3329
+ # resp.gateway_route.metadata.created_at #=> Time
3330
+ # resp.gateway_route.metadata.last_updated_at #=> Time
3331
+ # resp.gateway_route.metadata.mesh_owner #=> String
3332
+ # resp.gateway_route.metadata.resource_owner #=> String
3333
+ # resp.gateway_route.metadata.uid #=> String
3334
+ # resp.gateway_route.metadata.version #=> Integer
3335
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
3336
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
3337
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
3338
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
3339
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
3340
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
3341
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3342
+ # resp.gateway_route.virtual_gateway_name #=> String
3343
+ #
3344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute AWS API Documentation
3345
+ #
3346
+ # @overload update_gateway_route(params = {})
3347
+ # @param [Hash] params ({})
3348
+ def update_gateway_route(params = {}, options = {})
3349
+ req = build_request(:update_gateway_route, params)
3350
+ req.send_request(options)
3351
+ end
3352
+
2334
3353
  # Updates an existing service mesh.
2335
3354
  #
2336
3355
  # @option params [String] :client_token
@@ -2403,7 +3422,7 @@ module Aws::AppMesh
2403
3422
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2404
3423
  # not your own, then it's the ID of the account that shared the mesh
2405
3424
  # with your account. For more information about mesh sharing, see
2406
- # [Working with Shared Meshes][1].
3425
+ # [Working with shared meshes][1].
2407
3426
  #
2408
3427
  #
2409
3428
  #
@@ -2470,6 +3489,16 @@ module Aws::AppMesh
2470
3489
  # },
2471
3490
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2472
3491
  # },
3492
+ # timeout: {
3493
+ # idle: {
3494
+ # unit: "ms", # accepts ms, s
3495
+ # value: 1,
3496
+ # },
3497
+ # per_request: {
3498
+ # unit: "ms", # accepts ms, s
3499
+ # value: 1,
3500
+ # },
3501
+ # },
2473
3502
  # },
2474
3503
  # http2_route: {
2475
3504
  # action: { # required
@@ -2510,6 +3539,16 @@ module Aws::AppMesh
2510
3539
  # },
2511
3540
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2512
3541
  # },
3542
+ # timeout: {
3543
+ # idle: {
3544
+ # unit: "ms", # accepts ms, s
3545
+ # value: 1,
3546
+ # },
3547
+ # per_request: {
3548
+ # unit: "ms", # accepts ms, s
3549
+ # value: 1,
3550
+ # },
3551
+ # },
2513
3552
  # },
2514
3553
  # http_route: {
2515
3554
  # action: { # required
@@ -2550,6 +3589,16 @@ module Aws::AppMesh
2550
3589
  # },
2551
3590
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2552
3591
  # },
3592
+ # timeout: {
3593
+ # idle: {
3594
+ # unit: "ms", # accepts ms, s
3595
+ # value: 1,
3596
+ # },
3597
+ # per_request: {
3598
+ # unit: "ms", # accepts ms, s
3599
+ # value: 1,
3600
+ # },
3601
+ # },
2553
3602
  # },
2554
3603
  # priority: 1,
2555
3604
  # tcp_route: {
@@ -2561,6 +3610,12 @@ module Aws::AppMesh
2561
3610
  # },
2562
3611
  # ],
2563
3612
  # },
3613
+ # timeout: {
3614
+ # idle: {
3615
+ # unit: "ms", # accepts ms, s
3616
+ # value: 1,
3617
+ # },
3618
+ # },
2564
3619
  # },
2565
3620
  # },
2566
3621
  # virtual_router_name: "ResourceName", # required
@@ -2600,6 +3655,10 @@ module Aws::AppMesh
2600
3655
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
2601
3656
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
2602
3657
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
3658
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
3659
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
3660
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
3661
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
2603
3662
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
2604
3663
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
2605
3664
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -2622,6 +3681,10 @@ module Aws::AppMesh
2622
3681
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
2623
3682
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
2624
3683
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
3684
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
3685
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
3686
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
3687
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
2625
3688
  # resp.route.spec.http_route.action.weighted_targets #=> Array
2626
3689
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
2627
3690
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -2644,10 +3707,16 @@ module Aws::AppMesh
2644
3707
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
2645
3708
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
2646
3709
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
3710
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
3711
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
3712
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
3713
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
2647
3714
  # resp.route.spec.priority #=> Integer
2648
3715
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
2649
3716
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
2650
3717
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
3718
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
3719
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
2651
3720
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2652
3721
  # resp.route.virtual_router_name #=> String
2653
3722
  #
@@ -2660,6 +3729,148 @@ module Aws::AppMesh
2660
3729
  req.send_request(options)
2661
3730
  end
2662
3731
 
3732
+ # Updates an existing virtual gateway in a specified service mesh.
3733
+ #
3734
+ # @option params [String] :client_token
3735
+ # Unique, case-sensitive identifier that you provide to ensure the
3736
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3737
+ # underscores are allowed.
3738
+ #
3739
+ # **A suitable default value is auto-generated.** You should normally
3740
+ # not need to pass this option.**
3741
+ #
3742
+ # @option params [required, String] :mesh_name
3743
+ # The name of the service mesh that the virtual gateway resides in.
3744
+ #
3745
+ # @option params [String] :mesh_owner
3746
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3747
+ # not your own, then it's the ID of the account that shared the mesh
3748
+ # with your account. For more information about mesh sharing, see
3749
+ # [Working with shared meshes][1].
3750
+ #
3751
+ #
3752
+ #
3753
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3754
+ #
3755
+ # @option params [required, Types::VirtualGatewaySpec] :spec
3756
+ # The new virtual gateway specification to apply. This overwrites the
3757
+ # existing data.
3758
+ #
3759
+ # @option params [required, String] :virtual_gateway_name
3760
+ # The name of the virtual gateway to update.
3761
+ #
3762
+ # @return [Types::UpdateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3763
+ #
3764
+ # * {Types::UpdateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
3765
+ #
3766
+ # @example Request syntax with placeholder values
3767
+ #
3768
+ # resp = client.update_virtual_gateway({
3769
+ # client_token: "String",
3770
+ # mesh_name: "ResourceName", # required
3771
+ # mesh_owner: "AccountId",
3772
+ # spec: { # required
3773
+ # backend_defaults: {
3774
+ # client_policy: {
3775
+ # tls: {
3776
+ # enforce: false,
3777
+ # ports: [1],
3778
+ # validation: { # required
3779
+ # trust: { # required
3780
+ # acm: {
3781
+ # certificate_authority_arns: ["Arn"], # required
3782
+ # },
3783
+ # file: {
3784
+ # certificate_chain: "FilePath", # required
3785
+ # },
3786
+ # },
3787
+ # },
3788
+ # },
3789
+ # },
3790
+ # },
3791
+ # listeners: [ # required
3792
+ # {
3793
+ # health_check: {
3794
+ # healthy_threshold: 1, # required
3795
+ # interval_millis: 1, # required
3796
+ # path: "String",
3797
+ # port: 1,
3798
+ # protocol: "grpc", # required, accepts grpc, http, http2
3799
+ # timeout_millis: 1, # required
3800
+ # unhealthy_threshold: 1, # required
3801
+ # },
3802
+ # port_mapping: { # required
3803
+ # port: 1, # required
3804
+ # protocol: "grpc", # required, accepts grpc, http, http2
3805
+ # },
3806
+ # tls: {
3807
+ # certificate: { # required
3808
+ # acm: {
3809
+ # certificate_arn: "Arn", # required
3810
+ # },
3811
+ # file: {
3812
+ # certificate_chain: "FilePath", # required
3813
+ # private_key: "FilePath", # required
3814
+ # },
3815
+ # },
3816
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
3817
+ # },
3818
+ # },
3819
+ # ],
3820
+ # logging: {
3821
+ # access_log: {
3822
+ # file: {
3823
+ # path: "FilePath", # required
3824
+ # },
3825
+ # },
3826
+ # },
3827
+ # },
3828
+ # virtual_gateway_name: "ResourceName", # required
3829
+ # })
3830
+ #
3831
+ # @example Response structure
3832
+ #
3833
+ # resp.virtual_gateway.mesh_name #=> String
3834
+ # resp.virtual_gateway.metadata.arn #=> String
3835
+ # resp.virtual_gateway.metadata.created_at #=> Time
3836
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
3837
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
3838
+ # resp.virtual_gateway.metadata.resource_owner #=> String
3839
+ # resp.virtual_gateway.metadata.uid #=> String
3840
+ # resp.virtual_gateway.metadata.version #=> Integer
3841
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
3842
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
3843
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
3844
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
3845
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
3846
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
3847
+ # resp.virtual_gateway.spec.listeners #=> Array
3848
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
3849
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
3850
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
3851
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
3852
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
3853
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
3854
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
3855
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
3856
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
3857
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
3858
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
3859
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
3860
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
3861
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
3862
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3863
+ # resp.virtual_gateway.virtual_gateway_name #=> String
3864
+ #
3865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway AWS API Documentation
3866
+ #
3867
+ # @overload update_virtual_gateway(params = {})
3868
+ # @param [Hash] params ({})
3869
+ def update_virtual_gateway(params = {}, options = {})
3870
+ req = build_request(:update_virtual_gateway, params)
3871
+ req.send_request(options)
3872
+ end
3873
+
2663
3874
  # Updates an existing virtual node in a specified service mesh.
2664
3875
  #
2665
3876
  # @option params [String] :client_token
@@ -2677,7 +3888,7 @@ module Aws::AppMesh
2677
3888
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2678
3889
  # not your own, then it's the ID of the account that shared the mesh
2679
3890
  # with your account. For more information about mesh sharing, see
2680
- # [Working with Shared Meshes][1].
3891
+ # [Working with shared meshes][1].
2681
3892
  #
2682
3893
  #
2683
3894
  #
@@ -2757,6 +3968,44 @@ module Aws::AppMesh
2757
3968
  # port: 1, # required
2758
3969
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
2759
3970
  # },
3971
+ # timeout: {
3972
+ # grpc: {
3973
+ # idle: {
3974
+ # unit: "ms", # accepts ms, s
3975
+ # value: 1,
3976
+ # },
3977
+ # per_request: {
3978
+ # unit: "ms", # accepts ms, s
3979
+ # value: 1,
3980
+ # },
3981
+ # },
3982
+ # http: {
3983
+ # idle: {
3984
+ # unit: "ms", # accepts ms, s
3985
+ # value: 1,
3986
+ # },
3987
+ # per_request: {
3988
+ # unit: "ms", # accepts ms, s
3989
+ # value: 1,
3990
+ # },
3991
+ # },
3992
+ # http2: {
3993
+ # idle: {
3994
+ # unit: "ms", # accepts ms, s
3995
+ # value: 1,
3996
+ # },
3997
+ # per_request: {
3998
+ # unit: "ms", # accepts ms, s
3999
+ # value: 1,
4000
+ # },
4001
+ # },
4002
+ # tcp: {
4003
+ # idle: {
4004
+ # unit: "ms", # accepts ms, s
4005
+ # value: 1,
4006
+ # },
4007
+ # },
4008
+ # },
2760
4009
  # tls: {
2761
4010
  # certificate: { # required
2762
4011
  # acm: {
@@ -2831,6 +4080,20 @@ module Aws::AppMesh
2831
4080
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2832
4081
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
2833
4082
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
4083
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
4084
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
4085
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
4086
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
4087
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
4088
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
4089
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
4090
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
4091
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
4092
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
4093
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
4094
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
4095
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
4096
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
2834
4097
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
2835
4098
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
2836
4099
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -2871,7 +4134,7 @@ module Aws::AppMesh
2871
4134
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2872
4135
  # not your own, then it's the ID of the account that shared the mesh
2873
4136
  # with your account. For more information about mesh sharing, see
2874
- # [Working with Shared Meshes][1].
4137
+ # [Working with shared meshes][1].
2875
4138
  #
2876
4139
  #
2877
4140
  #
@@ -2949,7 +4212,7 @@ module Aws::AppMesh
2949
4212
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2950
4213
  # not your own, then it's the ID of the account that shared the mesh
2951
4214
  # with your account. For more information about mesh sharing, see
2952
- # [Working with Shared Meshes][1].
4215
+ # [Working with shared meshes][1].
2953
4216
  #
2954
4217
  #
2955
4218
  #
@@ -3022,7 +4285,7 @@ module Aws::AppMesh
3022
4285
  params: params,
3023
4286
  config: config)
3024
4287
  context[:gem_name] = 'aws-sdk-appmesh'
3025
- context[:gem_version] = '1.24.0'
4288
+ context[:gem_version] = '1.29.0'
3026
4289
  Seahorse::Client::Request.new(handlers, context)
3027
4290
  end
3028
4291