aws-sdk-appmesh 1.24.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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