aws-sdk-appmesh 1.26.0 → 1.31.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.
@@ -30,6 +30,7 @@ module Aws::AppMesh
30
30
  #
31
31
  class VirtualRouterListener < Struct.new(
32
32
  :port_mapping)
33
+ SENSITIVE = []
33
34
  include Aws::Structure
34
35
  end
35
36
 
@@ -88,6 +89,7 @@ module Aws::AppMesh
88
89
  :max_retries,
89
90
  :per_retry_timeout,
90
91
  :tcp_retry_events)
92
+ SENSITIVE = []
91
93
  include Aws::Structure
92
94
  end
93
95
 
@@ -99,6 +101,7 @@ module Aws::AppMesh
99
101
  #
100
102
  class CreateVirtualNodeOutput < Struct.new(
101
103
  :virtual_node)
104
+ SENSITIVE = []
102
105
  include Aws::Structure
103
106
  end
104
107
 
@@ -123,6 +126,7 @@ module Aws::AppMesh
123
126
  #
124
127
  class Logging < Struct.new(
125
128
  :access_log)
129
+ SENSITIVE = []
126
130
  include Aws::Structure
127
131
  end
128
132
 
@@ -134,6 +138,7 @@ module Aws::AppMesh
134
138
  #
135
139
  class UpdateVirtualRouterOutput < Struct.new(
136
140
  :virtual_router)
141
+ SENSITIVE = []
137
142
  include Aws::Structure
138
143
  end
139
144
 
@@ -154,6 +159,244 @@ module Aws::AppMesh
154
159
  class ListVirtualRoutersOutput < Struct.new(
155
160
  :next_token,
156
161
  :virtual_routers)
162
+ SENSITIVE = []
163
+ include Aws::Structure
164
+ end
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 = []
157
400
  include Aws::Structure
158
401
  end
159
402
 
@@ -214,6 +457,7 @@ module Aws::AppMesh
214
457
  :resource_owner,
215
458
  :uid,
216
459
  :version)
460
+ SENSITIVE = []
217
461
  include Aws::Structure
218
462
  end
219
463
 
@@ -227,6 +471,7 @@ module Aws::AppMesh
227
471
  #
228
472
  class ResourceInUseException < Struct.new(
229
473
  :message)
474
+ SENSITIVE = []
230
475
  include Aws::Structure
231
476
  end
232
477
 
@@ -238,6 +483,7 @@ module Aws::AppMesh
238
483
  #
239
484
  class UpdateVirtualNodeOutput < Struct.new(
240
485
  :virtual_node)
486
+ SENSITIVE = []
241
487
  include Aws::Structure
242
488
  end
243
489
 
@@ -258,6 +504,7 @@ module Aws::AppMesh
258
504
  class ListRoutesOutput < Struct.new(
259
505
  :next_token,
260
506
  :routes)
507
+ SENSITIVE = []
261
508
  include Aws::Structure
262
509
  end
263
510
 
@@ -302,6 +549,7 @@ module Aws::AppMesh
302
549
  class VirtualServiceBackend < Struct.new(
303
550
  :client_policy,
304
551
  :virtual_service_name)
552
+ SENSITIVE = []
305
553
  include Aws::Structure
306
554
  end
307
555
 
@@ -315,6 +563,34 @@ module Aws::AppMesh
315
563
  #
316
564
  class BadRequestException < Struct.new(
317
565
  :message)
566
+ SENSITIVE = []
567
+ include Aws::Structure
568
+ end
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 = []
318
594
  include Aws::Structure
319
595
  end
320
596
 
@@ -384,6 +660,7 @@ module Aws::AppMesh
384
660
  :protocol,
385
661
  :timeout_millis,
386
662
  :unhealthy_threshold)
663
+ SENSITIVE = []
387
664
  include Aws::Structure
388
665
  end
389
666
 
@@ -408,6 +685,7 @@ module Aws::AppMesh
408
685
  #
409
686
  class EgressFilter < Struct.new(
410
687
  :type)
688
+ SENSITIVE = []
411
689
  include Aws::Structure
412
690
  end
413
691
 
@@ -442,6 +720,119 @@ module Aws::AppMesh
442
720
  #
443
721
  class ClientPolicy < Struct.new(
444
722
  :tls)
723
+ SENSITIVE = []
724
+ include Aws::Structure
725
+ end
726
+
727
+ # An object that represents the specification of a service mesh
728
+ # resource.
729
+ #
730
+ # @note When making an API call, you may pass VirtualGatewaySpec
731
+ # data as a hash:
732
+ #
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 = []
445
836
  include Aws::Structure
446
837
  end
447
838
 
@@ -453,6 +844,123 @@ module Aws::AppMesh
453
844
  #
454
845
  class DescribeVirtualServiceOutput < Struct.new(
455
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 = []
456
964
  include Aws::Structure
457
965
  end
458
966
 
@@ -460,21 +968,114 @@ module Aws::AppMesh
460
968
  # The full description of your virtual node.
461
969
  # @return [Types::VirtualNodeData]
462
970
  #
463
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNodeOutput AWS API Documentation
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
+
1014
+ # @!attribute [rw] route
1015
+ # The full description of your mesh following the create call.
1016
+ # @return [Types::RouteData]
1017
+ #
1018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRouteOutput AWS API Documentation
1019
+ #
1020
+ class CreateRouteOutput < Struct.new(
1021
+ :route)
1022
+ SENSITIVE = []
1023
+ include Aws::Structure
1024
+ end
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]
464
1062
  #
465
- class DescribeVirtualNodeOutput < Struct.new(
466
- :virtual_node)
467
- include Aws::Structure
468
- end
469
-
470
- # @!attribute [rw] route
471
- # The full description of your mesh following the create call.
472
- # @return [Types::RouteData]
1063
+ # @!attribute [rw] port_mapping
1064
+ # The port mapping information for the listener.
1065
+ # @return [Types::VirtualGatewayPortMapping]
473
1066
  #
474
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRouteOutput AWS API Documentation
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]
475
1071
  #
476
- class CreateRouteOutput < Struct.new(
477
- :route)
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 = []
478
1079
  include Aws::Structure
479
1080
  end
480
1081
 
@@ -496,6 +1097,46 @@ module Aws::AppMesh
496
1097
  #
497
1098
  class DnsServiceDiscovery < Struct.new(
498
1099
  :hostname)
1100
+ SENSITIVE = []
1101
+ include Aws::Structure
1102
+ end
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 = []
499
1140
  include Aws::Structure
500
1141
  end
501
1142
 
@@ -539,6 +1180,7 @@ module Aws::AppMesh
539
1180
  :mesh_owner,
540
1181
  :route_name,
541
1182
  :virtual_router_name)
1183
+ SENSITIVE = []
542
1184
  include Aws::Structure
543
1185
  end
544
1186
 
@@ -573,6 +1215,7 @@ module Aws::AppMesh
573
1215
  :spec,
