aws-sdk-appmesh 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -163,6 +163,243 @@ module Aws::AppMesh
163
163
  include Aws::Structure
164
164
  end
165
165
 
166
+ # @note When making an API call, you may pass CreateVirtualGatewayInput
167
+ # data as a hash:
168
+ #
169
+ # {
170
+ # client_token: "String",
171
+ # mesh_name: "ResourceName", # required
172
+ # mesh_owner: "AccountId",
173
+ # spec: { # required
174
+ # backend_defaults: {
175
+ # client_policy: {
176
+ # tls: {
177
+ # enforce: false,
178
+ # ports: [1],
179
+ # validation: { # required
180
+ # trust: { # required
181
+ # acm: {
182
+ # certificate_authority_arns: ["Arn"], # required
183
+ # },
184
+ # file: {
185
+ # certificate_chain: "FilePath", # required
186
+ # },
187
+ # },
188
+ # },
189
+ # },
190
+ # },
191
+ # },
192
+ # listeners: [ # required
193
+ # {
194
+ # health_check: {
195
+ # healthy_threshold: 1, # required
196
+ # interval_millis: 1, # required
197
+ # path: "String",
198
+ # port: 1,
199
+ # protocol: "grpc", # required, accepts grpc, http, http2
200
+ # timeout_millis: 1, # required
201
+ # unhealthy_threshold: 1, # required
202
+ # },
203
+ # port_mapping: { # required
204
+ # port: 1, # required
205
+ # protocol: "grpc", # required, accepts grpc, http, http2
206
+ # },
207
+ # tls: {
208
+ # certificate: { # required
209
+ # acm: {
210
+ # certificate_arn: "Arn", # required
211
+ # },
212
+ # file: {
213
+ # certificate_chain: "FilePath", # required
214
+ # private_key: "FilePath", # required
215
+ # },
216
+ # },
217
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
218
+ # },
219
+ # },
220
+ # ],
221
+ # logging: {
222
+ # access_log: {
223
+ # file: {
224
+ # path: "FilePath", # required
225
+ # },
226
+ # },
227
+ # },
228
+ # },
229
+ # tags: [
230
+ # {
231
+ # key: "TagKey", # required
232
+ # value: "TagValue",
233
+ # },
234
+ # ],
235
+ # virtual_gateway_name: "ResourceName", # required
236
+ # }
237
+ #
238
+ # @!attribute [rw] client_token
239
+ # Unique, case-sensitive identifier that you provide to ensure the
240
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
241
+ # underscores are allowed.
242
+ #
243
+ # **A suitable default value is auto-generated.** You should normally
244
+ # not need to pass this option.
245
+ # @return [String]
246
+ #
247
+ # @!attribute [rw] mesh_name
248
+ # The name of the service mesh to create the virtual gateway in.
249
+ # @return [String]
250
+ #
251
+ # @!attribute [rw] mesh_owner
252
+ # The AWS IAM account ID of the service mesh owner. If the account ID
253
+ # is not your own, then the account that you specify must share the
254
+ # mesh with your account before you can create the resource in the
255
+ # service mesh. For more information about mesh sharing, see [Working
256
+ # with shared meshes][1].
257
+ #
258
+ #
259
+ #
260
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
261
+ # @return [String]
262
+ #
263
+ # @!attribute [rw] spec
264
+ # The virtual gateway specification to apply.
265
+ # @return [Types::VirtualGatewaySpec]
266
+ #
267
+ # @!attribute [rw] tags
268
+ # Optional metadata that you can apply to the virtual gateway to
269
+ # assist with categorization and organization. Each tag consists of a
270
+ # key and an optional value, both of which you define. Tag keys can
271
+ # have a maximum character length of 128 characters, and tag values
272
+ # can have a maximum length of 256 characters.
273
+ # @return [Array<Types::TagRef>]
274
+ #
275
+ # @!attribute [rw] virtual_gateway_name
276
+ # The name to use for the virtual gateway.
277
+ # @return [String]
278
+ #
279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGatewayInput AWS API Documentation
280
+ #
281
+ class CreateVirtualGatewayInput < Struct.new(
282
+ :client_token,
283
+ :mesh_name,
284
+ :mesh_owner,
285
+ :spec,
286
+ :tags,
287
+ :virtual_gateway_name)
288
+ SENSITIVE = []
289
+ include Aws::Structure
290
+ end
291
+
292
+ # @note When making an API call, you may pass UpdateVirtualGatewayInput
293
+ # data as a hash:
294
+ #
295
+ # {
296
+ # client_token: "String",
297
+ # mesh_name: "ResourceName", # required
298
+ # mesh_owner: "AccountId",
299
+ # spec: { # required
300
+ # backend_defaults: {
301
+ # client_policy: {
302
+ # tls: {
303
+ # enforce: false,
304
+ # ports: [1],
305
+ # validation: { # required
306
+ # trust: { # required
307
+ # acm: {
308
+ # certificate_authority_arns: ["Arn"], # required
309
+ # },
310
+ # file: {
311
+ # certificate_chain: "FilePath", # required
312
+ # },
313
+ # },
314
+ # },
315
+ # },
316
+ # },
317
+ # },
318
+ # listeners: [ # required
319
+ # {
320
+ # health_check: {
321
+ # healthy_threshold: 1, # required
322
+ # interval_millis: 1, # required
323
+ # path: "String",
324
+ # port: 1,
325
+ # protocol: "grpc", # required, accepts grpc, http, http2
326
+ # timeout_millis: 1, # required
327
+ # unhealthy_threshold: 1, # required
328
+ # },
329
+ # port_mapping: { # required
330
+ # port: 1, # required
331
+ # protocol: "grpc", # required, accepts grpc, http, http2
332
+ # },
333
+ # tls: {
334
+ # certificate: { # required
335
+ # acm: {
336
+ # certificate_arn: "Arn", # required
337
+ # },
338
+ # file: {
339
+ # certificate_chain: "FilePath", # required
340
+ # private_key: "FilePath", # required
341
+ # },
342
+ # },
343
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
344
+ # },
345
+ # },
346
+ # ],
347
+ # logging: {
348
+ # access_log: {
349
+ # file: {
350
+ # path: "FilePath", # required
351
+ # },
352
+ # },
353
+ # },
354
+ # },
355
+ # virtual_gateway_name: "ResourceName", # required
356
+ # }
357
+ #
358
+ # @!attribute [rw] client_token
359
+ # Unique, case-sensitive identifier that you provide to ensure the
360
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
361
+ # underscores are allowed.
362
+ #
363
+ # **A suitable default value is auto-generated.** You should normally
364
+ # not need to pass this option.
365
+ # @return [String]
366
+ #
367
+ # @!attribute [rw] mesh_name
368
+ # The name of the service mesh that the virtual gateway resides in.
369
+ # @return [String]
370
+ #
371
+ # @!attribute [rw] mesh_owner
372
+ # The AWS IAM account ID of the service mesh owner. If the account ID
373
+ # is not your own, then it's the ID of the account that shared the
374
+ # mesh with your account. For more information about mesh sharing, see
375
+ # [Working with shared meshes][1].
376
+ #
377
+ #
378
+ #
379
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] spec
383
+ # The new virtual gateway specification to apply. This overwrites the
384
+ # existing data.
385
+ # @return [Types::VirtualGatewaySpec]
386
+ #
387
+ # @!attribute [rw] virtual_gateway_name
388
+ # The name of the virtual gateway to update.
389
+ # @return [String]
390
+ #
391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGatewayInput AWS API Documentation
392
+ #
393
+ class UpdateVirtualGatewayInput < Struct.new(
394
+ :client_token,
395
+ :mesh_name,
396
+ :mesh_owner,
397
+ :spec,
398
+ :virtual_gateway_name)
399
+ SENSITIVE = []
400
+ include Aws::Structure
401
+ end
402
+
166
403
  # An object that represents metadata for a resource.
167
404
  #
168
405
  # @!attribute [rw] arn
@@ -330,6 +567,33 @@ module Aws::AppMesh
330
567
  include Aws::Structure
331
568
  end
332
569
 
570
+ # An object that represents the criteria for determining a request
571
+ # match.
572
+ #
573
+ # @note When making an API call, you may pass HttpGatewayRouteMatch
574
+ # data as a hash:
575
+ #
576
+ # {
577
+ # prefix: "String", # required
578
+ # }
579
+ #
580
+ # @!attribute [rw] prefix
581
+ # Specifies the path to match requests with. This parameter must
582
+ # always start with `/`, which by itself matches all requests to the
583
+ # virtual service name. You can also match for path-based routing of
584
+ # requests. For example, if your virtual service name is
585
+ # `my-service.local` and you want the route to match requests to
586
+ # `my-service.local/metrics`, your prefix should be `/metrics`.
587
+ # @return [String]
588
+ #
589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteMatch AWS API Documentation
590
+ #
591
+ class HttpGatewayRouteMatch < Struct.new(
592
+ :prefix)
593
+ SENSITIVE = []
594
+ include Aws::Structure
595
+ end
596
+
333
597
  # An object that represents the health check policy for a virtual
334
598
  # node's listener.
335
599
  #
@@ -460,30 +724,293 @@ module Aws::AppMesh
460
724
  include Aws::Structure
461
725
  end
462
726
 
463
- # @!attribute [rw] virtual_service
464
- # The full description of your virtual service.
465
- # @return [Types::VirtualServiceData]
466
- #
467
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualServiceOutput AWS API Documentation
468
- #
469
- class DescribeVirtualServiceOutput < Struct.new(
470
- :virtual_service)
471
- SENSITIVE = []
472
- include Aws::Structure
473
- end
474
-
475
- # @!attribute [rw] virtual_node
476
- # The full description of your virtual node.
477
- # @return [Types::VirtualNodeData]
727
+ # An object that represents the specification of a service mesh
728
+ # resource.
478
729
  #
479
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNodeOutput AWS API Documentation
730
+ # @note When making an API call, you may pass VirtualGatewaySpec
731
+ # data as a hash:
480
732
  #
