aws-sdk-appmesh 1.23.0 → 1.28.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: 0ab82228a2edf519c8c76641f32d9c15e9ad2d82c356fb278d690dd234bc714e
4
- data.tar.gz: afb22324fe01ca5835d0389e7452565ad33f16bc8a7059b592ebcc1e0edb70d1
3
+ metadata.gz: 6635dee1c7aa14de4ed9815088245d560ae89c15bc303e4596d390468c11c13d
4
+ data.tar.gz: 6e03e3f92f8086cbec7de2bd994cd0b35f1d80110b1cde84bb45c96b49cce398
5
5
  SHA512:
6
- metadata.gz: 16801252ba8a7f734fdfccf9fda3bb7e0e5029a00665b779dfd65952f4e9dc297d0e4fd9270314bd9f3f44d0b6ccd332d85c18ee2a58a2a44c93700f21211dc8
7
- data.tar.gz: 6eda00ce46ea636cf9ee75c090ce354028f38e168819a91f225780a62636e924ff9cde53d922e66cd1199872ea3618d748d97cf5993c2d73d2956ce9b708ef1a
6
+ metadata.gz: bce15d4cecc8652f4f814d79c46e0a16250a33ce18f94fdb6aa25ad4b31c603009cec6cfeb6d1438741639df89570f621d117245acfa939ff66a16a577dfda30
7
+ data.tar.gz: 0ef73719e2cb9b81021b7c37d7702150e585eab2bc39d1fc3172626617eb8a68b39b100c8cc1f3d2a81b332729b72bcbd0334b6ecb49aeca7437a67583c01241
@@ -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
  #
@@ -45,6 +47,6 @@ require_relative 'aws-sdk-appmesh/customizations'
45
47
  # @service
46
48
  module Aws::AppMesh
47
49
 
48
- GEM_VERSION = '1.23.0'
50
+ GEM_VERSION = '1.28.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
 
@@ -161,7 +165,7 @@ module Aws::AppMesh
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::AppMesh
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -308,6 +312,145 @@ module Aws::AppMesh
308
312
 
309
313
  # @!group API Operations
310
314
 
315
+ # Creates a gateway route.
316
+ #
317
+ # A gateway route is attached to a virtual gateway and routes traffic to
318
+ # an existing virtual service. If a route matches a request, it can
319
+ # distribute traffic to a target virtual service.
320
+ #
321
+ # For more information about gateway routes, see [Gateway routes][1].
322
+ #
323
+ #
324
+ #
325
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html
326
+ #
327
+ # @option params [String] :client_token
328
+ # Unique, case-sensitive identifier that you provide to ensure the
329
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
330
+ # underscores are allowed.
331
+ #
332
+ # **A suitable default value is auto-generated.** You should normally
333
+ # not need to pass this option.**
334
+ #
335
+ # @option params [required, String] :gateway_route_name
336
+ # The name to use for the gateway route.
337
+ #
338
+ # @option params [required, String] :mesh_name
339
+ # The name of the service mesh to create the gateway route in.
340
+ #
341
+ # @option params [String] :mesh_owner
342
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
343
+ # not your own, then the account that you specify must share the mesh
344
+ # with your account before you can create the resource in the service
345
+ # mesh. For more information about mesh sharing, see [Working with
346
+ # shared meshes][1].
347
+ #
348
+ #
349
+ #
350
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
351
+ #
352
+ # @option params [required, Types::GatewayRouteSpec] :spec
353
+ # The gateway route specification to apply.
354
+ #
355
+ # @option params [Array<Types::TagRef>] :tags
356
+ # Optional metadata that you can apply to the gateway route to assist
357
+ # with categorization and organization. Each tag consists of a key and
358
+ # an optional value, both of which you define. Tag keys can have a
359
+ # maximum character length of 128 characters, and tag values can have a
360
+ # maximum length of 256 characters.
361
+ #
362
+ # @option params [required, String] :virtual_gateway_name
363
+ # The name of the virtual gateway to associate the gateway route with.
364
+ # If the virtual gateway is in a shared mesh, then you must be the owner
365
+ # of the virtual gateway resource.
366
+ #
367
+ # @return [Types::CreateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
368
+ #
369
+ # * {Types::CreateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
370
+ #
371
+ # @example Request syntax with placeholder values
372
+ #
373
+ # resp = client.create_gateway_route({
374
+ # client_token: "String",
375
+ # gateway_route_name: "ResourceName", # required
376
+ # mesh_name: "ResourceName", # required
377
+ # mesh_owner: "AccountId",
378
+ # spec: { # required
379
+ # grpc_route: {
380
+ # action: { # required
381
+ # target: { # required
382
+ # virtual_service: { # required
383
+ # virtual_service_name: "ResourceName", # required
384
+ # },
385
+ # },
386
+ # },
387
+ # match: { # required
388
+ # service_name: "ServiceName",
389
+ # },
390
+ # },
391
+ # http2_route: {
392
+ # action: { # required
393
+ # target: { # required
394
+ # virtual_service: { # required
395
+ # virtual_service_name: "ResourceName", # required
396
+ # },
397
+ # },
398
+ # },
399
+ # match: { # required
400
+ # prefix: "String", # required
401
+ # },
402
+ # },
403
+ # http_route: {
404
+ # action: { # required
405
+ # target: { # required
406
+ # virtual_service: { # required
407
+ # virtual_service_name: "ResourceName", # required
408
+ # },
409
+ # },
410
+ # },
411
+ # match: { # required
412
+ # prefix: "String", # required
413
+ # },
414
+ # },
415
+ # },
416
+ # tags: [
417
+ # {
418
+ # key: "TagKey", # required
419
+ # value: "TagValue",
420
+ # },
421
+ # ],
422
+ # virtual_gateway_name: "ResourceName", # required
423
+ # })
424
+ #
425
+ # @example Response structure
426
+ #
427
+ # resp.gateway_route.gateway_route_name #=> String
428
+ # resp.gateway_route.mesh_name #=> String
429
+ # resp.gateway_route.metadata.arn #=> String
430
+ # resp.gateway_route.metadata.created_at #=> Time
431
+ # resp.gateway_route.metadata.last_updated_at #=> Time
432
+ # resp.gateway_route.metadata.mesh_owner #=> String
433
+ # resp.gateway_route.metadata.resource_owner #=> String
434
+ # resp.gateway_route.metadata.uid #=> String
435
+ # resp.gateway_route.metadata.version #=> Integer
436
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
437
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
438
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
439
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
440
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
441
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
442
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
443
+ # resp.gateway_route.virtual_gateway_name #=> String
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute AWS API Documentation
446
+ #
447
+ # @overload create_gateway_route(params = {})
448
+ # @param [Hash] params ({})
449
+ def create_gateway_route(params = {}, options = {})
450
+ req = build_request(:create_gateway_route, params)
451
+ req.send_request(options)
452
+ end
453
+
311
454
  # Creates a service mesh.
312
455
  #
313
456
  # A service mesh is a logical boundary for network traffic between
@@ -414,7 +557,7 @@ module Aws::AppMesh
414
557
  # not your own, then the account that you specify must share the mesh
415
558
  # with your account before you can create the resource in the service
416
559
  # mesh. For more information about mesh sharing, see [Working with
417
- # Shared Meshes][1].
560
+ # shared meshes][1].
418
561
  #
419
562
  #
420
563
  #
@@ -489,6 +632,16 @@ module Aws::AppMesh
489
632
  # },
490
633
  # tcp_retry_events: ["connection-error"], # accepts connection-error
491
634
  # },
635
+ # timeout: {
636
+ # idle: {
637
+ # unit: "ms", # accepts ms, s
638
+ # value: 1,
639
+ # },
640
+ # per_request: {
641
+ # unit: "ms", # accepts ms, s
642
+ # value: 1,
643
+ # },
644
+ # },
492
645
  # },
493
646
  # http2_route: {
494
647
  # action: { # required
@@ -529,6 +682,16 @@ module Aws::AppMesh
529
682
  # },
530
683
  # tcp_retry_events: ["connection-error"], # accepts connection-error
531
684
  # },
685
+ # timeout: {
686
+ # idle: {
687
+ # unit: "ms", # accepts ms, s
688
+ # value: 1,
689
+ # },
690
+ # per_request: {
691
+ # unit: "ms", # accepts ms, s
692
+ # value: 1,
693
+ # },
694
+ # },
532
695
  # },
