aws-sdk-appmesh 1.26.0 → 1.31.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: d577be94870bf48c4d00f6d70e3f277122f14cee4ac95e6d52c059a81f801979
4
- data.tar.gz: 83f47e035832dad05d2ff0b363549dddfa08f0b3281587dc400fcb946c9a438e
3
+ metadata.gz: d247b7a17307cd14d92aec4614a31f67dc2b53effdad895d8dec9b9083ffa3aa
4
+ data.tar.gz: 10a9730af8dbfb14ebd8f224094d3bdcc68d6d47bf4f39216f7d8b48ea4559f3
5
5
  SHA512:
6
- metadata.gz: 6cf2980c797233498e42f9c48d6553a61d8c59fe9759d4cf390604c589d8887177cb68d40bf03bf44753cc72f08b4c717b7aed67f3c318e7d4310d7b2d6aa78e
7
- data.tar.gz: c3c127b911d41df6df44f22809cf845d7bcc2ac24a0f95dc6ec9a48b26ce1ce768ebda91fe649393b23e7b3aca0d987b35f1a5efca901e1a5bd5a6963f6050d0
6
+ metadata.gz: aaaa031f54a9aae38ab0947bc496884e63aeb5fad77c531e26f8de8605bede88d967084c3615d837f53597be451f5e7f1b36ac8634bac8a2d72293ea30e8884e
7
+ data.tar.gz: 9f7cdc529d46714a1c509105f489785c18f060680bb07b34ad2b71df9778bcc4701d5f104ec1a51f7b4de1253dbc79b36f051389083fae1616d35496b81d4c2f
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -27,7 +28,7 @@ require_relative 'aws-sdk-appmesh/customizations'
27
28
  # structure.
28
29
  #
29
30
  # app_mesh = Aws::AppMesh::Client.new
30
- # resp = app_mesh.create_mesh(params)
31
+ # resp = app_mesh.create_gateway_route(params)
31
32
  #
32
33
  # See {Client} for more information.
33
34
  #
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-appmesh/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::AppMesh
49
50
 
50
- GEM_VERSION = '1.26.0'
51
+ GEM_VERSION = '1.31.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::AppMesh
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::AppMesh
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -312,6 +327,145 @@ module Aws::AppMesh
312
327
 
313
328
  # @!group API Operations
314
329
 
330
+ # Creates a gateway route.
331
+ #
332
+ # A gateway route is attached to a virtual gateway and routes traffic to
333
+ # an existing virtual service. If a route matches a request, it can
334
+ # distribute traffic to a target virtual service.
335
+ #
336
+ # For more information about gateway routes, see [Gateway routes][1].
337
+ #
338
+ #
339
+ #
340
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html
341
+ #
342
+ # @option params [String] :client_token
343
+ # Unique, case-sensitive identifier that you provide to ensure the
344
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
345
+ # underscores are allowed.
346
+ #
347
+ # **A suitable default value is auto-generated.** You should normally
348
+ # not need to pass this option.**
349
+ #
350
+ # @option params [required, String] :gateway_route_name
351
+ # The name to use for the gateway route.
352
+ #
353
+ # @option params [required, String] :mesh_name
354
+ # The name of the service mesh to create the gateway route in.
355
+ #
356
+ # @option params [String] :mesh_owner
357
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
358
+ # not your own, then the account that you specify must share the mesh
359
+ # with your account before you can create the resource in the service
360
+ # mesh. For more information about mesh sharing, see [Working with
361
+ # shared meshes][1].
362
+ #
363
+ #
364
+ #
365
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
366
+ #
367
+ # @option params [required, Types::GatewayRouteSpec] :spec
368
+ # The gateway route specification to apply.
369
+ #
370
+ # @option params [Array<Types::TagRef>] :tags
371
+ # Optional metadata that you can apply to the gateway route to assist
372
+ # with categorization and organization. Each tag consists of a key and
373
+ # an optional value, both of which you define. Tag keys can have a
374
+ # maximum character length of 128 characters, and tag values can have a
375
+ # maximum length of 256 characters.
376
+ #
377
+ # @option params [required, String] :virtual_gateway_name
378
+ # The name of the virtual gateway to associate the gateway route with.
379
+ # If the virtual gateway is in a shared mesh, then you must be the owner
380
+ # of the virtual gateway resource.
381
+ #
382
+ # @return [Types::CreateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
383
+ #
384
+ # * {Types::CreateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
385
+ #
386
+ # @example Request syntax with placeholder values
387
+ #
388
+ # resp = client.create_gateway_route({
389
+ # client_token: "String",
390
+ # gateway_route_name: "ResourceName", # required
391
+ # mesh_name: "ResourceName", # required
392
+ # mesh_owner: "AccountId",
393
+ # spec: { # required
394
+ # grpc_route: {
395
+ # action: { # required
396
+ # target: { # required
397
+ # virtual_service: { # required
398
+ # virtual_service_name: "ResourceName", # required
399
+ # },
400
+ # },
401
+ # },
402
+ # match: { # required
403
+ # service_name: "ServiceName",
404
+ # },
405
+ # },
406
+ # http2_route: {
407
+ # action: { # required
408
+ # target: { # required
409
+ # virtual_service: { # required
410
+ # virtual_service_name: "ResourceName", # required
411
+ # },
412
+ # },
413
+ # },
414
+ # match: { # required
415
+ # prefix: "String", # required
416
+ # },
417
+ # },
418
+ # http_route: {
419
+ # action: { # required
420
+ # target: { # required
421
+ # virtual_service: { # required
422
+ # virtual_service_name: "ResourceName", # required
423
+ # },
424
+ # },
425
+ # },
426
+ # match: { # required
427
+ # prefix: "String", # required
428
+ # },
429
+ # },
430
+ # },
431
+ # tags: [
432
+ # {
433
+ # key: "TagKey", # required
434
+ # value: "TagValue",
435
+ # },
436
+ # ],
437
+ # virtual_gateway_name: "ResourceName", # required
438
+ # })
439
+ #
440
+ # @example Response structure
441
+ #
442
+ # resp.gateway_route.gateway_route_name #=> String
443
+ # resp.gateway_route.mesh_name #=> String
444
+ # resp.gateway_route.metadata.arn #=> String
445
+ # resp.gateway_route.metadata.created_at #=> Time
446
+ # resp.gateway_route.metadata.last_updated_at #=> Time
447
+ # resp.gateway_route.metadata.mesh_owner #=> String
448
+ # resp.gateway_route.metadata.resource_owner #=> String
449
+ # resp.gateway_route.metadata.uid #=> String
450
+ # resp.gateway_route.metadata.version #=> Integer
451
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
452
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
453
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
454
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
455
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
456
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
457
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
458
+ # resp.gateway_route.virtual_gateway_name #=> String
459
+ #
460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute AWS API Documentation
461
+ #
462
+ # @overload create_gateway_route(params = {})
463
+ # @param [Hash] params ({})
464
+ def create_gateway_route(params = {}, options = {})
465
+ req = build_request(:create_gateway_route, params)
466
+ req.send_request(options)
467
+ end
468
+
315
469
  # Creates a service mesh.