481
- class DescribeVirtualNodeOutput < Struct.new(
482
- :virtual_node)
483
- SENSITIVE = []
484
- include Aws::Structure
485
- end
486
-
733
+ # {
734
+ # backend_defaults: {
735
+ # client_policy: {
736
+ # tls: {
737
+ # enforce: false,
738
+ # ports: [1],
739
+ # validation: { # required
740
+ # trust: { # required
741
+ # acm: {
742
+ # certificate_authority_arns: ["Arn"], # required
743
+ # },
744
+ # file: {
745
+ # certificate_chain: "FilePath", # required
746
+ # },
747
+ # },
748
+ # },
749
+ # },
750
+ # },
751
+ # },
752
+ # listeners: [ # required
753
+ # {
754
+ # health_check: {
755
+ # healthy_threshold: 1, # required
756
+ # interval_millis: 1, # required
757
+ # path: "String",
758
+ # port: 1,
759
+ # protocol: "grpc", # required, accepts grpc, http, http2
760
+ # timeout_millis: 1, # required
761
+ # unhealthy_threshold: 1, # required
762
+ # },
763
+ # port_mapping: { # required
764
+ # port: 1, # required
765
+ # protocol: "grpc", # required, accepts grpc, http, http2
766
+ # },
767
+ # tls: {
768
+ # certificate: { # required
769
+ # acm: {
770
+ # certificate_arn: "Arn", # required
771
+ # },
772
+ # file: {
773
+ # certificate_chain: "FilePath", # required
774
+ # private_key: "FilePath", # required
775
+ # },
776
+ # },
777
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
778
+ # },
779
+ # },
780
+ # ],
781
+ # logging: {
782
+ # access_log: {
783
+ # file: {
784
+ # path: "FilePath", # required
785
+ # },
786
+ # },
787
+ # },
788
+ # }
789
+ #
790
+ # @!attribute [rw] backend_defaults
791
+ # A reference to an object that represents the defaults for backends.
792
+ # @return [Types::VirtualGatewayBackendDefaults]
793
+ #
794
+ # @!attribute [rw] listeners
795
+ # The listeners that the mesh endpoint is expected to receive inbound
796
+ # traffic from. You can specify one listener.
797
+ # @return [Array<Types::VirtualGatewayListener>]
798
+ #
799
+ # @!attribute [rw] logging
800
+ # An object that represents logging information.
801
+ # @return [Types::VirtualGatewayLogging]
802
+ #
803
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewaySpec AWS API Documentation
804
+ #
805
+ class VirtualGatewaySpec < Struct.new(
806
+ :backend_defaults,
807
+ :listeners,
808
+ :logging)
809
+ SENSITIVE = []
810
+ include Aws::Structure
811
+ end
812
+
813
+ # An object that represents an access log file.
814
+ #
815
+ # @note When making an API call, you may pass VirtualGatewayFileAccessLog
816
+ # data as a hash:
817
+ #
818
+ # {
819
+ # path: "FilePath", # required
820
+ # }
821
+ #
822
+ # @!attribute [rw] path
823
+ # The file path to write access logs to. You can use `/dev/stdout` to
824
+ # send access logs to standard out and configure your Envoy container
825
+ # to use a log driver, such as `awslogs`, to export the access logs to
826
+ # a log storage service such as Amazon CloudWatch Logs. You can also
827
+ # specify a path in the Envoy container's file system to write the
828
+ # files to disk.
829
+ # @return [String]
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayFileAccessLog AWS API Documentation
832
+ #
833
+ class VirtualGatewayFileAccessLog < Struct.new(
834
+ :path)
835
+ SENSITIVE = []
836
+ include Aws::Structure
837
+ end
838
+
839
+ # @!attribute [rw] virtual_service
840
+ # The full description of your virtual service.
841
+ # @return [Types::VirtualServiceData]
842
+ #
843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualServiceOutput AWS API Documentation
844
+ #
845
+ class DescribeVirtualServiceOutput < Struct.new(
846
+ :virtual_service)
847
+ SENSITIVE = []
848
+ include Aws::Structure
849
+ end
850
+
851
+ # @note When making an API call, you may pass CreateGatewayRouteInput
852
+ # data as a hash:
853
+ #
854
+ # {
855
+ # client_token: "String",
856
+ # gateway_route_name: "ResourceName", # required
857
+ # mesh_name: "ResourceName", # required
858
+ # mesh_owner: "AccountId",
859
+ # spec: { # required
860
+ # grpc_route: {
861
+ # action: { # required
862
+ # target: { # required
863
+ # virtual_service: { # required
864
+ # virtual_service_name: "ResourceName", # required
865
+ # },
866
+ # },
867
+ # },
868
+ # match: { # required
869
+ # service_name: "ServiceName",
870
+ # },
871
+ # },
872
+ # http2_route: {
873
+ # action: { # required
874
+ # target: { # required
875
+ # virtual_service: { # required
876
+ # virtual_service_name: "ResourceName", # required
877
+ # },
878
+ # },
879
+ # },
880
+ # match: { # required
881
+ # prefix: "String", # required
882
+ # },
883
+ # },
884
+ # http_route: {
885
+ # action: { # required
886
+ # target: { # required
887
+ # virtual_service: { # required
888
+ # virtual_service_name: "ResourceName", # required
889
+ # },
890
+ # },
891
+ # },
892
+ # match: { # required
893
+ # prefix: "String", # required
894
+ # },
895
+ # },
896
+ # },
897
+ # tags: [
898
+ # {
899
+ # key: "TagKey", # required
900
+ # value: "TagValue",
901
+ # },
902
+ # ],
903
+ # virtual_gateway_name: "ResourceName", # required
904
+ # }
905
+ #
906
+ # @!attribute [rw] client_token
907
+ # Unique, case-sensitive identifier that you provide to ensure the
908
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
909
+ # underscores are allowed.
910
+ #
911
+ # **A suitable default value is auto-generated.** You should normally
912
+ # not need to pass this option.
913
+ # @return [String]
914
+ #
915
+ # @!attribute [rw] gateway_route_name
916
+ # The name to use for the gateway route.
917
+ # @return [String]
918
+ #
919
+ # @!attribute [rw] mesh_name
920
+ # The name of the service mesh to create the gateway route in.
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] mesh_owner
924
+ # The AWS IAM account ID of the service mesh owner. If the account ID
925
+ # is not your own, then the account that you specify must share the
926
+ # mesh with your account before you can create the resource in the
927
+ # service mesh. For more information about mesh sharing, see [Working
928
+ # with shared meshes][1].
929
+ #
930
+ #
931
+ #
932
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
933
+ # @return [String]
934
+ #
935
+ # @!attribute [rw] spec
936
+ # The gateway route specification to apply.
937
+ # @return [Types::GatewayRouteSpec]
938
+ #
939
+ # @!attribute [rw] tags
940
+ # Optional metadata that you can apply to the gateway route to assist
941
+ # with categorization and organization. Each tag consists of a key and
942
+ # an optional value, both of which you define. Tag keys can have a
943
+ # maximum character length of 128 characters, and tag values can have
944
+ # a maximum length of 256 characters.
945
+ # @return [Array<Types::TagRef>]
946
+ #
947
+ # @!attribute [rw] virtual_gateway_name
948
+ # The name of the virtual gateway to associate the gateway route with.
949
+ # If the virtual gateway is in a shared mesh, then you must be the
950
+ # owner of the virtual gateway resource.
951
+ # @return [String]
952
+ #
953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRouteInput AWS API Documentation
954
+ #
955
+ class CreateGatewayRouteInput < Struct.new(
956
+ :client_token,
957
+ :gateway_route_name,
958
+ :mesh_name,
959
+ :mesh_owner,
960
+ :spec,
961
+ :tags,
962
+ :virtual_gateway_name)
963
+ SENSITIVE = []
964
+ include Aws::Structure
965
+ end
966
+
967
+ # @!attribute [rw] virtual_node
968
+ # The full description of your virtual node.
969
+ # @return [Types::VirtualNodeData]
970
+ #
971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNodeOutput AWS API Documentation
972
+ #
973
+ class DescribeVirtualNodeOutput < Struct.new(
974
+ :virtual_node)
975
+ SENSITIVE = []
976
+ include Aws::Structure
977
+ end
978
+
979
+ # An object that represents a virtual gateway returned by a describe
980
+ # operation.
981
+ #
982
+ # @!attribute [rw] mesh_name
983
+ # The name of the service mesh that the virtual gateway resides in.
984
+ # @return [String]
985
+ #
986
+ # @!attribute [rw] metadata
987
+ # An object that represents metadata for a resource.
988
+ # @return [Types::ResourceMetadata]
989
+ #
990
+ # @!attribute [rw] spec
991
+ # The specifications of the virtual gateway.
992
+ # @return [Types::VirtualGatewaySpec]
993
+ #
994
+ # @!attribute [rw] status
995
+ # The current status of the virtual gateway.
996
+ # @return [Types::VirtualGatewayStatus]
997
+ #
998
+ # @!attribute [rw] virtual_gateway_name
999
+ # The name of the virtual gateway.
1000
+ # @return [String]
1001
+ #
1002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayData AWS API Documentation
1003
+ #
1004
+ class VirtualGatewayData < Struct.new(
1005
+ :mesh_name,
1006
+ :metadata,
1007
+ :spec,
1008
+ :status,
1009
+ :virtual_gateway_name)
1010
+ SENSITIVE = []
1011
+ include Aws::Structure
1012
+ end
1013
+
487
1014
  # @!attribute [rw] route
488
1015
  # The full description of your mesh following the create call.
489
1016
  # @return [Types::RouteData]
@@ -496,6 +1023,62 @@ module Aws::AppMesh
496
1023
  include Aws::Structure
497
1024
  end
498
1025
 
1026
+ # An object that represents a listener for a virtual gateway.
1027
+ #
1028
+ # @note When making an API call, you may pass VirtualGatewayListener
1029
+ # data as a hash:
1030
+ #
1031
+ # {
1032
+ # health_check: {
1033
+ # healthy_threshold: 1, # required
1034
+ # interval_millis: 1, # required
1035
+ # path: "String",
1036
+ # port: 1,
1037
+ # protocol: "grpc", # required, accepts grpc, http, http2
1038
+ # timeout_millis: 1, # required
1039
+ # unhealthy_threshold: 1, # required
1040
+ # },
1041
+ # port_mapping: { # required
1042
+ # port: 1, # required
1043
+ # protocol: "grpc", # required, accepts grpc, http, http2
1044
+ # },
1045
+ # tls: {
1046
+ # certificate: { # required
1047
+ # acm: {
1048
+ # certificate_arn: "Arn", # required
1049
+ # },
1050
+ # file: {
1051
+ # certificate_chain: "FilePath", # required
1052
+ # private_key: "FilePath", # required
1053
+ # },
1054
+ # },
1055
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
1056
+ # },
1057
+ # }
1058
+ #
1059
+ # @!attribute [rw] health_check
1060
+ # The health check information for the listener.
1061
+ # @return [Types::VirtualGatewayHealthCheckPolicy]
1062
+ #
1063
+ # @!attribute [rw] port_mapping
1064
+ # The port mapping information for the listener.
1065
+ # @return [Types::VirtualGatewayPortMapping]
1066
+ #
1067
+ # @!attribute [rw] tls
1068
+ # A reference to an object that represents the Transport Layer
1069
+ # Security (TLS) properties for the listener.
1070
+ # @return [Types::VirtualGatewayListenerTls]
1071
+ #
1072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListener AWS API Documentation
1073
+ #
1074
+ class VirtualGatewayListener < Struct.new(
1075
+ :health_check,
1076
+ :port_mapping,
1077
+ :tls)
1078
+ SENSITIVE = []
1079
+ include Aws::Structure
1080
+ end
1081
+
499
1082
  # An object that represents the DNS service discovery information for
500
1083
  # your virtual node.
501
1084
  #
@@ -518,6 +1101,45 @@ module Aws::AppMesh
518
1101
  include Aws::Structure
519
1102
  end
520
1103
 
1104
+ # An object that represents a port mapping.
1105
+ #
1106
+ # @note When making an API call, you may pass VirtualGatewayPortMapping
1107
+ # data as a hash:
1108
+ #
1109
+ # {
1110
+ # port: 1, # required
1111
+ # protocol: "grpc", # required, accepts grpc, http, http2
1112
+ # }
1113
+ #
1114
+ # @!attribute [rw] port
1115
+ # The port used for the port mapping. Specify one protocol.
1116
+ # @return [Integer]
1117
+ #
1118
+ # @!attribute [rw] protocol
1119
+ # The protocol used for the port mapping.
1120
+ # @return [String]
1121
+ #
1122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayPortMapping AWS API Documentation
1123
+ #
1124
+ class VirtualGatewayPortMapping < Struct.new(
1125
+ :port,
1126
+ :protocol)
1127
+ SENSITIVE = []
1128
+ include Aws::Structure
1129
+ end
1130
+
1131
+ # @!attribute [rw] virtual_gateway
1132
+ # The virtual gateway that was deleted.
1133
+ # @return [Types::VirtualGatewayData]
1134
+ #
1135
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGatewayOutput AWS API Documentation
1136
+ #
1137
+ class DeleteVirtualGatewayOutput < Struct.new(
1138
+ :virtual_gateway)
1139
+ SENSITIVE = []
1140
+ include Aws::Structure
1141
+ end
1142
+
521
1143
  # @note When making an API call, you may pass DeleteRouteInput