533
696
  # http_route: {
534
697
  # action: { # required
@@ -569,6 +732,16 @@ module Aws::AppMesh
569
732
  # },
570
733
  # tcp_retry_events: ["connection-error"], # accepts connection-error
571
734
  # },
735
+ # timeout: {
736
+ # idle: {
737
+ # unit: "ms", # accepts ms, s
738
+ # value: 1,
739
+ # },
740
+ # per_request: {
741
+ # unit: "ms", # accepts ms, s
742
+ # value: 1,
743
+ # },
744
+ # },
572
745
  # },
573
746
  # priority: 1,
574
747
  # tcp_route: {
@@ -580,6 +753,12 @@ module Aws::AppMesh
580
753
  # },
581
754
  # ],
582
755
  # },
756
+ # timeout: {
757
+ # idle: {
758
+ # unit: "ms", # accepts ms, s
759
+ # value: 1,
760
+ # },
761
+ # },
583
762
  # },
584
763
  # },
585
764
  # tags: [
@@ -625,6 +804,10 @@ module Aws::AppMesh
625
804
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
626
805
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
627
806
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
807
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
808
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
809
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
810
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
628
811
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
629
812
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
630
813
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -647,6 +830,10 @@ module Aws::AppMesh
647
830
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
648
831
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
649
832
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
833
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
834
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
835
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
836
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
650
837
  # resp.route.spec.http_route.action.weighted_targets #=> Array
651
838
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
652
839
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -669,10 +856,16 @@ module Aws::AppMesh
669
856
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
670
857
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
671
858
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
859
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
860
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
861
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
862
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
672
863
  # resp.route.spec.priority #=> Integer
673
864
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
674
865
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
675
866
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
867
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
868
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
676
869
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
677
870
  # resp.route.virtual_router_name #=> String
678
871
  #
@@ -685,6 +878,175 @@ module Aws::AppMesh
685
878
  req.send_request(options)
686
879
  end
687
880
 
881
+ # Creates a virtual gateway.
882
+ #
883
+ # A virtual gateway allows resources outside your mesh to communicate to
884
+ # resources that are inside your mesh. The virtual gateway represents an
885
+ # Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or
886
+ # on an Amazon EC2 instance. Unlike a virtual node, which represents an
887
+ # Envoy running with an application, a virtual gateway represents Envoy
888
+ # deployed by itself.
889
+ #
890
+ # For more information about virtual gateways, see [Virtual
891
+ # gateways][1].
892
+ #
893
+ #
894
+ #
895
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
896
+ #
897
+ # @option params [String] :client_token
898
+ # Unique, case-sensitive identifier that you provide to ensure the
899
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
900
+ # underscores are allowed.
901
+ #
902
+ # **A suitable default value is auto-generated.** You should normally
903
+ # not need to pass this option.**
904
+ #
905
+ # @option params [required, String] :mesh_name
906
+ # The name of the service mesh to create the virtual gateway in.
907
+ #
908
+ # @option params [String] :mesh_owner
909
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
910
+ # not your own, then the account that you specify must share the mesh
911
+ # with your account before you can create the resource in the service
912
+ # mesh. For more information about mesh sharing, see [Working with
913
+ # shared meshes][1].
914
+ #
915
+ #
916
+ #
917
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
918
+ #
919
+ # @option params [required, Types::VirtualGatewaySpec] :spec
920
+ # The virtual gateway specification to apply.
921
+ #
922
+ # @option params [Array<Types::TagRef>] :tags
923
+ # Optional metadata that you can apply to the virtual gateway to assist
924
+ # with categorization and organization. Each tag consists of a key and
925
+ # an optional value, both of which you define. Tag keys can have a
926
+ # maximum character length of 128 characters, and tag values can have a
927
+ # maximum length of 256 characters.
928
+ #
929
+ # @option params [required, String] :virtual_gateway_name
930
+ # The name to use for the virtual gateway.
931
+ #
932
+ # @return [Types::CreateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
933
+ #
934
+ # * {Types::CreateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
935
+ #
936
+ # @example Request syntax with placeholder values
937
+ #
938
+ # resp = client.create_virtual_gateway({
939
+ # client_token: "String",
940
+ # mesh_name: "ResourceName", # required
941
+ # mesh_owner: "AccountId",
942
+ # spec: { # required
943
+ # backend_defaults: {
944
+ # client_policy: {
945
+ # tls: {
946
+ # enforce: false,
947
+ # ports: [1],
948
+ # validation: { # required
949
+ # trust: { # required
950
+ # acm: {
951
+ # certificate_authority_arns: ["Arn"], # required
952
+ # },
953
+ # file: {
954
+ # certificate_chain: "FilePath", # required
955
+ # },
956
+ # },
957
+ # },
958
+ # },
959
+ # },
960
+ # },
961
+ # listeners: [ # required
962
+ # {
963
+ # health_check: {
964
+ # healthy_threshold: 1, # required
965
+ # interval_millis: 1, # required
966
+ # path: "String",
967
+ # port: 1,
968
+ # protocol: "grpc", # required, accepts grpc, http, http2
969
+ # timeout_millis: 1, # required
970
+ # unhealthy_threshold: 1, # required
971
+ # },
972
+ # port_mapping: { # required
973
+ # port: 1, # required
974
+ # protocol: "grpc", # required, accepts grpc, http, http2
975
+ # },
976
+ # tls: {
977
+ # certificate: { # required
978
+ # acm: {
979
+ # certificate_arn: "Arn", # required
980
+ # },
981
+ # file: {
982
+ # certificate_chain: "FilePath", # required
983
+ # private_key: "FilePath", # required
984
+ # },
985
+ # },
986
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
987
+ # },
988
+ # },
989
+ # ],
990
+ # logging: {
991
+ # access_log: {
992
+ # file: {
993
+ # path: "FilePath", # required
994
+ # },
995
+ # },
996
+ # },
997
+ # },
998
+ # tags: [
999
+ # {
1000
+ # key: "TagKey", # required
1001
+ # value: "TagValue",
1002
+ # },
1003
+ # ],
1004
+ # virtual_gateway_name: "ResourceName", # required
1005
+ # })
1006
+ #
1007
+ # @example Response structure
1008
+ #
1009
+ # resp.virtual_gateway.mesh_name #=> String
1010
+ # resp.virtual_gateway.metadata.arn #=> String
1011
+ # resp.virtual_gateway.metadata.created_at #=> Time
1012
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1013
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1014
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1015
+ # resp.virtual_gateway.metadata.uid #=> String
1016
+ # resp.virtual_gateway.metadata.version #=> Integer
1017
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1018
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1019
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1020
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1021
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1022
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1023
+ # resp.virtual_gateway.spec.listeners #=> Array
1024
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1025
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1026
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1027
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1028
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
1029
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1030
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1031
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1032
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
1033
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1034
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1035
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1036
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1037
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1038
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1039
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway AWS API Documentation
1042
+ #
1043
+ # @overload create_virtual_gateway(params = {})
1044
+ # @param [Hash] params ({})
1045
+ def create_virtual_gateway(params = {}, options = {})
1046
+ req = build_request(:create_virtual_gateway, params)
1047
+ req.send_request(options)
1048
+ end
1049
+
688
1050
  # Creates a virtual node within a service mesh.
689
1051
  #
690
1052
  # A virtual node acts as a logical pointer to a particular task group,
@@ -736,7 +1098,7 @@ module Aws::AppMesh
736
1098
  # not your own, then the account that you specify must share the mesh
737
1099
  # with your account before you can create the resource in the service
738
1100
  # mesh. For more information about mesh sharing, see [Working with
739
- # Shared Meshes][1].
1101
+ # shared meshes][1].
740
1102
  #
741
1103
  #
742
1104
  #
@@ -822,6 +1184,44 @@ module Aws::AppMesh
822
1184
  # port: 1, # required
823
1185
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
824
1186
  # },