316
470
  #
317
471
  # A service mesh is a logical boundary for network traffic between
@@ -739,6 +893,175 @@ module Aws::AppMesh
739
893
  req.send_request(options)
740
894
  end
741
895
 
896
+ # Creates a virtual gateway.
897
+ #
898
+ # A virtual gateway allows resources outside your mesh to communicate to
899
+ # resources that are inside your mesh. The virtual gateway represents an
900
+ # Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or
901
+ # on an Amazon EC2 instance. Unlike a virtual node, which represents an
902
+ # Envoy running with an application, a virtual gateway represents Envoy
903
+ # deployed by itself.
904
+ #
905
+ # For more information about virtual gateways, see [Virtual
906
+ # gateways][1].
907
+ #
908
+ #
909
+ #
910
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html
911
+ #
912
+ # @option params [String] :client_token
913
+ # Unique, case-sensitive identifier that you provide to ensure the
914
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
915
+ # underscores are allowed.
916
+ #
917
+ # **A suitable default value is auto-generated.** You should normally
918
+ # not need to pass this option.**
919
+ #
920
+ # @option params [required, String] :mesh_name
921
+ # The name of the service mesh to create the virtual gateway in.
922
+ #
923
+ # @option params [String] :mesh_owner
924
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
925
+ # not your own, then the account that you specify must share the mesh
926
+ # with your account before you can create the resource in the service
927
+ # mesh. For more information about mesh sharing, see [Working with
928
+ # shared meshes][1].
929
+ #
930
+ #
931
+ #
932
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
933
+ #
934
+ # @option params [required, Types::VirtualGatewaySpec] :spec
935
+ # The virtual gateway specification to apply.
936
+ #
937
+ # @option params [Array<Types::TagRef>] :tags
938
+ # Optional metadata that you can apply to the virtual gateway to assist
939
+ # with categorization and organization. Each tag consists of a key and
940
+ # an optional value, both of which you define. Tag keys can have a
941
+ # maximum character length of 128 characters, and tag values can have a
942
+ # maximum length of 256 characters.
943
+ #
944
+ # @option params [required, String] :virtual_gateway_name
945
+ # The name to use for the virtual gateway.
946
+ #
947
+ # @return [Types::CreateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
948
+ #
949
+ # * {Types::CreateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
950
+ #
951
+ # @example Request syntax with placeholder values
952
+ #
953
+ # resp = client.create_virtual_gateway({
954
+ # client_token: "String",
955
+ # mesh_name: "ResourceName", # required
956
+ # mesh_owner: "AccountId",
957
+ # spec: { # required
958
+ # backend_defaults: {
959
+ # client_policy: {
960
+ # tls: {
961
+ # enforce: false,
962
+ # ports: [1],
963
+ # validation: { # required
964
+ # trust: { # required
965
+ # acm: {
966
+ # certificate_authority_arns: ["Arn"], # required
967
+ # },
968
+ # file: {
969
+ # certificate_chain: "FilePath", # required
970
+ # },
971
+ # },
972
+ # },
973
+ # },
974
+ # },
975
+ # },
976
+ # listeners: [ # required
977
+ # {
978
+ # health_check: {
979
+ # healthy_threshold: 1, # required
980
+ # interval_millis: 1, # required
981
+ # path: "String",
982
+ # port: 1,
983
+ # protocol: "grpc", # required, accepts grpc, http, http2
984
+ # timeout_millis: 1, # required
985
+ # unhealthy_threshold: 1, # required
986
+ # },
987
+ # port_mapping: { # required
988
+ # port: 1, # required
989
+ # protocol: "grpc", # required, accepts grpc, http, http2
990
+ # },
991
+ # tls: {
992
+ # certificate: { # required
993
+ # acm: {
994
+ # certificate_arn: "Arn", # required
995
+ # },
996
+ # file: {
997
+ # certificate_chain: "FilePath", # required
998
+ # private_key: "FilePath", # required
999
+ # },
1000
+ # },
1001
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
1002
+ # },
1003
+ # },
1004
+ # ],
1005
+ # logging: {
1006
+ # access_log: {
1007
+ # file: {
1008
+ # path: "FilePath", # required
1009
+ # },
1010
+ # },
1011
+ # },
1012
+ # },
1013
+ # tags: [
1014
+ # {
1015
+ # key: "TagKey", # required
1016
+ # value: "TagValue",
1017
+ # },
1018
+ # ],
1019
+ # virtual_gateway_name: "ResourceName", # required
1020
+ # })
1021
+ #
1022
+ # @example Response structure
1023
+ #
1024
+ # resp.virtual_gateway.mesh_name #=> String
1025
+ # resp.virtual_gateway.metadata.arn #=> String
1026
+ # resp.virtual_gateway.metadata.created_at #=> Time
1027
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1028
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1029
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1030
+ # resp.virtual_gateway.metadata.uid #=> String
1031
+ # resp.virtual_gateway.metadata.version #=> Integer
1032
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1033
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1034
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1035
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1036
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1037
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1038
+ # resp.virtual_gateway.spec.listeners #=> Array
1039
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1040
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1041
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1042
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1043
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
1044
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1045
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1046
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1047
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
1048
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1049
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1050
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1051
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1052
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1053
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1054
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1055
+ #
1056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway AWS API Documentation
1057
+ #
1058
+ # @overload create_virtual_gateway(params = {})
1059
+ # @param [Hash] params ({})
1060
+ def create_virtual_gateway(params = {}, options = {})
1061
+ req = build_request(:create_virtual_gateway, params)
1062
+ req.send_request(options)
1063
+ end
1064
+
742
1065
  # Creates a virtual node within a service mesh.
