aws-sdk-appmesh 1.27.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c697bf2d1b5df9d6ea020b7e11e96355a3929057befec084f3bbd998780f92bc
4
- data.tar.gz: 3bd361104f2ff0bea7258f33672999eb4bfa61888a953f8daa8371cf03ea15f2
3
+ metadata.gz: 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