522
1144
  # data as a hash:
523
1145
  #
@@ -601,6 +1223,50 @@ module Aws::AppMesh
601
1223
  #
602
1224
  class UntagResourceOutput < Aws::EmptyStructure; end
603
1225
 
1226
+ # An object that represents the Transport Layer Security (TLS)
1227
+ # properties for a listener.
1228
+ #
1229
+ # @note When making an API call, you may pass VirtualGatewayListenerTls
1230
+ # data as a hash:
1231
+ #
1232
+ # {
1233
+ # certificate: { # required
1234
+ # acm: {
1235
+ # certificate_arn: "Arn", # required
1236
+ # },
1237
+ # file: {
1238
+ # certificate_chain: "FilePath", # required
1239
+ # private_key: "FilePath", # required
1240
+ # },
1241
+ # },
1242
+ # mode: "DISABLED", # required, accepts DISABLED, PERMISSIVE, STRICT
1243
+ # }
1244
+ #
1245
+ # @!attribute [rw] certificate
1246
+ # An object that represents a Transport Layer Security (TLS)
1247
+ # certificate.
1248
+ # @return [Types::VirtualGatewayListenerTlsCertificate]
1249
+ #
1250
+ # @!attribute [rw] mode
1251
+ # Specify one of the following modes.
1252
+ #
1253
+ # * ****STRICT – Listener only accepts connections with TLS enabled.
1254
+ #
1255
+ # * ****PERMISSIVE – Listener accepts connections with or without TLS
1256
+ # enabled.
1257
+ #
1258
+ # * ****DISABLED – Listener only accepts connections without TLS.
1259
+ # @return [String]
1260
+ #
1261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListenerTls AWS API Documentation
1262
+ #
1263
+ class VirtualGatewayListenerTls < Struct.new(
1264
+ :certificate,
1265
+ :mode)
1266
+ SENSITIVE = []
1267
+ include Aws::Structure
1268
+ end
1269
+
604
1270
  # An object that represents the backends that a virtual node is expected
605
1271
  # to send outbound traffic to.
606
1272
  #
@@ -682,6 +1348,101 @@ module Aws::AppMesh
682
1348
  include Aws::Structure
683
1349
  end
684
1350
 
1351
+ # An object that represents a local file certificate. The certificate
1352
+ # must meet specific requirements and you must have proxy authorization
1353
+ # enabled. For more information, see [Transport Layer Security
1354
+ # (TLS)][1].
1355
+ #
1356
+ #
1357
+ #
1358
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites
1359
+ #
1360
+ # @note When making an API call, you may pass VirtualGatewayListenerTlsFileCertificate
1361
+ # data as a hash:
1362
+ #
1363
+ # {
1364
+ # certificate_chain: "FilePath", # required
1365
+ # private_key: "FilePath", # required
1366
+ # }
1367
+ #
1368
+ # @!attribute [rw] certificate_chain
1369
+ # The certificate chain for the certificate.
1370
+ # @return [String]
1371
+ #
1372
+ # @!attribute [rw] private_key
1373
+ # The private key for a certificate stored on the file system of the
1374
+ # mesh endpoint that the proxy is running on.
1375
+ # @return [String]
1376
+ #
1377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListenerTlsFileCertificate AWS API Documentation
1378
+ #
1379
+ class VirtualGatewayListenerTlsFileCertificate < Struct.new(
1380
+ :certificate_chain,
1381
+ :private_key)
1382
+ SENSITIVE = []
1383
+ include Aws::Structure
1384
+ end
1385
+
1386
+ # @note When making an API call, you may pass ListGatewayRoutesInput
1387
+ # data as a hash:
1388
+ #
1389
+ # {
1390
+ # limit: 1,
1391
+ # mesh_name: "ResourceName", # required
1392
+ # mesh_owner: "AccountId",
1393
+ # next_token: "String",
1394
+ # virtual_gateway_name: "ResourceName", # required
1395
+ # }
1396
+ #
1397
+ # @!attribute [rw] limit
1398
+ # The maximum number of results returned by `ListGatewayRoutes` in
1399
+ # paginated output. When you use this parameter, `ListGatewayRoutes`
1400
+ # returns only `limit` results in a single page along with a
1401
+ # `nextToken` response element. You can see the remaining results of
1402
+ # the initial request by sending another `ListGatewayRoutes` request
1403
+ # with the returned `nextToken` value. This value can be between 1 and
1404
+ # 100. If you don't use this parameter, `ListGatewayRoutes` returns
1405
+ # up to 100 results and a `nextToken` value if applicable.
1406
+ # @return [Integer]
1407
+ #
1408
+ # @!attribute [rw] mesh_name
1409
+ # The name of the service mesh to list gateway routes in.
1410
+ # @return [String]
1411
+ #
1412
+ # @!attribute [rw] mesh_owner
1413
+ # The AWS IAM account ID of the service mesh owner. If the account ID
1414
+ # is not your own, then it's the ID of the account that shared the
1415
+ # mesh with your account. For more information about mesh sharing, see
1416
+ # [Working with shared meshes][1].
1417
+ #
1418
+ #
1419
+ #
1420
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1421
+ # @return [String]
1422
+ #
1423
+ # @!attribute [rw] next_token
1424
+ # The `nextToken` value returned from a previous paginated
1425
+ # `ListGatewayRoutes` request where `limit` was used and the results
1426
+ # exceeded the value of that parameter. Pagination continues from the
1427
+ # end of the previous results that returned the `nextToken` value.
1428
+ # @return [String]
1429
+ #
1430
+ # @!attribute [rw] virtual_gateway_name
1431
+ # The name of the virtual gateway to list gateway routes in.
1432
+ # @return [String]
1433
+ #
1434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutesInput AWS API Documentation
1435
+ #
1436
+ class ListGatewayRoutesInput < Struct.new(
1437
+ :limit,
1438
+ :mesh_name,
1439
+ :mesh_owner,
1440
+ :next_token,
1441
+ :virtual_gateway_name)
1442
+ SENSITIVE = []
1443
+ include Aws::Structure
1444
+ end
1445
+
685
1446
  # An object that represents a virtual router returned by a describe
686
1447
  # operation.
687
1448
  #
@@ -720,39 +1481,109 @@ module Aws::AppMesh
720
1481
  # @note When making an API call, you may pass UpdateMeshInput
721
1482
  # data as a hash:
722
1483
  #
723
- # {
724
- # client_token: "String",
725
- # mesh_name: "ResourceName", # required
726
- # spec: {
727
- # egress_filter: {
728
- # type: "ALLOW_ALL", # required, accepts ALLOW_ALL, DROP_ALL
729
- # },
730
- # },
731
- # }
1484
+ # {
1485
+ # client_token: "String",
1486
+ # mesh_name: "ResourceName", # required
1487
+ # spec: {
1488
+ # egress_filter: {
1489
+ # type: "ALLOW_ALL", # required, accepts ALLOW_ALL, DROP_ALL
1490
+ # },
1491
+ # },
1492
+ # }
1493
+ #
1494
+ # @!attribute [rw] client_token
1495
+ # Unique, case-sensitive identifier that you provide to ensure the
1496
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
1497
+ # underscores are allowed.
1498
+ #
1499
+ # **A suitable default value is auto-generated.** You should normally
1500
+ # not need to pass this option.
1501
+ # @return [String]
1502
+ #
1503
+ # @!attribute [rw] mesh_name
1504
+ # The name of the service mesh to update.
1505
+ # @return [String]
1506
+ #
1507
+ # @!attribute [rw] spec
1508
+ # The service mesh specification to apply.
1509
+ # @return [Types::MeshSpec]
1510
+ #
1511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMeshInput AWS API Documentation
1512
+ #
1513
+ class UpdateMeshInput < Struct.new(
1514
+ :client_token,
1515
+ :mesh_name,
1516
+ :spec)
1517
+ SENSITIVE = []
1518
+ include Aws::Structure
1519
+ end
1520
+
1521
+ # An object that represents the health check policy for a virtual
1522
+ # gateway's listener.
1523
+ #
1524
+ # @note When making an API call, you may pass VirtualGatewayHealthCheckPolicy
1525
+ # data as a hash:
1526
+ #
1527
+ # {
1528
+ # healthy_threshold: 1, # required
1529
+ # interval_millis: 1, # required
1530
+ # path: "String",
1531
+ # port: 1,
1532
+ # protocol: "grpc", # required, accepts grpc, http, http2
1533
+ # timeout_millis: 1, # required
1534
+ # unhealthy_threshold: 1, # required
1535
+ # }
1536
+ #
1537
+ # @!attribute [rw] healthy_threshold
1538
+ # The number of consecutive successful health checks that must occur
1539
+ # before declaring the listener healthy.
1540
+ # @return [Integer]
1541
+ #
1542
+ # @!attribute [rw] interval_millis
1543
+ # The time period in milliseconds between each health check execution.
1544
+ # @return [Integer]
1545
+ #
1546
+ # @!attribute [rw] path
1547
+ # The destination path for the health check request. This value is
1548
+ # only used if the specified protocol is HTTP or HTTP/2. For any other
1549
+ # protocol, this value is ignored.
1550
+ # @return [String]
1551
+ #
1552
+ # @!attribute [rw] port
1553
+ # The destination port for the health check request. This port must
1554
+ # match the port defined in the PortMapping for the listener.
1555
+ # @return [Integer]
1556
+ #
1557
+ # @!attribute [rw] protocol
1558
+ # The protocol for the health check request. If you specify `grpc`,
1559
+ # then your service must conform to the [GRPC Health Checking
1560
+ # Protocol][1].
732
1561
  #
733
- # @!attribute [rw] client_token
734
- # Unique, case-sensitive identifier that you provide to ensure the
735
- # idempotency of the request. Up to 36 letters, numbers, hyphens, and
736
- # underscores are allowed.
737
1562
  #
738
- # **A suitable default value is auto-generated.** You should normally
739
- # not need to pass this option.
740
- # @return [String]
741
1563
  #
742
- # @!attribute [rw] mesh_name
743
- # The name of the service mesh to update.
1564
+ # [1]: https://github.com/grpc/grpc/blob/master/doc/health-checking.md
744
1565
  # @return [String]
745
1566
  #
746
- # @!attribute [rw] spec
747
- # The service mesh specification to apply.
748
- # @return [Types::MeshSpec]
1567
+ # @!attribute [rw] timeout_millis
1568
+ # The amount of time to wait when receiving a response from the health
1569
+ # check, in milliseconds.
1570
+ # @return [Integer]
749
1571
  #
750
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMeshInput AWS API Documentation
1572
+ # @!attribute [rw] unhealthy_threshold
1573
+ # The number of consecutive failed health checks that must occur
1574
+ # before declaring a virtual gateway unhealthy.
1575
+ # @return [Integer]
751
1576
  #
752
- class UpdateMeshInput < Struct.new(
753
- :client_token,
754
- :mesh_name,
755
- :spec)
1577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayHealthCheckPolicy AWS API Documentation
1578
+ #
1579
+ class VirtualGatewayHealthCheckPolicy < Struct.new(
1580
+ :healthy_threshold,
1581
+ :interval_millis,
1582
+ :path,
1583
+ :port,
1584
+ :protocol,
1585
+ :timeout_millis,
1586
+ :unhealthy_threshold)
756
1587
  SENSITIVE = []
757
1588
  include Aws::Structure
758
1589
  end
@@ -888,6 +1719,40 @@ module Aws::AppMesh
888
1719
  include Aws::Structure
889
1720
  end
890
1721
 