743
1066
  #
744
1067
  # A virtual node acts as a logical pointer to a particular task group,
@@ -1239,6 +1562,69 @@ module Aws::AppMesh
1239
1562
  req.send_request(options)
1240
1563
  end
1241
1564
 
1565
+ # Deletes an existing gateway route.
1566
+ #
1567
+ # @option params [required, String] :gateway_route_name
1568
+ # The name of the gateway route to delete.
1569
+ #
1570
+ # @option params [required, String] :mesh_name
1571
+ # The name of the service mesh to delete the gateway route from.
1572
+ #
1573
+ # @option params [String] :mesh_owner
1574
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1575
+ # not your own, then it's the ID of the account that shared the mesh
1576
+ # with your account. For more information about mesh sharing, see
1577
+ # [Working with shared meshes][1].
1578
+ #
1579
+ #
1580
+ #
1581
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1582
+ #
1583
+ # @option params [required, String] :virtual_gateway_name
1584
+ # The name of the virtual gateway to delete the route from.
1585
+ #
1586
+ # @return [Types::DeleteGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1587
+ #
1588
+ # * {Types::DeleteGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
1589
+ #
1590
+ # @example Request syntax with placeholder values
1591
+ #
1592
+ # resp = client.delete_gateway_route({
1593
+ # gateway_route_name: "ResourceName", # required
1594
+ # mesh_name: "ResourceName", # required
1595
+ # mesh_owner: "AccountId",
1596
+ # virtual_gateway_name: "ResourceName", # required
1597
+ # })
1598
+ #
1599
+ # @example Response structure
1600
+ #
1601
+ # resp.gateway_route.gateway_route_name #=> String
1602
+ # resp.gateway_route.mesh_name #=> String
1603
+ # resp.gateway_route.metadata.arn #=> String
1604
+ # resp.gateway_route.metadata.created_at #=> Time
1605
+ # resp.gateway_route.metadata.last_updated_at #=> Time
1606
+ # resp.gateway_route.metadata.mesh_owner #=> String
1607
+ # resp.gateway_route.metadata.resource_owner #=> String
1608
+ # resp.gateway_route.metadata.uid #=> String
1609
+ # resp.gateway_route.metadata.version #=> Integer
1610
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
1611
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
1612
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
1613
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
1614
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
1615
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
1616
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1617
+ # resp.gateway_route.virtual_gateway_name #=> String
1618
+ #
1619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute AWS API Documentation
1620
+ #
1621
+ # @overload delete_gateway_route(params = {})
1622
+ # @param [Hash] params ({})
1623
+ def delete_gateway_route(params = {}, options = {})
1624
+ req = build_request(:delete_gateway_route, params)
1625
+ req.send_request(options)
1626
+ end
1627
+
1242
1628
  # Deletes an existing service mesh.
1243
1629
  #
1244
1630
  # You must delete all resources (virtual services, routes, virtual
@@ -1422,13 +1808,11 @@ module Aws::AppMesh
1422
1808
  req.send_request(options)
1423
1809
  end
1424
1810
 
1425
- # Deletes an existing virtual node.
1426
- #
1427
- # You must delete any virtual services that list a virtual node as a
1428
- # service provider before you can delete the virtual node itself.
1811
+ # Deletes an existing virtual gateway. You cannot delete a virtual
1812
+ # gateway if any gateway routes are associated to it.
1429
1813
  #
1430
1814
  # @option params [required, String] :mesh_name
1431
- # The name of the service mesh to delete the virtual node in.
1815
+ # The name of the service mesh to delete the virtual gateway from.
1432
1816
  #
1433
1817
  # @option params [String] :mesh_owner
1434
1818
  # The AWS IAM account ID of the service mesh owner. If the account ID is
@@ -1440,35 +1824,111 @@ module Aws::AppMesh
1440
1824
  #
1441
1825
  # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1442
1826
  #
1443
- # @option params [required, String] :virtual_node_name
1444
- # The name of the virtual node to delete.
1827
+ # @option params [required, String] :virtual_gateway_name
1828
+ # The name of the virtual gateway to delete.
1445
1829
  #
1446
- # @return [Types::DeleteVirtualNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1830
+ # @return [Types::DeleteVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1447
1831
  #
1448
- # * {Types::DeleteVirtualNodeOutput#virtual_node #virtual_node} => Types::VirtualNodeData
1832
+ # * {Types::DeleteVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
1449
1833
  #
1450
1834
  # @example Request syntax with placeholder values
1451
1835
  #
1452
- # resp = client.delete_virtual_node({
1836
+ # resp = client.delete_virtual_gateway({
1453
1837
  # mesh_name: "ResourceName", # required
1454
1838
  # mesh_owner: "AccountId",
1455
- # virtual_node_name: "ResourceName", # required
1839
+ # virtual_gateway_name: "ResourceName", # required
1456
1840
  # })
1457
1841
  #
1458
1842
  # @example Response structure
1459
1843
  #
