aws-sdk-appmesh 1.27.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: c697bf2d1b5df9d6ea020b7e11e96355a3929057befec084f3bbd998780f92bc
4
- data.tar.gz: 3bd361104f2ff0bea7258f33672999eb4bfa61888a953f8daa8371cf03ea15f2
3
+ metadata.gz: 6635dee1c7aa14de4ed9815088245d560ae89c15bc303e4596d390468c11c13d
4
+ data.tar.gz: 6e03e3f92f8086cbec7de2bd994cd0b35f1d80110b1cde84bb45c96b49cce398
5
5
  SHA512:
6
- metadata.gz: ea02a293a267b49b08366813485abec60933c073fa11ccbdceca1f41c631460e182cf902dbddacb51b1b0de42b9dd1e6f0bd2c6d91b05012b749e28576219a90
7
- data.tar.gz: 33cbb8b8426c8195210a194621c3474210f5dd823390999b913f82eacd051778eb0df7bd779bdba25c0201881f0f0a3538061dfa1db71d6903bdb73b801b9fca
6
+ metadata.gz: bce15d4cecc8652f4f814d79c46e0a16250a33ce18f94fdb6aa25ad4b31c603009cec6cfeb6d1438741639df89570f621d117245acfa939ff66a16a577dfda30
7
+ data.tar.gz: 0ef73719e2cb9b81021b7c37d7702150e585eab2bc39d1fc3172626617eb8a68b39b100c8cc1f3d2a81b332729b72bcbd0334b6ecb49aeca7437a67583c01241
@@ -27,7 +27,7 @@ require_relative 'aws-sdk-appmesh/customizations'
27
27
  # structure.
28
28
  #
29
29
  # app_mesh = Aws::AppMesh::Client.new
30
- # resp = app_mesh.create_mesh(params)
30
+ # resp = app_mesh.create_gateway_route(params)
31
31
  #
32
32
  # See {Client} for more information.
33
33
  #
@@ -47,6 +47,6 @@ require_relative 'aws-sdk-appmesh/customizations'
47
47
  # @service
48
48
  module Aws::AppMesh
49
49
 
50
- GEM_VERSION = '1.27.0'
50
+ GEM_VERSION = '1.28.0'
51
51
 
52
52
  end
@@ -312,6 +312,145 @@ module Aws::AppMesh
312
312
 
313
313
  # @!group API Operations
314
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
+
315
454
  # Creates a service mesh.
316
455
  #
317
456
  # A service mesh is a logical boundary for network traffic between
@@ -739,6 +878,175 @@ module Aws::AppMesh
739
878
  req.send_request(options)
740
879
  end
741
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
+
742
1050
  # Creates a virtual node within a service mesh.
743
1051
  #
744
1052
  # A virtual node acts as a logical pointer to a particular task group,
@@ -1239,6 +1547,69 @@ module Aws::AppMesh
1239
1547
  req.send_request(options)
1240
1548
  end
1241
1549
 
1550
+ # Deletes an existing gateway route.
1551
+ #
1552
+ # @option params [required, String] :gateway_route_name
1553
+ # The name of the gateway route to delete.
1554
+ #
1555
+ # @option params [required, String] :mesh_name
1556
+ # The name of the service mesh to delete the gateway route from.
1557
+ #
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].
1563
+ #
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
1574
+ #
1575
+ # @example Request syntax with placeholder values
1576
+ #
1577
+ # resp = client.delete_gateway_route({
1578
+ # gateway_route_name: "ResourceName", # required
1579
+ # mesh_name: "ResourceName", # required
1580
+ # mesh_owner: "AccountId",
1581
+ # virtual_gateway_name: "ResourceName", # required
1582
+ # })
1583
+ #
1584
+ # @example Response structure
1585
+ #
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
+
1242
1613
  # Deletes an existing service mesh.
1243
1614
  #
1244
1615
  # You must delete all resources (virtual services, routes, virtual
@@ -1422,6 +1793,80 @@ module Aws::AppMesh
1422
1793
  req.send_request(options)
1423
1794
  end
1424
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
+
1425
1870
  # Deletes an existing virtual node.
1426
1871
  #
1427
1872
  # You must delete any virtual services that list a virtual node as a
@@ -1638,10 +2083,13 @@ module Aws::AppMesh
1638
2083
  req.send_request(options)
1639
2084
  end
1640
2085
 
1641
- # Describes an existing service mesh.
2086
+ # Describes an existing gateway route.
2087
+ #
2088
+ # @option params [required, String] :gateway_route_name
2089
+ # The name of the gateway route to describe.
1642
2090
  #
1643
2091
  # @option params [required, String] :mesh_name
1644
- # The name of the service mesh to describe.
2092
+ # The name of the service mesh that the gateway route resides in.
1645
2093
  #
1646
2094
  # @option params [String] :mesh_owner
1647
2095
  # The AWS IAM account ID of the service mesh owner. If the account ID is
@@ -1653,7 +2101,68 @@ module Aws::AppMesh
1653
2101
  #
1654
2102
  # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1655
2103
  #
1656
- # @return [Types::DescribeMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
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
+
2150
+ # Describes an existing service mesh.
2151
+ #
2152
+ # @option params [required, String] :mesh_name
2153
+ # The name of the service mesh to describe.
2154
+ #
2155
+ # @option params [String] :mesh_owner
2156
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2157
+ # not your own, then it's the ID of the account that shared the mesh
2158
+ # with your account. For more information about mesh sharing, see
2159
+ # [Working with shared meshes][1].
2160
+ #
2161
+ #
2162
+ #
2163
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2164
+ #
2165
+ # @return [Types::DescribeMeshOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1657
2166
  #
1658
2167
  # * {Types::DescribeMeshOutput#mesh #mesh} => Types::MeshData
1659
2168
  #
@@ -1828,6 +2337,79 @@ module Aws::AppMesh
1828
2337
  req.send_request(options)
1829
2338
  end
1830
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
+
1831
2413
  # Describes an existing virtual node.
1832
2414
  #
1833
2415
  # @option params [required, String] :mesh_name
@@ -2038,6 +2620,81 @@ module Aws::AppMesh
2038
2620
  req.send_request(options)
2039
2621
  end
2040
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
+
2041
2698
  # Returns a list of existing service meshes.
2042
2699
  #
2043
2700
  # @option params [Integer] :limit
@@ -2224,6 +2881,75 @@ module Aws::AppMesh
2224
2881
  req.send_request(options)
2225
2882
  end
2226
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
+
2227
2953
  # Returns a list of existing virtual nodes.
2228
2954
  #
2229
2955
  # @option params [Integer] :limit
@@ -2493,6 +3219,122 @@ module Aws::AppMesh
2493
3219
  req.send_request(options)
2494
3220
  end
2495
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
+
2496
3338
  # Updates an existing service mesh.
2497
3339
  #
2498
3340
  # @option params [String] :client_token
@@ -2872,6 +3714,148 @@ module Aws::AppMesh
2872
3714
  req.send_request(options)
2873
3715
  end
2874
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
+
2875
3859
  # Updates an existing virtual node in a specified service mesh.
2876
3860
  #
2877
3861
  # @option params [String] :client_token
@@ -3286,7 +4270,7 @@ module Aws::AppMesh
3286
4270
  params: params,
3287
4271
  config: config)
3288
4272
  context[:gem_name] = 'aws-sdk-appmesh'
3289
- context[:gem_version] = '1.27.0'
4273
+ context[:gem_version] = '1.28.0'
3290
4274
  Seahorse::Client::Request.new(handlers, context)
3291
4275
  end
3292
4276