1187
+ # timeout: {
1188
+ # grpc: {
1189
+ # idle: {
1190
+ # unit: "ms", # accepts ms, s
1191
+ # value: 1,
1192
+ # },
1193
+ # per_request: {
1194
+ # unit: "ms", # accepts ms, s
1195
+ # value: 1,
1196
+ # },
1197
+ # },
1198
+ # http: {
1199
+ # idle: {
1200
+ # unit: "ms", # accepts ms, s
1201
+ # value: 1,
1202
+ # },
1203
+ # per_request: {
1204
+ # unit: "ms", # accepts ms, s
1205
+ # value: 1,
1206
+ # },
1207
+ # },
1208
+ # http2: {
1209
+ # idle: {
1210
+ # unit: "ms", # accepts ms, s
1211
+ # value: 1,
1212
+ # },
1213
+ # per_request: {
1214
+ # unit: "ms", # accepts ms, s
1215
+ # value: 1,
1216
+ # },
1217
+ # },
1218
+ # tcp: {
1219
+ # idle: {
1220
+ # unit: "ms", # accepts ms, s
1221
+ # value: 1,
1222
+ # },
1223
+ # },
1224
+ # },
825
1225
  # tls: {
826
1226
  # certificate: { # required
827
1227
  # acm: {
@@ -902,6 +1302,20 @@ module Aws::AppMesh
902
1302
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
903
1303
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
904
1304
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1305
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
1306
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
1307
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
1308
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1309
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
1310
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1311
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
1312
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1313
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
1314
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1315
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
1316
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1317
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
1318
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
905
1319
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
906
1320
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
907
1321
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -956,7 +1370,7 @@ module Aws::AppMesh
956
1370
  # not your own, then the account that you specify must share the mesh
957
1371
  # with your account before you can create the resource in the service
958
1372
  # mesh. For more information about mesh sharing, see [Working with
959
- # Shared Meshes][1].
1373
+ # shared meshes][1].
960
1374
  #
961
1375
  #
962
1376
  #
@@ -1061,7 +1475,7 @@ module Aws::AppMesh
1061
1475
  # not your own, then the account that you specify must share the mesh
1062
1476
  # with your account before you can create the resource in the service
1063
1477
  # mesh. For more information about mesh sharing, see [Working with
1064
- # Shared Meshes][1].
1478
+ # shared meshes][1].
1065
1479
  #
1066
1480
  #
1067
1481
  #
@@ -1133,33 +1547,96 @@ module Aws::AppMesh
1133
1547
  req.send_request(options)
1134
1548
  end
1135
1549
 
1136
- # Deletes an existing service mesh.
1550
+ # Deletes an existing gateway route.
1137
1551
  #
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.
1552
+ # @option params [required, String] :gateway_route_name
1553
+ # The name of the gateway route to delete.
1141
1554
  #
1142
1555
  # @option params [required, String] :mesh_name
1143
- # The name of the service mesh to delete.
1556
+ # The name of the service mesh to delete the gateway route from.
1144
1557
  #
1145
- # @return [Types::DeleteMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1558
+ # @option params [String] :mesh_owner
1559
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1560
+ # not your own, then it's the ID of the account that shared the mesh
1561
+ # with your account. For more information about mesh sharing, see
1562
+ # [Working with shared meshes][1].
1146
1563
  #
1147
- # * {Types::DeleteMeshOutput#mesh #mesh} => Types::MeshData
1564
+ #
1565
+ #
1566
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1567
+ #
1568
+ # @option params [required, String] :virtual_gateway_name
1569
+ # The name of the virtual gateway to delete the route from.
1570
+ #
1571
+ # @return [Types::DeleteGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1572
+ #
1573
+ # * {Types::DeleteGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
1148
1574
  #
1149
1575
  # @example Request syntax with placeholder values
1150
1576
  #
1151
- # resp = client.delete_mesh({
1577
+ # resp = client.delete_gateway_route({
1578
+ # gateway_route_name: "ResourceName", # required
1152
1579
  # mesh_name: "ResourceName", # required
1580
+ # mesh_owner: "AccountId",
1581
+ # virtual_gateway_name: "ResourceName", # required
1153
1582
  # })
1154
1583
  #
1155
1584
  # @example Response structure
1156
1585
  #
1157
- # resp.mesh.mesh_name #=> String
1158
- # resp.mesh.metadata.arn #=> String
1159
- # resp.mesh.metadata.created_at #=> Time
1160
- # resp.mesh.metadata.last_updated_at #=> Time
1161
- # resp.mesh.metadata.mesh_owner #=> String
1162
- # resp.mesh.metadata.resource_owner #=> String
1586
+ # resp.gateway_route.gateway_route_name #=> String
1587
+ # resp.gateway_route.mesh_name #=> String
1588
+ # resp.gateway_route.metadata.arn #=> String
1589
+ # resp.gateway_route.metadata.created_at #=> Time
1590
+ # resp.gateway_route.metadata.last_updated_at #=> Time
1591
+ # resp.gateway_route.metadata.mesh_owner #=> String
1592
+ # resp.gateway_route.metadata.resource_owner #=> String
1593
+ # resp.gateway_route.metadata.uid #=> String
1594
+ # resp.gateway_route.metadata.version #=> Integer
1595
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
1596
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
1597
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
1598
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
1599
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
1600
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
1601
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1602
+ # resp.gateway_route.virtual_gateway_name #=> String
1603
+ #
1604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute AWS API Documentation
1605
+ #
1606
+ # @overload delete_gateway_route(params = {})
1607
+ # @param [Hash] params ({})
1608
+ def delete_gateway_route(params = {}, options = {})
1609
+ req = build_request(:delete_gateway_route, params)
1610
+ req.send_request(options)
1611
+ end
1612
+
1613
+ # Deletes an existing service mesh.
1614
+ #
1615
+ # You must delete all resources (virtual services, routes, virtual
1616
+ # routers, and virtual nodes) in the service mesh before you can delete
1617
+ # the mesh itself.
1618
+ #
1619
+ # @option params [required, String] :mesh_name
1620
+ # The name of the service mesh to delete.
1621
+ #
1622
+ # @return [Types::DeleteMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1623
+ #
1624
+ # * {Types::DeleteMeshOutput#mesh #mesh} => Types::MeshData
1625
+ #
1626
+ # @example Request syntax with placeholder values
1627
+ #
1628
+ # resp = client.delete_mesh({
1629
+ # mesh_name: "ResourceName", # required
1630
+ # })
1631
+ #
1632
+ # @example Response structure
1633
+ #
1634
+ # resp.mesh.mesh_name #=> String
1635
+ # resp.mesh.metadata.arn #=> String
1636
+ # resp.mesh.metadata.created_at #=> Time
1637
+ # resp.mesh.metadata.last_updated_at #=> Time
1638
+ # resp.mesh.metadata.mesh_owner #=> String
1639
+ # resp.mesh.metadata.resource_owner #=> String
1163
1640
  # resp.mesh.metadata.uid #=> String
1164
1641
  # resp.mesh.metadata.version #=> Integer
1165
1642
  # resp.mesh.spec.egress_filter.type #=> String, one of "ALLOW_ALL", "DROP_ALL"
@@ -1183,7 +1660,7 @@ module Aws::AppMesh
1183
1660
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1184
1661
  # not your own, then it's the ID of the account that shared the mesh
1185
1662
  # with your account. For more information about mesh sharing, see
1186
- # [Working with Shared Meshes][1].
1663
+ # [Working with shared meshes][1].
1187
1664
  #
1188
1665
  #
1189
1666
  #
@@ -1242,6 +1719,10 @@ module Aws::AppMesh
1242
1719
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
1243
1720
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
1244
1721
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1722
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
1723
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
1724
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
1725
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
1245
1726
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
1246
1727
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
1247
1728
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -1264,6 +1745,10 @@ module Aws::AppMesh
1264
1745
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
1265
1746
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
1266
1747
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1748
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
1749
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
1750
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
1751
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
1267
1752
  # resp.route.spec.http_route.action.weighted_targets #=> Array
1268
1753
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
1269
1754
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -1286,10 +1771,16 @@ module Aws::AppMesh
1286
1771
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
1287
1772
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
1288
1773
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
1774
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
1775
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
1776
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
1777
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
1289
1778
  # resp.route.spec.priority #=> Integer
1290
1779
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
1291
1780
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
1292
1781
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
1782
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
1783
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
1293
1784
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1294
1785
  # resp.route.virtual_router_name #=> String
1295
1786
  #
@@ -1302,6 +1793,80 @@ module Aws::AppMesh
1302
1793
  req.send_request(options)
1303
1794
  end