1460
- # resp.virtual_node.mesh_name #=> String
1461
- # resp.virtual_node.metadata.arn #=> String
1462
- # resp.virtual_node.metadata.created_at #=> Time
1463
- # resp.virtual_node.metadata.last_updated_at #=> Time
1464
- # resp.virtual_node.metadata.mesh_owner #=> String
1465
- # resp.virtual_node.metadata.resource_owner #=> String
1466
- # resp.virtual_node.metadata.uid #=> String
1467
- # resp.virtual_node.metadata.version #=> Integer
1468
- # resp.virtual_node.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1469
- # resp.virtual_node.spec.backend_defaults.client_policy.tls.ports #=> Array
1470
- # resp.virtual_node.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1471
- # resp.virtual_node.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1844
+ # resp.virtual_gateway.mesh_name #=> String
1845
+ # resp.virtual_gateway.metadata.arn #=> String
1846
+ # resp.virtual_gateway.metadata.created_at #=> Time
1847
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
1848
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
1849
+ # resp.virtual_gateway.metadata.resource_owner #=> String
1850
+ # resp.virtual_gateway.metadata.uid #=> String
1851
+ # resp.virtual_gateway.metadata.version #=> Integer
1852
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1853
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
1854
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1855
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1856
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1857
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1858
+ # resp.virtual_gateway.spec.listeners #=> Array
1859
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
1860
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
1861
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
1862
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
1863
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
1864
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
1865
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
1866
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
1867
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
1868
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
1869
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
1870
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
1871
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
1872
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
1873
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
1874
+ # resp.virtual_gateway.virtual_gateway_name #=> String
1875
+ #
1876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway AWS API Documentation
1877
+ #
1878
+ # @overload delete_virtual_gateway(params = {})
1879
+ # @param [Hash] params ({})
1880
+ def delete_virtual_gateway(params = {}, options = {})
1881
+ req = build_request(:delete_virtual_gateway, params)
1882
+ req.send_request(options)
1883
+ end
1884
+
1885
+ # Deletes an existing virtual node.
1886
+ #
1887
+ # You must delete any virtual services that list a virtual node as a
1888
+ # service provider before you can delete the virtual node itself.
1889
+ #
1890
+ # @option params [required, String] :mesh_name
1891
+ # The name of the service mesh to delete the virtual node in.
1892
+ #
1893
+ # @option params [String] :mesh_owner
1894
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
1895
+ # not your own, then it's the ID of the account that shared the mesh
1896
+ # with your account. For more information about mesh sharing, see
1897
+ # [Working with shared meshes][1].
1898
+ #
1899
+ #
1900
+ #
1901
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1902
+ #
1903
+ # @option params [required, String] :virtual_node_name
1904
+ # The name of the virtual node to delete.
1905
+ #
1906
+ # @return [Types::DeleteVirtualNodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1907
+ #
1908
+ # * {Types::DeleteVirtualNodeOutput#virtual_node #virtual_node} => Types::VirtualNodeData
1909
+ #
1910
+ # @example Request syntax with placeholder values
1911
+ #
1912
+ # resp = client.delete_virtual_node({
1913
+ # mesh_name: "ResourceName", # required
1914
+ # mesh_owner: "AccountId",
1915
+ # virtual_node_name: "ResourceName", # required
1916
+ # })
1917
+ #
1918
+ # @example Response structure
1919
+ #
1920
+ # resp.virtual_node.mesh_name #=> String
1921
+ # resp.virtual_node.metadata.arn #=> String
1922
+ # resp.virtual_node.metadata.created_at #=> Time
1923
+ # resp.virtual_node.metadata.last_updated_at #=> Time
1924
+ # resp.virtual_node.metadata.mesh_owner #=> String
1925
+ # resp.virtual_node.metadata.resource_owner #=> String
1926
+ # resp.virtual_node.metadata.uid #=> String
1927
+ # resp.virtual_node.metadata.version #=> Integer
1928
+ # resp.virtual_node.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
1929
+ # resp.virtual_node.spec.backend_defaults.client_policy.tls.ports #=> Array
1930
+ # resp.virtual_node.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
1931
+ # resp.virtual_node.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
1472
1932
  # resp.virtual_node.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
1473
1933
  # resp.virtual_node.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
1474
1934
  # resp.virtual_node.spec.backends #=> Array
@@ -1638,6 +2098,70 @@ module Aws::AppMesh
1638
2098
  req.send_request(options)
1639
2099
  end
1640
2100
 
2101
+ # Describes an existing gateway route.
2102
+ #
2103
+ # @option params [required, String] :gateway_route_name
2104
+ # The name of the gateway route to describe.
2105
+ #
2106
+ # @option params [required, String] :mesh_name
2107
+ # The name of the service mesh that the gateway route resides in.
2108
+ #
2109
+ # @option params [String] :mesh_owner
2110
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2111
+ # not your own, then it's the ID of the account that shared the mesh
2112
+ # with your account. For more information about mesh sharing, see
2113
+ # [Working with shared meshes][1].
2114
+ #
2115
+ #
2116
+ #
2117
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2118
+ #
2119
+ # @option params [required, String] :virtual_gateway_name
2120
+ # The name of the virtual gateway that the gateway route is associated
2121
+ # with.
2122
+ #
2123
+ # @return [Types::DescribeGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2124
+ #
2125
+ # * {Types::DescribeGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
2126
+ #
2127
+ # @example Request syntax with placeholder values
2128
+ #
2129
+ # resp = client.describe_gateway_route({
2130
+ # gateway_route_name: "ResourceName", # required
2131
+ # mesh_name: "ResourceName", # required
2132
+ # mesh_owner: "AccountId",
2133
+ # virtual_gateway_name: "ResourceName", # required
2134
+ # })
2135
+ #
2136
+ # @example Response structure
2137
+ #
2138
+ # resp.gateway_route.gateway_route_name #=> String
2139
+ # resp.gateway_route.mesh_name #=> String
2140
+ # resp.gateway_route.metadata.arn #=> String
2141
+ # resp.gateway_route.metadata.created_at #=> Time
2142
+ # resp.gateway_route.metadata.last_updated_at #=> Time
2143
+ # resp.gateway_route.metadata.mesh_owner #=> String
2144
+ # resp.gateway_route.metadata.resource_owner #=> String
2145
+ # resp.gateway_route.metadata.uid #=> String
2146
+ # resp.gateway_route.metadata.version #=> Integer
2147
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
2148
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
2149
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
2150
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
2151
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
2152
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
2153
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2154
+ # resp.gateway_route.virtual_gateway_name #=> String
2155
+ #
2156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute AWS API Documentation
2157
+ #
2158
+ # @overload describe_gateway_route(params = {})
2159
+ # @param [Hash] params ({})
2160
+ def describe_gateway_route(params = {}, options = {})
2161
+ req = build_request(:describe_gateway_route, params)
2162
+ req.send_request(options)
2163
+ end
2164
+
1641
2165
  # Describes an existing service mesh.