574
1216
  :status,
575
1217
  :virtual_node_name)
1218
+ SENSITIVE = []
576
1219
  include Aws::Structure
577
1220
  end
578
1221
 
@@ -580,6 +1223,50 @@ module Aws::AppMesh
580
1223
  #
581
1224
  class UntagResourceOutput < Aws::EmptyStructure; end
582
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
+
583
1270
  # An object that represents the backends that a virtual node is expected
584
1271
  # to send outbound traffic to.
585
1272
  #
@@ -616,6 +1303,7 @@ module Aws::AppMesh
616
1303
  #
617
1304
  class Backend < Struct.new(
618
1305
  :virtual_service)
1306
+ SENSITIVE = []
619
1307
  include Aws::Structure
620
1308
  end
621
1309
 
@@ -656,6 +1344,102 @@ module Aws::AppMesh
656
1344
  class ListMeshesInput < Struct.new(
657
1345
  :limit,
658
1346
  :next_token)
1347
+ SENSITIVE = []
1348
+ include Aws::Structure
1349
+ end
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 = []
659
1443
  include Aws::Structure
660
1444
  end
661
1445
 
@@ -690,6 +1474,7 @@ module Aws::AppMesh
690
1474
  :spec,
691
1475
  :status,
692
1476
  :virtual_router_name)
1477
+ SENSITIVE = []
693
1478
  include Aws::Structure
694
1479
  end
695
1480
 
@@ -729,6 +1514,77 @@ module Aws::AppMesh
729
1514
  :client_token,
730
1515
  :mesh_name,
731
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].
1561
+ #
1562
+ #
1563
+ #
1564
+ # [1]: https://github.com/grpc/grpc/blob/master/doc/health-checking.md
1565
+ # @return [String]
1566
+ #
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]
1571
+ #
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]
1576
+ #
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)
1587
+ SENSITIVE = []
732
1588
  include Aws::Structure
733
1589
  end
734
1590
 
@@ -808,6 +1664,7 @@ module Aws::AppMesh
808
1664
  :spec,
809
1665
  :tags,
810
1666
  :virtual_router_name)
1667
+ SENSITIVE = []
811
1668
  include Aws::Structure
812
1669
  end
813
1670
 
@@ -819,6 +1676,7 @@ module Aws::AppMesh
819
1676
  #
820
1677
  class DescribeVirtualRouterOutput < Struct.new(
821
1678
  :virtual_router)
1679
+ SENSITIVE = []
822
1680
  include Aws::Structure
823
1681
  end
824
1682
 
@@ -830,6 +1688,7 @@ module Aws::AppMesh
830
1688
  #
831
1689
  class CreateMeshOutput < Struct.new(
832
1690
  :mesh)
1691
+ SENSITIVE = []
833
1692
  include Aws::Structure
834
1693
  end
835
1694
 
@@ -840,21 +1699,57 @@ module Aws::AppMesh
840
1699
  #
841
1700
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouterOutput AWS API Documentation
842
1701
  #
843
- class CreateVirtualRouterOutput < Struct.new(
844
- :virtual_router)
845
- include Aws::Structure
846
- end
847
-
848
- # An object that represents the status of a virtual service.
1702
+ class CreateVirtualRouterOutput < Struct.new(
1703
+ :virtual_router)
1704
+ SENSITIVE = []
1705
+ include Aws::Structure
1706
+ end
1707
+
1708
+ # An object that represents the status of a virtual service.
1709
+ #
1710
+ # @!attribute [rw] status
1711
+ # The current status of the virtual service.
1712
+ # @return [String]
1713
+ #
1714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualServiceStatus AWS API Documentation
1715
+ #
1716
+ class VirtualServiceStatus < Struct.new(
1717
+ :status)
1718
+ SENSITIVE = []
1719
+ include Aws::Structure
1720
+ end
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]
849
1742
  #
850
- # @!attribute [rw] status
851
- # The current status of the virtual service.
852
- # @return [String]
1743
+ # @!attribute [rw] file
1744
+ # A reference to an object that represents a local file certificate.
1745
+ # @return [Types::VirtualGatewayListenerTlsFileCertificate]
853
1746
  #
854
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualServiceStatus AWS API Documentation
1747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListenerTlsCertificate AWS API Documentation
855
1748
  #
856
- class VirtualServiceStatus < Struct.new(
857
- :status)
1749
+ class VirtualGatewayListenerTlsCertificate < Struct.new(
1750
+ :acm,
1751
+ :file)
1752
+ SENSITIVE = []
858
1753
  include Aws::Structure
859
1754
  end
860
1755
 
@@ -888,6 +1783,7 @@ module Aws::AppMesh
888
1783
  class ListenerTlsCertificate < Struct.new(
889
1784
  :acm,
890
1785
  :file)
1786
+ SENSITIVE = []
891
1787
  include Aws::Structure
892
1788
  end
893
1789
 
@@ -916,6 +1812,29 @@ module Aws::AppMesh
916
1812
  #
917
1813
  class VirtualRouterSpec < Struct.new(
918
1814
  :listeners)
1815
+ SENSITIVE = []
1816
+ include Aws::Structure
1817
+ end
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 = []
919
1838
  include Aws::Structure
920
1839
  end
921
1840
 
@@ -1091,6 +2010,7 @@ module Aws::AppMesh
1091
2010
  :listeners,
1092
2011
  :logging,
1093
2012
  :service_discovery)
2013
+ SENSITIVE = []
1094
2014
  include Aws::Structure
1095
2015
  end
1096
2016
 
@@ -1110,6 +2030,76 @@ module Aws::AppMesh
1110
2030
  class ListMeshesOutput < Struct.new(
1111
2031
  :meshes,
1112
2032
  :next_token)
2033
+ SENSITIVE = []
2034
+ include Aws::Structure
2035
+ end
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 = []
1113
2103
  include Aws::Structure
1114
2104
  end
1115
2105
 
@@ -1124,9 +2114,48 @@ module Aws::AppMesh
1124
2114
  #
1125
2115
  class ConflictException < Struct.new(
1126
2116
  :message)
2117
+ SENSITIVE = []
2118
+ include Aws::Structure
2119
+ end
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 = []
1127
2154
  include Aws::Structure
1128
2155
  end
1129
2156
 
2157
+ # An object that represents timeouts for different protocols.
2158
+ #
1130
2159
  # @note When making an API call, you may pass ListenerTimeout
1131
2160
  # data as a hash:
1132
2161
  #
@@ -1170,15 +2199,19 @@ module Aws::AppMesh
1170
2199
  # }
1171
2200
  #
1172
2201
  # @!attribute [rw] grpc
2202
+ # An object that represents types of timeouts.
1173
2203
  # @return [Types::GrpcTimeout]
1174
2204
  #
1175
2205
  # @!attribute [rw] http