1304
1795
 
1796
+ # Deletes an existing virtual gateway. You cannot delete a virtual
1797
+ # gateway if any gateway routes are associated to it.
1798
+ #
1799
+ # @option params [required, String] :mesh_name
1800
+ # The name of the service mesh to delete the virtual gateway from.
1801
+ #
1802
+ # @option params [String] :mesh_owner
1803
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1804
+ # not your own, then it's the ID of the account that shared the mesh
1805
+ # with your account. For more information about mesh sharing, see
1806
+ # [Working with shared meshes][1].
1807
+ #
1808
+ #
1809
+ #
1810
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1811
+ #
1812
+ # @option params [required, String] :virtual_gateway_name
1813
+ # The name of the virtual gateway to delete.
1814
+ #
1815
+ # @return [Types::DeleteVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1816
+ #
1817
+ # * {Types::DeleteVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
1818
+ #
1819
+ # @example Request syntax with placeholder values
1820
+ #
1821
+ # resp = client.delete_virtual_gateway({
1822
+ # mesh_name: "ResourceName", # required
1823
+ # mesh_owner: "AccountId",
1824
+ # virtual_gateway_name: "ResourceName", # required
1825
+ # })
1826
+ #
1827
+ # @example Response structure
1828
+ #
1829
+ # resp.virtual_gateway.mesh_name #=> String
1830
+ # resp.virtual_gateway.metadata.arn #=> String
1831
+ # resp.virtual_gateway.metadata.created_at #=> Time
1832
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1833
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1834
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1835
+ # resp.virtual_gateway.metadata.uid #=> String
1836
+ # resp.virtual_gateway.metadata.version #=> Integer
1837
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1838
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1839
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1840
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1841
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1842
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1843
+ # resp.virtual_gateway.spec.listeners #=> Array
1844
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1845
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1846
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1847
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1848
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
1849
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1850
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1851
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1852
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
1853
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1854
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1855
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1856
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1857
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1858
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1859
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1860
+ #
1861
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway AWS API Documentation
1862
+ #
1863
+ # @overload delete_virtual_gateway(params = {})
1864
+ # @param [Hash] params ({})
1865
+ def delete_virtual_gateway(params = {}, options = {})
1866
+ req = build_request(:delete_virtual_gateway, params)
1867
+ req.send_request(options)
1868
+ end
1869
+
1305
1870
  # Deletes an existing virtual node.
1306
1871
  #
1307
1872
  # You must delete any virtual services that list a virtual node as a
@@ -1314,7 +1879,7 @@ module Aws::AppMesh
1314
1879
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1315
1880
  # not your own, then it's the ID of the account that shared the mesh
1316
1881
  # with your account. For more information about mesh sharing, see
1317
- # [Working with Shared Meshes][1].
1882
+ # [Working with shared meshes][1].
1318
1883
  #
1319
1884
  #
1320
1885
  #
@@ -1369,6 +1934,20 @@ module Aws::AppMesh
1369
1934
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1370
1935
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1371
1936
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
1937
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
1938
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
1939
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
1940
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
1941
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
1942
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
1943
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
1944
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
1945
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
1946
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
1947
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
1948
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
1949
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
1950
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1372
1951
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1373
1952
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1374
1953
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -1404,7 +1983,7 @@ module Aws::AppMesh
1404
1983
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1405
1984
  # not your own, then it's the ID of the account that shared the mesh
1406
1985
  # with your account. For more information about mesh sharing, see
1407
- # [Working with Shared Meshes][1].
1986
+ # [Working with shared meshes][1].
1408
1987
  #
1409
1988
  #
1410
1989
  #
@@ -1459,7 +2038,7 @@ module Aws::AppMesh
1459
2038
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1460
2039
  # not your own, then it's the ID of the account that shared the mesh
1461
2040
  # with your account. For more information about mesh sharing, see
1462
- # [Working with Shared Meshes][1].
2041
+ # [Working with shared meshes][1].
1463
2042
  #
1464
2043
  #
1465
2044
  #
@@ -1504,6 +2083,70 @@ module Aws::AppMesh
1504
2083
  req.send_request(options)
1505
2084
  end
1506
2085
 
2086
+ # Describes an existing gateway route.
2087
+ #
2088
+ # @option params [required, String] :gateway_route_name
2089
+ # The name of the gateway route to describe.
2090
+ #
2091
+ # @option params [required, String] :mesh_name
2092
+ # The name of the service mesh that the gateway route resides in.
2093
+ #
2094
+ # @option params [String] :mesh_owner
2095
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2096
+ # not your own, then it's the ID of the account that shared the mesh
2097
+ # with your account. For more information about mesh sharing, see
2098
+ # [Working with shared meshes][1].
2099
+ #
2100
+ #
2101
+ #
2102
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2103
+ #
2104
+ # @option params [required, String] :virtual_gateway_name
2105
+ # The name of the virtual gateway that the gateway route is associated
2106
+ # with.
2107
+ #
2108
+ # @return [Types::DescribeGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2109
+ #
2110
+ # * {Types::DescribeGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
2111
+ #
2112
+ # @example Request syntax with placeholder values
2113
+ #
2114
+ # resp = client.describe_gateway_route({
2115
+ # gateway_route_name: "ResourceName", # required
2116
+ # mesh_name: "ResourceName", # required
2117
+ # mesh_owner: "AccountId",
2118
+ # virtual_gateway_name: "ResourceName", # required
2119
+ # })
2120
+ #
2121
+ # @example Response structure
2122
+ #
2123
+ # resp.gateway_route.gateway_route_name #=> String
2124
+ # resp.gateway_route.mesh_name #=> String
2125
+ # resp.gateway_route.metadata.arn #=> String
2126
+ # resp.gateway_route.metadata.created_at #=> Time
2127
+ # resp.gateway_route.metadata.last_updated_at #=> Time
2128
+ # resp.gateway_route.metadata.mesh_owner #=> String
2129
+ # resp.gateway_route.metadata.resource_owner #=> String
2130
+ # resp.gateway_route.metadata.uid #=> String
2131
+ # resp.gateway_route.metadata.version #=> Integer
2132
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
2133
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
2134
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
2135
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
2136
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
2137
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
2138
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2139
+ # resp.gateway_route.virtual_gateway_name #=> String
2140
+ #
2141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute AWS API Documentation
2142
+ #
2143
+ # @overload describe_gateway_route(params = {})
2144
+ # @param [Hash] params ({})
2145
+ def describe_gateway_route(params = {}, options = {})
2146
+ req = build_request(:describe_gateway_route, params)
2147
+ req.send_request(options)
2148
+ end
2149
+
1507
2150
  # Describes an existing service mesh.
1508
2151
  #
1509
2152
  # @option params [required, String] :mesh_name
@@ -1513,7 +2156,7 @@ module Aws::AppMesh
1513
2156
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1514
2157
  # not your own, then it's the ID of the account that shared the mesh
1515
2158
  # with your account. For more information about mesh sharing, see
1516
- # [Working with Shared Meshes][1].
2159
+ # [Working with shared meshes][1].
1517
2160
  #
1518
2161
  #
1519
2162
  #
@@ -1561,7 +2204,7 @@ module Aws::AppMesh
1561
2204
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1562
2205
  # not your own, then it's the ID of the account that shared the mesh
1563
2206
  # with your account. For more information about mesh sharing, see
1564
- # [Working with Shared Meshes][1].
2207
+ # [Working with shared meshes][1].
1565
2208
  #
1566
2209
  #
1567
2210
  #
@@ -1620,6 +2263,10 @@ module Aws::AppMesh
1620
2263
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
1621
2264
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
1622
2265
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2266
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
2267
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
2268
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
2269
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
1623
2270
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
1624
2271
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
1625
2272
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -1642,6 +2289,10 @@ module Aws::AppMesh
1642
2289
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
1643
2290
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
1644
2291
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2292
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
2293
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
2294
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
2295
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
1645
2296
  # resp.route.spec.http_route.action.weighted_targets #=> Array
1646
2297
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
1647
2298
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -1664,10 +2315,16 @@ module Aws::AppMesh
1664
2315
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
1665
2316
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
1666
2317
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
2318
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
2319
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
2320
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
2321
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
1667
2322
  # resp.route.spec.priority #=> Integer