1722
+ # An object that represents a listener's Transport Layer Security (TLS)
1723
+ # certificate.
1724
+ #
1725
+ # @note When making an API call, you may pass VirtualGatewayListenerTlsCertificate
1726
+ # data as a hash:
1727
+ #
1728
+ # {
1729
+ # acm: {
1730
+ # certificate_arn: "Arn", # required
1731
+ # },
1732
+ # file: {
1733
+ # certificate_chain: "FilePath", # required
1734
+ # private_key: "FilePath", # required
1735
+ # },
1736
+ # }
1737
+ #
1738
+ # @!attribute [rw] acm
1739
+ # A reference to an object that represents an AWS Certicate Manager
1740
+ # (ACM) certificate.
1741
+ # @return [Types::VirtualGatewayListenerTlsAcmCertificate]
1742
+ #
1743
+ # @!attribute [rw] file
1744
+ # A reference to an object that represents a local file certificate.
1745
+ # @return [Types::VirtualGatewayListenerTlsFileCertificate]
1746
+ #
1747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListenerTlsCertificate AWS API Documentation
1748
+ #
1749
+ class VirtualGatewayListenerTlsCertificate < Struct.new(
1750
+ :acm,
1751
+ :file)
1752
+ SENSITIVE = []
1753
+ include Aws::Structure
1754
+ end
1755
+
891
1756
  # An object that represents a listener's Transport Layer Security (TLS)
892
1757
  # certificate.
893
1758
  #
@@ -951,6 +1816,28 @@ module Aws::AppMesh
951
1816
  include Aws::Structure
952
1817
  end
953
1818
 
1819
+ # An object that represents the virtual service that traffic is routed
1820
+ # to.
1821
+ #
1822
+ # @note When making an API call, you may pass GatewayRouteVirtualService
1823
+ # data as a hash:
1824
+ #
1825
+ # {
1826
+ # virtual_service_name: "ResourceName", # required
1827
+ # }
1828
+ #
1829
+ # @!attribute [rw] virtual_service_name
1830
+ # The name of the virtual service that traffic is routed to.
1831
+ # @return [String]
1832
+ #
1833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteVirtualService AWS API Documentation
1834
+ #
1835
+ class GatewayRouteVirtualService < Struct.new(
1836
+ :virtual_service_name)
1837
+ SENSITIVE = []
1838
+ include Aws::Structure
1839
+ end
1840
+
954
1841
  # An object that represents the specification of a virtual node.
955
1842
  #
956
1843
  # @note When making an API call, you may pass VirtualNodeSpec
@@ -1147,6 +2034,75 @@ module Aws::AppMesh
1147
2034
  include Aws::Structure
1148
2035
  end
1149
2036
 
2037
+ # An object that represents a gateway route specification. Specify one
2038
+ # gateway route type.
2039
+ #
2040
+ # @note When making an API call, you may pass GatewayRouteSpec
2041
+ # data as a hash:
2042
+ #
2043
+ # {
2044
+ # grpc_route: {
2045
+ # action: { # required
2046
+ # target: { # required
2047
+ # virtual_service: { # required
2048
+ # virtual_service_name: "ResourceName", # required
2049
+ # },
2050
+ # },
2051
+ # },
2052
+ # match: { # required
2053
+ # service_name: "ServiceName",
2054
+ # },
2055
+ # },
2056
+ # http2_route: {
2057
+ # action: { # required
2058
+ # target: { # required
2059
+ # virtual_service: { # required
2060
+ # virtual_service_name: "ResourceName", # required
2061
+ # },
2062
+ # },
2063
+ # },
2064
+ # match: { # required
2065
+ # prefix: "String", # required
2066
+ # },
2067
+ # },
2068
+ # http_route: {
2069
+ # action: { # required
2070
+ # target: { # required
2071
+ # virtual_service: { # required
2072
+ # virtual_service_name: "ResourceName", # required
2073
+ # },
2074
+ # },
2075
+ # },
2076
+ # match: { # required
2077
+ # prefix: "String", # required
2078
+ # },
2079
+ # },
2080
+ # }
2081
+ #
2082
+ # @!attribute [rw] grpc_route
2083
+ # An object that represents the specification of a gRPC gateway route.
2084
+ # @return [Types::GrpcGatewayRoute]
2085
+ #
2086
+ # @!attribute [rw] http2_route
2087
+ # An object that represents the specification of an HTTP/2 gateway
2088
+ # route.
2089
+ # @return [Types::HttpGatewayRoute]
2090
+ #
2091
+ # @!attribute [rw] http_route
2092
+ # An object that represents the specification of an HTTP gateway
2093
+ # route.
2094
+ # @return [Types::HttpGatewayRoute]
2095
+ #
2096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteSpec AWS API Documentation
2097
+ #
2098
+ class GatewayRouteSpec < Struct.new(
2099
+ :grpc_route,
2100
+ :http2_route,
2101
+ :http_route)
2102
+ SENSITIVE = []
2103
+ include Aws::Structure
2104
+ end
2105
+
1150
2106
  # The request contains a client token that was used for a previous
1151
2107
  # update resource call with different specifications. Try the request
1152
2108
  # again with a new client token.
@@ -1162,6 +2118,44 @@ module Aws::AppMesh
1162
2118
  include Aws::Structure
1163
2119
  end
1164
2120
 
2121
+ # An object that represents the default properties for a backend.
2122
+ #
2123
+ # @note When making an API call, you may pass VirtualGatewayBackendDefaults
2124
+ # data as a hash:
2125
+ #
2126
+ # {
2127
+ # client_policy: {
2128
+ # tls: {
2129
+ # enforce: false,
2130
+ # ports: [1],
2131
+ # validation: { # required
2132
+ # trust: { # required
2133
+ # acm: {
2134
+ # certificate_authority_arns: ["Arn"], # required
2135
+ # },
2136
+ # file: {
2137
+ # certificate_chain: "FilePath", # required
2138
+ # },
2139
+ # },
2140
+ # },
2141
+ # },
2142
+ # },
2143
+ # }
2144
+ #
2145
+ # @!attribute [rw] client_policy
2146
+ # A reference to an object that represents a client policy.
2147
+ # @return [Types::VirtualGatewayClientPolicy]
2148
+ #
2149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayBackendDefaults AWS API Documentation
2150
+ #
2151
+ class VirtualGatewayBackendDefaults < Struct.new(
2152
+ :client_policy)
2153
+ SENSITIVE = []
2154
+ include Aws::Structure
2155
+ end
2156
+
2157
+ # An object that represents timeouts for different protocols.
2158
+ #
1165
2159
  # @note When making an API call, you may pass ListenerTimeout
1166
2160
  # data as a hash:
1167
2161
  #
@@ -1205,15 +2199,19 @@ module Aws::AppMesh
1205
2199
  # }
1206
2200
  #
1207
2201
  # @!attribute [rw] grpc
2202
+ # An object that represents types of timeouts.
1208
2203
  # @return [Types::GrpcTimeout]
1209
2204
  #
1210
2205
  # @!attribute [rw] http
2206
+ # An object that represents types of timeouts.
1211
2207
  # @return [Types::HttpTimeout]
1212
2208
  #
1213
2209
  # @!attribute [rw] http2
2210
+ # An object that represents types of timeouts.
1214
2211
  # @return [Types::HttpTimeout]
1215
2212
  #
1216
2213
  # @!attribute [rw] tcp
2214
+ # An object that represents types of timeouts.
1217
2215
  # @return [Types::TcpTimeout]
1218
2216
  #
1219
2217
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListenerTimeout AWS API Documentation
@@ -1227,6 +2225,51 @@ module Aws::AppMesh
1227
2225
  include Aws::Structure
1228
2226
  end
1229
2227
 
2228
+ # @note When making an API call, you may pass DescribeGatewayRouteInput
2229
+ # data as a hash:
2230
+ #
2231
+ # {
2232
+ # gateway_route_name: "ResourceName", # required
2233
+ # mesh_name: "ResourceName", # required
2234
+ # mesh_owner: "AccountId",
2235
+ # virtual_gateway_name: "ResourceName", # required
2236
+ # }
2237
+ #
2238
+ # @!attribute [rw] gateway_route_name
2239
+ # The name of the gateway route to describe.
2240
+ # @return [String]
2241
+ #
2242
+ # @!attribute [rw] mesh_name
2243
+ # The name of the service mesh that the gateway route resides in.
2244
+ # @return [String]
2245
+ #
2246
+ # @!attribute [rw] mesh_owner
2247
+ # The AWS IAM account ID of the service mesh owner. If the account ID
2248
+ # is not your own, then it's the ID of the account that shared the
2249
+ # mesh with your account. For more information about mesh sharing, see
2250
+ # [Working with shared meshes][1].
2251
+ #
2252
+ #
2253
+ #
2254
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
2255
+ # @return [String]
2256
+ #
2257
+ # @!attribute [rw] virtual_gateway_name
2258
+ # The name of the virtual gateway that the gateway route is associated
2259
+ # with.
2260
+ # @return [String]
2261
+ #
2262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRouteInput AWS API Documentation
2263
+ #
2264
+ class DescribeGatewayRouteInput < Struct.new(
2265
+ :gateway_route_name,
2266
+ :mesh_name,
2267
+ :mesh_owner,
2268
+ :virtual_gateway_name)
2269
+ SENSITIVE = []
2270
+ include Aws::Structure
2271
+ end
2272
+
1230
2273
  # An object that represents a Transport Layer Security (TLS) validation
1231
2274
  # context trust.
1232
2275
  #
@@ -1332,11 +2375,88 @@ module Aws::AppMesh
1332
2375
  # The relative weight of the weighted target.
1333
2376
  # @return [Integer]
1334
2377
  #
1335
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/WeightedTarget AWS API Documentation
2378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/WeightedTarget AWS API Documentation
2379
+ #
2380
+ class WeightedTarget < Struct.new(
2381
+ :virtual_node,
2382
+ :weight)
2383
+ SENSITIVE = []
2384
+ include Aws::Structure
2385
+ end
2386
+
2387
+ # An object that represents a gRPC gateway route.
2388
+ #
2389
+ # @note When making an API call, you may pass GrpcGatewayRoute
2390
+ # data as a hash:
2391
+ #
2392
+ # {
2393
+ # action: { # required
2394
+ # target: { # required
2395
+ # virtual_service: { # required
2396
+ # virtual_service_name: "ResourceName", # required
2397
+ # },
2398
+ # },
2399
+ # },
2400
+ # match: { # required
2401
+ # service_name: "ServiceName",
2402
+ # },
2403
+ # }
2404
+ #
2405
+ # @!attribute [rw] action
2406
+ # An object that represents the action to take if a match is
2407
+ # determined.
2408
+ # @return [Types::GrpcGatewayRouteAction]
2409
+ #
2410
+ # @!attribute [rw] match
2411
+ # An object that represents the criteria for determining a request
2412
+ # match.
2413
+ # @return [Types::GrpcGatewayRouteMatch]
2414
+ #
2415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRoute AWS API Documentation
2416
+ #
2417
+ class GrpcGatewayRoute < Struct.new(
2418
+ :action,
2419
+ :match)
2420
+ SENSITIVE = []
2421
+ include Aws::Structure
2422
+ end
2423
+
2424
+ # An object that represents a gateway route returned by a describe
2425
+ # operation.
2426
+ #
2427
+ # @!attribute [rw] gateway_route_name
2428
+ # The name of the gateway route.
2429
+ # @return [String]
2430
+ #
2431
+ # @!attribute [rw] mesh_name
2432
+ # The name of the service mesh that the resource resides in.
2433
+ # @return [String]
2434
+ #
2435
+ # @!attribute [rw] metadata
2436
+ # An object that represents metadata for a resource.
2437
+ # @return [Types::ResourceMetadata]
2438
+ #
2439
+ # @!attribute [rw] spec
2440
+ # The specifications of the gateway route.
2441
+ # @return [Types::GatewayRouteSpec]
2442
+ #
2443
+ # @!attribute [rw] status
2444
+ # The status of the gateway route.
2445
+ # @return [Types::GatewayRouteStatus]
2446
+ #
2447
+ # @!attribute [rw] virtual_gateway_name
2448
+ # The virtual gateway that the gateway route is associated with.
2449
+ # @return [String]
2450
+ #
2451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteData AWS API Documentation
1336
2452
  #