1642
2166
  #
1643
2167
  # @option params [required, String] :mesh_name
@@ -1828,6 +2352,79 @@ module Aws::AppMesh
1828
2352
  req.send_request(options)
1829
2353
  end
1830
2354
 
2355
+ # Describes an existing virtual gateway.
2356
+ #
2357
+ # @option params [required, String] :mesh_name
2358
+ # The name of the service mesh that the gateway route resides in.
2359
+ #
2360
+ # @option params [String] :mesh_owner
2361
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2362
+ # not your own, then it's the ID of the account that shared the mesh
2363
+ # with your account. For more information about mesh sharing, see
2364
+ # [Working with shared meshes][1].
2365
+ #
2366
+ #
2367
+ #
2368
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2369
+ #
2370
+ # @option params [required, String] :virtual_gateway_name
2371
+ # The name of the virtual gateway to describe.
2372
+ #
2373
+ # @return [Types::DescribeVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2374
+ #
2375
+ # * {Types::DescribeVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
2376
+ #
2377
+ # @example Request syntax with placeholder values
2378
+ #
2379
+ # resp = client.describe_virtual_gateway({
2380
+ # mesh_name: "ResourceName", # required
2381
+ # mesh_owner: "AccountId",
2382
+ # virtual_gateway_name: "ResourceName", # required
2383
+ # })
2384
+ #
2385
+ # @example Response structure
2386
+ #
2387
+ # resp.virtual_gateway.mesh_name #=> String
2388
+ # resp.virtual_gateway.metadata.arn #=> String
2389
+ # resp.virtual_gateway.metadata.created_at #=> Time
2390
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
2391
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
2392
+ # resp.virtual_gateway.metadata.resource_owner #=> String
2393
+ # resp.virtual_gateway.metadata.uid #=> String
2394
+ # resp.virtual_gateway.metadata.version #=> Integer
2395
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
2396
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
2397
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
2398
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
2399
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
2400
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
2401
+ # resp.virtual_gateway.spec.listeners #=> Array
2402
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
2403
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
2404
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
2405
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
2406
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
2407
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
2408
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
2409
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
2410
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
2411
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
2412
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
2413
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
2414
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
2415
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
2416
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
2417
+ # resp.virtual_gateway.virtual_gateway_name #=> String
2418
+ #
2419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway AWS API Documentation
2420
+ #
2421
+ # @overload describe_virtual_gateway(params = {})
2422
+ # @param [Hash] params ({})
2423
+ def describe_virtual_gateway(params = {}, options = {})
2424
+ req = build_request(:describe_virtual_gateway, params)
2425
+ req.send_request(options)
2426
+ end
2427
+
1831
2428
  # Describes an existing virtual node.
1832
2429
  #
1833
2430
  # @option params [required, String] :mesh_name
@@ -2038,6 +2635,81 @@ module Aws::AppMesh
2038
2635
  req.send_request(options)
2039
2636
  end
2040
2637
 
2638
+ # Returns a list of existing gateway routes that are associated to a
2639
+ # virtual gateway.
2640
+ #
2641
+ # @option params [Integer] :limit
2642
+ # The maximum number of results returned by `ListGatewayRoutes` in
2643
+ # paginated output. When you use this parameter, `ListGatewayRoutes`
2644
+ # returns only `limit` results in a single page along with a `nextToken`
2645
+ # response element. You can see the remaining results of the initial
2646
+ # request by sending another `ListGatewayRoutes` request with the
2647
+ # returned `nextToken` value. This value can be between 1 and 100. If
2648
+ # you don't use this parameter, `ListGatewayRoutes` returns up to 100
2649
+ # results and a `nextToken` value if applicable.
2650
+ #
2651
+ # @option params [required, String] :mesh_name
2652
+ # The name of the service mesh to list gateway routes in.
2653
+ #
2654
+ # @option params [String] :mesh_owner
2655
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2656
+ # not your own, then it's the ID of the account that shared the mesh
2657
+ # with your account. For more information about mesh sharing, see
2658
+ # [Working with shared meshes][1].
2659
+ #
2660
+ #
2661
+ #
2662
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2663
+ #
2664
+ # @option params [String] :next_token
2665
+ # The `nextToken` value returned from a previous paginated
2666
+ # `ListGatewayRoutes` request where `limit` was used and the results
2667
+ # exceeded the value of that parameter. Pagination continues from the
2668
+ # end of the previous results that returned the `nextToken` value.
2669
+ #
2670
+ # @option params [required, String] :virtual_gateway_name
2671
+ # The name of the virtual gateway to list gateway routes in.
2672
+ #
2673
+ # @return [Types::ListGatewayRoutesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2674
+ #
2675
+ # * {Types::ListGatewayRoutesOutput#gateway_routes #gateway_routes} => Array&lt;Types::GatewayRouteRef&gt;
2676
+ # * {Types::ListGatewayRoutesOutput#next_token #next_token} => String
2677
+ #
2678
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2679
+ #
2680
+ # @example Request syntax with placeholder values
2681
+ #
2682
+ # resp = client.list_gateway_routes({
2683
+ # limit: 1,
2684
+ # mesh_name: "ResourceName", # required
2685
+ # mesh_owner: "AccountId",
2686
+ # next_token: "String",
2687
+ # virtual_gateway_name: "ResourceName", # required
2688
+ # })
2689
+ #
2690
+ # @example Response structure
2691
+ #
2692
+ # resp.gateway_routes #=> Array
2693
+ # resp.gateway_routes[0].arn #=> String
2694
+ # resp.gateway_routes[0].created_at #=> Time
2695
+ # resp.gateway_routes[0].gateway_route_name #=> String
2696
+ # resp.gateway_routes[0].last_updated_at #=> Time
2697
+ # resp.gateway_routes[0].mesh_name #=> String
2698
+ # resp.gateway_routes[0].mesh_owner #=> String
2699
+ # resp.gateway_routes[0].resource_owner #=> String
2700
+ # resp.gateway_routes[0].version #=> Integer
2701
+ # resp.gateway_routes[0].virtual_gateway_name #=> String
2702
+ # resp.next_token #=> String
2703
+ #
2704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes AWS API Documentation
2705
+ #
2706
+ # @overload list_gateway_routes(params = {})
2707
+ # @param [Hash] params ({})
2708
+ def list_gateway_routes(params = {}, options = {})
2709
+ req = build_request(:list_gateway_routes, params)
2710
+ req.send_request(options)
2711
+ end
2712
+
2041
2713
  # Returns a list of existing service meshes.