2206
+ # An object that represents types of timeouts.
1176
2207
  # @return [Types::HttpTimeout]
1177
2208
  #
1178
2209
  # @!attribute [rw] http2
2210
+ # An object that represents types of timeouts.
1179
2211
  # @return [Types::HttpTimeout]
1180
2212
  #
1181
2213
  # @!attribute [rw] tcp
2214
+ # An object that represents types of timeouts.
1182
2215
  # @return [Types::TcpTimeout]
1183
2216
  #
1184
2217
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListenerTimeout AWS API Documentation
@@ -1188,6 +2221,52 @@ module Aws::AppMesh
1188
2221
  :http,
1189
2222
  :http2,
1190
2223
  :tcp)
2224
+ SENSITIVE = []
2225
+ include Aws::Structure
2226
+ end
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 = []
1191
2270
  include Aws::Structure
1192
2271
  end
1193
2272
 
@@ -1221,6 +2300,7 @@ module Aws::AppMesh
1221
2300
  class TlsValidationContextTrust < Struct.new(
1222
2301
  :acm,
1223
2302
  :file)
2303
+ SENSITIVE = []
1224
2304
  include Aws::Structure
1225
2305
  end
1226
2306
 
@@ -1247,6 +2327,7 @@ module Aws::AppMesh
1247
2327
  class PortMapping < Struct.new(
1248
2328
  :port,
1249
2329
  :protocol)
2330
+ SENSITIVE = []
1250
2331
  include Aws::Structure
1251
2332
  end
1252
2333
 
@@ -1268,6 +2349,7 @@ module Aws::AppMesh
1268
2349
  class ListVirtualServicesOutput < Struct.new(
1269
2350
  :next_token,
1270
2351
  :virtual_services)
2352
+ SENSITIVE = []
1271
2353
  include Aws::Structure
1272
2354
  end
1273
2355
 
@@ -1298,6 +2380,84 @@ module Aws::AppMesh
1298
2380
  class WeightedTarget < Struct.new(
1299
2381
  :virtual_node,
1300
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
2452
+ #
2453
+ class GatewayRouteData < Struct.new(
2454
+ :gateway_route_name,
2455
+ :mesh_name,
2456
+ :metadata,
2457
+ :spec,
2458
+ :status,
2459
+ :virtual_gateway_name)
2460
+ SENSITIVE = []
1301
2461
  include Aws::Structure
1302
2462
  end
1303
2463
 
@@ -1368,6 +2528,7 @@ module Aws::AppMesh
1368
2528
  :route_name,
1369
2529
  :version,
1370
2530
  :virtual_router_name)
2531
+ SENSITIVE = []
1371
2532
  include Aws::Structure
1372
2533
  end
1373
2534
 
@@ -1405,6 +2566,7 @@ module Aws::AppMesh
1405
2566
  :mesh_name,
1406
2567
  :mesh_owner,
1407
2568
  :virtual_node_name)
2569
+ SENSITIVE = []
1408
2570
  include Aws::Structure
1409
2571
  end
1410
2572
 
@@ -1443,6 +2605,7 @@ module Aws::AppMesh
1443
2605
  :spec,
1444
2606
  :status,
1445
2607
  :virtual_router_name)
2608
+ SENSITIVE = []
1446
2609
  include Aws::Structure
1447
2610
  end
1448
2611
 
@@ -1456,6 +2619,7 @@ module Aws::AppMesh
1456
2619
  #
1457
2620
  class InternalServerErrorException < Struct.new(
1458
2621
  :message)
2622
+ SENSITIVE = []
1459
2623
  include Aws::Structure
1460
2624
  end
1461
2625
 
@@ -1477,6 +2641,7 @@ module Aws::AppMesh
1477
2641
  #
1478
2642
  class TlsValidationContextAcmTrust < Struct.new(
1479
2643
  :certificate_authority_arns)
2644
+ SENSITIVE = []
1480
2645
  include Aws::Structure
1481
2646
  end
1482
2647
 
@@ -1489,6 +2654,7 @@ module Aws::AppMesh
1489
2654
  #
1490
2655
  class ForbiddenException < Struct.new(
1491
2656
  :message)
2657
+ SENSITIVE = []
1492
2658
  include Aws::Structure
1493
2659
  end
1494
2660
 
@@ -1509,46 +2675,120 @@ module Aws::AppMesh
1509
2675
  # suffix: "HeaderMatch",
1510
2676
  # }
1511
2677
  #
1512
- # @!attribute [rw] exact
1513
- # The value sent by the client must match the specified value exactly.
1514
- # @return [String]
2678
+ # @!attribute [rw] exact
2679
+ # The value sent by the client must match the specified value exactly.
2680
+ # @return [String]
2681
+ #
2682
+ # @!attribute [rw] prefix
2683
+ # The value sent by the client must begin with the specified
2684
+ # characters.
2685
+ # @return [String]
2686
+ #
2687
+ # @!attribute [rw] range
2688
+ # An object that represents the range of values to match on.
2689
+ # @return [Types::MatchRange]
2690
+ #
2691
+ # @!attribute [rw] regex
2692
+ # The value sent by the client must include the specified characters.
2693
+ # @return [String]
2694
+ #
2695
+ # @!attribute [rw] suffix
2696
+ # The value sent by the client must end with the specified characters.
2697
+ # @return [String]
2698
+ #
2699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HeaderMatchMethod AWS API Documentation
2700
+ #
2701
+ class HeaderMatchMethod < Struct.new(
2702
+ :exact,
2703
+ :prefix,
2704
+ :range,
2705
+ :regex,
2706
+ :suffix)
2707
+ SENSITIVE = []
2708
+ include Aws::Structure
2709
+ end
2710
+
2711
+ # @!attribute [rw] mesh
2712
+ # The service mesh that was deleted.
2713
+ # @return [Types::MeshData]
2714
+ #
2715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMeshOutput AWS API Documentation
2716
+ #
2717
+ class DeleteMeshOutput < Struct.new(
2718
+ :mesh)
2719
+ SENSITIVE = []
2720
+ include Aws::Structure
2721
+ end
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>]
1515
2752
  #
1516
- # @!attribute [rw] prefix
1517
- # The value sent by the client must begin with the specified
1518
- # characters.
1519
- # @return [String]
2753
+ # @!attribute [rw] validation
2754
+ # A reference to an object that represents a TLS validation context.
2755
+ # @return [Types::VirtualGatewayTlsValidationContext]
1520
2756
  #
1521
- # @!attribute [rw] range
1522
- # An object that represents the range of values to match on.
1523
- # @return [Types::MatchRange]
2757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayClientPolicyTls AWS API Documentation
1524
2758
  #
1525
- # @!attribute [rw] regex
1526
- # The value sent by the client must include the specified characters.
1527
- # @return [String]
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.
1528
2768
  #