1337
- class WeightedTarget < Struct.new(
1338
- :virtual_node,
1339
- :weight)
2453
+ class GatewayRouteData < Struct.new(
2454
+ :gateway_route_name,
2455
+ :mesh_name,
2456
+ :metadata,
2457
+ :spec,
2458
+ :status,
2459
+ :virtual_gateway_name)
1340
2460
  SENSITIVE = []
1341
2461
  include Aws::Structure
1342
2462
  end
@@ -1600,6 +2720,78 @@ module Aws::AppMesh
1600
2720
  include Aws::Structure
1601
2721
  end
1602
2722
 
2723
+ # An object that represents a Transport Layer Security (TLS) client
2724
+ # policy.
2725
+ #
2726
+ # @note When making an API call, you may pass VirtualGatewayClientPolicyTls
2727
+ # data as a hash:
2728
+ #
2729
+ # {
2730
+ # enforce: false,
2731
+ # ports: [1],
2732
+ # validation: { # required
2733
+ # trust: { # required
2734
+ # acm: {
2735
+ # certificate_authority_arns: ["Arn"], # required
2736
+ # },
2737
+ # file: {
2738
+ # certificate_chain: "FilePath", # required
2739
+ # },
2740
+ # },
2741
+ # },
2742
+ # }
2743
+ #
2744
+ # @!attribute [rw] enforce
2745
+ # Whether the policy is enforced. The default is `True`, if a value
2746
+ # isn't specified.
2747
+ # @return [Boolean]
2748
+ #
2749
+ # @!attribute [rw] ports
2750
+ # One or more ports that the policy is enforced for.
2751
+ # @return [Array<Integer>]
2752
+ #
2753
+ # @!attribute [rw] validation
2754
+ # A reference to an object that represents a TLS validation context.
2755
+ # @return [Types::VirtualGatewayTlsValidationContext]
2756
+ #
2757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayClientPolicyTls AWS API Documentation
2758
+ #
2759
+ class VirtualGatewayClientPolicyTls < Struct.new(
2760
+ :enforce,
2761
+ :ports,
2762
+ :validation)
2763
+ SENSITIVE = []
2764
+ include Aws::Structure
2765
+ end
2766
+
2767
+ # An object that represents the status of the mesh resource.
2768
+ #
2769
+ # @!attribute [rw] status
2770
+ # The current status.
2771
+ # @return [String]
2772
+ #
2773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayStatus AWS API Documentation
2774
+ #
2775
+ class VirtualGatewayStatus < Struct.new(
2776
+ :status)
2777
+ SENSITIVE = []
2778
+ include Aws::Structure
2779
+ end
2780
+
2781
+ # An object that represents the current status of a gateway route.
2782
+ #
2783
+ # @!attribute [rw] status
2784
+ # The current status for the gateway route.
2785
+ # @return [String]
2786
+ #
2787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteStatus AWS API Documentation
2788
+ #
2789
+ class GatewayRouteStatus < Struct.new(
2790
+ :status)
2791
+ SENSITIVE = []
2792
+ include Aws::Structure
2793
+ end
2794
+
1603
2795
  # @note When making an API call, you may pass TagResourceInput
1604
2796
  # data as a hash:
1605
2797
  #
@@ -1633,6 +2825,71 @@ module Aws::AppMesh
1633
2825
  include Aws::Structure
1634
2826
  end
1635
2827
 
2828
+ # @!attribute [rw] virtual_gateway
2829
+ # The full description of your virtual gateway following the create
2830
+ # call.
2831
+ # @return [Types::VirtualGatewayData]
2832
+ #
2833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGatewayOutput AWS API Documentation
2834
+ #
2835
+ class CreateVirtualGatewayOutput < Struct.new(
2836
+ :virtual_gateway)
2837
+ SENSITIVE = []
2838
+ include Aws::Structure
2839
+ end
2840
+
2841
+ # @!attribute [rw] next_token
2842
+ # The `nextToken` value to include in a future `ListVirtualGateways`
2843
+ # request. When the results of a `ListVirtualGateways` request exceed
2844
+ # `limit`, you can use this value to retrieve the next page of
2845
+ # results. This value is `null` when there are no more results to
2846
+ # return.
2847
+ # @return [String]
2848
+ #
2849
+ # @!attribute [rw] virtual_gateways
2850
+ # The list of existing virtual gateways for the specified service
2851
+ # mesh.
2852
+ # @return [Array<Types::VirtualGatewayRef>]
2853
+ #
2854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGatewaysOutput AWS API Documentation
2855
+ #
2856
+ class ListVirtualGatewaysOutput < Struct.new(
2857
+ :next_token,
2858
+ :virtual_gateways)
2859
+ SENSITIVE = []
2860
+ include Aws::Structure
2861
+ end
2862
+
2863
+ # An object that represents a Transport Layer Security (TLS) validation
2864
+ # context.
2865
+ #
2866
+ # @note When making an API call, you may pass VirtualGatewayTlsValidationContext
2867
+ # data as a hash:
2868
+ #
2869
+ # {
2870
+ # trust: { # required
2871
+ # acm: {
2872
+ # certificate_authority_arns: ["Arn"], # required
2873
+ # },
2874
+ # file: {
2875
+ # certificate_chain: "FilePath", # required
2876
+ # },
2877
+ # },
2878
+ # }
2879
+ #
2880
+ # @!attribute [rw] trust
2881
+ # A reference to an object that represents a TLS validation context
2882
+ # trust.
2883
+ # @return [Types::VirtualGatewayTlsValidationContextTrust]
2884
+ #
2885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayTlsValidationContext AWS API Documentation
2886
+ #
2887
+ class VirtualGatewayTlsValidationContext < Struct.new(
2888
+ :trust)
2889
+ SENSITIVE = []
2890
+ include Aws::Structure
2891
+ end
2892
+
1636
2893
  # An object that represents the provider for a virtual service.
1637
2894
  #
1638
2895
  # @note When making an API call, you may pass VirtualServiceProvider
@@ -2208,6 +3465,128 @@ module Aws::AppMesh
2208
3465
  include Aws::Structure
2209
3466
  end
2210
3467
 
3468
+ # An object that represents a gateway route returned by a list
3469
+ # operation.
3470
+ #
3471
+ # @!attribute [rw] arn
3472
+ # The full Amazon Resource Name (ARN) for the gateway route.
3473
+ # @return [String]
3474
+ #
3475
+ # @!attribute [rw] created_at
3476
+ # The Unix epoch timestamp in seconds for when the resource was
3477
+ # created.
3478
+ # @return [Time]
3479
+ #
3480
+ # @!attribute [rw] gateway_route_name
3481
+ # The name of the gateway route.
3482
+ # @return [String]
3483
+ #
3484
+ # @!attribute [rw] last_updated_at
3485
+ # The Unix epoch timestamp in seconds for when the resource was last
3486
+ # updated.
3487
+ # @return [Time]
3488
+ #
3489
+ # @!attribute [rw] mesh_name
3490
+ # The name of the service mesh that the resource resides in.
3491
+ # @return [String]
3492
+ #
3493
+ # @!attribute [rw] mesh_owner
3494
+ # The AWS IAM account ID of the service mesh owner. If the account ID
3495
+ # is not your own, then it's the ID of the account that shared the
3496
+ # mesh with your account. For more information about mesh sharing, see
3497
+ # [Working with shared meshes][1].
3498
+ #
3499
+ #
3500
+ #
3501
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3502
+ # @return [String]
3503
+ #
3504
+ # @!attribute [rw] resource_owner
3505
+ # The AWS IAM account ID of the resource owner. If the account ID is
3506
+ # not your own, then it's the ID of the mesh owner or of another
3507
+ # account that the mesh is shared with. For more information about
3508
+ # mesh sharing, see [Working with shared meshes][1].
3509
+ #
3510
+ #
3511
+ #
3512
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3513
+ # @return [String]
3514
+ #
3515
+ # @!attribute [rw] version
3516
+ # The version of the resource. Resources are created at version 1, and
3517
+ # this version is incremented each time that they're updated.
3518
+ # @return [Integer]
3519
+ #
3520
+ # @!attribute [rw] virtual_gateway_name
3521
+ # The virtual gateway that the gateway route is associated with.
3522
+ # @return [String]
3523
+ #
3524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteRef AWS API Documentation
3525
+ #
3526
+ class GatewayRouteRef < Struct.new(
3527
+ :arn,
3528
+ :created_at,
3529
+ :gateway_route_name,
3530
+ :last_updated_at,
3531
+ :mesh_name,
3532
+ :mesh_owner,
3533
+ :resource_owner,
3534
+ :version,
3535
+ :virtual_gateway_name)
3536
+ SENSITIVE = []
3537
+ include Aws::Structure
3538
+ end
3539
+
3540
+ # An object that represents an AWS Certicate Manager (ACM) certificate.
3541
+ #
3542
+ # @note When making an API call, you may pass VirtualGatewayListenerTlsAcmCertificate
3543
+ # data as a hash:
3544
+ #
3545
+ # {
3546
+ # certificate_arn: "Arn", # required
3547
+ # }
3548
+ #
3549
+ # @!attribute [rw] certificate_arn
3550
+ # The Amazon Resource Name (ARN) for the certificate. The certificate
3551
+ # must meet specific requirements and you must have proxy
3552
+ # authorization enabled. For more information, see [Transport Layer
3553
+ # Security (TLS)][1].
3554
+ #
3555
+ #
3556
+ #
3557
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites
3558
+ # @return [String]
3559
+ #
3560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListenerTlsAcmCertificate AWS API Documentation
3561
+ #
3562
+ class VirtualGatewayListenerTlsAcmCertificate < Struct.new(
3563
+ :certificate_arn)
3564
+ SENSITIVE = []
3565
+ include Aws::Structure
3566
+ end
3567
+
3568
+ # @!attribute [rw] gateway_routes
3569
+ # The list of existing gateway routes for the specified service mesh
3570
+ # and virtual gateway.
3571
+ # @return [Array<Types::GatewayRouteRef>]
3572
+ #
3573
+ # @!attribute [rw] next_token
3574
+ # The `nextToken` value to include in a future `ListGatewayRoutes`
3575
+ # request. When the results of a `ListGatewayRoutes` request exceed
3576
+ # `limit`, you can use this value to retrieve the next page of
3577
+ # results. This value is `null` when there are no more results to
3578
+ # return.
3579
+ # @return [String]
3580
+ #
3581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutesOutput AWS API Documentation
3582
+ #
3583
+ class ListGatewayRoutesOutput < Struct.new(
3584
+ :gateway_routes,
3585
+ :next_token)
3586
+ SENSITIVE = []
3587
+ include Aws::Structure
3588
+ end
3589
+
2211
3590
  # @!attribute [rw] virtual_service
2212
3591
  # The full description of your virtual service following the create
2213
3592
  # call.
@@ -2273,6 +3652,8 @@ module Aws::AppMesh
2273
3652
  include Aws::Structure
2274
3653
  end
2275
3654
 