1668
2323
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
1669
2324
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
1670
2325
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
2326
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
2327
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
1671
2328
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1672
2329
  # resp.route.virtual_router_name #=> String
1673
2330
  #
@@ -1680,6 +2337,79 @@ module Aws::AppMesh
1680
2337
  req.send_request(options)
1681
2338
  end
1682
2339
 
2340
+ # Describes an existing virtual gateway.
2341
+ #
2342
+ # @option params [required, String] :mesh_name
2343
+ # The name of the service mesh that the gateway route resides in.
2344
+ #
2345
+ # @option params [String] :mesh_owner
2346
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2347
+ # not your own, then it's the ID of the account that shared the mesh
2348
+ # with your account. For more information about mesh sharing, see
2349
+ # [Working with shared meshes][1].
2350
+ #
2351
+ #
2352
+ #
2353
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2354
+ #
2355
+ # @option params [required, String] :virtual_gateway_name
2356
+ # The name of the virtual gateway to describe.
2357
+ #
2358
+ # @return [Types::DescribeVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2359
+ #
2360
+ # * {Types::DescribeVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
2361
+ #
2362
+ # @example Request syntax with placeholder values
2363
+ #
2364
+ # resp = client.describe_virtual_gateway({
2365
+ # mesh_name: "ResourceName", # required
2366
+ # mesh_owner: "AccountId",
2367
+ # virtual_gateway_name: "ResourceName", # required
2368
+ # })
2369
+ #
2370
+ # @example Response structure
2371
+ #
2372
+ # resp.virtual_gateway.mesh_name #=> String
2373
+ # resp.virtual_gateway.metadata.arn #=> String
2374
+ # resp.virtual_gateway.metadata.created_at #=> Time
2375
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
2376
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
2377
+ # resp.virtual_gateway.metadata.resource_owner #=> String
2378
+ # resp.virtual_gateway.metadata.uid #=> String
2379
+ # resp.virtual_gateway.metadata.version #=> Integer
2380
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
2381
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
2382
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
2383
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
2384
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
2385
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
2386
+ # resp.virtual_gateway.spec.listeners #=> Array
2387
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
2388
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
2389
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
2390
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
2391
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
2392
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
2393
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2394
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
2395
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
2396
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
2397
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
2398
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
2399
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
2400
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
2401
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2402
+ # resp.virtual_gateway.virtual_gateway_name #=> String
2403
+ #
2404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway AWS API Documentation
2405
+ #
2406
+ # @overload describe_virtual_gateway(params = {})
2407
+ # @param [Hash] params ({})
2408
+ def describe_virtual_gateway(params = {}, options = {})
2409
+ req = build_request(:describe_virtual_gateway, params)
2410
+ req.send_request(options)
2411
+ end
2412
+
1683
2413
  # Describes an existing virtual node.
1684
2414
  #
1685
2415
  # @option params [required, String] :mesh_name
@@ -1689,7 +2419,7 @@ module Aws::AppMesh
1689
2419
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1690
2420
  # not your own, then it's the ID of the account that shared the mesh
1691
2421
  # with your account. For more information about mesh sharing, see
1692
- # [Working with Shared Meshes][1].
2422
+ # [Working with shared meshes][1].
1693
2423
  #
1694
2424
  #
1695
2425
  #
@@ -1744,6 +2474,20 @@ module Aws::AppMesh
1744
2474
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1745
2475
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
1746
2476
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
2477
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
2478
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
2479
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
2480
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
2481
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
2482
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
2483
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
2484
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
2485
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
2486
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
2487
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
2488
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
2489
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
2490
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
1747
2491
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1748
2492
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1749
2493
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -1776,7 +2520,7 @@ module Aws::AppMesh
1776
2520
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1777
2521
  # not your own, then it's the ID of the account that shared the mesh
1778
2522
  # with your account. For more information about mesh sharing, see
1779
- # [Working with Shared Meshes][1].
2523
+ # [Working with shared meshes][1].
1780
2524
  #
1781
2525
  #
1782
2526
  #
@@ -1831,7 +2575,7 @@ module Aws::AppMesh
1831
2575
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1832
2576
  # not your own, then it's the ID of the account that shared the mesh
1833
2577
  # with your account. For more information about mesh sharing, see
1834
- # [Working with Shared Meshes][1].
2578
+ # [Working with shared meshes][1].
1835
2579
  #
1836
2580
  #
1837
2581
  #
@@ -1876,6 +2620,81 @@ module Aws::AppMesh
1876
2620
  req.send_request(options)
1877
2621
  end
1878
2622
 
2623
+ # Returns a list of existing gateway routes that are associated to a
2624
+ # virtual gateway.
2625
+ #
2626
+ # @option params [Integer] :limit
2627
+ # The maximum number of results returned by `ListGatewayRoutes` in
2628
+ # paginated output. When you use this parameter, `ListGatewayRoutes`
2629
+ # returns only `limit` results in a single page along with a `nextToken`
2630
+ # response element. You can see the remaining results of the initial
2631
+ # request by sending another `ListGatewayRoutes` request with the
2632
+ # returned `nextToken` value. This value can be between 1 and 100. If
2633
+ # you don't use this parameter, `ListGatewayRoutes` returns up to 100
2634
+ # results and a `nextToken` value if applicable.
2635
+ #
2636
+ # @option params [required, String] :mesh_name
2637
+ # The name of the service mesh to list gateway routes in.
2638
+ #
2639
+ # @option params [String] :mesh_owner
2640
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2641
+ # not your own, then it's the ID of the account that shared the mesh
2642
+ # with your account. For more information about mesh sharing, see
2643
+ # [Working with shared meshes][1].
2644
+ #
2645
+ #
2646
+ #
2647
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2648
+ #
2649
+ # @option params [String] :next_token
2650
+ # The `nextToken` value returned from a previous paginated
2651
+ # `ListGatewayRoutes` request where `limit` was used and the results
2652
+ # exceeded the value of that parameter. Pagination continues from the
2653
+ # end of the previous results that returned the `nextToken` value.
2654
+ #
2655
+ # @option params [required, String] :virtual_gateway_name
2656
+ # The name of the virtual gateway to list gateway routes in.
2657
+ #
2658
+ # @return [Types::ListGatewayRoutesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2659
+ #
2660
+ # * {Types::ListGatewayRoutesOutput#gateway_routes #gateway_routes} => Array&lt;Types::GatewayRouteRef&gt;
2661
+ # * {Types::ListGatewayRoutesOutput#next_token #next_token} => String
2662
+ #
2663
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2664
+ #
2665
+ # @example Request syntax with placeholder values
2666
+ #
2667
+ # resp = client.list_gateway_routes({
2668
+ # limit: 1,
2669
+ # mesh_name: "ResourceName", # required
2670
+ # mesh_owner: "AccountId",
2671
+ # next_token: "String",
2672
+ # virtual_gateway_name: "ResourceName", # required
2673
+ # })
2674
+ #
2675
+ # @example Response structure
2676
+ #
2677
+ # resp.gateway_routes #=> Array
2678
+ # resp.gateway_routes[0].arn #=> String
2679
+ # resp.gateway_routes[0].created_at #=> Time
2680
+ # resp.gateway_routes[0].gateway_route_name #=> String
2681
+ # resp.gateway_routes[0].last_updated_at #=> Time
2682
+ # resp.gateway_routes[0].mesh_name #=> String
2683
+ # resp.gateway_routes[0].mesh_owner #=> String
2684
+ # resp.gateway_routes[0].resource_owner #=> String
2685
+ # resp.gateway_routes[0].version #=> Integer
2686
+ # resp.gateway_routes[0].virtual_gateway_name #=> String
2687
+ # resp.next_token #=> String
2688
+ #
2689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes AWS API Documentation
2690
+ #
2691
+ # @overload list_gateway_routes(params = {})
2692
+ # @param [Hash] params ({})
2693
+ def list_gateway_routes(params = {}, options = {})
2694
+ req = build_request(:list_gateway_routes, params)
2695
+ req.send_request(options)
2696
+ end
2697
+
1879
2698
  # Returns a list of existing service meshes.
1880
2699
  #
1881
2700
  # @option params [Integer] :limit
@@ -1954,7 +2773,7 @@ module Aws::AppMesh
1954
2773
  # The AWS IAM account ID of the service mesh owner. If the account ID is