2042
2714
  #
2043
2715
  # @option params [Integer] :limit
@@ -2224,6 +2896,75 @@ module Aws::AppMesh
2224
2896
  req.send_request(options)
2225
2897
  end
2226
2898
 
2899
+ # Returns a list of existing virtual gateways in a service mesh.
2900
+ #
2901
+ # @option params [Integer] :limit
2902
+ # The maximum number of results returned by `ListVirtualGateways` in
2903
+ # paginated output. When you use this parameter, `ListVirtualGateways`
2904
+ # returns only `limit` results in a single page along with a `nextToken`
2905
+ # response element. You can see the remaining results of the initial
2906
+ # request by sending another `ListVirtualGateways` request with the
2907
+ # returned `nextToken` value. This value can be between 1 and 100. If
2908
+ # you don't use this parameter, `ListVirtualGateways` returns up to 100
2909
+ # results and a `nextToken` value if applicable.
2910
+ #
2911
+ # @option params [required, String] :mesh_name
2912
+ # The name of the service mesh to list virtual gateways in.
2913
+ #
2914
+ # @option params [String] :mesh_owner
2915
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
2916
+ # not your own, then it's the ID of the account that shared the mesh
2917
+ # with your account. For more information about mesh sharing, see
2918
+ # [Working with shared meshes][1].
2919
+ #
2920
+ #
2921
+ #
2922
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2923
+ #
2924
+ # @option params [String] :next_token
2925
+ # The `nextToken` value returned from a previous paginated
2926
+ # `ListVirtualGateways` request where `limit` was used and the results
2927
+ # exceeded the value of that parameter. Pagination continues from the
2928
+ # end of the previous results that returned the `nextToken` value.
2929
+ #
2930
+ # @return [Types::ListVirtualGatewaysOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2931
+ #
2932
+ # * {Types::ListVirtualGatewaysOutput#next_token #next_token} => String
2933
+ # * {Types::ListVirtualGatewaysOutput#virtual_gateways #virtual_gateways} => Array&lt;Types::VirtualGatewayRef&gt;
2934
+ #
2935
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2936
+ #
2937
+ # @example Request syntax with placeholder values
2938
+ #
2939
+ # resp = client.list_virtual_gateways({
2940
+ # limit: 1,
2941
+ # mesh_name: "ResourceName", # required
2942
+ # mesh_owner: "AccountId",
2943
+ # next_token: "String",
2944
+ # })
2945
+ #
2946
+ # @example Response structure
2947
+ #
2948
+ # resp.next_token #=> String
2949
+ # resp.virtual_gateways #=> Array
2950
+ # resp.virtual_gateways[0].arn #=> String
2951
+ # resp.virtual_gateways[0].created_at #=> Time
2952
+ # resp.virtual_gateways[0].last_updated_at #=> Time
2953
+ # resp.virtual_gateways[0].mesh_name #=> String
2954
+ # resp.virtual_gateways[0].mesh_owner #=> String
2955
+ # resp.virtual_gateways[0].resource_owner #=> String
2956
+ # resp.virtual_gateways[0].version #=> Integer
2957
+ # resp.virtual_gateways[0].virtual_gateway_name #=> String
2958
+ #
2959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways AWS API Documentation
2960
+ #
2961
+ # @overload list_virtual_gateways(params = {})
2962
+ # @param [Hash] params ({})
2963
+ def list_virtual_gateways(params = {}, options = {})
2964
+ req = build_request(:list_virtual_gateways, params)
2965
+ req.send_request(options)
2966
+ end
2967
+
2227
2968
  # Returns a list of existing virtual nodes.
2228
2969
  #
2229
2970
  # @option params [Integer] :limit
@@ -2493,6 +3234,122 @@ module Aws::AppMesh
2493
3234
  req.send_request(options)
2494
3235
  end
2495
3236
 