1529
- # @!attribute [rw] suffix
1530
- # The value sent by the client must end with the specified characters.
2769
+ # @!attribute [rw] status
2770
+ # The current status.
1531
2771
  # @return [String]
1532
2772
  #
1533
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HeaderMatchMethod AWS API Documentation
2773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayStatus AWS API Documentation
1534
2774
  #
1535
- class HeaderMatchMethod < Struct.new(
1536
- :exact,
1537
- :prefix,
1538
- :range,
1539
- :regex,
1540
- :suffix)
2775
+ class VirtualGatewayStatus < Struct.new(
2776
+ :status)
2777
+ SENSITIVE = []
1541
2778
  include Aws::Structure
1542
2779
  end
1543
2780
 
1544
- # @!attribute [rw] mesh
1545
- # The service mesh that was deleted.
1546
- # @return [Types::MeshData]
2781
+ # An object that represents the current status of a gateway route.
1547
2782
  #
1548
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMeshOutput AWS API Documentation
2783
+ # @!attribute [rw] status
2784
+ # The current status for the gateway route.
2785
+ # @return [String]
1549
2786
  #
1550
- class DeleteMeshOutput < Struct.new(
1551
- :mesh)
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 = []
1552
2792
  include Aws::Structure
1553
2793
  end
1554
2794
 
@@ -1581,6 +2821,72 @@ module Aws::AppMesh
1581
2821
  class TagResourceInput < Struct.new(
1582
2822
  :resource_arn,
1583
2823
  :tags)
2824
+ SENSITIVE = []
2825
+ include Aws::Structure
2826
+ end
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 = []
1584
2890
  include Aws::Structure
1585
2891
  end
1586
2892
 
@@ -1611,6 +2917,7 @@ module Aws::AppMesh
1611
2917
  class VirtualServiceProvider < Struct.new(
1612
2918
  :virtual_node,
1613
2919
  :virtual_router)
2920
+ SENSITIVE = []
1614
2921
  include Aws::Structure
1615
2922
  end
1616
2923
 
@@ -1661,6 +2968,7 @@ module Aws::AppMesh
1661
2968
  :metadata,
1662
2969
  :method_name,
1663
2970
  :service_name)
2971
+ SENSITIVE = []
1664
2972
  include Aws::Structure
1665
2973
  end
1666
2974
 
@@ -1702,6 +3010,7 @@ module Aws::AppMesh
1702
3010
  :attributes,
1703
3011
  :namespace_name,
1704
3012
  :service_name)
3013
+ SENSITIVE = []
1705
3014
  include Aws::Structure
1706
3015
  end
1707
3016
 
@@ -1713,6 +3022,7 @@ module Aws::AppMesh
1713
3022
  #
1714
3023
  class UpdateVirtualServiceOutput < Struct.new(
1715
3024
  :virtual_service)
3025
+ SENSITIVE = []
1716
3026
  include Aws::Structure
1717
3027
  end
1718
3028
 
@@ -1726,6 +3036,7 @@ module Aws::AppMesh
1726
3036
  #
1727
3037
  class MeshStatus < Struct.new(
1728
3038
  :status)
3039
+ SENSITIVE = []
1729
3040
  include Aws::Structure
1730
3041
  end
1731
3042
 
@@ -1927,6 +3238,7 @@ module Aws::AppMesh
1927
3238
  :spec,
1928
3239
  :tags,
1929
3240
  :virtual_node_name)
3241
+ SENSITIVE = []
1930
3242
  include Aws::Structure
1931
3243
  end
1932
3244
 
@@ -1940,6 +3252,7 @@ module Aws::AppMesh
1940
3252
  #
1941
3253
  class NotFoundException < Struct.new(
1942
3254
  :message)
3255
+ SENSITIVE = []
1943
3256
  include Aws::Structure
1944
3257
  end
1945
3258
 
@@ -2148,6 +3461,129 @@ module Aws::AppMesh
2148
3461
  :http_route,
2149
3462
  :priority,
2150
3463
  :tcp_route)
3464
+ SENSITIVE = []
3465
+ include Aws::Structure
3466
+ end
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 = []
2151
3587
  include Aws::Structure
2152
3588
  end
2153
3589
 
@@ -2160,6 +3596,7 @@ module Aws::AppMesh
2160
3596
  #
2161
3597
  class CreateVirtualServiceOutput < Struct.new(
2162
3598
  :virtual_service)
3599
+ SENSITIVE = []
2163
3600
  include Aws::Structure
2164
3601
  end
2165
3602
 
@@ -2190,6 +3627,7 @@ module Aws::AppMesh
2190
3627
  #
2191
3628
  class FileAccessLog < Struct.new(
2192
3629
  :path)
3630
+ SENSITIVE = []
2193
3631
  include Aws::Structure
2194
3632
  end
2195
3633
 
@@ -2210,9 +3648,12 @@ module Aws::AppMesh
2210
3648
  #
2211
3649
  class VirtualRouterServiceProvider < Struct.new(
2212
3650
  :virtual_router_name)
3651
+ SENSITIVE = []
2213
3652
  include Aws::Structure
2214
3653
  end
2215
3654
 
3655
+ # An object that represents types of timeouts.
3656
+ #
2216
3657
  # @note When making an API call, you may pass HttpTimeout
2217
3658
  # data as a hash:
2218
3659
  #
@@ -2240,6 +3681,7 @@ module Aws::AppMesh
2240
3681
  class HttpTimeout < Struct.new(
2241
3682
  :idle,
2242
3683
  :per_request)
3684
+ SENSITIVE = []
2243
3685
  include Aws::Structure
2244
3686
  end
2245
3687
 
@@ -2277,46 +3719,113 @@ module Aws::AppMesh
2277
3719
  :mesh_name,
2278
3720
  :mesh_owner,
2279
3721
  :virtual_service_name)
3722
+ SENSITIVE = []
2280
3723
  include Aws::Structure
2281
3724
  end
2282
3725
 
2283
3726
  # An object that represents a Transport Layer Security (TLS) validation
2284
3727
  # context.
2285
3728
  #
2286
- # @note When making an API call, you may pass TlsValidationContext
3729
+ # @note When making an API call, you may pass TlsValidationContext
3730
+ # data as a hash:
3731
+ #
3732
+ # {
3733
+ # trust: { # required
3734
+ # acm: {
3735
+ # certificate_authority_arns: ["Arn"], # required
3736
+ # },
3737
+ # file: {
3738
+ # certificate_chain: "FilePath", # required
3739
+ # },
3740
+ # },
3741
+ # }
3742
+ #
3743
+ # @!attribute [rw] trust
3744
+ # A reference to an object that represents a TLS validation context
3745
+ # trust.
3746
+ # @return [Types::TlsValidationContextTrust]
3747
+ #
3748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TlsValidationContext AWS API Documentation
3749
+ #
3750
+ class TlsValidationContext < Struct.new(
3751
+ :trust)
3752
+ SENSITIVE = []
3753
+ include Aws::Structure
3754
+ end
3755
+
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.
3807
+ #
3808
+ # @note When making an API call, you may pass GrpcGatewayRouteAction
2287
3809
  # data as a hash:
2288
3810
  #
2289
3811
  # {
2290
- # trust: { # required
2291
- # acm: {
2292
- # certificate_authority_arns: ["Arn"], # required
2293
- # },
2294
- # file: {
2295
- # certificate_chain: "FilePath", # required
3812
+ # target: { # required
3813
+ # virtual_service: { # required
3814
+ # virtual_service_name: "ResourceName", # required
2296
3815
  # },
2297
3816
  # },
2298
3817
  # }
2299
3818
  #
2300
- # @!attribute [rw] trust
2301
- # A reference to an object that represents a TLS validation context
2302
- # trust.
2303
- # @return [Types::TlsValidationContextTrust]
2304
- #
2305
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TlsValidationContext AWS API Documentation
2306
- #
2307
- class TlsValidationContext < Struct.new(
2308
- :trust)
2309
- include Aws::Structure
2310
- end
2311
-
2312
- # @!attribute [rw] virtual_router
2313
- # The virtual router that was deleted.
2314
- # @return [Types::VirtualRouterData]
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]
2315
3823
  #
2316
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouterOutput AWS API Documentation
3824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteAction AWS API Documentation
2317
3825
  #
2318
- class DeleteVirtualRouterOutput < Struct.new(
2319
- :virtual_router)
3826
+ class GrpcGatewayRouteAction < Struct.new(
3827
+ :target)
3828
+ SENSITIVE = []
2320
3829
  include Aws::Structure
2321
3830
  end
2322
3831
 
@@ -2328,6 +3837,7 @@ module Aws::AppMesh
2328
3837
  #
2329
3838
  class DeleteVirtualNodeOutput < Struct.new(
2330
3839
  :virtual_node)
3840
+ SENSITIVE = []
2331
3841
  include Aws::Structure
2332
3842
  end
2333
3843
 
@@ -2514,6 +4024,7 @@ module Aws::AppMesh
2514
4024
  :mesh_owner,
2515
4025
  :spec,
2516
4026
  :virtual_node_name)
4027
+ SENSITIVE = []
2517
4028
  include Aws::Structure
2518
4029
  end
2519
4030
 
@@ -2557,6 +4068,7 @@ module Aws::AppMesh
2557
4068
  class ListenerTls < Struct.new(
2558
4069
  :certificate,
2559
4070
  :mode)
4071
+ SENSITIVE = []
2560
4072
  include Aws::Structure
2561
4073
  end
2562
4074
 
@@ -2575,6 +4087,7 @@ module Aws::AppMesh
2575
4087
  #
2576
4088
  class DeleteMeshInput < Struct.new(
2577
4089
  :mesh_name)
4090
+ SENSITIVE = []
2578
4091
  include Aws::Structure
2579
4092
  end
2580
4093
 
@@ -2654,6 +4167,7 @@ module Aws::AppMesh
2654
4167
  :spec,
2655
4168
  :tags,
2656
4169
  :virtual_service_name)
4170
+ SENSITIVE = []
2657
4171
  include Aws::Structure
2658
4172
  end
2659
4173
 
@@ -2718,6 +4232,56 @@ module Aws::AppMesh
2718
4232
  :mesh_owner,
2719
4233
  :spec,
2720
4234
  :virtual_router_name)
4235
+ SENSITIVE = []
4236
+ include Aws::Structure
4237
+ end
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 = []
2721
4285
  include Aws::Structure
2722
4286
  end
2723
4287
 
@@ -2760,6 +4324,7 @@ module Aws::AppMesh
2760
4324
  :limit,
2761
4325
  :next_token,
2762
4326
  :resource_arn)
4327
+ SENSITIVE = []
2763
4328
  include Aws::Structure
2764
4329
  end
2765
4330
 
@@ -2772,6 +4337,7 @@ module Aws::AppMesh
2772
4337
  #
2773
4338
  class ServiceUnavailableException < Struct.new(
2774
4339
  :message)
4340
+ SENSITIVE = []
2775
4341
  include Aws::Structure
2776
4342
  end
2777
4343
 
@@ -2783,6 +4349,7 @@ module Aws::AppMesh
2783
4349
  #
2784
4350
  class DescribeMeshOutput < Struct.new(
2785
4351
  :mesh)
4352
+ SENSITIVE = []
2786
4353
  include Aws::Structure
2787
4354
  end
2788
4355
 
@@ -2820,6 +4387,19 @@ module Aws::AppMesh
2820
4387
  :mesh_name,
2821
4388
  :mesh_owner,
2822
4389
  :virtual_router_name)
4390
+ SENSITIVE = []
4391
+ include Aws::Structure
4392
+ end
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 = []
2823
4403
  include Aws::Structure
2824
4404
  end
2825
4405
 
@@ -2863,6 +4443,7 @@ module Aws::AppMesh
2863
4443
  :mesh_owner,
2864
4444
  :route_name,
2865
4445
  :virtual_router_name)
4446
+ SENSITIVE = []
2866
4447
  include Aws::Structure
2867
4448
  end
2868
4449
 
@@ -2874,6 +4455,19 @@ module Aws::AppMesh
2874
4455
  #
2875
4456
  class DeleteRouteOutput < Struct.new(
2876
4457
  :route)
4458
+ SENSITIVE = []
4459
+ include Aws::Structure
4460
+ end
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 = []
2877
4471
  include Aws::Structure
2878
4472
  end
2879
4473
 
@@ -2938,6 +4532,7 @@ module Aws::AppMesh
2938
4532
  :mesh_owner,
2939
4533
  :spec,
2940
4534
  :virtual_service_name)
4535
+ SENSITIVE = []
2941
4536
  include Aws::Structure
2942
4537
  end
2943
4538
 
@@ -2949,6 +4544,7 @@ module Aws::AppMesh
2949
4544
  #
2950
4545
  class UpdateRouteOutput < Struct.new(
2951
4546
  :route)
4547
+ SENSITIVE = []
2952
4548
  include Aws::Structure
2953
4549
  end
2954
4550
 
@@ -2975,6 +4571,7 @@ module Aws::AppMesh
2975
4571
  #
2976
4572
  class HttpRouteAction < Struct.new(
2977
4573
  :weighted_targets)
4574
+ SENSITIVE = []
2978
4575
  include Aws::Structure
2979
4576
  end
2980
4577
 
@@ -3034,6 +4631,7 @@ module Aws::AppMesh
3034
4631
  :mesh_owner,
3035
4632
  :next_token,
3036
4633
  :virtual_router_name)
4634
+ SENSITIVE = []
3037
4635
  include Aws::Structure
3038
4636
  end
3039
4637
 
@@ -3100,9 +4698,12 @@ module Aws::AppMesh
3100
4698
  :resource_owner,