3655
+ # An object that represents types of timeouts.
3656
+ #
2276
3657
  # @note When making an API call, you may pass HttpTimeout
2277
3658
  # data as a hash:
2278
3659
  #
@@ -2372,14 +3753,78 @@ module Aws::AppMesh
2372
3753
  include Aws::Structure
2373
3754
  end
2374
3755
 
2375
- # @!attribute [rw] virtual_router
2376
- # The virtual router that was deleted.
2377
- # @return [Types::VirtualRouterData]
3756
+ # @!attribute [rw] virtual_router
3757
+ # The virtual router that was deleted.
3758
+ # @return [Types::VirtualRouterData]
3759
+ #
3760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouterOutput AWS API Documentation
3761
+ #
3762
+ class DeleteVirtualRouterOutput < Struct.new(
3763
+ :virtual_router)
3764
+ SENSITIVE = []
3765
+ include Aws::Structure
3766
+ end
3767
+
3768
+ # @note When making an API call, you may pass DescribeVirtualGatewayInput
3769
+ # data as a hash:
3770
+ #
3771
+ # {
3772
+ # mesh_name: "ResourceName", # required
3773
+ # mesh_owner: "AccountId",
3774
+ # virtual_gateway_name: "ResourceName", # required
3775
+ # }
3776
+ #
3777
+ # @!attribute [rw] mesh_name
3778
+ # The name of the service mesh that the gateway route resides in.
3779
+ # @return [String]
3780
+ #
3781
+ # @!attribute [rw] mesh_owner
3782
+ # The AWS IAM account ID of the service mesh owner. If the account ID
3783
+ # is not your own, then it's the ID of the account that shared the
3784
+ # mesh with your account. For more information about mesh sharing, see
3785
+ # [Working with shared meshes][1].
3786
+ #
3787
+ #
3788
+ #
3789
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
3790
+ # @return [String]
3791
+ #
3792
+ # @!attribute [rw] virtual_gateway_name
3793
+ # The name of the virtual gateway to describe.
3794
+ # @return [String]
3795
+ #
3796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGatewayInput AWS API Documentation
3797
+ #
3798
+ class DescribeVirtualGatewayInput < Struct.new(
3799
+ :mesh_name,
3800
+ :mesh_owner,
3801
+ :virtual_gateway_name)
3802
+ SENSITIVE = []
3803
+ include Aws::Structure
3804
+ end
3805
+
3806
+ # An object that represents the action to take if a match is determined.
2378
3807
  #
2379
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouterOutput AWS API Documentation
3808
+ # @note When making an API call, you may pass GrpcGatewayRouteAction
3809
+ # data as a hash:
2380
3810
  #
2381
- class DeleteVirtualRouterOutput < Struct.new(
2382
- :virtual_router)
3811
+ # {
3812
+ # target: { # required
3813
+ # virtual_service: { # required
3814
+ # virtual_service_name: "ResourceName", # required
3815
+ # },
3816
+ # },
3817
+ # }
3818
+ #
3819
+ # @!attribute [rw] target
3820
+ # An object that represents the target that traffic is routed to when
3821
+ # a request matches the gateway route.
3822
+ # @return [Types::GatewayRouteTarget]
3823
+ #
3824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteAction AWS API Documentation
3825
+ #
3826
+ class GrpcGatewayRouteAction < Struct.new(
3827
+ :target)
2383
3828
  SENSITIVE = []
2384
3829
  include Aws::Structure
2385
3830
  end
@@ -2791,6 +4236,55 @@ module Aws::AppMesh
2791
4236
  include Aws::Structure
2792
4237
  end
2793
4238
 
4239
+ # An object that represents the action to take if a match is determined.
4240
+ #
4241
+ # @note When making an API call, you may pass HttpGatewayRouteAction
4242
+ # data as a hash:
4243
+ #
4244
+ # {
4245
+ # target: { # required
4246
+ # virtual_service: { # required
4247
+ # virtual_service_name: "ResourceName", # required
4248
+ # },
4249
+ # },
4250
+ # }
4251
+ #
4252
+ # @!attribute [rw] target
4253
+ # An object that represents the target that traffic is routed to when
4254
+ # a request matches the gateway route.
4255
+ # @return [Types::GatewayRouteTarget]
4256
+ #
4257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteAction AWS API Documentation
4258
+ #
4259
+ class HttpGatewayRouteAction < Struct.new(
4260
+ :target)
4261
+ SENSITIVE = []
4262
+ include Aws::Structure
4263
+ end
4264
+
4265
+ # An object that represents the criteria for determining a request
4266
+ # match.
4267
+ #
4268
+ # @note When making an API call, you may pass GrpcGatewayRouteMatch
4269
+ # data as a hash:
4270
+ #
4271
+ # {
4272
+ # service_name: "ServiceName",
4273
+ # }
4274
+ #
4275
+ # @!attribute [rw] service_name
4276
+ # The fully qualified domain name for the service to match from the
4277
+ # request.
4278
+ # @return [String]
4279
+ #
4280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteMatch AWS API Documentation
4281
+ #
4282
+ class GrpcGatewayRouteMatch < Struct.new(
4283
+ :service_name)
4284
+ SENSITIVE = []
4285
+ include Aws::Structure
4286
+ end
4287
+
2794
4288
  # @note When making an API call, you may pass ListTagsForResourceInput
2795
4289
  # data as a hash:
2796
4290
  #
@@ -2897,6 +4391,18 @@ module Aws::AppMesh
2897
4391
  include Aws::Structure
2898
4392
  end
2899
4393
 
4394
+ # @!attribute [rw] gateway_route
4395
+ # A full description of the gateway route that was updated.
4396
+ # @return [Types::GatewayRouteData]
4397
+ #
4398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRouteOutput AWS API Documentation
4399
+ #
4400
+ class UpdateGatewayRouteOutput < Struct.new(
4401
+ :gateway_route)
4402
+ SENSITIVE = []
4403
+ include Aws::Structure
4404
+ end
4405
+
2900
4406
  # @note When making an API call, you may pass DescribeRouteInput
2901
4407
  # data as a hash:
2902
4408
  #
@@ -2953,6 +4459,18 @@ module Aws::AppMesh
2953
4459
  include Aws::Structure
2954
4460
  end
2955
4461
 
4462
+ # @!attribute [rw] gateway_route
4463
+ # The gateway route that was deleted.
4464
+ # @return [Types::GatewayRouteData]
4465
+ #
4466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRouteOutput AWS API Documentation
4467
+ #
4468
+ class DeleteGatewayRouteOutput < Struct.new(
4469
+ :gateway_route)
4470
+ SENSITIVE = []
4471
+ include Aws::Structure
4472
+ end
4473
+
2956
4474
  # @note When making an API call, you may pass UpdateVirtualServiceInput
2957
4475
  # data as a hash:
2958
4476
  #
@@ -3184,6 +4702,8 @@ module Aws::AppMesh
3184
4702
  include Aws::Structure
3185
4703
  end
3186
4704
 
4705
+ # An object that represents types of timeouts.
4706
+ #
3187
4707
  # @note When making an API call, you may pass GrpcTimeout
3188
4708
  # data as a hash:
3189
4709
  #
@@ -3199,11 +4719,19 @@ module Aws::AppMesh
3199
4719
  # }
3200
4720
  #
3201
4721
  # @!attribute [rw] idle
3202
- # An object that represents a duration of time.
4722
+ # An object that represents an idle timeout. An idle timeout bounds
4723
+ # the amount of time that a connection may be idle. The default value
4724
+ # is none.
3203
4725
  # @return [Types::Duration]
3204
4726
  #
3205
4727
  # @!attribute [rw] per_request
3206
- # An object that represents a duration of time.
4728
+ # An object that represents a per request timeout. The default value
4729
+ # is 15 seconds. If you set a higher timeout, then make sure that the
4730
+ # higher value is set for each App Mesh resource in a conversation.
4731
+ # For example, if a virtual node backend uses a virtual router
4732
+ # provider to route to another virtual node, then the timeout should
4733
+ # be greater than 15 seconds for the source and destination virtual
4734
+ # node and the route.
3207
4735
  # @return [Types::Duration]
3208
4736
  #
3209
4737
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcTimeout AWS API Documentation
@@ -3523,6 +5051,29 @@ module Aws::AppMesh
3523
5051
  include Aws::Structure
3524
5052
  end
3525
5053
 
5054
+ # An object that represents a Transport Layer Security (TLS) validation
5055
+ # context trust for a local file.
5056
+ #
5057
+ # @note When making an API call, you may pass VirtualGatewayTlsValidationContextFileTrust
5058
+ # data as a hash:
5059
+ #
5060
+ # {
5061
+ # certificate_chain: "FilePath", # required
5062
+ # }
5063
+ #
5064
+ # @!attribute [rw] certificate_chain
5065
+ # The certificate trust chain for a certificate stored on the file
5066
+ # system of the virtual node that the proxy is running on.
5067
+ # @return [String]
5068
+ #
5069
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayTlsValidationContextFileTrust AWS API Documentation
5070
+ #
5071
+ class VirtualGatewayTlsValidationContextFileTrust < Struct.new(
5072
+ :certificate_chain)
5073
+ SENSITIVE = []
5074
+ include Aws::Structure
5075
+ end
5076
+
3526
5077
  # You have exceeded a service limit for your account. For more
3527
5078
  # information, see [Service Limits][1] in the *AWS App Mesh User Guide*.
3528
5079
  #
@@ -3703,6 +5254,51 @@ module Aws::AppMesh
3703
5254
  include Aws::Structure
3704
5255
  end
3705
5256
 
5257
+ # An object that represents a TLS validation context trust for an AWS
5258
+ # Certicate Manager (ACM) certificate.
5259
+ #
5260
+ # @note When making an API call, you may pass VirtualGatewayTlsValidationContextAcmTrust
5261
+ # data as a hash:
5262
+ #
5263
+ # {
5264
+ # certificate_authority_arns: ["Arn"], # required
5265
+ # }
5266
+ #
5267
+ # @!attribute [rw] certificate_authority_arns
5268
+ # One or more ACM Amazon Resource Name (ARN)s.
5269
+ # @return [Array<String>]
5270
+ #
5271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayTlsValidationContextAcmTrust AWS API Documentation
5272
+ #
5273
+ class VirtualGatewayTlsValidationContextAcmTrust < Struct.new(
5274
+ :certificate_authority_arns)
5275
+ SENSITIVE = []
5276
+ include Aws::Structure
5277
+ end
5278
+
5279
+ # The access log configuration for a virtual gateway.
5280
+ #
5281
+ # @note When making an API call, you may pass VirtualGatewayAccessLog
5282
+ # data as a hash:
5283
+ #
5284
+ # {
5285
+ # file: {
5286
+ # path: "FilePath", # required
5287
+ # },
5288
+ # }
5289
+ #
5290
+ # @!attribute [rw] file
5291
+ # The file object to send virtual gateway access logs to.
5292
+ # @return [Types::VirtualGatewayFileAccessLog]
5293
+ #
5294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayAccessLog AWS API Documentation
5295
+ #
5296
+ class VirtualGatewayAccessLog < Struct.new(
5297
+ :file)
5298
+ SENSITIVE = []
5299
+ include Aws::Structure
5300
+ end
5301
+
3706
5302
  # An object that represents the range of values to match on. The first
3707
5303
  # character of the range is included in the range, though the last
3708
5304
  # character is not. For example, if the range specified were 1-100, only
@@ -3760,6 +5356,7 @@ module Aws::AppMesh
3760
5356
  # @return [Types::TcpRouteAction]
3761
5357
  #
3762
5358
  # @!attribute [rw] timeout
5359
+ # An object that represents types of timeouts.
3763
5360
  # @return [Types::TcpTimeout]
