aws-sdk-appmesh 1.27.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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