3101
4699
  :version,
3102
4700
  :virtual_service_name)
4701
+ SENSITIVE = []
3103
4702
  include Aws::Structure
3104
4703
  end
3105
4704
 
4705
+ # An object that represents types of timeouts.
4706
+ #
3106
4707
  # @note When making an API call, you may pass GrpcTimeout
3107
4708
  # data as a hash:
3108
4709
  #
@@ -3118,11 +4719,19 @@ module Aws::AppMesh
3118
4719
  # }
3119
4720
  #
3120
4721
  # @!attribute [rw] idle
3121
- # 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.
3122
4725
  # @return [Types::Duration]
3123
4726
  #
3124
4727
  # @!attribute [rw] per_request
3125
- # 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.
3126
4735
  # @return [Types::Duration]
3127
4736
  #
3128
4737
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcTimeout AWS API Documentation
@@ -3130,6 +4739,7 @@ module Aws::AppMesh
3130
4739
  class GrpcTimeout < Struct.new(
3131
4740
  :idle,
3132
4741
  :per_request)
4742
+ SENSITIVE = []
3133
4743
  include Aws::Structure
3134
4744
  end
3135
4745
 
@@ -3143,6 +4753,7 @@ module Aws::AppMesh
3143
4753
  #
3144
4754
  class VirtualNodeStatus < Struct.new(
3145
4755
  :status)
4756
+ SENSITIVE = []
3146
4757
  include Aws::Structure
3147
4758
  end
3148
4759
 
@@ -3209,6 +4820,7 @@ module Aws::AppMesh
3209
4820
  :resource_owner,
3210
4821
  :version,
3211
4822
  :virtual_router_name)
4823
+ SENSITIVE = []
3212
4824
  include Aws::Structure
3213
4825
  end
3214
4826
 
@@ -3243,6 +4855,7 @@ module Aws::AppMesh
3243
4855
  :spec,
3244
4856
  :status,
3245
4857
  :virtual_service_name)
4858
+ SENSITIVE = []
3246
4859
  include Aws::Structure
3247
4860
  end
3248
4861
 
@@ -3286,6 +4899,7 @@ module Aws::AppMesh
3286
4899
  :invert,
3287
4900
  :match,
3288
4901
  :name)
4902
+ SENSITIVE = []
3289
4903
  include Aws::Structure
3290
4904
  end
3291
4905
 
@@ -3351,6 +4965,7 @@ module Aws::AppMesh
3351
4965
  :resource_owner,
3352
4966
  :version,
3353
4967
  :virtual_node_name)
4968
+ SENSITIVE = []
3354
4969
  include Aws::Structure
3355
4970
  end
3356
4971
 
@@ -3405,6 +5020,7 @@ module Aws::AppMesh
3405
5020
  :mesh_name,
3406
5021
  :spec,
3407
5022
  :tags)
5023
+ SENSITIVE = []
3408
5024
  include Aws::Structure
3409
5025
  end
3410
5026
 
@@ -3431,6 +5047,30 @@ module Aws::AppMesh
3431
5047
  #
3432
5048
  class GrpcRouteAction < Struct.new(
3433
5049
  :weighted_targets)
5050
+ SENSITIVE = []
5051
+ include Aws::Structure
5052
+ end
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 = []
3434
5074
  include Aws::Structure
3435
5075
  end
3436
5076
 
@@ -3448,6 +5088,7 @@ module Aws::AppMesh
3448
5088
  #
3449
5089
  class LimitExceededException < Struct.new(
3450
5090
  :message)
5091
+ SENSITIVE = []
3451
5092
  include Aws::Structure
3452
5093
  end
3453
5094
 
@@ -3460,6 +5101,7 @@ module Aws::AppMesh
3460
5101
  #
3461
5102
  class UpdateMeshOutput < Struct.new(
3462
5103
  :mesh)
5104
+ SENSITIVE = []
3463
5105
  include Aws::Structure
3464
5106
  end
3465
5107
 
@@ -3509,6 +5151,7 @@ module Aws::AppMesh
3509
5151
  :range,
3510
5152
  :regex,
3511
5153
  :suffix)
5154
+ SENSITIVE = []
3512
5155
  include Aws::Structure
3513
5156
  end
3514
5157
 
@@ -3546,6 +5189,7 @@ module Aws::AppMesh
3546
5189
  :mesh_name,
3547
5190
  :mesh_owner,
3548
5191
  :virtual_service_name)
5192
+ SENSITIVE = []
3549
5193
  include Aws::Structure
3550
5194
  end
3551
5195
 
@@ -3577,6 +5221,7 @@ module Aws::AppMesh
3577
5221
  class AwsCloudMapInstanceAttribute < Struct.new(
3578
5222
  :key,
3579
5223
  :value)
5224
+ SENSITIVE = []
3580
5225
  include Aws::Structure
3581
5226
  end
3582
5227
 
@@ -3605,6 +5250,52 @@ module Aws::AppMesh
3605
5250
  #
3606
5251
  class VirtualServiceSpec < Struct.new(
3607
5252
  :provider)
5253
+ SENSITIVE = []
5254
+ include Aws::Structure
5255
+ end
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 = []
3608
5299
  include Aws::Structure
3609
5300
  end
3610
5301
 
@@ -3634,6 +5325,7 @@ module Aws::AppMesh
3634
5325
  class MatchRange < Struct.new(
3635
5326
  :end,
3636
5327
  :start)
5328
+ SENSITIVE = []
3637
5329
  include Aws::Structure
3638
5330
  end
3639
5331
 
@@ -3664,6 +5356,7 @@ module Aws::AppMesh
3664
5356
  # @return [Types::TcpRouteAction]
3665
5357
  #
3666
5358
  # @!attribute [rw] timeout
5359
+ # An object that represents types of timeouts.
3667
5360
  # @return [Types::TcpTimeout]
3668
5361
  #
3669
5362
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TcpRoute AWS API Documentation
@@ -3671,6 +5364,19 @@ module Aws::AppMesh
3671
5364
  class TcpRoute < Struct.new(
3672
5365
  :action,
3673
5366
  :timeout)
5367
+ SENSITIVE = []
5368
+ include Aws::Structure
5369
+ end
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 = []
3674
5380
  include Aws::Structure
3675
5381
  end
3676
5382
 
@@ -3724,6 +5430,7 @@ module Aws::AppMesh
3724
5430
  :mesh_name,
3725
5431
  :mesh_owner,
3726
5432
  :next_token)
5433
+ SENSITIVE = []
3727
5434
  include Aws::Structure
3728
5435
  end
3729
5436
 
@@ -3777,6 +5484,7 @@ module Aws::AppMesh
3777
5484
  :mesh_name,
3778
5485
  :mesh_owner,
3779
5486
  :next_token)
5487
+ SENSITIVE = []
3780
5488
  include Aws::Structure