3764
5361
  #
3765
5362
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TcpRoute AWS API Documentation
@@ -3771,6 +5368,18 @@ module Aws::AppMesh
3771
5368
  include Aws::Structure
3772
5369
  end
3773
5370
 
5371
+ # @!attribute [rw] virtual_gateway
5372
+ # A full description of the virtual gateway that was updated.
5373
+ # @return [Types::VirtualGatewayData]
5374
+ #
5375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGatewayOutput AWS API Documentation
5376
+ #
5377
+ class UpdateVirtualGatewayOutput < Struct.new(
5378
+ :virtual_gateway)
5379
+ SENSITIVE = []
5380
+ include Aws::Structure
5381
+ end
5382
+
3774
5383
  # @note When making an API call, you may pass ListVirtualRoutersInput
3775
5384
  # data as a hash:
3776
5385
  #
@@ -3957,6 +5566,41 @@ module Aws::AppMesh
3957
5566
  include Aws::Structure
3958
5567
  end
3959
5568
 
5569
+ # An object that represents a client policy.
5570
+ #
5571
+ # @note When making an API call, you may pass VirtualGatewayClientPolicy
5572
+ # data as a hash:
5573
+ #
5574
+ # {
5575
+ # tls: {
5576
+ # enforce: false,
5577
+ # ports: [1],
5578
+ # validation: { # required
5579
+ # trust: { # required
5580
+ # acm: {
5581
+ # certificate_authority_arns: ["Arn"], # required
5582
+ # },
5583
+ # file: {
5584
+ # certificate_chain: "FilePath", # required
5585
+ # },
5586
+ # },
5587
+ # },
5588
+ # },
5589
+ # }
5590
+ #
5591
+ # @!attribute [rw] tls
5592
+ # A reference to an object that represents a Transport Layer Security
5593
+ # (TLS) client policy.
5594
+ # @return [Types::VirtualGatewayClientPolicyTls]
5595
+ #
5596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayClientPolicy AWS API Documentation
5597
+ #
5598
+ class VirtualGatewayClientPolicy < Struct.new(
5599
+ :tls)
5600
+ SENSITIVE = []
5601
+ include Aws::Structure
5602
+ end
5603
+
3960
5604
  # The maximum request rate permitted by the App Mesh APIs has been
3961
5605
  # exceeded for your account. For best results, use an increasing or
3962
5606
  # variable sleep interval between requests.
@@ -3972,6 +5616,54 @@ module Aws::AppMesh
3972
5616
  include Aws::Structure
3973
5617
  end
3974
5618
 
5619
+ # An object that represents logging information.
5620
+ #
5621
+ # @note When making an API call, you may pass VirtualGatewayLogging
5622
+ # data as a hash:
5623
+ #
5624
+ # {
5625
+ # access_log: {
5626
+ # file: {
5627
+ # path: "FilePath", # required
5628
+ # },
5629
+ # },
5630
+ # }
5631
+ #
5632
+ # @!attribute [rw] access_log
5633
+ # The access log configuration.
5634
+ # @return [Types::VirtualGatewayAccessLog]
5635
+ #
5636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayLogging AWS API Documentation
5637
+ #
5638
+ class VirtualGatewayLogging < Struct.new(
5639
+ :access_log)
5640
+ SENSITIVE = []
5641
+ include Aws::Structure
5642
+ end
5643
+
5644
+ # An object that represents a gateway route target.
5645
+ #
5646
+ # @note When making an API call, you may pass GatewayRouteTarget
5647
+ # data as a hash:
5648
+ #
5649
+ # {
5650
+ # virtual_service: { # required
5651
+ # virtual_service_name: "ResourceName", # required
5652
+ # },
5653
+ # }
5654
+ #
5655
+ # @!attribute [rw] virtual_service
5656
+ # An object that represents a virtual service gateway route target.
5657
+ # @return [Types::GatewayRouteVirtualService]
5658
+ #
5659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteTarget AWS API Documentation
5660
+ #
5661
+ class GatewayRouteTarget < Struct.new(
5662
+ :virtual_service)
5663
+ SENSITIVE = []
5664
+ include Aws::Structure
5665
+ end
5666
+
3975
5667
  # An object that represents a duration of time.
3976
5668
  #
3977
5669
  # @note When making an API call, you may pass Duration
@@ -4196,6 +5888,19 @@ module Aws::AppMesh
4196
5888
  include Aws::Structure
4197
5889
  end
4198
5890
 
5891
+ # @!attribute [rw] gateway_route
5892
+ # The full description of your gateway route following the create
5893
+ # call.
5894
+ # @return [Types::GatewayRouteData]
5895
+ #
5896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRouteOutput AWS API Documentation
5897
+ #
5898
+ class CreateGatewayRouteOutput < Struct.new(
5899
+ :gateway_route)
5900
+ SENSITIVE = []
5901
+ include Aws::Structure
5902
+ end
5903
+
4199
5904
  # An object that represents the status of a virtual router.
4200
5905
  #
4201
5906
  # @!attribute [rw] status
@@ -4237,6 +5942,44 @@ module Aws::AppMesh
4237
5942
  include Aws::Structure
4238
5943
  end
4239
5944
 
5945
+ # @note When making an API call, you may pass DeleteVirtualGatewayInput
5946
+ # data as a hash:
5947
+ #
5948
+ # {
5949
+ # mesh_name: "ResourceName", # required
5950
+ # mesh_owner: "AccountId",
5951
+ # virtual_gateway_name: "ResourceName", # required
5952
+ # }
5953
+ #
5954
+ # @!attribute [rw] mesh_name
5955
+ # The name of the service mesh to delete the virtual gateway from.
5956
+ # @return [String]
5957
+ #
5958
+ # @!attribute [rw] mesh_owner
5959
+ # The AWS IAM account ID of the service mesh owner. If the account ID
5960
+ # is not your own, then it's the ID of the account that shared the
5961
+ # mesh with your account. For more information about mesh sharing, see
5962
+ # [Working with shared meshes][1].
5963
+ #
5964
+ #
5965
+ #
5966
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
5967
+ # @return [String]
5968
+ #
5969
+ # @!attribute [rw] virtual_gateway_name
5970
+ # The name of the virtual gateway to delete.
5971
+ # @return [String]
5972
+ #
5973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGatewayInput AWS API Documentation
5974
+ #
5975
+ class DeleteVirtualGatewayInput < Struct.new(
5976
+ :mesh_name,
5977
+ :mesh_owner,
5978
+ :virtual_gateway_name)
5979
+ SENSITIVE = []
5980
+ include Aws::Structure
5981
+ end
5982
+
4240
5983
  # @note When making an API call, you may pass DescribeVirtualNodeInput
4241
5984
  # data as a hash:
4242
5985
  #
@@ -4369,6 +6112,7 @@ module Aws::AppMesh
4369
6112
  # @return [Types::PortMapping]
4370
6113
  #
4371
6114
  # @!attribute [rw] timeout
6115
+ # An object that represents timeouts for different protocols.
4372
6116
  # @return [Types::ListenerTimeout]
4373
6117
  #
4374
6118
  # @!attribute [rw] tls
@@ -4458,6 +6202,7 @@ module Aws::AppMesh
4458
6202
  # @return [Types::GrpcRetryPolicy]
4459
6203
  #
4460
6204
  # @!attribute [rw] timeout
6205
+ # An object that represents types of timeouts.
4461
6206
  # @return [Types::GrpcTimeout]
4462
6207
  #
4463
6208
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcRoute AWS API Documentation
@@ -4515,6 +6260,40 @@ module Aws::AppMesh
4515
6260
  include Aws::Structure
4516
6261
  end
4517
6262
 
6263
+ # An object that represents a Transport Layer Security (TLS) validation
6264
+ # context trust.
6265
+ #
6266
+ # @note When making an API call, you may pass VirtualGatewayTlsValidationContextTrust
6267
+ # data as a hash:
6268
+ #
6269
+ # {
6270
+ # acm: {
6271
+ # certificate_authority_arns: ["Arn"], # required
6272
+ # },
6273
+ # file: {
6274
+ # certificate_chain: "FilePath", # required
6275
+ # },
6276
+ # }
6277
+ #
6278
+ # @!attribute [rw] acm
6279
+ # A reference to an object that represents a TLS validation context
6280
+ # trust for an AWS Certicate Manager (ACM) certificate.
6281
+ # @return [Types::VirtualGatewayTlsValidationContextAcmTrust]
6282
+ #
6283
+ # @!attribute [rw] file
6284
+ # An object that represents a TLS validation context trust for a local
6285
+ # file.
6286
+ # @return [Types::VirtualGatewayTlsValidationContextFileTrust]
6287
+ #
6288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayTlsValidationContextTrust AWS API Documentation
6289
+ #
6290
+ class VirtualGatewayTlsValidationContextTrust < Struct.new(
6291
+ :acm,
6292
+ :file)
6293
+ SENSITIVE = []
6294
+ include Aws::Structure
6295
+ end
6296
+
4518
6297
  # @!attribute [rw] virtual_service
4519
6298
  # The virtual service that was deleted.
4520
6299
  # @return [Types::VirtualServiceData]
@@ -4548,6 +6327,43 @@ module Aws::AppMesh
4548
6327
  include Aws::Structure
4549
6328
  end
4550
6329
 
6330
+ # An object that represents an HTTP gateway route.
6331
+ #
6332
+ # @note When making an API call, you may pass HttpGatewayRoute
6333
+ # data as a hash:
6334
+ #
6335
+ # {
6336
+ # action: { # required
6337
+ # target: { # required
6338
+ # virtual_service: { # required
6339
+ # virtual_service_name: "ResourceName", # required
6340
+ # },
6341
+ # },
6342
+ # },
6343
+ # match: { # required
6344
+ # prefix: "String", # required
6345
+ # },
6346
+ # }
6347
+ #
6348
+ # @!attribute [rw] action
6349
+ # An object that represents the action to take if a match is
6350
+ # determined.
6351
+ # @return [Types::HttpGatewayRouteAction]
6352
+ #
6353
+ # @!attribute [rw] match
6354
+ # An object that represents the criteria for determining a request
6355
+ # match.
6356
+ # @return [Types::HttpGatewayRouteMatch]
6357
+ #
6358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoute AWS API Documentation
6359
+ #
6360
+ class HttpGatewayRoute < Struct.new(
6361
+ :action,
6362
+ :match)
6363
+ SENSITIVE = []
6364
+ include Aws::Structure
6365
+ end
6366
+
4551
6367
  # An object that represents the default properties for a backend.
4552
6368
  #
4553
6369
  # @note When making an API call, you may pass BackendDefaults
@@ -4730,6 +6546,160 @@ module Aws::AppMesh
4730
6546
  include Aws::Structure
4731
6547
  end
4732
6548
 