1955
2774
  # not your own, then it's the ID of the account that shared the mesh
1956
2775
  # with your account. For more information about mesh sharing, see
1957
- # [Working with Shared Meshes][1].
2776
+ # [Working with shared meshes][1].
1958
2777
  #
1959
2778
  #
1960
2779
  #
@@ -2062,6 +2881,75 @@ module Aws::AppMesh
2062
2881
  req.send_request(options)
2063
2882
  end
2064
2883
 
2884
+ # Returns a list of existing virtual gateways in a service mesh.
2885
+ #
2886
+ # @option params [Integer] :limit
2887
+ # The maximum number of results returned by `ListVirtualGateways` in
2888
+ # paginated output. When you use this parameter, `ListVirtualGateways`
2889
+ # returns only `limit` results in a single page along with a `nextToken`
2890
+ # response element. You can see the remaining results of the initial
2891
+ # request by sending another `ListVirtualGateways` request with the
2892
+ # returned `nextToken` value. This value can be between 1 and 100. If
2893
+ # you don't use this parameter, `ListVirtualGateways` returns up to 100
2894
+ # results and a `nextToken` value if applicable.
2895
+ #
2896
+ # @option params [required, String] :mesh_name
2897
+ # The name of the service mesh to list virtual gateways in.
2898
+ #
2899
+ # @option params [String] :mesh_owner
2900
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2901
+ # not your own, then it's the ID of the account that shared the mesh
2902
+ # with your account. For more information about mesh sharing, see
2903
+ # [Working with shared meshes][1].
2904
+ #
2905
+ #
2906
+ #
2907
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2908
+ #
2909
+ # @option params [String] :next_token
2910
+ # The `nextToken` value returned from a previous paginated
2911
+ # `ListVirtualGateways` request where `limit` was used and the results
2912
+ # exceeded the value of that parameter. Pagination continues from the
2913
+ # end of the previous results that returned the `nextToken` value.
2914
+ #
2915
+ # @return [Types::ListVirtualGatewaysOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2916
+ #
2917
+ # * {Types::ListVirtualGatewaysOutput#next_token #next_token} => String
2918
+ # * {Types::ListVirtualGatewaysOutput#virtual_gateways #virtual_gateways} => Array&lt;Types::VirtualGatewayRef&gt;
2919
+ #
2920
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2921
+ #
2922
+ # @example Request syntax with placeholder values
2923
+ #
2924
+ # resp = client.list_virtual_gateways({
2925
+ # limit: 1,
2926
+ # mesh_name: "ResourceName", # required
2927
+ # mesh_owner: "AccountId",
2928
+ # next_token: "String",
2929
+ # })
2930
+ #
2931
+ # @example Response structure
2932
+ #
2933
+ # resp.next_token #=> String
2934
+ # resp.virtual_gateways #=> Array
2935
+ # resp.virtual_gateways[0].arn #=> String
2936
+ # resp.virtual_gateways[0].created_at #=> Time
2937
+ # resp.virtual_gateways[0].last_updated_at #=> Time
2938
+ # resp.virtual_gateways[0].mesh_name #=> String
2939
+ # resp.virtual_gateways[0].mesh_owner #=> String
2940
+ # resp.virtual_gateways[0].resource_owner #=> String
2941
+ # resp.virtual_gateways[0].version #=> Integer
2942
+ # resp.virtual_gateways[0].virtual_gateway_name #=> String
2943
+ #
2944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways AWS API Documentation
2945
+ #
2946
+ # @overload list_virtual_gateways(params = {})
2947
+ # @param [Hash] params ({})
2948
+ def list_virtual_gateways(params = {}, options = {})
2949
+ req = build_request(:list_virtual_gateways, params)
2950
+ req.send_request(options)
2951
+ end
2952
+
2065
2953
  # Returns a list of existing virtual nodes.
2066
2954
  #
2067
2955
  # @option params [Integer] :limit
@@ -2081,7 +2969,7 @@ module Aws::AppMesh
2081
2969
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2082
2970
  # not your own, then it's the ID of the account that shared the mesh
2083
2971
  # with your account. For more information about mesh sharing, see
2084
- # [Working with Shared Meshes][1].
2972
+ # [Working with shared meshes][1].
2085
2973
  #
2086
2974
  #
2087
2975
  #
@@ -2150,7 +3038,7 @@ module Aws::AppMesh
2150
3038
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2151
3039
  # not your own, then it's the ID of the account that shared the mesh
2152
3040
  # with your account. For more information about mesh sharing, see
2153
- # [Working with Shared Meshes][1].
3041
+ # [Working with shared meshes][1].
2154
3042
  #
2155
3043
  #
2156
3044
  #
@@ -2219,7 +3107,7 @@ module Aws::AppMesh
2219
3107
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2220
3108
  # not your own, then it's the ID of the account that shared the mesh
2221
3109
  # with your account. For more information about mesh sharing, see
2222
- # [Working with Shared Meshes][1].
3110
+ # [Working with shared meshes][1].
2223
3111
  #
2224
3112
  #
2225
3113
  #
@@ -2331,6 +3219,122 @@ module Aws::AppMesh
2331
3219
  req.send_request(options)
2332
3220
  end
2333
3221
 
3222
+ # Updates an existing gateway route that is associated to a specified
3223
+ # virtual gateway in a service mesh.
3224
+ #
3225
+ # @option params [String] :client_token
3226
+ # Unique, case-sensitive identifier that you provide to ensure the
3227
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3228
+ # underscores are allowed.
3229
+ #
3230
+ # **A suitable default value is auto-generated.** You should normally
3231
+ # not need to pass this option.**
3232
+ #
3233
+ # @option params [required, String] :gateway_route_name
3234
+ # The name of the gateway route to update.
3235
+ #
3236
+ # @option params [required, String] :mesh_name
3237
+ # The name of the service mesh that the gateway route resides in.
3238
+ #
3239
+ # @option params [String] :mesh_owner
3240
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3241
+ # not your own, then it's the ID of the account that shared the mesh
3242
+ # with your account. For more information about mesh sharing, see
3243
+ # [Working with shared meshes][1].
3244
+ #
3245
+ #
3246
+ #
3247
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3248
+ #
3249
+ # @option params [required, Types::GatewayRouteSpec] :spec
3250
+ # The new gateway route specification to apply. This overwrites the
3251
+ # existing data.
3252
+ #
3253
+ # @option params [required, String] :virtual_gateway_name
3254
+ # The name of the virtual gateway that the gateway route is associated
3255
+ # with.
3256
+ #
3257
+ # @return [Types::UpdateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3258
+ #
3259
+ # * {Types::UpdateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
3260
+ #
3261
+ # @example Request syntax with placeholder values
3262
+ #
3263
+ # resp = client.update_gateway_route({
3264
+ # client_token: "String",
3265
+ # gateway_route_name: "ResourceName", # required
3266
+ # mesh_name: "ResourceName", # required
3267
+ # mesh_owner: "AccountId",
3268
+ # spec: { # required
3269
+ # grpc_route: {
3270
+ # action: { # required
3271
+ # target: { # required
3272
+ # virtual_service: { # required
3273
+ # virtual_service_name: "ResourceName", # required
3274
+ # },
3275
+ # },
3276
+ # },
3277
+ # match: { # required
3278
+ # service_name: "ServiceName",
3279
+ # },
3280
+ # },
3281
+ # http2_route: {
3282
+ # action: { # required
3283
+ # target: { # required
3284
+ # virtual_service: { # required
3285
+ # virtual_service_name: "ResourceName", # required
3286
+ # },
3287
+ # },
3288
+ # },
3289
+ # match: { # required
3290
+ # prefix: "String", # required
3291
+ # },
3292
+ # },
3293
+ # http_route: {
3294
+ # action: { # required
3295
+ # target: { # required
3296
+ # virtual_service: { # required
3297
+ # virtual_service_name: "ResourceName", # required
3298
+ # },
3299
+ # },
3300
+ # },
3301
+ # match: { # required
3302
+ # prefix: "String", # required
3303
+ # },
3304
+ # },
3305
+ # },
3306
+ # virtual_gateway_name: "ResourceName", # required
3307
+ # })
3308
+ #
3309
+ # @example Response structure
3310
+ #
3311
+ # resp.gateway_route.gateway_route_name #=> String
3312
+ # resp.gateway_route.mesh_name #=> String
3313
+ # resp.gateway_route.metadata.arn #=> String
3314
+ # resp.gateway_route.metadata.created_at #=> Time
3315
+ # resp.gateway_route.metadata.last_updated_at #=> Time
3316
+ # resp.gateway_route.metadata.mesh_owner #=> String
3317
+ # resp.gateway_route.metadata.resource_owner #=> String
3318
+ # resp.gateway_route.metadata.uid #=> String
3319
+ # resp.gateway_route.metadata.version #=> Integer
3320
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
3321
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
3322
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
3323
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
3324
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
3325
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
3326
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3327
+ # resp.gateway_route.virtual_gateway_name #=> String
3328
+ #
3329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute AWS API Documentation
3330
+ #
3331
+ # @overload update_gateway_route(params = {})
3332
+ # @param [Hash] params ({})
3333
+ def update_gateway_route(params = {}, options = {})
3334
+ req = build_request(:update_gateway_route, params)
3335
+ req.send_request(options)
3336
+ end
3337
+
2334
3338
  # Updates an existing service mesh.