3781
5489
  end
3782
5490
 
@@ -3800,6 +5508,7 @@ module Aws::AppMesh
3800
5508
  #
3801
5509
  class AccessLog < Struct.new(
3802
5510
  :file)
5511
+ SENSITIVE = []
3803
5512
  include Aws::Structure
3804
5513
  end
3805
5514
 
@@ -3853,6 +5562,42 @@ module Aws::AppMesh
3853
5562
  :mesh_name,
3854
5563
  :mesh_owner,
3855
5564
  :next_token)
5565
+ SENSITIVE = []
5566
+ include Aws::Structure
5567
+ end
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 = []
3856
5601
  include Aws::Structure
3857
5602
  end
3858
5603
 
@@ -3867,6 +5612,55 @@ module Aws::AppMesh
3867
5612
  #
3868
5613
  class TooManyRequestsException < Struct.new(
3869
5614
  :message)
5615
+ SENSITIVE = []
5616
+ include Aws::Structure
5617
+ end
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 = []
3870
5664
  include Aws::Structure
3871
5665
  end
3872
5666
 
@@ -3893,6 +5687,7 @@ module Aws::AppMesh
3893
5687
  class Duration < Struct.new(
3894
5688
  :unit,
3895
5689
  :value)
5690
+ SENSITIVE = []
3896
5691
  include Aws::Structure
3897
5692
  end
3898
5693
 
@@ -3904,6 +5699,7 @@ module Aws::AppMesh
3904
5699
  #
3905
5700
  class DescribeRouteOutput < Struct.new(
3906
5701
  :route)
5702
+ SENSITIVE = []
3907
5703
  include Aws::Structure
3908
5704
  end
3909
5705
 
@@ -3963,6 +5759,7 @@ module Aws::AppMesh
3963
5759
  :method,
3964
5760
  :prefix,
3965
5761
  :scheme)
5762
+ SENSITIVE = []
3966
5763
  include Aws::Structure
3967
5764
  end
3968
5765
 
@@ -3996,6 +5793,7 @@ module Aws::AppMesh
3996
5793
  class TagRef < Struct.new(
3997
5794
  :key,
3998
5795
  :value)
5796
+ SENSITIVE = []
3999
5797
  include Aws::Structure
4000
5798
  end
4001
5799
 
@@ -4056,6 +5854,7 @@ module Aws::AppMesh
4056
5854
  :mesh_owner,
4057
5855
  :resource_owner,
4058
5856
  :version)
5857
+ SENSITIVE = []
4059
5858
  include Aws::Structure
4060
5859
  end
4061
5860
 
@@ -4085,6 +5884,20 @@ module Aws::AppMesh
4085
5884
  :metadata,
4086
5885
  :spec,
4087
5886
  :status)
5887
+ SENSITIVE = []
5888
+ include Aws::Structure
5889
+ end
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 = []
4088
5901
  include Aws::Structure
4089
5902
  end
4090
5903
 
@@ -4098,6 +5911,7 @@ module Aws::AppMesh
4098
5911
  #
4099
5912
  class VirtualRouterStatus < Struct.new(
4100
5913
  :status)
5914
+ SENSITIVE = []
4101
5915
  include Aws::Structure
4102
5916
  end
4103
5917
 
@@ -4124,6 +5938,45 @@ module Aws::AppMesh
4124
5938
  #
4125
5939
  class TcpRouteAction < Struct.new(
4126
5940
  :weighted_targets)
5941
+ SENSITIVE = []
5942
+ include Aws::Structure
5943
+ end
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 = []
4127
5980
  include Aws::Structure
4128
5981
  end
4129
5982
 
@@ -4161,6 +6014,7 @@ module Aws::AppMesh
4161
6014
  :mesh_name,
4162
6015
  :mesh_owner,
4163
6016
  :virtual_node_name)
6017
+ SENSITIVE = []
4164
6018
  include Aws::Structure
4165
6019
  end
4166
6020
 
@@ -4174,6 +6028,7 @@ module Aws::AppMesh
4174
6028
  #
4175
6029
  class RouteStatus < Struct.new(
4176
6030
  :status)
6031
+ SENSITIVE = []
4177
6032
  include Aws::Structure
4178
6033
  end
4179
6034
 
@@ -4257,6 +6112,7 @@ module Aws::AppMesh
4257
6112
  # @return [Types::PortMapping]
4258
6113
  #
4259
6114
  # @!attribute [rw] timeout
6115
+ # An object that represents timeouts for different protocols.
4260
6116
  # @return [Types::ListenerTimeout]
4261
6117
  #
4262
6118
  # @!attribute [rw] tls
@@ -4271,6 +6127,7 @@ module Aws::AppMesh
4271
6127
  :port_mapping,
4272
6128
  :timeout,
4273
6129
  :tls)
6130
+ SENSITIVE = []
4274
6131
  include Aws::Structure
4275
6132
  end
4276
6133
 
@@ -4345,6 +6202,7 @@ module Aws::AppMesh
4345
6202
  # @return [Types::GrpcRetryPolicy]
4346
6203
  #
4347
6204
  # @!attribute [rw] timeout
6205
+ # An object that represents types of timeouts.
4348
6206
  # @return [Types::GrpcTimeout]
4349
6207
  #
4350
6208
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcRoute AWS API Documentation
@@ -4354,6 +6212,7 @@ module Aws::AppMesh
4354
6212
  :match,
4355
6213
  :retry_policy,
4356
6214
  :timeout)
6215
+ SENSITIVE = []
4357
6216
  include Aws::Structure
4358
6217
  end
4359
6218
 
@@ -4391,12 +6250,47 @@ module Aws::AppMesh
4391
6250
  # A reference to an object that represents a TLS validation context.
4392
6251
  # @return [Types::TlsValidationContext]
4393
6252
  #
4394
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ClientPolicyTls AWS API Documentation
6253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ClientPolicyTls AWS API Documentation
6254
+ #
6255
+ class ClientPolicyTls < Struct.new(
6256
+ :enforce,
6257
+ :ports,
6258
+ :validation)
6259
+ SENSITIVE = []
6260
+ include Aws::Structure
6261
+ end
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
4395
6289
  #
4396
- class ClientPolicyTls < Struct.new(
4397
- :enforce,
4398
- :ports,
4399
- :validation)
6290
+ class VirtualGatewayTlsValidationContextTrust < Struct.new(
6291
+ :acm,
6292
+ :file)
6293
+ SENSITIVE = []
4400
6294
  include Aws::Structure
4401
6295
  end
4402
6296
 
@@ -4408,6 +6302,7 @@ module Aws::AppMesh
4408
6302
  #
4409
6303
  class DeleteVirtualServiceOutput < Struct.new(
4410
6304
  :virtual_service)
6305
+ SENSITIVE = []
4411
6306
  include Aws::Structure
4412
6307
  end
4413
6308
 