6549
+ # @note When making an API call, you may pass UpdateGatewayRouteInput
6550
+ # data as a hash:
6551
+ #
6552
+ # {
6553
+ # client_token: "String",
6554
+ # gateway_route_name: "ResourceName", # required
6555
+ # mesh_name: "ResourceName", # required
6556
+ # mesh_owner: "AccountId",
6557
+ # spec: { # required
6558
+ # grpc_route: {
6559
+ # action: { # required
6560
+ # target: { # required
6561
+ # virtual_service: { # required
6562
+ # virtual_service_name: "ResourceName", # required
6563
+ # },
6564
+ # },
6565
+ # },
6566
+ # match: { # required
6567
+ # service_name: "ServiceName",
6568
+ # },
6569
+ # },
6570
+ # http2_route: {
6571
+ # action: { # required
6572
+ # target: { # required
6573
+ # virtual_service: { # required
6574
+ # virtual_service_name: "ResourceName", # required
6575
+ # },
6576
+ # },
6577
+ # },
6578
+ # match: { # required
6579
+ # prefix: "String", # required
6580
+ # },
6581
+ # },
6582
+ # http_route: {
6583
+ # action: { # required
6584
+ # target: { # required
6585
+ # virtual_service: { # required
6586
+ # virtual_service_name: "ResourceName", # required
6587
+ # },
6588
+ # },
6589
+ # },
6590
+ # match: { # required
6591
+ # prefix: "String", # required
6592
+ # },
6593
+ # },
6594
+ # },
6595
+ # virtual_gateway_name: "ResourceName", # required
6596
+ # }
6597
+ #
6598
+ # @!attribute [rw] client_token
6599
+ # Unique, case-sensitive identifier that you provide to ensure the
6600
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
6601
+ # underscores are allowed.
6602
+ #
6603
+ # **A suitable default value is auto-generated.** You should normally
6604
+ # not need to pass this option.
6605
+ # @return [String]
6606
+ #
6607
+ # @!attribute [rw] gateway_route_name
6608
+ # The name of the gateway route to update.
6609
+ # @return [String]
6610
+ #
6611
+ # @!attribute [rw] mesh_name
6612
+ # The name of the service mesh that the gateway route resides in.
6613
+ # @return [String]
6614
+ #
6615
+ # @!attribute [rw] mesh_owner
6616
+ # The AWS IAM account ID of the service mesh owner. If the account ID
6617
+ # is not your own, then it's the ID of the account that shared the
6618
+ # mesh with your account. For more information about mesh sharing, see
6619
+ # [Working with shared meshes][1].
6620
+ #
6621
+ #
6622
+ #
6623
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
6624
+ # @return [String]
6625
+ #
6626
+ # @!attribute [rw] spec
6627
+ # The new gateway route specification to apply. This overwrites the
6628
+ # existing data.
6629
+ # @return [Types::GatewayRouteSpec]
6630
+ #
6631
+ # @!attribute [rw] virtual_gateway_name
6632
+ # The name of the virtual gateway that the gateway route is associated
6633
+ # with.
6634
+ # @return [String]
6635
+ #
6636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRouteInput AWS API Documentation
6637
+ #
6638
+ class UpdateGatewayRouteInput < Struct.new(
6639
+ :client_token,
6640
+ :gateway_route_name,
6641
+ :mesh_name,
6642
+ :mesh_owner,
6643
+ :spec,
6644
+ :virtual_gateway_name)
6645
+ SENSITIVE = []
6646
+ include Aws::Structure
6647
+ end
6648
+
6649
+ # @note When making an API call, you may pass ListVirtualGatewaysInput
6650
+ # data as a hash:
6651
+ #
6652
+ # {
6653
+ # limit: 1,
6654
+ # mesh_name: "ResourceName", # required
6655
+ # mesh_owner: "AccountId",
6656
+ # next_token: "String",
6657
+ # }
6658
+ #
6659
+ # @!attribute [rw] limit
6660
+ # The maximum number of results returned by `ListVirtualGateways` in
6661
+ # paginated output. When you use this parameter, `ListVirtualGateways`
6662
+ # returns only `limit` results in a single page along with a
6663
+ # `nextToken` response element. You can see the remaining results of
6664
+ # the initial request by sending another `ListVirtualGateways` request
6665
+ # with the returned `nextToken` value. This value can be between 1 and
6666
+ # 100. If you don't use this parameter, `ListVirtualGateways` returns
6667
+ # up to 100 results and a `nextToken` value if applicable.
6668
+ # @return [Integer]
6669
+ #
6670
+ # @!attribute [rw] mesh_name
6671
+ # The name of the service mesh to list virtual gateways in.
6672
+ # @return [String]
6673
+ #
6674
+ # @!attribute [rw] mesh_owner
6675
+ # The AWS IAM account ID of the service mesh owner. If the account ID
6676
+ # is not your own, then it's the ID of the account that shared the
6677
+ # mesh with your account. For more information about mesh sharing, see
6678
+ # [Working with shared meshes][1].
6679
+ #
6680
+ #
6681
+ #
6682
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
6683
+ # @return [String]
6684
+ #
6685
+ # @!attribute [rw] next_token
6686
+ # The `nextToken` value returned from a previous paginated
6687
+ # `ListVirtualGateways` request where `limit` was used and the results
6688
+ # exceeded the value of that parameter. Pagination continues from the
6689
+ # end of the previous results that returned the `nextToken` value.
6690
+ # @return [String]
6691
+ #
6692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGatewaysInput AWS API Documentation
6693
+ #
6694
+ class ListVirtualGatewaysInput < Struct.new(
6695
+ :limit,
6696
+ :mesh_name,
6697
+ :mesh_owner,
6698
+ :next_token)
6699
+ SENSITIVE = []
6700
+ include Aws::Structure
6701
+ end
6702
+
4733
6703
  # An object that represents a Transport Layer Security (TLS) validation
4734
6704
  # context trust for a local file.
4735
6705
  #
@@ -5043,6 +7013,8 @@ module Aws::AppMesh
5043
7013
  include Aws::Structure
5044
7014
  end
5045
7015
 
7016
+ # An object that represents types of timeouts.
7017
+ #
5046
7018
  # @note When making an API call, you may pass TcpTimeout
5047
7019
  # data as a hash:
5048
7020
  #
@@ -5065,6 +7037,50 @@ module Aws::AppMesh
5065
7037
  include Aws::Structure
5066
7038
  end
5067
7039
 
7040
+ # @note When making an API call, you may pass DeleteGatewayRouteInput
7041
+ # data as a hash:
7042
+ #
7043
+ # {
7044
+ # gateway_route_name: "ResourceName", # required
7045
+ # mesh_name: "ResourceName", # required
7046
+ # mesh_owner: "AccountId",
7047
+ # virtual_gateway_name: "ResourceName", # required
7048
+ # }
7049
+ #
7050
+ # @!attribute [rw] gateway_route_name
7051
+ # The name of the gateway route to delete.
7052
+ # @return [String]
7053
+ #
7054
+ # @!attribute [rw] mesh_name
7055
+ # The name of the service mesh to delete the gateway route from.
7056
+ # @return [String]
7057
+ #
7058
+ # @!attribute [rw] mesh_owner
7059
+ # The AWS IAM account ID of the service mesh owner. If the account ID
7060
+ # is not your own, then it's the ID of the account that shared the
7061
+ # mesh with your account. For more information about mesh sharing, see
7062
+ # [Working with shared meshes][1].
7063
+ #
7064
+ #
7065
+ #
7066
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
7067
+ # @return [String]
7068
+ #
7069
+ # @!attribute [rw] virtual_gateway_name
7070
+ # The name of the virtual gateway to delete the route from.
7071
+ # @return [String]
7072
+ #
7073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRouteInput AWS API Documentation
7074
+ #
7075
+ class DeleteGatewayRouteInput < Struct.new(
7076
+ :gateway_route_name,
7077
+ :mesh_name,
7078
+ :mesh_owner,
7079
+ :virtual_gateway_name)
7080
+ SENSITIVE = []
7081
+ include Aws::Structure
7082
+ end
7083
+
5068
7084
  # @note When making an API call, you may pass UpdateRouteInput
5069
7085
  # data as a hash:
5070
7086
  #
@@ -5366,6 +7382,7 @@ module Aws::AppMesh
5366
7382
  # @return [Types::HttpRetryPolicy]
5367
7383
  #
5368
7384
  # @!attribute [rw] timeout
7385
+ # An object that represents types of timeouts.
5369
7386
  # @return [Types::HttpTimeout]
5370
7387
  #
5371
7388
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRoute AWS API Documentation
@@ -5411,6 +7428,73 @@ module Aws::AppMesh
5411
7428
  include Aws::Structure
5412
7429
  end
5413
7430
 
7431
+ # An object that represents a virtual gateway returned by a list
7432
+ # operation.
7433
+ #
7434
+ # @!attribute [rw] arn
7435
+ # The full Amazon Resource Name (ARN) for the resource.
7436
+ # @return [String]
7437
+ #
7438
+ # @!attribute [rw] created_at
7439
+ # The Unix epoch timestamp in seconds for when the resource was
7440
+ # created.
7441
+ # @return [Time]
7442
+ #
7443
+ # @!attribute [rw] last_updated_at
7444
+ # The Unix epoch timestamp in seconds for when the resource was last
7445
+ # updated.
7446
+ # @return [Time]
7447
+ #
7448
+ # @!attribute [rw] mesh_name
7449
+ # The name of the service mesh that the resource resides in.
7450
+ # @return [String]
7451
+ #
7452
+ # @!attribute [rw] mesh_owner
7453
+ # The AWS IAM account ID of the service mesh owner. If the account ID
7454
+ # is not your own, then it's the ID of the account that shared the
7455
+ # mesh with your account. For more information about mesh sharing, see
7456
+ # [Working with shared meshes][1].
7457
+ #
7458
+ #
7459
+ #
7460
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
7461
+ # @return [String]
7462
+ #
7463
+ # @!attribute [rw] resource_owner
7464
+ # The AWS IAM account ID of the resource owner. If the account ID is
7465
+ # not your own, then it's the ID of the mesh owner or of another
7466
+ # account that the mesh is shared with. For more information about
7467
+ # mesh sharing, see [Working with shared meshes][1].
7468
+ #
7469
+ #
7470
+ #
7471
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
7472
+ # @return [String]
7473
+ #
7474
+ # @!attribute [rw] version
7475
+ # The version of the resource. Resources are created at version 1, and
7476
+ # this version is incremented each time that they're updated.
7477
+ # @return [Integer]
7478
+ #
7479
+ # @!attribute [rw] virtual_gateway_name
7480
+ # The name of the resource.
7481
+ # @return [String]
7482
+ #
7483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayRef AWS API Documentation
7484
+ #
7485
+ class VirtualGatewayRef < Struct.new(
7486
+ :arn,
7487
+ :created_at,
7488
+ :last_updated_at,
7489
+ :mesh_name,
7490
+ :mesh_owner,
7491
+ :resource_owner,
7492
+ :version,
7493
+ :virtual_gateway_name)
7494
+ SENSITIVE = []
7495
+ include Aws::Structure
7496
+ end
7497
+
5414
7498
  # An object that represents the specification of a service mesh.
5415
7499
  #
5416
7500
  # @note When making an API call, you may pass MeshSpec
@@ -5434,6 +7518,30 @@ module Aws::AppMesh
5434
7518
  include Aws::Structure
5435
7519
  end
5436
7520
 
7521
+ # @!attribute [rw] virtual_gateway
7522
+ # The full description of your virtual gateway.
7523
+ # @return [Types::VirtualGatewayData]
7524
+ #
7525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGatewayOutput AWS API Documentation
7526
+ #
7527
+ class DescribeVirtualGatewayOutput < Struct.new(
7528
+ :virtual_gateway)
7529
+ SENSITIVE = []
7530
+ include Aws::Structure
7531
+ end
7532
+
7533
+ # @!attribute [rw] gateway_route
7534
+ # The full description of your gateway route.
7535
+ # @return [Types::GatewayRouteData]
7536
+ #
7537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRouteOutput AWS API Documentation
7538
+ #
7539
+ class DescribeGatewayRouteOutput < Struct.new(
7540
+ :gateway_route)
7541
+ SENSITIVE = []
7542
+ include Aws::Structure
7543
+ end
7544
+
5437
7545
  # @!attribute [rw] next_token
5438
7546
  # The `nextToken` value to include in a future `ListTagsForResource`
5439
7547
  # request. When the results of a `ListTagsForResource` request exceed