3237
+ # Updates an existing gateway route that is associated to a specified
3238
+ # virtual gateway in a service mesh.
3239
+ #
3240
+ # @option params [String] :client_token
3241
+ # Unique, case-sensitive identifier that you provide to ensure the
3242
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3243
+ # underscores are allowed.
3244
+ #
3245
+ # **A suitable default value is auto-generated.** You should normally
3246
+ # not need to pass this option.**
3247
+ #
3248
+ # @option params [required, String] :gateway_route_name
3249
+ # The name of the gateway route to update.
3250
+ #
3251
+ # @option params [required, String] :mesh_name
3252
+ # The name of the service mesh that the gateway route resides in.
3253
+ #
3254
+ # @option params [String] :mesh_owner
3255
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3256
+ # not your own, then it's the ID of the account that shared the mesh
3257
+ # with your account. For more information about mesh sharing, see
3258
+ # [Working with shared meshes][1].
3259
+ #
3260
+ #
3261
+ #
3262
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3263
+ #
3264
+ # @option params [required, Types::GatewayRouteSpec] :spec
3265
+ # The new gateway route specification to apply. This overwrites the
3266
+ # existing data.
3267
+ #
3268
+ # @option params [required, String] :virtual_gateway_name
3269
+ # The name of the virtual gateway that the gateway route is associated
3270
+ # with.
3271
+ #
3272
+ # @return [Types::UpdateGatewayRouteOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3273
+ #
3274
+ # * {Types::UpdateGatewayRouteOutput#gateway_route #gateway_route} => Types::GatewayRouteData
3275
+ #
3276
+ # @example Request syntax with placeholder values
3277
+ #
3278
+ # resp = client.update_gateway_route({
3279
+ # client_token: "String",
3280
+ # gateway_route_name: "ResourceName", # required
3281
+ # mesh_name: "ResourceName", # required
3282
+ # mesh_owner: "AccountId",
3283
+ # spec: { # required
3284
+ # grpc_route: {
3285
+ # action: { # required
3286
+ # target: { # required
3287
+ # virtual_service: { # required
3288
+ # virtual_service_name: "ResourceName", # required
3289
+ # },
3290
+ # },
3291
+ # },
3292
+ # match: { # required
3293
+ # service_name: "ServiceName",
3294
+ # },
3295
+ # },
3296
+ # http2_route: {
3297
+ # action: { # required
3298
+ # target: { # required
3299
+ # virtual_service: { # required
3300
+ # virtual_service_name: "ResourceName", # required
3301
+ # },
3302
+ # },
3303
+ # },
3304
+ # match: { # required
3305
+ # prefix: "String", # required
3306
+ # },
3307
+ # },
3308
+ # http_route: {
3309
+ # action: { # required
3310
+ # target: { # required
3311
+ # virtual_service: { # required
3312
+ # virtual_service_name: "ResourceName", # required
3313
+ # },
3314
+ # },
3315
+ # },
3316
+ # match: { # required
3317
+ # prefix: "String", # required
3318
+ # },
3319
+ # },
3320
+ # },
3321
+ # virtual_gateway_name: "ResourceName", # required
3322
+ # })
3323
+ #
3324
+ # @example Response structure
3325
+ #
3326
+ # resp.gateway_route.gateway_route_name #=> String
3327
+ # resp.gateway_route.mesh_name #=> String
3328
+ # resp.gateway_route.metadata.arn #=> String
3329
+ # resp.gateway_route.metadata.created_at #=> Time
3330
+ # resp.gateway_route.metadata.last_updated_at #=> Time
3331
+ # resp.gateway_route.metadata.mesh_owner #=> String
3332
+ # resp.gateway_route.metadata.resource_owner #=> String
3333
+ # resp.gateway_route.metadata.uid #=> String
3334
+ # resp.gateway_route.metadata.version #=> Integer
3335
+ # resp.gateway_route.spec.grpc_route.action.target.virtual_service.virtual_service_name #=> String
3336
+ # resp.gateway_route.spec.grpc_route.match.service_name #=> String
3337
+ # resp.gateway_route.spec.http2_route.action.target.virtual_service.virtual_service_name #=> String
3338
+ # resp.gateway_route.spec.http2_route.match.prefix #=> String
3339
+ # resp.gateway_route.spec.http_route.action.target.virtual_service.virtual_service_name #=> String
3340
+ # resp.gateway_route.spec.http_route.match.prefix #=> String
3341
+ # resp.gateway_route.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3342
+ # resp.gateway_route.virtual_gateway_name #=> String
3343
+ #
3344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute AWS API Documentation
3345
+ #
3346
+ # @overload update_gateway_route(params = {})
3347
+ # @param [Hash] params ({})
3348
+ def update_gateway_route(params = {}, options = {})
3349
+ req = build_request(:update_gateway_route, params)
3350
+ req.send_request(options)
3351
+ end
3352
+
2496
3353
  # Updates an existing service mesh.
2497
3354
  #
2498
3355
  # @option params [String] :client_token
@@ -2872,6 +3729,148 @@ module Aws::AppMesh
2872
3729
  req.send_request(options)
2873
3730
  end
2874
3731
 