2335
3339
  #
2336
3340
  # @option params [String] :client_token
@@ -2403,7 +3407,7 @@ module Aws::AppMesh
2403
3407
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2404
3408
  # not your own, then it's the ID of the account that shared the mesh
2405
3409
  # with your account. For more information about mesh sharing, see
2406
- # [Working with Shared Meshes][1].
3410
+ # [Working with shared meshes][1].
2407
3411
  #
2408
3412
  #
2409
3413
  #
@@ -2470,6 +3474,16 @@ module Aws::AppMesh
2470
3474
  # },
2471
3475
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2472
3476
  # },
3477
+ # timeout: {
3478
+ # idle: {
3479
+ # unit: "ms", # accepts ms, s
3480
+ # value: 1,
3481
+ # },
3482
+ # per_request: {
3483
+ # unit: "ms", # accepts ms, s
3484
+ # value: 1,
3485
+ # },
3486
+ # },
2473
3487
  # },
2474
3488
  # http2_route: {
2475
3489
  # action: { # required
@@ -2510,6 +3524,16 @@ module Aws::AppMesh
2510
3524
  # },
2511
3525
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2512
3526
  # },
3527
+ # timeout: {
3528
+ # idle: {
3529
+ # unit: "ms", # accepts ms, s
3530
+ # value: 1,
3531
+ # },
3532
+ # per_request: {
3533
+ # unit: "ms", # accepts ms, s
3534
+ # value: 1,
3535
+ # },
3536
+ # },
2513
3537
  # },
2514
3538
  # http_route: {
2515
3539
  # action: { # required
@@ -2550,6 +3574,16 @@ module Aws::AppMesh
2550
3574
  # },
2551
3575
  # tcp_retry_events: ["connection-error"], # accepts connection-error
2552
3576
  # },
3577
+ # timeout: {
3578
+ # idle: {
3579
+ # unit: "ms", # accepts ms, s
3580
+ # value: 1,
3581
+ # },
3582
+ # per_request: {
3583
+ # unit: "ms", # accepts ms, s
3584
+ # value: 1,
3585
+ # },
3586
+ # },
2553
3587
  # },
2554
3588
  # priority: 1,
2555
3589
  # tcp_route: {
@@ -2561,6 +3595,12 @@ module Aws::AppMesh
2561
3595
  # },
2562
3596
  # ],
2563
3597
  # },
3598
+ # timeout: {
3599
+ # idle: {
3600
+ # unit: "ms", # accepts ms, s
3601
+ # value: 1,
3602
+ # },
3603
+ # },
2564
3604
  # },
2565
3605
  # },
2566
3606
  # virtual_router_name: "ResourceName", # required
@@ -2600,6 +3640,10 @@ module Aws::AppMesh
2600
3640
  # resp.route.spec.grpc_route.retry_policy.per_retry_timeout.value #=> Integer
2601
3641
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events #=> Array
2602
3642
  # resp.route.spec.grpc_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
3643
+ # resp.route.spec.grpc_route.timeout.idle.unit #=> String, one of "ms", "s"
3644
+ # resp.route.spec.grpc_route.timeout.idle.value #=> Integer
3645
+ # resp.route.spec.grpc_route.timeout.per_request.unit #=> String, one of "ms", "s"
3646
+ # resp.route.spec.grpc_route.timeout.per_request.value #=> Integer
2603
3647
  # resp.route.spec.http2_route.action.weighted_targets #=> Array
2604
3648
  # resp.route.spec.http2_route.action.weighted_targets[0].virtual_node #=> String
2605
3649
  # resp.route.spec.http2_route.action.weighted_targets[0].weight #=> Integer
@@ -2622,6 +3666,10 @@ module Aws::AppMesh
2622
3666
  # resp.route.spec.http2_route.retry_policy.per_retry_timeout.value #=> Integer
2623
3667
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events #=> Array
2624
3668
  # resp.route.spec.http2_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
3669
+ # resp.route.spec.http2_route.timeout.idle.unit #=> String, one of "ms", "s"
3670
+ # resp.route.spec.http2_route.timeout.idle.value #=> Integer
3671
+ # resp.route.spec.http2_route.timeout.per_request.unit #=> String, one of "ms", "s"
3672
+ # resp.route.spec.http2_route.timeout.per_request.value #=> Integer
2625
3673
  # resp.route.spec.http_route.action.weighted_targets #=> Array
2626
3674
  # resp.route.spec.http_route.action.weighted_targets[0].virtual_node #=> String
2627
3675
  # resp.route.spec.http_route.action.weighted_targets[0].weight #=> Integer
@@ -2644,10 +3692,16 @@ module Aws::AppMesh
2644
3692
  # resp.route.spec.http_route.retry_policy.per_retry_timeout.value #=> Integer
2645
3693
  # resp.route.spec.http_route.retry_policy.tcp_retry_events #=> Array
2646
3694
  # resp.route.spec.http_route.retry_policy.tcp_retry_events[0] #=> String, one of "connection-error"
3695
+ # resp.route.spec.http_route.timeout.idle.unit #=> String, one of "ms", "s"
3696
+ # resp.route.spec.http_route.timeout.idle.value #=> Integer
3697
+ # resp.route.spec.http_route.timeout.per_request.unit #=> String, one of "ms", "s"
3698
+ # resp.route.spec.http_route.timeout.per_request.value #=> Integer
2647
3699
  # resp.route.spec.priority #=> Integer
2648
3700
  # resp.route.spec.tcp_route.action.weighted_targets #=> Array
2649
3701
  # resp.route.spec.tcp_route.action.weighted_targets[0].virtual_node #=> String
2650
3702
  # resp.route.spec.tcp_route.action.weighted_targets[0].weight #=> Integer
3703
+ # resp.route.spec.tcp_route.timeout.idle.unit #=> String, one of "ms", "s"
3704
+ # resp.route.spec.tcp_route.timeout.idle.value #=> Integer
2651
3705
  # resp.route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2652
3706
  # resp.route.virtual_router_name #=> String
2653
3707
  #
@@ -2660,6 +3714,148 @@ module Aws::AppMesh
2660
3714
  req.send_request(options)
2661
3715
  end
2662
3716
 