@@ -4428,6 +6323,44 @@ module Aws::AppMesh
4428
6323
  #
4429
6324
  class VirtualNodeServiceProvider < Struct.new(
4430
6325
  :virtual_node_name)
6326
+ SENSITIVE = []
6327
+ include Aws::Structure
6328
+ end
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 = []
4431
6364
  include Aws::Structure
4432
6365
  end
4433
6366
 
@@ -4463,6 +6396,7 @@ module Aws::AppMesh
4463
6396
  #
4464
6397
  class BackendDefaults < Struct.new(
4465
6398
  :client_policy)
6399
+ SENSITIVE = []
4466
6400
  include Aws::Structure
4467
6401
  end
4468
6402
 
@@ -4497,6 +6431,7 @@ module Aws::AppMesh
4497
6431
  class ListenerTlsFileCertificate < Struct.new(
4498
6432
  :certificate_chain,
4499
6433
  :private_key)
6434
+ SENSITIVE = []
4500
6435
  include Aws::Structure
4501
6436
  end
4502
6437
 
@@ -4549,6 +6484,7 @@ module Aws::AppMesh
4549
6484
  :max_retries,
4550
6485
  :per_retry_timeout,
4551
6486
  :tcp_retry_events)
6487
+ SENSITIVE = []
4552
6488
  include Aws::Structure
4553
6489
  end
4554
6490
 
@@ -4586,6 +6522,7 @@ module Aws::AppMesh
4586
6522
  :mesh_name,
4587
6523
  :mesh_owner,
4588
6524
  :virtual_router_name)
6525
+ SENSITIVE = []
4589
6526
  include Aws::Structure
4590
6527
  end
4591
6528
 
@@ -4605,6 +6542,161 @@ module Aws::AppMesh
4605
6542
  #
4606
6543
  class TooManyTagsException < Struct.new(
4607
6544
  :message)
6545
+ SENSITIVE = []
6546
+ include Aws::Structure
6547
+ end
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 = []
4608
6700
  include Aws::Structure
4609
6701
  end
4610
6702
 
@@ -4627,6 +6719,7 @@ module Aws::AppMesh
4627
6719
  #
4628
6720
  class TlsValidationContextFileTrust < Struct.new(
4629
6721
  :certificate_chain)
6722
+ SENSITIVE = []
4630
6723
  include Aws::Structure
4631
6724
  end
4632
6725
 
@@ -4669,6 +6762,7 @@ module Aws::AppMesh
4669
6762
  :invert,
4670
6763
  :match,
4671
6764
  :name)
6765
+ SENSITIVE = []
4672
6766
  include Aws::Structure
4673
6767
  end
4674
6768
 
@@ -4915,9 +7009,12 @@ module Aws::AppMesh
4915
7009
  :spec,
4916
7010
  :tags,
4917
7011
  :virtual_router_name)
7012
+ SENSITIVE = []
4918
7013
  include Aws::Structure
4919
7014
  end
4920
7015
 
7016
+ # An object that represents types of timeouts.
7017
+ #
4921
7018
  # @note When making an API call, you may pass TcpTimeout
4922
7019
  # data as a hash:
4923
7020
  #
@@ -4936,6 +7033,51 @@ module Aws::AppMesh
4936
7033
  #
4937
7034
  class TcpTimeout < Struct.new(
4938
7035
  :idle)
7036
+ SENSITIVE = []
7037
+ include Aws::Structure
7038
+ end
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 = []
4939
7081
  include Aws::Structure
4940
7082
  end
4941
7083
 
@@ -5165,6 +7307,7 @@ module Aws::AppMesh
5165
7307
  :route_name,
5166
7308
  :spec,
5167
7309
  :virtual_router_name)
7310
+ SENSITIVE = []
5168
7311
  include Aws::Structure
5169
7312
  end
5170
7313
 
@@ -5239,6 +7382,7 @@ module Aws::AppMesh
5239
7382
  # @return [Types::HttpRetryPolicy]
5240
7383
  #
5241
7384
  # @!attribute [rw] timeout
7385
+ # An object that represents types of timeouts.
5242
7386
  # @return [Types::HttpTimeout]
5243
7387
  #
5244
7388
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRoute AWS API Documentation
@@ -5248,6 +7392,7 @@ module Aws::AppMesh
5248
7392
  :match,
5249
7393
  :retry_policy,
5250
7394
  :timeout)
7395
+ SENSITIVE = []
5251
7396
  include Aws::Structure
5252
7397
  end
5253
7398
 
@@ -5279,6 +7424,74 @@ module Aws::AppMesh
5279
7424
  class DescribeMeshInput < Struct.new(
5280
7425
  :mesh_name,
5281
7426
  :mesh_owner)
7427
+ SENSITIVE = []
7428
+ include Aws::Structure
7429
+ end
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 = []
5282
7495
  include Aws::Structure
5283
7496
  end
5284
7497
 
@@ -5301,6 +7514,31 @@ module Aws::AppMesh
5301
7514
  #
5302
7515
  class MeshSpec < Struct.new(
5303
7516
  :egress_filter)
7517
+ SENSITIVE = []
7518
+ include Aws::Structure
7519
+ end
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 = []
5304
7542
  include Aws::Structure
5305
7543
  end
5306
7544
 
@@ -5321,6 +7559,7 @@ module Aws::AppMesh
5321
7559
  class ListTagsForResourceOutput < Struct.new(
5322
7560
  :next_token,
5323
7561
  :tags)
7562
+ SENSITIVE = []
5324
7563
  include Aws::Structure
5325
7564
  end
5326
7565
 
@@ -5359,6 +7598,7 @@ module Aws::AppMesh
5359
7598
  class ServiceDiscovery < Struct.new(
5360
7599
  :aws_cloud_map,
5361
7600
  :dns)
7601
+ SENSITIVE = []
5362
7602
  include Aws::Structure
5363
7603
  end
5364
7604
 
@@ -5379,6 +7619,7 @@ module Aws::AppMesh
5379
7619
  class ListVirtualNodesOutput < Struct.new(
5380
7620
  :next_token,
5381
7621
  :virtual_nodes)
7622
+ SENSITIVE = []
5382
7623
  include Aws::Structure
5383
7624
  end
5384
7625
 
@@ -5403,6 +7644,7 @@ module Aws::AppMesh
5403
7644
  class UntagResourceInput < Struct.new(
5404
7645
  :resource_arn,
5405
7646
  :tag_keys)
7647
+ SENSITIVE = []
5406
7648
  include Aws::Structure
5407
7649
  end
5408
7650
 
@@ -5430,6 +7672,7 @@ module Aws::AppMesh
5430
7672
  #
5431
7673
  class ListenerTlsAcmCertificate < Struct.new(
5432
7674
  :certificate_arn)
7675
+ SENSITIVE = []
5433
7676
  include Aws::Structure
5434
7677
  end
5435
7678