3732
+ # Updates an existing virtual gateway in a specified service mesh.
3733
+ #
3734
+ # @option params [String] :client_token
3735
+ # Unique, case-sensitive identifier that you provide to ensure the
3736
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
3737
+ # underscores are allowed.
3738
+ #
3739
+ # **A suitable default value is auto-generated.** You should normally
3740
+ # not need to pass this option.**
3741
+ #
3742
+ # @option params [required, String] :mesh_name
3743
+ # The name of the service mesh that the virtual gateway resides in.
3744
+ #
3745
+ # @option params [String] :mesh_owner
3746
+ # The AWS IAM account ID of the service mesh owner. If the account ID is
3747
+ # not your own, then it's the ID of the account that shared the mesh
3748
+ # with your account. For more information about mesh sharing, see
3749
+ # [Working with shared meshes][1].
3750
+ #
3751
+ #
3752
+ #
3753
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3754
+ #
3755
+ # @option params [required, Types::VirtualGatewaySpec] :spec
3756
+ # The new virtual gateway specification to apply. This overwrites the
3757
+ # existing data.
3758
+ #
3759
+ # @option params [required, String] :virtual_gateway_name
3760
+ # The name of the virtual gateway to update.
3761
+ #
3762
+ # @return [Types::UpdateVirtualGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3763
+ #
3764
+ # * {Types::UpdateVirtualGatewayOutput#virtual_gateway #virtual_gateway} => Types::VirtualGatewayData
3765
+ #
3766
+ # @example Request syntax with placeholder values
3767
+ #
3768
+ # resp = client.update_virtual_gateway({
3769
+ # client_token: "String",
3770
+ # mesh_name: "ResourceName", # required
3771
+ # mesh_owner: "AccountId",
3772
+ # spec: { # required
3773
+ # backend_defaults: {
3774
+ # client_policy: {
3775
+ # tls: {
3776
+ # enforce: false,
3777
+ # ports: [1],
3778
+ # validation: { # required
3779
+ # trust: { # required
3780
+ # acm: {
3781
+ # certificate_authority_arns: ["Arn"], # required
3782
+ # },
3783
+ # file: {
3784
+ # certificate_chain: "FilePath", # required
3785
+ # },
3786
+ # },
3787
+ # },
3788
+ # },
3789
+ # },
3790
+ # },
3791
+ # listeners: [ # required
3792
+ # {
3793
+ # health_check: {
3794
+ # healthy_threshold: 1, # required
3795
+ # interval_millis: 1, # required
3796
+ # path: "String",
3797
+ # port: 1,
3798
+ # protocol: "grpc", # required, accepts grpc, http, http2
3799
+ # timeout_millis: 1, # required
3800
+ # unhealthy_threshold: 1, # required
3801
+ # },
3802
+ # port_mapping: { # required
3803
+ # port: 1, # required
3804
+ # protocol: "grpc", # required, accepts grpc, http, http2
3805
+ # },
3806
+ # tls: {
3807
+ # certificate: { # required
3808
+ # acm: {
3809
+ # certificate_arn: "Arn", # required
3810
+ # },
3811
+ # file: {
3812
+ # certificate_chain: "FilePath", # required
3813
+ # private_key: "FilePath", # required
3814
+ # },
3815
+ # },
3816
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
3817
+ # },
3818
+ # },
3819
+ # ],
3820
+ # logging: {
3821
+ # access_log: {
3822
+ # file: {
3823
+ # path: "FilePath", # required
3824
+ # },
3825
+ # },
3826
+ # },
3827
+ # },
3828
+ # virtual_gateway_name: "ResourceName", # required
3829
+ # })
3830
+ #
3831
+ # @example Response structure
3832
+ #
3833
+ # resp.virtual_gateway.mesh_name #=> String
3834
+ # resp.virtual_gateway.metadata.arn #=> String
3835
+ # resp.virtual_gateway.metadata.created_at #=> Time
3836
+ # resp.virtual_gateway.metadata.last_updated_at #=> Time
3837
+ # resp.virtual_gateway.metadata.mesh_owner #=> String
3838
+ # resp.virtual_gateway.metadata.resource_owner #=> String
3839
+ # resp.virtual_gateway.metadata.uid #=> String
3840
+ # resp.virtual_gateway.metadata.version #=> Integer
3841
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.enforce #=> Boolean
3842
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports #=> Array
3843
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.ports[0] #=> Integer
3844
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns #=> Array
3845
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.acm.certificate_authority_arns[0] #=> String
3846
+ # resp.virtual_gateway.spec.backend_defaults.client_policy.tls.validation.trust.file.certificate_chain #=> String
3847
+ # resp.virtual_gateway.spec.listeners #=> Array
3848
+ # resp.virtual_gateway.spec.listeners[0].health_check.healthy_threshold #=> Integer
3849
+ # resp.virtual_gateway.spec.listeners[0].health_check.interval_millis #=> Integer
3850
+ # resp.virtual_gateway.spec.listeners[0].health_check.path #=> String
3851
+ # resp.virtual_gateway.spec.listeners[0].health_check.port #=> Integer
3852
+ # resp.virtual_gateway.spec.listeners[0].health_check.protocol #=> String, one of "grpc", "http", "http2"
3853
+ # resp.virtual_gateway.spec.listeners[0].health_check.timeout_millis #=> Integer
3854
+ # resp.virtual_gateway.spec.listeners[0].health_check.unhealthy_threshold #=> Integer
3855
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.port #=> Integer
3856
+ # resp.virtual_gateway.spec.listeners[0].port_mapping.protocol #=> String, one of "grpc", "http", "http2"
3857
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.acm.certificate_arn #=> String
3858
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.certificate_chain #=> String
3859
+ # resp.virtual_gateway.spec.listeners[0].tls.certificate.file.private_key #=> String
3860
+ # resp.virtual_gateway.spec.listeners[0].tls.mode #=> String, one of "DISABLED", "PERMISSIVE", "STRICT"
3861
+ # resp.virtual_gateway.spec.logging.access_log.file.path #=> String
3862
+ # resp.virtual_gateway.status.status #=> String, one of "ACTIVE", "DELETED", "INACTIVE"
3863
+ # resp.virtual_gateway.virtual_gateway_name #=> String
3864
+ #
3865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway AWS API Documentation
3866
+ #
3867
+ # @overload update_virtual_gateway(params = {})
3868
+ # @param [Hash] params ({})
3869
+ def update_virtual_gateway(params = {}, options = {})
3870
+ req = build_request(:update_virtual_gateway, params)
3871
+ req.send_request(options)
3872
+ end
3873
+
2875
3874
  # Updates an existing virtual node in a specified service mesh.
2876
3875
  #
2877
3876
  # @option params [String] :client_token
@@ -3286,7 +4285,7 @@ module Aws::AppMesh
3286
4285
  params: params,
3287
4286
  config: config)
3288
4287
  context[:gem_name] = 'aws-sdk-appmesh'
3289
- context[:gem_version] = '1.26.0'
4288
+ context[:gem_version] = '1.31.0'
3290
4289
  Seahorse::Client::Request.new(handlers, context)
3291
4290
  end
3292
4291