3717
+ # Updates an existing virtual gateway in a specified service mesh.
3718
+ #
3719
+ # @option params [String] :client_token
3720
+ # Unique, case-sensitive identifier that you provide to ensure the
3721
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3722
+ # underscores are allowed.
3723
+ #
3724
+ # **A suitable default value is auto-generated.** You should normally
3725
+ # not need to pass this option.**
3726
+ #
3727
+ # @option params [required, String] :mesh_name
3728
+ # The name of the service mesh that the virtual gateway resides in.
3729
+ #
3730
+ # @option params [String] :mesh_owner
3731
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3732
+ # not your own, then it's the ID of the account that shared the mesh
3733
+ # with your account. For more information about mesh sharing, see
3734
+ # [Working with shared meshes][1].
3735
+ #
3736
+ #
3737
+ #
3738
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3739
+ #
3740
+ # @option params [required, Types::VirtualGatewaySpec] :spec
3741
+ # The new virtual gateway specification to apply. This overwrites the
3742
+ # existing data.
3743
+ #
3744
+ # @option params [required, String] :virtual_gateway_name
3745
+ # The name of the virtual gateway to update.
3746
+ #
3747
+ # @return [Types::UpdateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3748
+ #
3749
+ # * {Types::UpdateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
3750
+ #
3751
+ # @example Request syntax with placeholder values
3752
+ #
3753
+ # resp = client.update_virtual_gateway({
3754
+ # client_token: "String",
3755
+ # mesh_name: "ResourceName", # required
3756
+ # mesh_owner: "AccountId",
3757
+ # spec: { # required
3758
+ # backend_defaults: {
3759
+ # client_policy: {
3760
+ # tls: {
3761
+ # enforce: false,
3762
+ # ports: [1],
3763
+ # validation: { # required
3764
+ # trust: { # required
3765
+ # acm: {
3766
+ # certificate_authority_arns: ["Arn"], # required
3767
+ # },
3768
+ # file: {
3769
+ # certificate_chain: "FilePath", # required
3770
+ # },
3771
+ # },
3772
+ # },
3773
+ # },
3774
+ # },
3775
+ # },
3776
+ # listeners: [ # required
3777
+ # {
3778
+ # health_check: {
3779
+ # healthy_threshold: 1, # required
3780
+ # interval_millis: 1, # required
3781
+ # path: "String",
3782
+ # port: 1,
3783
+ # protocol: "grpc", # required, accepts grpc, http, http2
3784
+ # timeout_millis: 1, # required
3785
+ # unhealthy_threshold: 1, # required
3786
+ # },
3787
+ # port_mapping: { # required
3788
+ # port: 1, # required
3789
+ # protocol: "grpc", # required, accepts grpc, http, http2
3790
+ # },
3791
+ # tls: {
3792
+ # certificate: { # required
3793
+ # acm: {
3794
+ # certificate_arn: "Arn", # required
3795
+ # },
3796
+ # file: {
3797
+ # certificate_chain: "FilePath", # required
3798
+ # private_key: "FilePath", # required
3799
+ # },
3800
+ # },
3801
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
3802
+ # },
3803
+ # },
3804
+ # ],
3805
+ # logging: {
3806
+ # access_log: {
3807
+ # file: {
3808
+ # path: "FilePath", # required
3809
+ # },
3810
+ # },
3811
+ # },
3812
+ # },
3813
+ # virtual_gateway_name: "ResourceName", # required
3814
+ # })
3815
+ #
3816
+ # @example Response structure
3817
+ #
3818
+ # resp.virtual_gateway.mesh_name #=> String
3819
+ # resp.virtual_gateway.metadata.arn #=> String
3820
+ # resp.virtual_gateway.metadata.created_at #=> Time
3821
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
3822
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
3823
+ # resp.virtual_gateway.metadata.resource_owner #=> String
3824
+ # resp.virtual_gateway.metadata.uid #=> String
3825
+ # resp.virtual_gateway.metadata.version #=> Integer
3826
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
3827
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
3828
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
3829
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
3830
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
3831
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
3832
+ # resp.virtual_gateway.spec.listeners #=> Array
3833
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
3834
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
3835
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
3836
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
3837
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
3838
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
3839
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
3840
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
3841
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
3842
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
3843
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
3844
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
3845
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
3846
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
3847
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3848
+ # resp.virtual_gateway.virtual_gateway_name #=> String
3849
+ #
3850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway AWS API Documentation
3851
+ #
3852
+ # @overload update_virtual_gateway(params = {})
3853
+ # @param [Hash] params ({})
3854
+ def update_virtual_gateway(params = {}, options = {})
3855
+ req = build_request(:update_virtual_gateway, params)
3856
+ req.send_request(options)
3857
+ end
3858
+
2663
3859
  # Updates an existing virtual node in a specified service mesh.
2664
3860
  #
2665
3861
  # @option params [String] :client_token
@@ -2677,7 +3873,7 @@ module Aws::AppMesh
2677
3873
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2678
3874
  # not your own, then it's the ID of the account that shared the mesh
2679
3875
  # with your account. For more information about mesh sharing, see
2680
- # [Working with Shared Meshes][1].
3876
+ # [Working with shared meshes][1].
2681
3877
  #
2682
3878
  #
2683
3879
  #
@@ -2757,6 +3953,44 @@ module Aws::AppMesh
2757
3953
  # port: 1, # required
2758
3954
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
2759
3955
  # },
3956
+ # timeout: {
3957
+ # grpc: {
3958
+ # idle: {
3959
+ # unit: "ms", # accepts ms, s
3960
+ # value: 1,
3961
+ # },
3962
+ # per_request: {
3963
+ # unit: "ms", # accepts ms, s
3964
+ # value: 1,
3965
+ # },
3966
+ # },
3967
+ # http: {
3968
+ # idle: {
3969
+ # unit: "ms", # accepts ms, s
3970
+ # value: 1,
3971
+ # },
3972
+ # per_request: {
3973
+ # unit: "ms", # accepts ms, s
3974
+ # value: 1,
3975
+ # },
3976
+ # },
3977
+ # http2: {
3978
+ # idle: {
3979
+ # unit: "ms", # accepts ms, s
3980
+ # value: 1,
3981
+ # },
3982
+ # per_request: {
3983
+ # unit: "ms", # accepts ms, s
3984
+ # value: 1,
3985
+ # },
3986
+ # },
3987
+ # tcp: {
3988
+ # idle: {
3989
+ # unit: "ms", # accepts ms, s
3990
+ # value: 1,
3991
+ # },
3992
+ # },
3993
+ # },
2760
3994
  # tls: {
2761
3995
  # certificate: { # required
2762
3996
  # acm: {
@@ -2831,6 +4065,20 @@ module Aws::AppMesh
2831
4065
  # resp.virtual_node.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2832
4066
  # resp.virtual_node.spec.listeners[0].port_mapping.port #=> Integer
2833
4067
  # resp.virtual_node.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2", "tcp"
4068
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.unit #=> String, one of "ms", "s"
4069
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.idle.value #=> Integer
4070
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.unit #=> String, one of "ms", "s"
4071
+ # resp.virtual_node.spec.listeners[0].timeout.grpc.per_request.value #=> Integer
4072
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.unit #=> String, one of "ms", "s"
4073
+ # resp.virtual_node.spec.listeners[0].timeout.http.idle.value #=> Integer
4074
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.unit #=> String, one of "ms", "s"
4075
+ # resp.virtual_node.spec.listeners[0].timeout.http.per_request.value #=> Integer
4076
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.unit #=> String, one of "ms", "s"
4077
+ # resp.virtual_node.spec.listeners[0].timeout.http2.idle.value #=> Integer
4078
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.unit #=> String, one of "ms", "s"
4079
+ # resp.virtual_node.spec.listeners[0].timeout.http2.per_request.value #=> Integer
4080
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.unit #=> String, one of "ms", "s"
4081
+ # resp.virtual_node.spec.listeners[0].timeout.tcp.idle.value #=> Integer
2834
4082
  # resp.virtual_node.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
2835
4083
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
2836
4084
  # resp.virtual_node.spec.listeners[0].tls.certificate.file.private_key #=> String
@@ -2871,7 +4119,7 @@ module Aws::AppMesh
2871
4119
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2872
4120
  # not your own, then it's the ID of the account that shared the mesh
2873
4121
  # with your account. For more information about mesh sharing, see
2874
- # [Working with Shared Meshes][1].
4122
+ # [Working with shared meshes][1].
2875
4123
  #
2876
4124
  #
2877
4125
  #
@@ -2949,7 +4197,7 @@ module Aws::AppMesh
2949
4197
  # The AWS IAM account ID of the service mesh owner. If the account ID is
2950
4198
  # not your own, then it's the ID of the account that shared the mesh
2951
4199
  # with your account. For more information about mesh sharing, see
2952
- # [Working with Shared Meshes][1].
4200
+ # [Working with shared meshes][1].
2953
4201
  #
2954
4202
  #
2955
4203
  #
@@ -3022,7 +4270,7 @@ module Aws::AppMesh
3022
4270
  params: params,
3023
4271
  config: config)
3024
4272
  context[:gem_name] = 'aws-sdk-appmesh'
3025
- context[:gem_version] = '1.23.0'
4273
+ context[:gem_version] = '1.28.0'
3026
4274
  Seahorse::Client::Request.new(handlers, context)
3027
4275
  end
3028
4276