aws-sdk-appmesh 1.23.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -28,6 +30,7 @@ module Aws::AppMesh
28
30
  #
29
31
  class VirtualRouterListener < Struct.new(
30
32
  :port_mapping)
33
+ SENSITIVE = []
31
34
  include Aws::Structure
32
35
  end
33
36
 
@@ -86,6 +89,7 @@ module Aws::AppMesh
86
89
  :max_retries,
87
90
  :per_retry_timeout,
88
91
  :tcp_retry_events)
92
+ SENSITIVE = []
89
93
  include Aws::Structure
90
94
  end
91
95
 
@@ -97,6 +101,7 @@ module Aws::AppMesh
97
101
  #
98
102
  class CreateVirtualNodeOutput < Struct.new(
99
103
  :virtual_node)
104
+ SENSITIVE = []
100
105
  include Aws::Structure
101
106
  end
102
107
 
@@ -121,6 +126,7 @@ module Aws::AppMesh
121
126
  #
122
127
  class Logging < Struct.new(
123
128
  :access_log)
129
+ SENSITIVE = []
124
130
  include Aws::Structure
125
131
  end
126
132
 
@@ -132,6 +138,7 @@ module Aws::AppMesh
132
138
  #
133
139
  class UpdateVirtualRouterOutput < Struct.new(
134
140
  :virtual_router)
141
+ SENSITIVE = []
135
142
  include Aws::Structure
136
143
  end
137
144
 
@@ -152,6 +159,244 @@ module Aws::AppMesh
152
159
  class ListVirtualRoutersOutput < Struct.new(
153
160
  :next_token,
154
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 = []
155
400
  include Aws::Structure
156
401
  end
157
402
 
@@ -175,7 +420,7 @@ module Aws::AppMesh
175
420
  # The AWS IAM account ID of the service mesh owner. If the account ID
176
421
  # is not your own, then it's the ID of the account that shared the
177
422
  # mesh with your account. For more information about mesh sharing, see
178
- # [Working with Shared Meshes][1].
423
+ # [Working with shared meshes][1].
179
424
  #
180
425
  #
181
426
  #
@@ -186,7 +431,7 @@ module Aws::AppMesh
186
431
  # The AWS IAM account ID of the resource owner. If the account ID is
187
432
  # not your own, then it's the ID of the mesh owner or of another
188
433
  # account that the mesh is shared with. For more information about
189
- # mesh sharing, see [Working with Shared Meshes][1].
434
+ # mesh sharing, see [Working with shared meshes][1].
190
435
  #
191
436
  #
192
437
  #
@@ -212,6 +457,7 @@ module Aws::AppMesh
212
457
  :resource_owner,
213
458
  :uid,
214
459
  :version)
460
+ SENSITIVE = []
215
461
  include Aws::Structure
216
462
  end
217
463
 
@@ -225,6 +471,7 @@ module Aws::AppMesh
225
471
  #
226
472
  class ResourceInUseException < Struct.new(
227
473
  :message)
474
+ SENSITIVE = []
228
475
  include Aws::Structure
229
476
  end
230
477
 
@@ -236,6 +483,7 @@ module Aws::AppMesh
236
483
  #
237
484
  class UpdateVirtualNodeOutput < Struct.new(
238
485
  :virtual_node)
486
+ SENSITIVE = []
239
487
  include Aws::Structure
240
488
  end
241
489
 
@@ -256,6 +504,7 @@ module Aws::AppMesh
256
504
  class ListRoutesOutput < Struct.new(
257
505
  :next_token,
258
506
  :routes)
507
+ SENSITIVE = []
259
508
  include Aws::Structure
260
509
  end
261
510
 
@@ -300,6 +549,7 @@ module Aws::AppMesh
300
549
  class VirtualServiceBackend < Struct.new(
301
550
  :client_policy,
302
551
  :virtual_service_name)
552
+ SENSITIVE = []
303
553
  include Aws::Structure
304
554
  end
305
555
 
@@ -313,6 +563,34 @@ module Aws::AppMesh
313
563
  #
314
564
  class BadRequestException < Struct.new(
315
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 = []
316
594
  include Aws::Structure
317
595
  end
318
596
 
@@ -382,6 +660,7 @@ module Aws::AppMesh
382
660
  :protocol,
383
661
  :timeout_millis,
384
662
  :unhealthy_threshold)
663
+ SENSITIVE = []
385
664
  include Aws::Structure
386
665
  end
387
666
 
@@ -406,6 +685,7 @@ module Aws::AppMesh
406
685
  #
407
686
  class EgressFilter < Struct.new(
408
687
  :type)
688
+ SENSITIVE = []
409
689
  include Aws::Structure
410
690
  end
411
691
 
@@ -440,39 +720,362 @@ module Aws::AppMesh
440
720
  #
441
721
  class ClientPolicy < Struct.new(
442
722
  :tls)
723
+ SENSITIVE = []
443
724
  include Aws::Structure
444
725
  end
445
726
 
446
- # @!attribute [rw] virtual_service
447
- # The full description of your virtual service.
448
- # @return [Types::VirtualServiceData]
449
- #
450
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualServiceOutput AWS API Documentation
451
- #
452
- class DescribeVirtualServiceOutput < Struct.new(
453
- :virtual_service)
454
- include Aws::Structure
455
- end
456
-
457
- # @!attribute [rw] virtual_node
458
- # The full description of your virtual node.
459
- # @return [Types::VirtualNodeData]
460
- #
461
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNodeOutput AWS API Documentation
462
- #
463
- class DescribeVirtualNodeOutput < Struct.new(
464
- :virtual_node)
465
- include Aws::Structure
466
- end
467
-
468
- # @!attribute [rw] route
469
- # The full description of your mesh following the create call.
470
- # @return [Types::RouteData]
727
+ # An object that represents the specification of a service mesh
728
+ # resource.
471
729
  #
472
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRouteOutput AWS API Documentation
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 = []
836
+ include Aws::Structure
837
+ end
838
+
839
+ # @!attribute [rw] virtual_service
840
+ # The full description of your virtual service.
841
+ # @return [Types::VirtualServiceData]
842
+ #
843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualServiceOutput AWS API Documentation
844
+ #
845
+ class DescribeVirtualServiceOutput < Struct.new(
846
+ :virtual_service)
847
+ SENSITIVE = []
848
+ include Aws::Structure
849
+ end
850
+
851
+ # @note When making an API call, you may pass CreateGatewayRouteInput
852
+ # data as a hash:
853
+ #
854
+ # {
855
+ # client_token: "String",
856
+ # gateway_route_name: "ResourceName", # required
857
+ # mesh_name: "ResourceName", # required
858
+ # mesh_owner: "AccountId",
859
+ # spec: { # required
860
+ # grpc_route: {
861
+ # action: { # required
862
+ # target: { # required
863
+ # virtual_service: { # required
864
+ # virtual_service_name: "ResourceName", # required
865
+ # },
866
+ # },
867
+ # },
868
+ # match: { # required
869
+ # service_name: "ServiceName",
870
+ # },
871
+ # },
872
+ # http2_route: {
873
+ # action: { # required
874
+ # target: { # required
875
+ # virtual_service: { # required
876
+ # virtual_service_name: "ResourceName", # required
877
+ # },
878
+ # },
879
+ # },
880
+ # match: { # required
881
+ # prefix: "String", # required
882
+ # },
883
+ # },
884
+ # http_route: {
885
+ # action: { # required
886
+ # target: { # required
887
+ # virtual_service: { # required
888
+ # virtual_service_name: "ResourceName", # required
889
+ # },
890
+ # },
891
+ # },
892
+ # match: { # required
893
+ # prefix: "String", # required
894
+ # },
895
+ # },
896
+ # },
897
+ # tags: [
898
+ # {
899
+ # key: "TagKey", # required
900
+ # value: "TagValue",
901
+ # },
902
+ # ],
903
+ # virtual_gateway_name: "ResourceName", # required
904
+ # }
905
+ #
906
+ # @!attribute [rw] client_token
907
+ # Unique, case-sensitive identifier that you provide to ensure the
908
+ # idempotency of the request. Up to 36 letters, numbers, hyphens, and
909
+ # underscores are allowed.
910
+ #
911
+ # **A suitable default value is auto-generated.** You should normally
912
+ # not need to pass this option.
913
+ # @return [String]
914
+ #
915
+ # @!attribute [rw] gateway_route_name
916
+ # The name to use for the gateway route.
917
+ # @return [String]
918
+ #
919
+ # @!attribute [rw] mesh_name
920
+ # The name of the service mesh to create the gateway route in.
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] mesh_owner
924
+ # The AWS IAM account ID of the service mesh owner. If the account ID
925
+ # is not your own, then the account that you specify must share the
926
+ # mesh with your account before you can create the resource in the
927
+ # service mesh. For more information about mesh sharing, see [Working
928
+ # with shared meshes][1].
929
+ #
930
+ #
931
+ #
932
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
933
+ # @return [String]
934
+ #
935
+ # @!attribute [rw] spec
936
+ # The gateway route specification to apply.
937
+ # @return [Types::GatewayRouteSpec]
938
+ #
939
+ # @!attribute [rw] tags
940
+ # Optional metadata that you can apply to the gateway route to assist
941
+ # with categorization and organization. Each tag consists of a key and
942
+ # an optional value, both of which you define. Tag keys can have a
943
+ # maximum character length of 128 characters, and tag values can have
944
+ # a maximum length of 256 characters.
945
+ # @return [Array<Types::TagRef>]
946
+ #
947
+ # @!attribute [rw] virtual_gateway_name
948
+ # The name of the virtual gateway to associate the gateway route with.
949
+ # If the virtual gateway is in a shared mesh, then you must be the
950
+ # owner of the virtual gateway resource.
951
+ # @return [String]
952
+ #
953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRouteInput AWS API Documentation
954
+ #
955
+ class CreateGatewayRouteInput < Struct.new(
956
+ :client_token,
957
+ :gateway_route_name,
958
+ :mesh_name,
959
+ :mesh_owner,
960
+ :spec,
961
+ :tags,
962
+ :virtual_gateway_name)
963
+ SENSITIVE = []
964
+ include Aws::Structure
965
+ end
966
+
967
+ # @!attribute [rw] virtual_node
968
+ # The full description of your virtual node.
969
+ # @return [Types::VirtualNodeData]
970
+ #
971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNodeOutput AWS API Documentation
972
+ #
973
+ class DescribeVirtualNodeOutput < Struct.new(
974
+ :virtual_node)
975
+ SENSITIVE = []
976
+ include Aws::Structure
977
+ end
978
+
979
+ # An object that represents a virtual gateway returned by a describe
980
+ # operation.
981
+ #
982
+ # @!attribute [rw] mesh_name
983
+ # The name of the service mesh that the virtual gateway resides in.
984
+ # @return [String]
985
+ #
986
+ # @!attribute [rw] metadata
987
+ # An object that represents metadata for a resource.
988
+ # @return [Types::ResourceMetadata]
989
+ #
990
+ # @!attribute [rw] spec
991
+ # The specifications of the virtual gateway.
992
+ # @return [Types::VirtualGatewaySpec]
993
+ #
994
+ # @!attribute [rw] status
995
+ # The current status of the virtual gateway.
996
+ # @return [Types::VirtualGatewayStatus]
997
+ #
998
+ # @!attribute [rw] virtual_gateway_name
999
+ # The name of the virtual gateway.
1000
+ # @return [String]
1001
+ #
1002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayData AWS API Documentation
1003
+ #
1004
+ class VirtualGatewayData < Struct.new(
1005
+ :mesh_name,
1006
+ :metadata,
1007
+ :spec,
1008
+ :status,
1009
+ :virtual_gateway_name)
1010
+ SENSITIVE = []
1011
+ include Aws::Structure
1012
+ end
1013
+
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
473
1019
  #
474
1020
  class CreateRouteOutput < Struct.new(
475
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]
1062
+ #
1063
+ # @!attribute [rw] port_mapping
1064
+ # The port mapping information for the listener.
1065
+ # @return [Types::VirtualGatewayPortMapping]
1066
+ #
1067
+ # @!attribute [rw] tls
1068
+ # A reference to an object that represents the Transport Layer
1069
+ # Security (TLS) properties for the listener.
1070
+ # @return [Types::VirtualGatewayListenerTls]
1071
+ #
1072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListener AWS API Documentation
1073
+ #
1074
+ class VirtualGatewayListener < Struct.new(
1075
+ :health_check,
1076
+ :port_mapping,
1077
+ :tls)
1078
+ SENSITIVE = []
476
1079
  include Aws::Structure
477
1080
  end
478
1081
 
@@ -494,6 +1097,46 @@ module Aws::AppMesh
494
1097
  #
495
1098
  class DnsServiceDiscovery < Struct.new(
496
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 = []
497
1140
  include Aws::Structure
498
1141
  end
499
1142
 
@@ -515,7 +1158,7 @@ module Aws::AppMesh
515
1158
  # The AWS IAM account ID of the service mesh owner. If the account ID
516
1159
  # is not your own, then it's the ID of the account that shared the
517
1160
  # mesh with your account. For more information about mesh sharing, see
518
- # [Working with Shared Meshes][1].
1161
+ # [Working with shared meshes][1].
519
1162
  #
520
1163
  #
521
1164
  #
@@ -537,6 +1180,7 @@ module Aws::AppMesh
537
1180
  :mesh_owner,
538
1181
  :route_name,
539
1182
  :virtual_router_name)
1183
+ SENSITIVE = []
540
1184
  include Aws::Structure
541
1185
  end
542
1186
 
@@ -571,6 +1215,7 @@ module Aws::AppMesh
571
1215
  :spec,
572
1216
  :status,
573
1217
  :virtual_node_name)
1218
+ SENSITIVE = []
574
1219
  include Aws::Structure
575
1220
  end
576
1221
 
@@ -578,6 +1223,50 @@ module Aws::AppMesh
578
1223
  #
579
1224
  class UntagResourceOutput < Aws::EmptyStructure; end
580
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
+
581
1270
  # An object that represents the backends that a virtual node is expected
582
1271
  # to send outbound traffic to.
583
1272
  #
@@ -614,6 +1303,7 @@ module Aws::AppMesh
614
1303
  #
615
1304
  class Backend < Struct.new(
616
1305
  :virtual_service)
1306
+ SENSITIVE = []
617
1307
  include Aws::Structure
618
1308
  end
619
1309
 
@@ -654,6 +1344,102 @@ module Aws::AppMesh
654
1344
  class ListMeshesInput < Struct.new(
655
1345
  :limit,
656
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 = []
657
1443
  include Aws::Structure
658
1444
  end
659
1445
 
@@ -688,6 +1474,7 @@ module Aws::AppMesh
688
1474
  :spec,
689
1475
  :status,
690
1476
  :virtual_router_name)
1477
+ SENSITIVE = []
691
1478
  include Aws::Structure
692
1479
  end
693
1480
 
@@ -717,16 +1504,87 @@ module Aws::AppMesh
717
1504
  # The name of the service mesh to update.
718
1505
  # @return [String]
719
1506
  #
720
- # @!attribute [rw] spec
721
- # The service mesh specification to apply.
722
- # @return [Types::MeshSpec]
1507
+ # @!attribute [rw] spec
1508
+ # The service mesh specification to apply.
1509
+ # @return [Types::MeshSpec]
1510
+ #
1511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMeshInput AWS API Documentation
1512
+ #
1513
+ class UpdateMeshInput < Struct.new(
1514
+ :client_token,
1515
+ :mesh_name,
1516
+ :spec)
1517
+ SENSITIVE = []
1518
+ include Aws::Structure
1519
+ end
1520
+
1521
+ # An object that represents the health check policy for a virtual
1522
+ # gateway's listener.
1523
+ #
1524
+ # @note When making an API call, you may pass VirtualGatewayHealthCheckPolicy
1525
+ # data as a hash:
1526
+ #
1527
+ # {
1528
+ # healthy_threshold: 1, # required
1529
+ # interval_millis: 1, # required
1530
+ # path: "String",
1531
+ # port: 1,
1532
+ # protocol: "grpc", # required, accepts grpc, http, http2
1533
+ # timeout_millis: 1, # required
1534
+ # unhealthy_threshold: 1, # required
1535
+ # }
1536
+ #
1537
+ # @!attribute [rw] healthy_threshold
1538
+ # The number of consecutive successful health checks that must occur
1539
+ # before declaring the listener healthy.
1540
+ # @return [Integer]
1541
+ #
1542
+ # @!attribute [rw] interval_millis
1543
+ # The time period in milliseconds between each health check execution.
1544
+ # @return [Integer]
1545
+ #
1546
+ # @!attribute [rw] path
1547
+ # The destination path for the health check request. This value is
1548
+ # only used if the specified protocol is HTTP or HTTP/2. For any other
1549
+ # protocol, this value is ignored.
1550
+ # @return [String]
1551
+ #
1552
+ # @!attribute [rw] port
1553
+ # The destination port for the health check request. This port must
1554
+ # match the port defined in the PortMapping for the listener.
1555
+ # @return [Integer]
1556
+ #
1557
+ # @!attribute [rw] protocol
1558
+ # The protocol for the health check request. If you specify `grpc`,
1559
+ # then your service must conform to the [GRPC Health Checking
1560
+ # Protocol][1].
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]
723
1576
  #
724
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMeshInput AWS API Documentation
1577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayHealthCheckPolicy AWS API Documentation
725
1578
  #
726
- class UpdateMeshInput < Struct.new(
727
- :client_token,
728
- :mesh_name,
729
- :spec)
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 = []
730
1588
  include Aws::Structure
731
1589
  end
732
1590
 
@@ -774,7 +1632,7 @@ module Aws::AppMesh
774
1632
  # is not your own, then the account that you specify must share the
775
1633
  # mesh with your account before you can create the resource in the
776
1634
  # service mesh. For more information about mesh sharing, see [Working
777
- # with Shared Meshes][1].
1635
+ # with shared meshes][1].
778
1636
  #
779
1637
  #
780
1638
  #
@@ -806,6 +1664,7 @@ module Aws::AppMesh
806
1664
  :spec,
807
1665
  :tags,
808
1666
  :virtual_router_name)
1667
+ SENSITIVE = []
809
1668
  include Aws::Structure
810
1669
  end
811
1670
 
@@ -817,6 +1676,7 @@ module Aws::AppMesh
817
1676
  #
818
1677
  class DescribeVirtualRouterOutput < Struct.new(
819
1678
  :virtual_router)
1679
+ SENSITIVE = []
820
1680
  include Aws::Structure
821
1681
  end
822
1682
 
@@ -828,6 +1688,7 @@ module Aws::AppMesh
828
1688
  #
829
1689
  class CreateMeshOutput < Struct.new(
830
1690
  :mesh)
1691
+ SENSITIVE = []
831
1692
  include Aws::Structure
832
1693
  end
833
1694
 
@@ -840,6 +1701,7 @@ module Aws::AppMesh
840
1701
  #
841
1702
  class CreateVirtualRouterOutput < Struct.new(
842
1703
  :virtual_router)
1704
+ SENSITIVE = []
843
1705
  include Aws::Structure
844
1706
  end
845
1707
 
@@ -853,6 +1715,41 @@ module Aws::AppMesh
853
1715
  #
854
1716
  class VirtualServiceStatus < Struct.new(
855
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]
1742
+ #
1743
+ # @!attribute [rw] file
1744
+ # A reference to an object that represents a local file certificate.
1745
+ # @return [Types::VirtualGatewayListenerTlsFileCertificate]
1746
+ #
1747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayListenerTlsCertificate AWS API Documentation
1748
+ #
1749
+ class VirtualGatewayListenerTlsCertificate < Struct.new(
1750
+ :acm,
1751
+ :file)
1752
+ SENSITIVE = []
856
1753
  include Aws::Structure
857
1754
  end
858
1755
 
@@ -886,6 +1783,7 @@ module Aws::AppMesh
886
1783
  class ListenerTlsCertificate < Struct.new(
887
1784
  :acm,
888
1785
  :file)
1786
+ SENSITIVE = []
889
1787
  include Aws::Structure
890
1788
  end
891
1789
 
@@ -914,6 +1812,29 @@ module Aws::AppMesh
914
1812
  #
915
1813
  class VirtualRouterSpec < Struct.new(
916
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 = []
917
1838
  include Aws::Structure
918
1839
  end
919
1840
 
@@ -979,6 +1900,44 @@ module Aws::AppMesh
979
1900
  # port: 1, # required
980
1901
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
981
1902
  # },
1903
+ # timeout: {
1904
+ # grpc: {
1905
+ # idle: {
1906
+ # unit: "ms", # accepts ms, s
1907
+ # value: 1,
1908
+ # },
1909
+ # per_request: {
1910
+ # unit: "ms", # accepts ms, s
1911
+ # value: 1,
1912
+ # },
1913
+ # },
1914
+ # http: {
1915
+ # idle: {
1916
+ # unit: "ms", # accepts ms, s
1917
+ # value: 1,
1918
+ # },
1919
+ # per_request: {
1920
+ # unit: "ms", # accepts ms, s
1921
+ # value: 1,
1922
+ # },
1923
+ # },
1924
+ # http2: {
1925
+ # idle: {
1926
+ # unit: "ms", # accepts ms, s
1927
+ # value: 1,
1928
+ # },
1929
+ # per_request: {
1930
+ # unit: "ms", # accepts ms, s
1931
+ # value: 1,
1932
+ # },
1933
+ # },
1934
+ # tcp: {
1935
+ # idle: {
1936
+ # unit: "ms", # accepts ms, s
1937
+ # value: 1,
1938
+ # },
1939
+ # },
1940
+ # },
982
1941
  # tls: {
983
1942
  # certificate: { # required
984
1943
  # acm: {
@@ -1000,90 +1959,314 @@ module Aws::AppMesh
1000
1959
  # },
1001
1960
  # },
1002
1961
  # },
1003
- # service_discovery: {
1004
- # aws_cloud_map: {
1005
- # attributes: [
1006
- # {
1007
- # key: "AwsCloudMapInstanceAttributeKey", # required
1008
- # value: "AwsCloudMapInstanceAttributeValue", # required
1009
- # },
1010
- # ],
1011
- # namespace_name: "AwsCloudMapName", # required
1012
- # service_name: "AwsCloudMapName", # required
1962
+ # service_discovery: {
1963
+ # aws_cloud_map: {
1964
+ # attributes: [
1965
+ # {
1966
+ # key: "AwsCloudMapInstanceAttributeKey", # required
1967
+ # value: "AwsCloudMapInstanceAttributeValue", # required
1968
+ # },
1969
+ # ],
1970
+ # namespace_name: "AwsCloudMapName", # required
1971
+ # service_name: "AwsCloudMapName", # required
1972
+ # },
1973
+ # dns: {
1974
+ # hostname: "Hostname", # required
1975
+ # },
1976
+ # },
1977
+ # }
1978
+ #
1979
+ # @!attribute [rw] backend_defaults
1980
+ # A reference to an object that represents the defaults for backends.
1981
+ # @return [Types::BackendDefaults]
1982
+ #
1983
+ # @!attribute [rw] backends
1984
+ # The backends that the virtual node is expected to send outbound
1985
+ # traffic to.
1986
+ # @return [Array<Types::Backend>]
1987
+ #
1988
+ # @!attribute [rw] listeners
1989
+ # The listener that the virtual node is expected to receive inbound
1990
+ # traffic from. You can specify one listener.
1991
+ # @return [Array<Types::Listener>]
1992
+ #
1993
+ # @!attribute [rw] logging
1994
+ # The inbound and outbound access logging information for the virtual
1995
+ # node.
1996
+ # @return [Types::Logging]
1997
+ #
1998
+ # @!attribute [rw] service_discovery
1999
+ # The service discovery information for the virtual node. If your
2000
+ # virtual node does not expect ingress traffic, you can omit this
2001
+ # parameter. If you specify a `listener`, then you must specify
2002
+ # service discovery information.
2003
+ # @return [Types::ServiceDiscovery]
2004
+ #
2005
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualNodeSpec AWS API Documentation
2006
+ #
2007
+ class VirtualNodeSpec < Struct.new(
2008
+ :backend_defaults,
2009
+ :backends,
2010
+ :listeners,
2011
+ :logging,
2012
+ :service_discovery)
2013
+ SENSITIVE = []
2014
+ include Aws::Structure
2015
+ end
2016
+
2017
+ # @!attribute [rw] meshes
2018
+ # The list of existing service meshes.
2019
+ # @return [Array<Types::MeshRef>]
2020
+ #
2021
+ # @!attribute [rw] next_token
2022
+ # The `nextToken` value to include in a future `ListMeshes` request.
2023
+ # When the results of a `ListMeshes` request exceed `limit`, you can
2024
+ # use this value to retrieve the next page of results. This value is
2025
+ # `null` when there are no more results to return.
2026
+ # @return [String]
2027
+ #
2028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshesOutput AWS API Documentation
2029
+ #
2030
+ class ListMeshesOutput < Struct.new(
2031
+ :meshes,
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 = []
2103
+ include Aws::Structure
2104
+ end
2105
+
2106
+ # The request contains a client token that was used for a previous
2107
+ # update resource call with different specifications. Try the request
2108
+ # again with a new client token.
2109
+ #
2110
+ # @!attribute [rw] message
2111
+ # @return [String]
2112
+ #
2113
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ConflictException AWS API Documentation
2114
+ #
2115
+ class ConflictException < Struct.new(
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 = []
2154
+ include Aws::Structure
2155
+ end
2156
+
2157
+ # An object that represents timeouts for different protocols.
2158
+ #
2159
+ # @note When making an API call, you may pass ListenerTimeout
2160
+ # data as a hash:
2161
+ #
2162
+ # {
2163
+ # grpc: {
2164
+ # idle: {
2165
+ # unit: "ms", # accepts ms, s
2166
+ # value: 1,
2167
+ # },
2168
+ # per_request: {
2169
+ # unit: "ms", # accepts ms, s
2170
+ # value: 1,
2171
+ # },
2172
+ # },
2173
+ # http: {
2174
+ # idle: {
2175
+ # unit: "ms", # accepts ms, s
2176
+ # value: 1,
2177
+ # },
2178
+ # per_request: {
2179
+ # unit: "ms", # accepts ms, s
2180
+ # value: 1,
2181
+ # },
2182
+ # },
2183
+ # http2: {
2184
+ # idle: {
2185
+ # unit: "ms", # accepts ms, s
2186
+ # value: 1,
1013
2187
  # },
1014
- # dns: {
1015
- # hostname: "Hostname", # required
2188
+ # per_request: {
2189
+ # unit: "ms", # accepts ms, s
2190
+ # value: 1,
2191
+ # },
2192
+ # },
2193
+ # tcp: {
2194
+ # idle: {
2195
+ # unit: "ms", # accepts ms, s
2196
+ # value: 1,
1016
2197
  # },
1017
2198
  # },
1018
2199
  # }
1019
2200
  #
1020
- # @!attribute [rw] backend_defaults
1021
- # A reference to an object that represents the defaults for backends.
1022
- # @return [Types::BackendDefaults]
1023
- #
1024
- # @!attribute [rw] backends
1025
- # The backends that the virtual node is expected to send outbound
1026
- # traffic to.
1027
- # @return [Array<Types::Backend>]
2201
+ # @!attribute [rw] grpc
2202
+ # An object that represents types of timeouts.
2203
+ # @return [Types::GrpcTimeout]
1028
2204
  #
1029
- # @!attribute [rw] listeners
1030
- # The listener that the virtual node is expected to receive inbound
1031
- # traffic from. You can specify one listener.
1032
- # @return [Array<Types::Listener>]
2205
+ # @!attribute [rw] http
2206
+ # An object that represents types of timeouts.
2207
+ # @return [Types::HttpTimeout]
1033
2208
  #
1034
- # @!attribute [rw] logging
1035
- # The inbound and outbound access logging information for the virtual
1036
- # node.
1037
- # @return [Types::Logging]
2209
+ # @!attribute [rw] http2
2210
+ # An object that represents types of timeouts.
2211
+ # @return [Types::HttpTimeout]
1038
2212
  #
1039
- # @!attribute [rw] service_discovery
1040
- # The service discovery information for the virtual node. If your
1041
- # virtual node does not expect ingress traffic, you can omit this
1042
- # parameter. If you specify a `listener`, then you must specify
1043
- # service discovery information.
1044
- # @return [Types::ServiceDiscovery]
2213
+ # @!attribute [rw] tcp
2214
+ # An object that represents types of timeouts.
2215
+ # @return [Types::TcpTimeout]
1045
2216
  #
1046
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualNodeSpec AWS API Documentation
2217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListenerTimeout AWS API Documentation
1047
2218
  #
1048
- class VirtualNodeSpec < Struct.new(
1049
- :backend_defaults,
1050
- :backends,
1051
- :listeners,
1052
- :logging,
1053
- :service_discovery)
2219
+ class ListenerTimeout < Struct.new(
2220
+ :grpc,
2221
+ :http,
2222
+ :http2,
2223
+ :tcp)
2224
+ SENSITIVE = []
1054
2225
  include Aws::Structure
1055
2226
  end
1056
2227
 
1057
- # @!attribute [rw] meshes
1058
- # The list of existing service meshes.
1059
- # @return [Array<Types::MeshRef>]
2228
+ # @note When making an API call, you may pass DescribeGatewayRouteInput
2229
+ # data as a hash:
1060
2230
  #
1061
- # @!attribute [rw] next_token
1062
- # The `nextToken` value to include in a future `ListMeshes` request.
1063
- # When the results of a `ListMeshes` request exceed `limit`, you can
1064
- # use this value to retrieve the next page of results. This value is
1065
- # `null` when there are no more results to return.
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.
1066
2240
  # @return [String]
1067
2241
  #
1068
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshesOutput AWS API Documentation
2242
+ # @!attribute [rw] mesh_name
2243
+ # The name of the service mesh that the gateway route resides in.
2244
+ # @return [String]
1069
2245
  #
1070
- class ListMeshesOutput < Struct.new(
1071
- :meshes,
1072
- :next_token)
1073
- include Aws::Structure
1074
- end
1075
-
1076
- # The request contains a client token that was used for a previous
1077
- # update resource call with different specifications. Try the request
1078
- # again with a new client token.
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].
1079
2251
  #
1080
- # @!attribute [rw] message
2252
+ #
2253
+ #
2254
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
1081
2255
  # @return [String]
1082
2256
  #
1083
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ConflictException AWS API Documentation
2257
+ # @!attribute [rw] virtual_gateway_name
2258
+ # The name of the virtual gateway that the gateway route is associated
2259
+ # with.
2260
+ # @return [String]
1084
2261
  #
1085
- class ConflictException < Struct.new(
1086
- :message)
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 = []
1087
2270
  include Aws::Structure
1088
2271
  end
1089
2272
 
@@ -1117,6 +2300,7 @@ module Aws::AppMesh
1117
2300
  class TlsValidationContextTrust < Struct.new(
1118
2301
  :acm,
1119
2302
  :file)
2303
+ SENSITIVE = []
1120
2304
  include Aws::Structure
1121
2305
  end
1122
2306
 
@@ -1143,6 +2327,7 @@ module Aws::AppMesh
1143
2327
  class PortMapping < Struct.new(
1144
2328
  :port,
1145
2329
  :protocol)
2330
+ SENSITIVE = []
1146
2331
  include Aws::Structure
1147
2332
  end
1148
2333
 
@@ -1164,6 +2349,7 @@ module Aws::AppMesh
1164
2349
  class ListVirtualServicesOutput < Struct.new(
1165
2350
  :next_token,
1166
2351
  :virtual_services)
2352
+ SENSITIVE = []
1167
2353
  include Aws::Structure
1168
2354
  end
1169
2355
 
@@ -1194,6 +2380,84 @@ module Aws::AppMesh
1194
2380
  class WeightedTarget < Struct.new(
1195
2381
  :virtual_node,
1196
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 = []
1197
2461
  include Aws::Structure
1198
2462
  end
1199
2463
 
@@ -1204,9 +2468,13 @@ module Aws::AppMesh
1204
2468
  # @return [String]
1205
2469
  #
1206
2470
  # @!attribute [rw] created_at
2471
+ # The Unix epoch timestamp in seconds for when the resource was
2472
+ # created.
1207
2473
  # @return [Time]
1208
2474
  #
1209
2475
  # @!attribute [rw] last_updated_at
2476
+ # The Unix epoch timestamp in seconds for when the resource was last
2477
+ # updated.
1210
2478
  # @return [Time]
1211
2479
  #
1212
2480
  # @!attribute [rw] mesh_name
@@ -1217,7 +2485,7 @@ module Aws::AppMesh
1217
2485
  # The AWS IAM account ID of the service mesh owner. If the account ID
1218
2486
  # is not your own, then it's the ID of the account that shared the
1219
2487
  # mesh with your account. For more information about mesh sharing, see
1220
- # [Working with Shared Meshes][1].
2488
+ # [Working with shared meshes][1].
1221
2489
  #
1222
2490
  #
1223
2491
  #
@@ -1228,7 +2496,7 @@ module Aws::AppMesh
1228
2496
  # The AWS IAM account ID of the resource owner. If the account ID is
1229
2497
  # not your own, then it's the ID of the mesh owner or of another
1230
2498
  # account that the mesh is shared with. For more information about
1231
- # mesh sharing, see [Working with Shared Meshes][1].
2499
+ # mesh sharing, see [Working with shared meshes][1].
1232
2500
  #
1233
2501
  #
1234
2502
  #
@@ -1240,6 +2508,8 @@ module Aws::AppMesh
1240
2508
  # @return [String]
1241
2509
  #
1242
2510
  # @!attribute [rw] version
2511
+ # The version of the resource. Resources are created at version 1, and
2512
+ # this version is incremented each time that they're updated.
1243
2513
  # @return [Integer]
1244
2514
  #
1245
2515
  # @!attribute [rw] virtual_router_name
@@ -1258,6 +2528,7 @@ module Aws::AppMesh
1258
2528
  :route_name,
1259
2529
  :version,
1260
2530
  :virtual_router_name)
2531
+ SENSITIVE = []
1261
2532
  include Aws::Structure
1262
2533
  end
1263
2534
 
@@ -1278,7 +2549,7 @@ module Aws::AppMesh
1278
2549
  # The AWS IAM account ID of the service mesh owner. If the account ID
1279
2550
  # is not your own, then it's the ID of the account that shared the
1280
2551
  # mesh with your account. For more information about mesh sharing, see
1281
- # [Working with Shared Meshes][1].
2552
+ # [Working with shared meshes][1].
1282
2553
  #
1283
2554
  #
1284
2555
  #
@@ -1295,6 +2566,7 @@ module Aws::AppMesh
1295
2566
  :mesh_name,
1296
2567
  :mesh_owner,
1297
2568
  :virtual_node_name)
2569
+ SENSITIVE = []
1298
2570
  include Aws::Structure
1299
2571
  end
1300
2572
 
@@ -1333,6 +2605,7 @@ module Aws::AppMesh
1333
2605
  :spec,
1334
2606
  :status,
1335
2607
  :virtual_router_name)
2608
+ SENSITIVE = []
1336
2609
  include Aws::Structure
1337
2610
  end
1338
2611
 
@@ -1346,6 +2619,7 @@ module Aws::AppMesh
1346
2619
  #
1347
2620
  class InternalServerErrorException < Struct.new(
1348
2621
  :message)
2622
+ SENSITIVE = []
1349
2623
  include Aws::Structure
1350
2624
  end
1351
2625
 
@@ -1367,6 +2641,7 @@ module Aws::AppMesh
1367
2641
  #
1368
2642
  class TlsValidationContextAcmTrust < Struct.new(
1369
2643
  :certificate_authority_arns)
2644
+ SENSITIVE = []
1370
2645
  include Aws::Structure
1371
2646
  end
1372
2647
 
@@ -1379,6 +2654,7 @@ module Aws::AppMesh
1379
2654
  #
1380
2655
  class ForbiddenException < Struct.new(
1381
2656
  :message)
2657
+ SENSITIVE = []
1382
2658
  include Aws::Structure
1383
2659
  end
1384
2660
 
@@ -1428,6 +2704,7 @@ module Aws::AppMesh
1428
2704
  :range,
1429
2705
  :regex,
1430
2706
  :suffix)
2707
+ SENSITIVE = []
1431
2708
  include Aws::Structure
1432
2709
  end
1433
2710
 
@@ -1439,6 +2716,79 @@ module Aws::AppMesh
1439
2716
  #
1440
2717
  class DeleteMeshOutput < Struct.new(
1441
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>]
2752
+ #
2753
+ # @!attribute [rw] validation
2754
+ # A reference to an object that represents a TLS validation context.
2755
+ # @return [Types::VirtualGatewayTlsValidationContext]
2756
+ #
2757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayClientPolicyTls AWS API Documentation
2758
+ #
2759
+ class VirtualGatewayClientPolicyTls < Struct.new(
2760
+ :enforce,
2761
+ :ports,
2762
+ :validation)
2763
+ SENSITIVE = []
2764
+ include Aws::Structure
2765
+ end
2766
+
2767
+ # An object that represents the status of the mesh resource.
2768
+ #
2769
+ # @!attribute [rw] status
2770
+ # The current status.
2771
+ # @return [String]
2772
+ #
2773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayStatus AWS API Documentation
2774
+ #
2775
+ class VirtualGatewayStatus < Struct.new(
2776
+ :status)
2777
+ SENSITIVE = []
2778
+ include Aws::Structure
2779
+ end
2780
+
2781
+ # An object that represents the current status of a gateway route.
2782
+ #
2783
+ # @!attribute [rw] status
2784
+ # The current status for the gateway route.
2785
+ # @return [String]
2786
+ #
2787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteStatus AWS API Documentation
2788
+ #
2789
+ class GatewayRouteStatus < Struct.new(
2790
+ :status)
2791
+ SENSITIVE = []
1442
2792
  include Aws::Structure
1443
2793
  end
1444
2794
 
@@ -1446,31 +2796,97 @@ module Aws::AppMesh
1446
2796
  # data as a hash:
1447
2797
  #
1448
2798
  # {
1449
- # resource_arn: "Arn", # required
1450
- # tags: [ # required
1451
- # {
1452
- # key: "TagKey", # required
1453
- # value: "TagValue",
2799
+ # resource_arn: "Arn", # required
2800
+ # tags: [ # required
2801
+ # {
2802
+ # key: "TagKey", # required
2803
+ # value: "TagValue",
2804
+ # },
2805
+ # ],
2806
+ # }
2807
+ #
2808
+ # @!attribute [rw] resource_arn
2809
+ # The Amazon Resource Name (ARN) of the resource to add tags to.
2810
+ # @return [String]
2811
+ #
2812
+ # @!attribute [rw] tags
2813
+ # The tags to add to the resource. A tag is an array of key-value
2814
+ # pairs. Tag keys can have a maximum character length of 128
2815
+ # characters, and tag values can have a maximum length of 256
2816
+ # characters.
2817
+ # @return [Array<Types::TagRef>]
2818
+ #
2819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResourceInput AWS API Documentation
2820
+ #
2821
+ class TagResourceInput < Struct.new(
2822
+ :resource_arn,
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
1454
2873
  # },
1455
- # ],
2874
+ # file: {
2875
+ # certificate_chain: "FilePath", # required
2876
+ # },
2877
+ # },
1456
2878
  # }
1457
2879
  #
1458
- # @!attribute [rw] resource_arn
1459
- # The Amazon Resource Name (ARN) of the resource to add tags to.
1460
- # @return [String]
1461
- #
1462
- # @!attribute [rw] tags
1463
- # The tags to add to the resource. A tag is an array of key-value
1464
- # pairs. Tag keys can have a maximum character length of 128
1465
- # characters, and tag values can have a maximum length of 256
1466
- # characters.
1467
- # @return [Array<Types::TagRef>]
2880
+ # @!attribute [rw] trust
2881
+ # A reference to an object that represents a TLS validation context
2882
+ # trust.
2883
+ # @return [Types::VirtualGatewayTlsValidationContextTrust]
1468
2884
  #
1469
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResourceInput AWS API Documentation
2885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayTlsValidationContext AWS API Documentation
1470
2886
  #
1471
- class TagResourceInput < Struct.new(
1472
- :resource_arn,
1473
- :tags)
2887
+ class VirtualGatewayTlsValidationContext < Struct.new(
2888
+ :trust)
2889
+ SENSITIVE = []
1474
2890
  include Aws::Structure
1475
2891
  end
1476
2892
 
@@ -1501,6 +2917,7 @@ module Aws::AppMesh
1501
2917
  class VirtualServiceProvider < Struct.new(
1502
2918
  :virtual_node,
1503
2919
  :virtual_router)
2920
+ SENSITIVE = []
1504
2921
  include Aws::Structure
1505
2922
  end
1506
2923
 
@@ -1551,6 +2968,7 @@ module Aws::AppMesh
1551
2968
  :metadata,
1552
2969
  :method_name,
1553
2970
  :service_name)
2971
+ SENSITIVE = []
1554
2972
  include Aws::Structure
1555
2973
  end
1556
2974
 
@@ -1592,6 +3010,7 @@ module Aws::AppMesh
1592
3010
  :attributes,
1593
3011
  :namespace_name,
1594
3012
  :service_name)
3013
+ SENSITIVE = []
1595
3014
  include Aws::Structure
1596
3015
  end
1597
3016
 
@@ -1603,6 +3022,7 @@ module Aws::AppMesh
1603
3022
  #
1604
3023
  class UpdateVirtualServiceOutput < Struct.new(
1605
3024
  :virtual_service)
3025
+ SENSITIVE = []
1606
3026
  include Aws::Structure
1607
3027
  end
1608
3028
 
@@ -1616,6 +3036,7 @@ module Aws::AppMesh
1616
3036
  #
1617
3037
  class MeshStatus < Struct.new(
1618
3038
  :status)
3039
+ SENSITIVE = []
1619
3040
  include Aws::Structure
1620
3041
  end
1621
3042
 
@@ -1683,6 +3104,44 @@ module Aws::AppMesh
1683
3104
  # port: 1, # required
1684
3105
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
1685
3106
  # },
3107
+ # timeout: {
3108
+ # grpc: {
3109
+ # idle: {
3110
+ # unit: "ms", # accepts ms, s
3111
+ # value: 1,
3112
+ # },
3113
+ # per_request: {
3114
+ # unit: "ms", # accepts ms, s
3115
+ # value: 1,
3116
+ # },
3117
+ # },
3118
+ # http: {
3119
+ # idle: {
3120
+ # unit: "ms", # accepts ms, s
3121
+ # value: 1,
3122
+ # },
3123
+ # per_request: {
3124
+ # unit: "ms", # accepts ms, s
3125
+ # value: 1,
3126
+ # },
3127
+ # },
3128
+ # http2: {
3129
+ # idle: {
3130
+ # unit: "ms", # accepts ms, s
3131
+ # value: 1,
3132
+ # },
3133
+ # per_request: {
3134
+ # unit: "ms", # accepts ms, s
3135
+ # value: 1,
3136
+ # },
3137
+ # },
3138
+ # tcp: {
3139
+ # idle: {
3140
+ # unit: "ms", # accepts ms, s
3141
+ # value: 1,
3142
+ # },
3143
+ # },
3144
+ # },
1686
3145
  # tls: {
1687
3146
  # certificate: { # required
1688
3147
  # acm: {
@@ -1747,7 +3206,7 @@ module Aws::AppMesh
1747
3206
  # is not your own, then the account that you specify must share the
1748
3207
  # mesh with your account before you can create the resource in the
1749
3208
  # service mesh. For more information about mesh sharing, see [Working
1750
- # with Shared Meshes][1].
3209
+ # with shared meshes][1].
1751
3210
  #
1752
3211
  #
1753
3212
  #
@@ -1779,6 +3238,7 @@ module Aws::AppMesh
1779
3238
  :spec,
1780
3239
  :tags,
1781
3240
  :virtual_node_name)
3241
+ SENSITIVE = []
1782
3242
  include Aws::Structure
1783
3243
  end
1784
3244
 
@@ -1792,6 +3252,7 @@ module Aws::AppMesh
1792
3252
  #
1793
3253
  class NotFoundException < Struct.new(
1794
3254
  :message)
3255
+ SENSITIVE = []
1795
3256
  include Aws::Structure
1796
3257
  end
1797
3258
 
@@ -1841,6 +3302,16 @@ module Aws::AppMesh
1841
3302
  # },
1842
3303
  # tcp_retry_events: ["connection-error"], # accepts connection-error
1843
3304
  # },
3305
+ # timeout: {
3306
+ # idle: {
3307
+ # unit: "ms", # accepts ms, s
3308
+ # value: 1,
3309
+ # },
3310
+ # per_request: {
3311
+ # unit: "ms", # accepts ms, s
3312
+ # value: 1,
3313
+ # },
3314
+ # },
1844
3315
  # },
1845
3316
  # http2_route: {
1846
3317
  # action: { # required
@@ -1881,6 +3352,16 @@ module Aws::AppMesh
1881
3352
  # },
1882
3353
  # tcp_retry_events: ["connection-error"], # accepts connection-error
1883
3354
  # },
3355
+ # timeout: {
3356
+ # idle: {
3357
+ # unit: "ms", # accepts ms, s
3358
+ # value: 1,
3359
+ # },
3360
+ # per_request: {
3361
+ # unit: "ms", # accepts ms, s
3362
+ # value: 1,
3363
+ # },
3364
+ # },
1884
3365
  # },
1885
3366
  # http_route: {
1886
3367
  # action: { # required
@@ -1921,6 +3402,16 @@ module Aws::AppMesh
1921
3402
  # },
1922
3403
  # tcp_retry_events: ["connection-error"], # accepts connection-error
1923
3404
  # },
3405
+ # timeout: {
3406
+ # idle: {
3407
+ # unit: "ms", # accepts ms, s
3408
+ # value: 1,
3409
+ # },
3410
+ # per_request: {
3411
+ # unit: "ms", # accepts ms, s
3412
+ # value: 1,
3413
+ # },
3414
+ # },
1924
3415
  # },
1925
3416
  # priority: 1,
1926
3417
  # tcp_route: {
@@ -1932,6 +3423,12 @@ module Aws::AppMesh
1932
3423
  # },
1933
3424
  # ],
1934
3425
  # },
3426
+ # timeout: {
3427
+ # idle: {
3428
+ # unit: "ms", # accepts ms, s
3429
+ # value: 1,
3430
+ # },
3431
+ # },
1935
3432
  # },
1936
3433
  # }
1937
3434
  #
@@ -1964,6 +3461,129 @@ module Aws::AppMesh
1964
3461
  :http_route,
1965
3462
  :priority,
1966
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 = []
1967
3587
  include Aws::Structure
1968
3588
  end
1969
3589
 
@@ -1976,6 +3596,7 @@ module Aws::AppMesh
1976
3596
  #
1977
3597
  class CreateVirtualServiceOutput < Struct.new(
1978
3598
  :virtual_service)
3599
+ SENSITIVE = []
1979
3600
  include Aws::Structure
1980
3601
  end
1981
3602
 
@@ -2006,6 +3627,7 @@ module Aws::AppMesh
2006
3627
  #
2007
3628
  class FileAccessLog < Struct.new(
2008
3629
  :path)
3630
+ SENSITIVE = []
2009
3631
  include Aws::Structure
2010
3632
  end
2011
3633
 
@@ -2026,6 +3648,40 @@ module Aws::AppMesh
2026
3648
  #
2027
3649
  class VirtualRouterServiceProvider < Struct.new(
2028
3650
  :virtual_router_name)
3651
+ SENSITIVE = []
3652
+ include Aws::Structure
3653
+ end
3654
+
3655
+ # An object that represents types of timeouts.
3656
+ #
3657
+ # @note When making an API call, you may pass HttpTimeout
3658
+ # data as a hash:
3659
+ #
3660
+ # {
3661
+ # idle: {
3662
+ # unit: "ms", # accepts ms, s
3663
+ # value: 1,
3664
+ # },
3665
+ # per_request: {
3666
+ # unit: "ms", # accepts ms, s
3667
+ # value: 1,
3668
+ # },
3669
+ # }
3670
+ #
3671
+ # @!attribute [rw] idle
3672
+ # An object that represents a duration of time.
3673
+ # @return [Types::Duration]
3674
+ #
3675
+ # @!attribute [rw] per_request
3676
+ # An object that represents a duration of time.
3677
+ # @return [Types::Duration]
3678
+ #
3679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpTimeout AWS API Documentation
3680
+ #
3681
+ class HttpTimeout < Struct.new(
3682
+ :idle,
3683
+ :per_request)
3684
+ SENSITIVE = []
2029
3685
  include Aws::Structure
2030
3686
  end
2031
3687
 
@@ -2046,7 +3702,7 @@ module Aws::AppMesh
2046
3702
  # The AWS IAM account ID of the service mesh owner. If the account ID
2047
3703
  # is not your own, then it's the ID of the account that shared the
2048
3704
  # mesh with your account. For more information about mesh sharing, see
2049
- # [Working with Shared Meshes][1].
3705
+ # [Working with shared meshes][1].
2050
3706
  #
2051
3707
  #
2052
3708
  #
@@ -2057,52 +3713,119 @@ module Aws::AppMesh
2057
3713
  # The name of the virtual service to delete.
2058
3714
  # @return [String]
2059
3715
  #
2060
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualServiceInput AWS API Documentation
3716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualServiceInput AWS API Documentation
3717
+ #
3718
+ class DeleteVirtualServiceInput < Struct.new(
3719
+ :mesh_name,
3720
+ :mesh_owner,
3721
+ :virtual_service_name)
3722
+ SENSITIVE = []
3723
+ include Aws::Structure
3724
+ end
3725
+
3726
+ # An object that represents a Transport Layer Security (TLS) validation
3727
+ # context.
3728
+ #
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
2061
3797
  #
2062
- class DeleteVirtualServiceInput < Struct.new(
3798
+ class DescribeVirtualGatewayInput < Struct.new(
2063
3799
  :mesh_name,
2064
3800
  :mesh_owner,
2065
- :virtual_service_name)
3801
+ :virtual_gateway_name)
3802
+ SENSITIVE = []
2066
3803
  include Aws::Structure
2067
3804
  end
2068
3805
 
2069
- # An object that represents a Transport Layer Security (TLS) validation
2070
- # context.
3806
+ # An object that represents the action to take if a match is determined.
2071
3807
  #
2072
- # @note When making an API call, you may pass TlsValidationContext
3808
+ # @note When making an API call, you may pass GrpcGatewayRouteAction
2073
3809
  # data as a hash:
2074
3810
  #
2075
3811
  # {
2076
- # trust: { # required
2077
- # acm: {
2078
- # certificate_authority_arns: ["Arn"], # required
2079
- # },
2080
- # file: {
2081
- # certificate_chain: "FilePath", # required
3812
+ # target: { # required
3813
+ # virtual_service: { # required
3814
+ # virtual_service_name: "ResourceName", # required
2082
3815
  # },
2083
3816
  # },
2084
3817
  # }
2085
3818
  #
2086
- # @!attribute [rw] trust
2087
- # A reference to an object that represents a TLS validation context
2088
- # trust.
2089
- # @return [Types::TlsValidationContextTrust]
2090
- #
2091
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TlsValidationContext AWS API Documentation
2092
- #
2093
- class TlsValidationContext < Struct.new(
2094
- :trust)
2095
- include Aws::Structure
2096
- end
2097
-
2098
- # @!attribute [rw] virtual_router
2099
- # The virtual router that was deleted.
2100
- # @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]
2101
3823
  #
2102
- # @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
2103
3825
  #
2104
- class DeleteVirtualRouterOutput < Struct.new(
2105
- :virtual_router)
3826
+ class GrpcGatewayRouteAction < Struct.new(
3827
+ :target)
3828
+ SENSITIVE = []
2106
3829
  include Aws::Structure
2107
3830
  end
2108
3831
 
@@ -2114,6 +3837,7 @@ module Aws::AppMesh
2114
3837
  #
2115
3838
  class DeleteVirtualNodeOutput < Struct.new(
2116
3839
  :virtual_node)
3840
+ SENSITIVE = []
2117
3841
  include Aws::Structure
2118
3842
  end
2119
3843
 
@@ -2181,6 +3905,44 @@ module Aws::AppMesh
2181
3905
  # port: 1, # required
2182
3906
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
2183
3907
  # },
3908
+ # timeout: {
3909
+ # grpc: {
3910
+ # idle: {
3911
+ # unit: "ms", # accepts ms, s
3912
+ # value: 1,
3913
+ # },
3914
+ # per_request: {
3915
+ # unit: "ms", # accepts ms, s
3916
+ # value: 1,
3917
+ # },
3918
+ # },
3919
+ # http: {
3920
+ # idle: {
3921
+ # unit: "ms", # accepts ms, s
3922
+ # value: 1,
3923
+ # },
3924
+ # per_request: {
3925
+ # unit: "ms", # accepts ms, s
3926
+ # value: 1,
3927
+ # },
3928
+ # },
3929
+ # http2: {
3930
+ # idle: {
3931
+ # unit: "ms", # accepts ms, s
3932
+ # value: 1,
3933
+ # },
3934
+ # per_request: {
3935
+ # unit: "ms", # accepts ms, s
3936
+ # value: 1,
3937
+ # },
3938
+ # },
3939
+ # tcp: {
3940
+ # idle: {
3941
+ # unit: "ms", # accepts ms, s
3942
+ # value: 1,
3943
+ # },
3944
+ # },
3945
+ # },
2184
3946
  # tls: {
2185
3947
  # certificate: { # required
2186
3948
  # acm: {
@@ -2238,7 +4000,7 @@ module Aws::AppMesh
2238
4000
  # The AWS IAM account ID of the service mesh owner. If the account ID
2239
4001
  # is not your own, then it's the ID of the account that shared the
2240
4002
  # mesh with your account. For more information about mesh sharing, see
2241
- # [Working with Shared Meshes][1].
4003
+ # [Working with shared meshes][1].
2242
4004
  #
2243
4005
  #
2244
4006
  #
@@ -2262,6 +4024,7 @@ module Aws::AppMesh
2262
4024
  :mesh_owner,
2263
4025
  :spec,
2264
4026
  :virtual_node_name)
4027
+ SENSITIVE = []
2265
4028
  include Aws::Structure
2266
4029
  end
2267
4030
 
@@ -2305,6 +4068,7 @@ module Aws::AppMesh
2305
4068
  class ListenerTls < Struct.new(
2306
4069
  :certificate,
2307
4070
  :mode)
4071
+ SENSITIVE = []
2308
4072
  include Aws::Structure
2309
4073
  end
2310
4074
 
@@ -2323,6 +4087,7 @@ module Aws::AppMesh
2323
4087
  #
2324
4088
  class DeleteMeshInput < Struct.new(
2325
4089
  :mesh_name)
4090
+ SENSITIVE = []
2326
4091
  include Aws::Structure
2327
4092
  end
2328
4093
 
@@ -2370,7 +4135,7 @@ module Aws::AppMesh
2370
4135
  # is not your own, then the account that you specify must share the
2371
4136
  # mesh with your account before you can create the resource in the
2372
4137
  # service mesh. For more information about mesh sharing, see [Working
2373
- # with Shared Meshes][1].
4138
+ # with shared meshes][1].
2374
4139
  #
2375
4140
  #
2376
4141
  #
@@ -2402,6 +4167,7 @@ module Aws::AppMesh
2402
4167
  :spec,
2403
4168
  :tags,
2404
4169
  :virtual_service_name)
4170
+ SENSITIVE = []
2405
4171
  include Aws::Structure
2406
4172
  end
2407
4173
 
@@ -2442,7 +4208,7 @@ module Aws::AppMesh
2442
4208
  # The AWS IAM account ID of the service mesh owner. If the account ID
2443
4209
  # is not your own, then it's the ID of the account that shared the
2444
4210
  # mesh with your account. For more information about mesh sharing, see
2445
- # [Working with Shared Meshes][1].
4211
+ # [Working with shared meshes][1].
2446
4212
  #
2447
4213
  #
2448
4214
  #
@@ -2466,6 +4232,56 @@ module Aws::AppMesh
2466
4232
  :mesh_owner,
2467
4233
  :spec,
2468
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 = []
2469
4285
  include Aws::Structure
2470
4286
  end
2471
4287
 
@@ -2508,6 +4324,7 @@ module Aws::AppMesh
2508
4324
  :limit,
2509
4325
  :next_token,
2510
4326
  :resource_arn)
4327
+ SENSITIVE = []
2511
4328
  include Aws::Structure
2512
4329
  end
2513
4330
 
@@ -2520,6 +4337,7 @@ module Aws::AppMesh
2520
4337
  #
2521
4338
  class ServiceUnavailableException < Struct.new(
2522
4339
  :message)
4340
+ SENSITIVE = []
2523
4341
  include Aws::Structure
2524
4342
  end
2525
4343
 
@@ -2531,6 +4349,7 @@ module Aws::AppMesh
2531
4349
  #
2532
4350
  class DescribeMeshOutput < Struct.new(
2533
4351
  :mesh)
4352
+ SENSITIVE = []
2534
4353
  include Aws::Structure
2535
4354
  end
2536
4355
 
@@ -2551,7 +4370,7 @@ module Aws::AppMesh
2551
4370
  # The AWS IAM account ID of the service mesh owner. If the account ID
2552
4371
  # is not your own, then it's the ID of the account that shared the
2553
4372
  # mesh with your account. For more information about mesh sharing, see
2554
- # [Working with Shared Meshes][1].
4373
+ # [Working with shared meshes][1].
2555
4374
  #
2556
4375
  #
2557
4376
  #
@@ -2568,6 +4387,19 @@ module Aws::AppMesh
2568
4387
  :mesh_name,
2569
4388
  :mesh_owner,
2570
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 = []
2571
4403
  include Aws::Structure
2572
4404
  end
2573
4405
 
@@ -2589,7 +4421,7 @@ module Aws::AppMesh
2589
4421
  # The AWS IAM account ID of the service mesh owner. If the account ID
2590
4422
  # is not your own, then it's the ID of the account that shared the
2591
4423
  # mesh with your account. For more information about mesh sharing, see
2592
- # [Working with Shared Meshes][1].
4424
+ # [Working with shared meshes][1].
2593
4425
  #
2594
4426
  #
2595
4427
  #
@@ -2611,6 +4443,7 @@ module Aws::AppMesh
2611
4443
  :mesh_owner,
2612
4444
  :route_name,
2613
4445
  :virtual_router_name)
4446
+ SENSITIVE = []
2614
4447
  include Aws::Structure
2615
4448
  end
2616
4449
 
@@ -2622,6 +4455,19 @@ module Aws::AppMesh
2622
4455
  #
2623
4456
  class DeleteRouteOutput < Struct.new(
2624
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 = []
2625
4471
  include Aws::Structure
2626
4472
  end
2627
4473
 
@@ -2662,7 +4508,7 @@ module Aws::AppMesh
2662
4508
  # The AWS IAM account ID of the service mesh owner. If the account ID
2663
4509
  # is not your own, then it's the ID of the account that shared the
2664
4510
  # mesh with your account. For more information about mesh sharing, see
2665
- # [Working with Shared Meshes][1].
4511
+ # [Working with shared meshes][1].
2666
4512
  #
2667
4513
  #
2668
4514
  #
@@ -2686,6 +4532,7 @@ module Aws::AppMesh
2686
4532
  :mesh_owner,
2687
4533
  :spec,
2688
4534
  :virtual_service_name)
4535
+ SENSITIVE = []
2689
4536
  include Aws::Structure
2690
4537
  end
2691
4538
 
@@ -2697,6 +4544,7 @@ module Aws::AppMesh
2697
4544
  #
2698
4545
  class UpdateRouteOutput < Struct.new(
2699
4546
  :route)
4547
+ SENSITIVE = []
2700
4548
  include Aws::Structure
2701
4549
  end
2702
4550
 
@@ -2723,6 +4571,7 @@ module Aws::AppMesh
2723
4571
  #
2724
4572
  class HttpRouteAction < Struct.new(
2725
4573
  :weighted_targets)
4574
+ SENSITIVE = []
2726
4575
  include Aws::Structure
2727
4576
  end
2728
4577
 
@@ -2756,7 +4605,7 @@ module Aws::AppMesh
2756
4605
  # The AWS IAM account ID of the service mesh owner. If the account ID
2757
4606
  # is not your own, then it's the ID of the account that shared the
2758
4607
  # mesh with your account. For more information about mesh sharing, see
2759
- # [Working with Shared Meshes][1].
4608
+ # [Working with shared meshes][1].
2760
4609
  #
2761
4610
  #
2762
4611
  #
@@ -2782,6 +4631,7 @@ module Aws::AppMesh
2782
4631
  :mesh_owner,
2783
4632
  :next_token,
2784
4633
  :virtual_router_name)
4634
+ SENSITIVE = []
2785
4635
  include Aws::Structure
2786
4636
  end
2787
4637
 
@@ -2793,9 +4643,13 @@ module Aws::AppMesh
2793
4643
  # @return [String]
2794
4644
  #
2795
4645
  # @!attribute [rw] created_at
4646
+ # The Unix epoch timestamp in seconds for when the resource was
4647
+ # created.
2796
4648
  # @return [Time]
2797
4649
  #
2798
4650
  # @!attribute [rw] last_updated_at
4651
+ # The Unix epoch timestamp in seconds for when the resource was last
4652
+ # updated.
2799
4653
  # @return [Time]
2800
4654
  #
2801
4655
  # @!attribute [rw] mesh_name
@@ -2806,7 +4660,7 @@ module Aws::AppMesh
2806
4660
  # The AWS IAM account ID of the service mesh owner. If the account ID
2807
4661
  # is not your own, then it's the ID of the account that shared the
2808
4662
  # mesh with your account. For more information about mesh sharing, see
2809
- # [Working with Shared Meshes][1].
4663
+ # [Working with shared meshes][1].
2810
4664
  #
2811
4665
  #
2812
4666
  #
@@ -2817,7 +4671,7 @@ module Aws::AppMesh
2817
4671
  # The AWS IAM account ID of the resource owner. If the account ID is
2818
4672
  # not your own, then it's the ID of the mesh owner or of another
2819
4673
  # account that the mesh is shared with. For more information about
2820
- # mesh sharing, see [Working with Shared Meshes][1].
4674
+ # mesh sharing, see [Working with shared meshes][1].
2821
4675
  #
2822
4676
  #
2823
4677
  #
@@ -2825,6 +4679,8 @@ module Aws::AppMesh
2825
4679
  # @return [String]
2826
4680
  #
2827
4681
  # @!attribute [rw] version
4682
+ # The version of the resource. Resources are created at version 1, and
4683
+ # this version is incremented each time that they're updated.
2828
4684
  # @return [Integer]
2829
4685
  #
2830
4686
  # @!attribute [rw] virtual_service_name
@@ -2842,6 +4698,48 @@ module Aws::AppMesh
2842
4698
  :resource_owner,
2843
4699
  :version,
2844
4700
  :virtual_service_name)
4701
+ SENSITIVE = []
4702
+ include Aws::Structure
4703
+ end
4704
+
4705
+ # An object that represents types of timeouts.
4706
+ #
4707
+ # @note When making an API call, you may pass GrpcTimeout
4708
+ # data as a hash:
4709
+ #
4710
+ # {
4711
+ # idle: {
4712
+ # unit: "ms", # accepts ms, s
4713
+ # value: 1,
4714
+ # },
4715
+ # per_request: {
4716
+ # unit: "ms", # accepts ms, s
4717
+ # value: 1,
4718
+ # },
4719
+ # }
4720
+ #
4721
+ # @!attribute [rw] idle
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.
4725
+ # @return [Types::Duration]
4726
+ #
4727
+ # @!attribute [rw] per_request
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.
4735
+ # @return [Types::Duration]
4736
+ #
4737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcTimeout AWS API Documentation
4738
+ #
4739
+ class GrpcTimeout < Struct.new(
4740
+ :idle,
4741
+ :per_request)
4742
+ SENSITIVE = []
2845
4743
  include Aws::Structure
2846
4744
  end
2847
4745
 
@@ -2855,6 +4753,7 @@ module Aws::AppMesh
2855
4753
  #
2856
4754
  class VirtualNodeStatus < Struct.new(
2857
4755
  :status)
4756
+ SENSITIVE = []
2858
4757
  include Aws::Structure
2859
4758
  end
2860
4759
 
@@ -2866,9 +4765,13 @@ module Aws::AppMesh
2866
4765
  # @return [String]
2867
4766
  #
2868
4767
  # @!attribute [rw] created_at
4768
+ # The Unix epoch timestamp in seconds for when the resource was
4769
+ # created.
2869
4770
  # @return [Time]
2870
4771
  #
2871
4772
  # @!attribute [rw] last_updated_at
4773
+ # The Unix epoch timestamp in seconds for when the resource was last
4774
+ # updated.
2872
4775
  # @return [Time]
2873
4776
  #
2874
4777
  # @!attribute [rw] mesh_name
@@ -2879,7 +4782,7 @@ module Aws::AppMesh
2879
4782
  # The AWS IAM account ID of the service mesh owner. If the account ID
2880
4783
  # is not your own, then it's the ID of the account that shared the
2881
4784
  # mesh with your account. For more information about mesh sharing, see
2882
- # [Working with Shared Meshes][1].
4785
+ # [Working with shared meshes][1].
2883
4786
  #
2884
4787
  #
2885
4788
  #
@@ -2890,7 +4793,7 @@ module Aws::AppMesh
2890
4793
  # The AWS IAM account ID of the resource owner. If the account ID is
2891
4794
  # not your own, then it's the ID of the mesh owner or of another
2892
4795
  # account that the mesh is shared with. For more information about
2893
- # mesh sharing, see [Working with Shared Meshes][1].
4796
+ # mesh sharing, see [Working with shared meshes][1].
2894
4797
  #
2895
4798
  #
2896
4799
  #
@@ -2898,6 +4801,8 @@ module Aws::AppMesh
2898
4801
  # @return [String]
2899
4802
  #
2900
4803
  # @!attribute [rw] version
4804
+ # The version of the resource. Resources are created at version 1, and
4805
+ # this version is incremented each time that they're updated.
2901
4806
  # @return [Integer]
2902
4807
  #
2903
4808
  # @!attribute [rw] virtual_router_name
@@ -2915,6 +4820,7 @@ module Aws::AppMesh
2915
4820
  :resource_owner,
2916
4821
  :version,
2917
4822
  :virtual_router_name)
4823
+ SENSITIVE = []
2918
4824
  include Aws::Structure
2919
4825
  end
2920
4826
 
@@ -2949,6 +4855,7 @@ module Aws::AppMesh
2949
4855
  :spec,
2950
4856
  :status,
2951
4857
  :virtual_service_name)
4858
+ SENSITIVE = []
2952
4859
  include Aws::Structure
2953
4860
  end
2954
4861
 
@@ -2992,6 +4899,7 @@ module Aws::AppMesh
2992
4899
  :invert,
2993
4900
  :match,
2994
4901
  :name)
4902
+ SENSITIVE = []
2995
4903
  include Aws::Structure
2996
4904
  end
2997
4905
 
@@ -3002,9 +4910,13 @@ module Aws::AppMesh
3002
4910
  # @return [String]
3003
4911
  #
3004
4912
  # @!attribute [rw] created_at
4913
+ # The Unix epoch timestamp in seconds for when the resource was
4914
+ # created.
3005
4915
  # @return [Time]
3006
4916
  #
3007
4917
  # @!attribute [rw] last_updated_at
4918
+ # The Unix epoch timestamp in seconds for when the resource was last
4919
+ # updated.
3008
4920
  # @return [Time]
3009
4921
  #
3010
4922
  # @!attribute [rw] mesh_name
@@ -3015,7 +4927,7 @@ module Aws::AppMesh
3015
4927
  # The AWS IAM account ID of the service mesh owner. If the account ID
3016
4928
  # is not your own, then it's the ID of the account that shared the
3017
4929
  # mesh with your account. For more information about mesh sharing, see
3018
- # [Working with Shared Meshes][1].
4930
+ # [Working with shared meshes][1].
3019
4931
  #
3020
4932
  #
3021
4933
  #
@@ -3026,7 +4938,7 @@ module Aws::AppMesh
3026
4938
  # The AWS IAM account ID of the resource owner. If the account ID is
3027
4939
  # not your own, then it's the ID of the mesh owner or of another
3028
4940
  # account that the mesh is shared with. For more information about
3029
- # mesh sharing, see [Working with Shared Meshes][1].
4941
+ # mesh sharing, see [Working with shared meshes][1].
3030
4942
  #
3031
4943
  #
3032
4944
  #
@@ -3034,6 +4946,8 @@ module Aws::AppMesh
3034
4946
  # @return [String]
3035
4947
  #
3036
4948
  # @!attribute [rw] version
4949
+ # The version of the resource. Resources are created at version 1, and
4950
+ # this version is incremented each time that they're updated.
3037
4951
  # @return [Integer]
3038
4952
  #
3039
4953
  # @!attribute [rw] virtual_node_name
@@ -3051,6 +4965,7 @@ module Aws::AppMesh
3051
4965
  :resource_owner,
3052
4966
  :version,
3053
4967
  :virtual_node_name)
4968
+ SENSITIVE = []
3054
4969
  include Aws::Structure
3055
4970
  end
3056
4971
 
@@ -3105,6 +5020,7 @@ module Aws::AppMesh
3105
5020
  :mesh_name,
3106
5021
  :spec,
3107
5022
  :tags)
5023
+ SENSITIVE = []
3108
5024
  include Aws::Structure
3109
5025
  end
3110
5026
 
@@ -3131,6 +5047,30 @@ module Aws::AppMesh
3131
5047
  #
3132
5048
  class GrpcRouteAction < Struct.new(
3133
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 = []
3134
5074
  include Aws::Structure
3135
5075
  end
3136
5076
 
@@ -3148,6 +5088,7 @@ module Aws::AppMesh
3148
5088
  #
3149
5089
  class LimitExceededException < Struct.new(
3150
5090
  :message)
5091
+ SENSITIVE = []
3151
5092
  include Aws::Structure
3152
5093
  end
3153
5094
 
@@ -3160,6 +5101,7 @@ module Aws::AppMesh
3160
5101
  #
3161
5102
  class UpdateMeshOutput < Struct.new(
3162
5103
  :mesh)
5104
+ SENSITIVE = []
3163
5105
  include Aws::Structure
3164
5106
  end
3165
5107
 
@@ -3209,6 +5151,7 @@ module Aws::AppMesh
3209
5151
  :range,
3210
5152
  :regex,
3211
5153
  :suffix)
5154
+ SENSITIVE = []
3212
5155
  include Aws::Structure
3213
5156
  end
3214
5157
 
@@ -3229,7 +5172,7 @@ module Aws::AppMesh
3229
5172
  # The AWS IAM account ID of the service mesh owner. If the account ID
3230
5173
  # is not your own, then it's the ID of the account that shared the
3231
5174
  # mesh with your account. For more information about mesh sharing, see
3232
- # [Working with Shared Meshes][1].
5175
+ # [Working with shared meshes][1].
3233
5176
  #
3234
5177
  #
3235
5178
  #
@@ -3246,6 +5189,7 @@ module Aws::AppMesh
3246
5189
  :mesh_name,
3247
5190
  :mesh_owner,
3248
5191
  :virtual_service_name)
5192
+ SENSITIVE = []
3249
5193
  include Aws::Structure
3250
5194
  end
3251
5195
 
@@ -3277,6 +5221,7 @@ module Aws::AppMesh
3277
5221
  class AwsCloudMapInstanceAttribute < Struct.new(
3278
5222
  :key,
3279
5223
  :value)
5224
+ SENSITIVE = []
3280
5225
  include Aws::Structure
3281
5226
  end
3282
5227
 
@@ -3305,6 +5250,52 @@ module Aws::AppMesh
3305
5250
  #
3306
5251
  class VirtualServiceSpec < Struct.new(
3307
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 = []
3308
5299
  include Aws::Structure
3309
5300
  end
3310
5301
 
@@ -3334,6 +5325,7 @@ module Aws::AppMesh
3334
5325
  class MatchRange < Struct.new(
3335
5326
  :end,
3336
5327
  :start)
5328
+ SENSITIVE = []
3337
5329
  include Aws::Structure
3338
5330
  end
3339
5331
 
@@ -3351,16 +5343,40 @@ module Aws::AppMesh
3351
5343
  # },
3352
5344
  # ],
3353
5345
  # },
5346
+ # timeout: {
5347
+ # idle: {
5348
+ # unit: "ms", # accepts ms, s
5349
+ # value: 1,
5350
+ # },
5351
+ # },
3354
5352
  # }
3355
5353
  #
3356
5354
  # @!attribute [rw] action
3357
5355
  # The action to take if a match is determined.
3358
5356
  # @return [Types::TcpRouteAction]
3359
5357
  #
5358
+ # @!attribute [rw] timeout
5359
+ # An object that represents types of timeouts.
5360
+ # @return [Types::TcpTimeout]
5361
+ #
3360
5362
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TcpRoute AWS API Documentation
3361
5363
  #
3362
5364
  class TcpRoute < Struct.new(
3363
- :action)
5365
+ :action,
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 = []
3364
5380
  include Aws::Structure
3365
5381
  end
3366
5382
 
@@ -3393,7 +5409,7 @@ module Aws::AppMesh
3393
5409
  # The AWS IAM account ID of the service mesh owner. If the account ID
3394
5410
  # is not your own, then it's the ID of the account that shared the
3395
5411
  # mesh with your account. For more information about mesh sharing, see
3396
- # [Working with Shared Meshes][1].
5412
+ # [Working with shared meshes][1].
3397
5413
  #
3398
5414
  #
3399
5415
  #
@@ -3414,6 +5430,7 @@ module Aws::AppMesh
3414
5430
  :mesh_name,
3415
5431
  :mesh_owner,
3416
5432
  :next_token)
5433
+ SENSITIVE = []
3417
5434
  include Aws::Structure
3418
5435
  end
3419
5436
 
@@ -3446,7 +5463,7 @@ module Aws::AppMesh
3446
5463
  # The AWS IAM account ID of the service mesh owner. If the account ID
3447
5464
  # is not your own, then it's the ID of the account that shared the
3448
5465
  # mesh with your account. For more information about mesh sharing, see
3449
- # [Working with Shared Meshes][1].
5466
+ # [Working with shared meshes][1].
3450
5467
  #
3451
5468
  #
3452
5469
  #
@@ -3467,6 +5484,7 @@ module Aws::AppMesh
3467
5484
  :mesh_name,
3468
5485
  :mesh_owner,
3469
5486
  :next_token)
5487
+ SENSITIVE = []
3470
5488
  include Aws::Structure
3471
5489
  end
3472
5490
 
@@ -3490,6 +5508,7 @@ module Aws::AppMesh
3490
5508
  #
3491
5509
  class AccessLog < Struct.new(
3492
5510
  :file)
5511
+ SENSITIVE = []
3493
5512
  include Aws::Structure
3494
5513
  end
3495
5514
 
@@ -3522,7 +5541,7 @@ module Aws::AppMesh
3522
5541
  # The AWS IAM account ID of the service mesh owner. If the account ID
3523
5542
  # is not your own, then it's the ID of the account that shared the
3524
5543
  # mesh with your account. For more information about mesh sharing, see
3525
- # [Working with Shared Meshes][1].
5544
+ # [Working with shared meshes][1].
3526
5545
  #
3527
5546
  #
3528
5547
  #
@@ -3543,6 +5562,42 @@ module Aws::AppMesh
3543
5562
  :mesh_name,
3544
5563
  :mesh_owner,
3545
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 = []
3546
5601
  include Aws::Structure
3547
5602
  end
3548
5603
 
@@ -3557,6 +5612,55 @@ module Aws::AppMesh
3557
5612
  #
3558
5613
  class TooManyRequestsException < Struct.new(
3559
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 = []
3560
5664
  include Aws::Structure
3561
5665
  end
3562
5666
 
@@ -3583,6 +5687,7 @@ module Aws::AppMesh
3583
5687
  class Duration < Struct.new(
3584
5688
  :unit,
3585
5689
  :value)
5690
+ SENSITIVE = []
3586
5691
  include Aws::Structure
3587
5692
  end
3588
5693
 
@@ -3594,6 +5699,7 @@ module Aws::AppMesh
3594
5699
  #
3595
5700
  class DescribeRouteOutput < Struct.new(
3596
5701
  :route)
5702
+ SENSITIVE = []
3597
5703
  include Aws::Structure
3598
5704
  end
3599
5705
 
@@ -3653,6 +5759,7 @@ module Aws::AppMesh
3653
5759
  :method,
3654
5760
  :prefix,
3655
5761
  :scheme)
5762
+ SENSITIVE = []
3656
5763
  include Aws::Structure
3657
5764
  end
3658
5765
 
@@ -3686,6 +5793,7 @@ module Aws::AppMesh
3686
5793
  class TagRef < Struct.new(
3687
5794
  :key,
3688
5795
  :value)
5796
+ SENSITIVE = []
3689
5797
  include Aws::Structure
3690
5798
  end
3691
5799
 
@@ -3696,9 +5804,13 @@ module Aws::AppMesh
3696
5804
  # @return [String]
3697
5805
  #
3698
5806
  # @!attribute [rw] created_at
5807
+ # The Unix epoch timestamp in seconds for when the resource was
5808
+ # created.
3699
5809
  # @return [Time]
3700
5810
  #
3701
5811
  # @!attribute [rw] last_updated_at
5812
+ # The Unix epoch timestamp in seconds for when the resource was last
5813
+ # updated.
3702
5814
  # @return [Time]
3703
5815
  #
3704
5816
  # @!attribute [rw] mesh_name
@@ -3709,7 +5821,7 @@ module Aws::AppMesh
3709
5821
  # The AWS IAM account ID of the service mesh owner. If the account ID
3710
5822
  # is not your own, then it's the ID of the account that shared the
3711
5823
  # mesh with your account. For more information about mesh sharing, see
3712
- # [Working with Shared Meshes][1].
5824
+ # [Working with shared meshes][1].
3713
5825
  #
3714
5826
  #
3715
5827
  #
@@ -3720,7 +5832,7 @@ module Aws::AppMesh
3720
5832
  # The AWS IAM account ID of the resource owner. If the account ID is
3721
5833
  # not your own, then it's the ID of the mesh owner or of another
3722
5834
  # account that the mesh is shared with. For more information about
3723
- # mesh sharing, see [Working with Shared Meshes][1].
5835
+ # mesh sharing, see [Working with shared meshes][1].
3724
5836
  #
3725
5837
  #
3726
5838
  #
@@ -3728,6 +5840,8 @@ module Aws::AppMesh
3728
5840
  # @return [String]
3729
5841
  #
3730
5842
  # @!attribute [rw] version
5843
+ # The version of the resource. Resources are created at version 1, and
5844
+ # this version is incremented each time that they're updated.
3731
5845
  # @return [Integer]
3732
5846
  #
3733
5847
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/MeshRef AWS API Documentation
@@ -3740,6 +5854,7 @@ module Aws::AppMesh
3740
5854
  :mesh_owner,
3741
5855
  :resource_owner,
3742
5856
  :version)
5857
+ SENSITIVE = []
3743
5858
  include Aws::Structure
3744
5859
  end
3745
5860
 
@@ -3769,6 +5884,20 @@ module Aws::AppMesh
3769
5884
  :metadata,
3770
5885
  :spec,
3771
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 = []
3772
5901
  include Aws::Structure
3773
5902
  end
3774
5903
 
@@ -3782,6 +5911,7 @@ module Aws::AppMesh
3782
5911
  #
3783
5912
  class VirtualRouterStatus < Struct.new(
3784
5913
  :status)
5914
+ SENSITIVE = []
3785
5915
  include Aws::Structure
3786
5916
  end
3787
5917
 
@@ -3808,6 +5938,45 @@ module Aws::AppMesh
3808
5938
  #
3809
5939
  class TcpRouteAction < Struct.new(
3810
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 = []
3811
5980
  include Aws::Structure
3812
5981
  end
3813
5982
 
@@ -3828,7 +5997,7 @@ module Aws::AppMesh
3828
5997
  # The AWS IAM account ID of the service mesh owner. If the account ID
3829
5998
  # is not your own, then it's the ID of the account that shared the
3830
5999
  # mesh with your account. For more information about mesh sharing, see
3831
- # [Working with Shared Meshes][1].
6000
+ # [Working with shared meshes][1].
3832
6001
  #
3833
6002
  #
3834
6003
  #
@@ -3845,6 +6014,7 @@ module Aws::AppMesh
3845
6014
  :mesh_name,
3846
6015
  :mesh_owner,
3847
6016
  :virtual_node_name)
6017
+ SENSITIVE = []
3848
6018
  include Aws::Structure
3849
6019
  end
3850
6020
 
@@ -3858,6 +6028,7 @@ module Aws::AppMesh
3858
6028
  #
3859
6029
  class RouteStatus < Struct.new(
3860
6030
  :status)
6031
+ SENSITIVE = []
3861
6032
  include Aws::Structure
3862
6033
  end
3863
6034
 
@@ -3880,6 +6051,44 @@ module Aws::AppMesh
3880
6051
  # port: 1, # required
3881
6052
  # protocol: "grpc", # required, accepts grpc, http, http2, tcp
3882
6053
  # },
6054
+ # timeout: {
6055
+ # grpc: {
6056
+ # idle: {
6057
+ # unit: "ms", # accepts ms, s
6058
+ # value: 1,
6059
+ # },
6060
+ # per_request: {
6061
+ # unit: "ms", # accepts ms, s
6062
+ # value: 1,
6063
+ # },
6064
+ # },
6065
+ # http: {
6066
+ # idle: {
6067
+ # unit: "ms", # accepts ms, s
6068
+ # value: 1,
6069
+ # },
6070
+ # per_request: {
6071
+ # unit: "ms", # accepts ms, s
6072
+ # value: 1,
6073
+ # },
6074
+ # },
6075
+ # http2: {
6076
+ # idle: {
6077
+ # unit: "ms", # accepts ms, s
6078
+ # value: 1,
6079
+ # },
6080
+ # per_request: {
6081
+ # unit: "ms", # accepts ms, s
6082
+ # value: 1,
6083
+ # },
6084
+ # },
6085
+ # tcp: {
6086
+ # idle: {
6087
+ # unit: "ms", # accepts ms, s
6088
+ # value: 1,
6089
+ # },
6090
+ # },
6091
+ # },
3883
6092
  # tls: {
3884
6093
  # certificate: { # required
3885
6094
  # acm: {
@@ -3902,6 +6111,10 @@ module Aws::AppMesh
3902
6111
  # The port mapping information for the listener.
3903
6112
  # @return [Types::PortMapping]
3904
6113
  #
6114
+ # @!attribute [rw] timeout
6115
+ # An object that represents timeouts for different protocols.
6116
+ # @return [Types::ListenerTimeout]
6117
+ #
3905
6118
  # @!attribute [rw] tls
3906
6119
  # A reference to an object that represents the Transport Layer
3907
6120
  # Security (TLS) properties for a listener.
@@ -3912,7 +6125,9 @@ module Aws::AppMesh
3912
6125
  class Listener < Struct.new(
3913
6126
  :health_check,
3914
6127
  :port_mapping,
6128
+ :timeout,
3915
6129
  :tls)
6130
+ SENSITIVE = []
3916
6131
  include Aws::Structure
3917
6132
  end
3918
6133
 
@@ -3960,6 +6175,16 @@ module Aws::AppMesh
3960
6175
  # },
3961
6176
  # tcp_retry_events: ["connection-error"], # accepts connection-error
3962
6177
  # },
6178
+ # timeout: {
6179
+ # idle: {
6180
+ # unit: "ms", # accepts ms, s
6181
+ # value: 1,
6182
+ # },
6183
+ # per_request: {
6184
+ # unit: "ms", # accepts ms, s
6185
+ # value: 1,
6186
+ # },
6187
+ # },
3963
6188
  # }
3964
6189
  #
3965
6190
  # @!attribute [rw] action
@@ -3976,12 +6201,18 @@ module Aws::AppMesh
3976
6201
  # An object that represents a retry policy.
3977
6202
  # @return [Types::GrpcRetryPolicy]
3978
6203
  #
6204
+ # @!attribute [rw] timeout
6205
+ # An object that represents types of timeouts.
6206
+ # @return [Types::GrpcTimeout]
6207
+ #
3979
6208
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcRoute AWS API Documentation
3980
6209
  #
3981
6210
  class GrpcRoute < Struct.new(
3982
6211
  :action,
3983
6212
  :match,
3984
- :retry_policy)
6213
+ :retry_policy,
6214
+ :timeout)
6215
+ SENSITIVE = []
3985
6216
  include Aws::Structure
3986
6217
  end
3987
6218
 
@@ -4025,6 +6256,41 @@ module Aws::AppMesh
4025
6256
  :enforce,
4026
6257
  :ports,
4027
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
6289
+ #
6290
+ class VirtualGatewayTlsValidationContextTrust < Struct.new(
6291
+ :acm,
6292
+ :file)
6293
+ SENSITIVE = []
4028
6294
  include Aws::Structure
4029
6295
  end
4030
6296
 
@@ -4036,6 +6302,7 @@ module Aws::AppMesh
4036
6302
  #
4037
6303
  class DeleteVirtualServiceOutput < Struct.new(
4038
6304
  :virtual_service)
6305
+ SENSITIVE = []
4039
6306
  include Aws::Structure
4040
6307
  end
4041
6308
 
@@ -4056,6 +6323,44 @@ module Aws::AppMesh
4056
6323
  #
4057
6324
  class VirtualNodeServiceProvider < Struct.new(
4058
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 = []
4059
6364
  include Aws::Structure
4060
6365
  end
4061
6366
 
@@ -4091,6 +6396,7 @@ module Aws::AppMesh
4091
6396
  #
4092
6397
  class BackendDefaults < Struct.new(
4093
6398
  :client_policy)
6399
+ SENSITIVE = []
4094
6400
  include Aws::Structure
4095
6401
  end
4096
6402
 
@@ -4125,6 +6431,7 @@ module Aws::AppMesh
4125
6431
  class ListenerTlsFileCertificate < Struct.new(
4126
6432
  :certificate_chain,
4127
6433
  :private_key)
6434
+ SENSITIVE = []
4128
6435
  include Aws::Structure
4129
6436
  end
4130
6437
 
@@ -4145,94 +6452,251 @@ module Aws::AppMesh
4145
6452
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4146
6453
  # }
4147
6454
  #
4148
- # @!attribute [rw] http_retry_events
4149
- # Specify at least one of the following values.
6455
+ # @!attribute [rw] http_retry_events
6456
+ # Specify at least one of the following values.
6457
+ #
6458
+ # * **server-error** – HTTP status codes 500, 501, 502, 503, 504, 505,
6459
+ # 506, 507, 508, 510, and 511
6460
+ #
6461
+ # * **gateway-error** – HTTP status codes 502, 503, and 504
6462
+ #
6463
+ # * **client-error** – HTTP status code 409
6464
+ #
6465
+ # * **stream-error** – Retry on refused stream
6466
+ # @return [Array<String>]
6467
+ #
6468
+ # @!attribute [rw] max_retries
6469
+ # The maximum number of retry attempts.
6470
+ # @return [Integer]
6471
+ #
6472
+ # @!attribute [rw] per_retry_timeout
6473
+ # An object that represents a duration of time.
6474
+ # @return [Types::Duration]
6475
+ #
6476
+ # @!attribute [rw] tcp_retry_events
6477
+ # Specify a valid value.
6478
+ # @return [Array<String>]
6479
+ #
6480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRetryPolicy AWS API Documentation
6481
+ #
6482
+ class HttpRetryPolicy < Struct.new(
6483
+ :http_retry_events,
6484
+ :max_retries,
6485
+ :per_retry_timeout,
6486
+ :tcp_retry_events)
6487
+ SENSITIVE = []
6488
+ include Aws::Structure
6489
+ end
6490
+
6491
+ # @note When making an API call, you may pass DescribeVirtualRouterInput
6492
+ # data as a hash:
6493
+ #
6494
+ # {
6495
+ # mesh_name: "ResourceName", # required
6496
+ # mesh_owner: "AccountId",
6497
+ # virtual_router_name: "ResourceName", # required
6498
+ # }
6499
+ #
6500
+ # @!attribute [rw] mesh_name
6501
+ # The name of the service mesh that the virtual router resides in.
6502
+ # @return [String]
6503
+ #
6504
+ # @!attribute [rw] mesh_owner
6505
+ # The AWS IAM account ID of the service mesh owner. If the account ID
6506
+ # is not your own, then it's the ID of the account that shared the
6507
+ # mesh with your account. For more information about mesh sharing, see
6508
+ # [Working with shared meshes][1].
6509
+ #
6510
+ #
6511
+ #
6512
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
6513
+ # @return [String]
6514
+ #
6515
+ # @!attribute [rw] virtual_router_name
6516
+ # The name of the virtual router to describe.
6517
+ # @return [String]
6518
+ #
6519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouterInput AWS API Documentation
6520
+ #
6521
+ class DescribeVirtualRouterInput < Struct.new(
6522
+ :mesh_name,
6523
+ :mesh_owner,
6524
+ :virtual_router_name)
6525
+ SENSITIVE = []
6526
+ include Aws::Structure
6527
+ end
6528
+
6529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResourceOutput AWS API Documentation
6530
+ #
6531
+ class TagResourceOutput < Aws::EmptyStructure; end
6532
+
6533
+ # The request exceeds the maximum allowed number of tags allowed per
6534
+ # resource. The current limit is 50 user tags per resource. You must
6535
+ # reduce the number of tags in the request. None of the tags in this
6536
+ # request were applied.
6537
+ #
6538
+ # @!attribute [rw] message
6539
+ # @return [String]
6540
+ #
6541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TooManyTagsException AWS API Documentation
6542
+ #
6543
+ class TooManyTagsException < Struct.new(
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]
4150
6606
  #
4151
- # * **server-error** HTTP status codes 500, 501, 502, 503, 504, 505,
4152
- # 506, 507, 508, 510, and 511
6607
+ # @!attribute [rw] gateway_route_name
6608
+ # The name of the gateway route to update.
6609
+ # @return [String]
4153
6610
  #
4154
- # * **gateway-error** HTTP status codes 502, 503, and 504
6611
+ # @!attribute [rw] mesh_name
6612
+ # The name of the service mesh that the gateway route resides in.
6613
+ # @return [String]
4155
6614
  #
4156
- # * **client-error** HTTP status code 409
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].
4157
6620
  #
4158
- # * **stream-error** – Retry on refused stream
4159
- # @return [Array<String>]
4160
6621
  #
4161
- # @!attribute [rw] max_retries
4162
- # The maximum number of retry attempts.
4163
- # @return [Integer]
4164
6622
  #
4165
- # @!attribute [rw] per_retry_timeout
4166
- # An object that represents a duration of time.
4167
- # @return [Types::Duration]
6623
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
6624
+ # @return [String]
4168
6625
  #
4169
- # @!attribute [rw] tcp_retry_events
4170
- # Specify a valid value.
4171
- # @return [Array<String>]
6626
+ # @!attribute [rw] spec
6627
+ # The new gateway route specification to apply. This overwrites the
6628
+ # existing data.
6629
+ # @return [Types::GatewayRouteSpec]
4172
6630
  #
4173
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRetryPolicy AWS API Documentation
6631
+ # @!attribute [rw] virtual_gateway_name
6632
+ # The name of the virtual gateway that the gateway route is associated
6633
+ # with.
6634
+ # @return [String]
4174
6635
  #
4175
- class HttpRetryPolicy < Struct.new(
4176
- :http_retry_events,
4177
- :max_retries,
4178
- :per_retry_timeout,
4179
- :tcp_retry_events)
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 = []
4180
6646
  include Aws::Structure
4181
6647
  end
4182
6648
 
4183
- # @note When making an API call, you may pass DescribeVirtualRouterInput
6649
+ # @note When making an API call, you may pass ListVirtualGatewaysInput
4184
6650
  # data as a hash:
4185
6651
  #
4186
6652
  # {
6653
+ # limit: 1,
4187
6654
  # mesh_name: "ResourceName", # required
4188
6655
  # mesh_owner: "AccountId",
4189
- # virtual_router_name: "ResourceName", # required
6656
+ # next_token: "String",
4190
6657
  # }
4191
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
+ #
4192
6670
  # @!attribute [rw] mesh_name
4193
- # The name of the service mesh that the virtual router resides in.
6671
+ # The name of the service mesh to list virtual gateways in.
4194
6672
  # @return [String]
4195
6673
  #
4196
6674
  # @!attribute [rw] mesh_owner
4197
6675
  # The AWS IAM account ID of the service mesh owner. If the account ID
4198
6676
  # is not your own, then it's the ID of the account that shared the
4199
6677
  # mesh with your account. For more information about mesh sharing, see
4200
- # [Working with Shared Meshes][1].
6678
+ # [Working with shared meshes][1].
4201
6679
  #
4202
6680
  #
4203
6681
  #
4204
6682
  # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
4205
6683
  # @return [String]
4206
6684
  #
4207
- # @!attribute [rw] virtual_router_name
4208
- # The name of the virtual router to describe.
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.
4209
6690
  # @return [String]
4210
6691
  #
4211
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouterInput AWS API Documentation
6692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGatewaysInput AWS API Documentation
4212
6693
  #
4213
- class DescribeVirtualRouterInput < Struct.new(
6694
+ class ListVirtualGatewaysInput < Struct.new(
6695
+ :limit,
4214
6696
  :mesh_name,
4215
6697
  :mesh_owner,
4216
- :virtual_router_name)
4217
- include Aws::Structure
4218
- end
4219
-
4220
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResourceOutput AWS API Documentation
4221
- #
4222
- class TagResourceOutput < Aws::EmptyStructure; end
4223
-
4224
- # The request exceeds the maximum allowed number of tags allowed per
4225
- # resource. The current limit is 50 user tags per resource. You must
4226
- # reduce the number of tags in the request. None of the tags in this
4227
- # request were applied.
4228
- #
4229
- # @!attribute [rw] message
4230
- # @return [String]
4231
- #
4232
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TooManyTagsException AWS API Documentation
4233
- #
4234
- class TooManyTagsException < Struct.new(
4235
- :message)
6698
+ :next_token)
6699
+ SENSITIVE = []
4236
6700
  include Aws::Structure
4237
6701
  end
4238
6702
 
@@ -4255,6 +6719,7 @@ module Aws::AppMesh
4255
6719
  #
4256
6720
  class TlsValidationContextFileTrust < Struct.new(
4257
6721
  :certificate_chain)
6722
+ SENSITIVE = []
4258
6723
  include Aws::Structure
4259
6724
  end
4260
6725
 
@@ -4297,6 +6762,7 @@ module Aws::AppMesh
4297
6762
  :invert,
4298
6763
  :match,
4299
6764
  :name)
6765
+ SENSITIVE = []
4300
6766
  include Aws::Structure
4301
6767
  end
4302
6768
 
@@ -4348,6 +6814,16 @@ module Aws::AppMesh
4348
6814
  # },
4349
6815
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4350
6816
  # },
6817
+ # timeout: {
6818
+ # idle: {
6819
+ # unit: "ms", # accepts ms, s
6820
+ # value: 1,
6821
+ # },
6822
+ # per_request: {
6823
+ # unit: "ms", # accepts ms, s
6824
+ # value: 1,
6825
+ # },
6826
+ # },
4351
6827
  # },
4352
6828
  # http2_route: {
4353
6829
  # action: { # required
@@ -4388,6 +6864,16 @@ module Aws::AppMesh
4388
6864
  # },
4389
6865
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4390
6866
  # },
6867
+ # timeout: {
6868
+ # idle: {
6869
+ # unit: "ms", # accepts ms, s
6870
+ # value: 1,
6871
+ # },
6872
+ # per_request: {
6873
+ # unit: "ms", # accepts ms, s
6874
+ # value: 1,
6875
+ # },
6876
+ # },
4391
6877
  # },
4392
6878
  # http_route: {
4393
6879
  # action: { # required
@@ -4428,6 +6914,16 @@ module Aws::AppMesh
4428
6914
  # },
4429
6915
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4430
6916
  # },
6917
+ # timeout: {
6918
+ # idle: {
6919
+ # unit: "ms", # accepts ms, s
6920
+ # value: 1,
6921
+ # },
6922
+ # per_request: {
6923
+ # unit: "ms", # accepts ms, s
6924
+ # value: 1,
6925
+ # },
6926
+ # },
4431
6927
  # },
4432
6928
  # priority: 1,
4433
6929
  # tcp_route: {
@@ -4439,6 +6935,12 @@ module Aws::AppMesh
4439
6935
  # },
4440
6936
  # ],
4441
6937
  # },
6938
+ # timeout: {
6939
+ # idle: {
6940
+ # unit: "ms", # accepts ms, s
6941
+ # value: 1,
6942
+ # },
6943
+ # },
4442
6944
  # },
4443
6945
  # },
4444
6946
  # tags: [
@@ -4468,7 +6970,7 @@ module Aws::AppMesh
4468
6970
  # is not your own, then the account that you specify must share the
4469
6971
  # mesh with your account before you can create the resource in the
4470
6972
  # service mesh. For more information about mesh sharing, see [Working
4471
- # with Shared Meshes][1].
6973
+ # with shared meshes][1].
4472
6974
  #
4473
6975
  #
4474
6976
  #
@@ -4507,6 +7009,75 @@ module Aws::AppMesh
4507
7009
  :spec,
4508
7010
  :tags,
4509
7011
  :virtual_router_name)
7012
+ SENSITIVE = []
7013
+ include Aws::Structure
7014
+ end
7015
+
7016
+ # An object that represents types of timeouts.
7017
+ #
7018
+ # @note When making an API call, you may pass TcpTimeout
7019
+ # data as a hash:
7020
+ #
7021
+ # {
7022
+ # idle: {
7023
+ # unit: "ms", # accepts ms, s
7024
+ # value: 1,
7025
+ # },
7026
+ # }
7027
+ #
7028
+ # @!attribute [rw] idle
7029
+ # An object that represents a duration of time.
7030
+ # @return [Types::Duration]
7031
+ #
7032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TcpTimeout AWS API Documentation
7033
+ #
7034
+ class TcpTimeout < Struct.new(
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 = []
4510
7081
  include Aws::Structure
4511
7082
  end
4512
7083
 
@@ -4558,6 +7129,16 @@ module Aws::AppMesh
4558
7129
  # },
4559
7130
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4560
7131
  # },
7132
+ # timeout: {
7133
+ # idle: {
7134
+ # unit: "ms", # accepts ms, s
7135
+ # value: 1,
7136
+ # },
7137
+ # per_request: {
7138
+ # unit: "ms", # accepts ms, s
7139
+ # value: 1,
7140
+ # },
7141
+ # },
4561
7142
  # },
4562
7143
  # http2_route: {
4563
7144
  # action: { # required
@@ -4598,6 +7179,16 @@ module Aws::AppMesh
4598
7179
  # },
4599
7180
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4600
7181
  # },
7182
+ # timeout: {
7183
+ # idle: {
7184
+ # unit: "ms", # accepts ms, s
7185
+ # value: 1,
7186
+ # },
7187
+ # per_request: {
7188
+ # unit: "ms", # accepts ms, s
7189
+ # value: 1,
7190
+ # },
7191
+ # },
4601
7192
  # },
4602
7193
  # http_route: {
4603
7194
  # action: { # required
@@ -4638,6 +7229,16 @@ module Aws::AppMesh
4638
7229
  # },
4639
7230
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4640
7231
  # },
7232
+ # timeout: {
7233
+ # idle: {
7234
+ # unit: "ms", # accepts ms, s
7235
+ # value: 1,
7236
+ # },
7237
+ # per_request: {
7238
+ # unit: "ms", # accepts ms, s
7239
+ # value: 1,
7240
+ # },
7241
+ # },
4641
7242
  # },
4642
7243
  # priority: 1,
4643
7244
  # tcp_route: {
@@ -4649,6 +7250,12 @@ module Aws::AppMesh
4649
7250
  # },
4650
7251
  # ],
4651
7252
  # },
7253
+ # timeout: {
7254
+ # idle: {
7255
+ # unit: "ms", # accepts ms, s
7256
+ # value: 1,
7257
+ # },
7258
+ # },
4652
7259
  # },
4653
7260
  # },
4654
7261
  # virtual_router_name: "ResourceName", # required
@@ -4671,7 +7278,7 @@ module Aws::AppMesh
4671
7278
  # The AWS IAM account ID of the service mesh owner. If the account ID
4672
7279
  # is not your own, then it's the ID of the account that shared the
4673
7280
  # mesh with your account. For more information about mesh sharing, see
4674
- # [Working with Shared Meshes][1].
7281
+ # [Working with shared meshes][1].
4675
7282
  #
4676
7283
  #
4677
7284
  #
@@ -4700,6 +7307,7 @@ module Aws::AppMesh
4700
7307
  :route_name,
4701
7308
  :spec,
4702
7309
  :virtual_router_name)
7310
+ SENSITIVE = []
4703
7311
  include Aws::Structure
4704
7312
  end
4705
7313
 
@@ -4747,6 +7355,16 @@ module Aws::AppMesh
4747
7355
  # },
4748
7356
  # tcp_retry_events: ["connection-error"], # accepts connection-error
4749
7357
  # },
7358
+ # timeout: {
7359
+ # idle: {
7360
+ # unit: "ms", # accepts ms, s
7361
+ # value: 1,
7362
+ # },
7363
+ # per_request: {
7364
+ # unit: "ms", # accepts ms, s
7365
+ # value: 1,
7366
+ # },
7367
+ # },
4750
7368
  # }
4751
7369
  #
4752
7370
  # @!attribute [rw] action
@@ -4763,12 +7381,18 @@ module Aws::AppMesh
4763
7381
  # An object that represents a retry policy.
4764
7382
  # @return [Types::HttpRetryPolicy]
4765
7383
  #
7384
+ # @!attribute [rw] timeout
7385
+ # An object that represents types of timeouts.
7386
+ # @return [Types::HttpTimeout]
7387
+ #
4766
7388
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRoute AWS API Documentation
4767
7389
  #
4768
7390
  class HttpRoute < Struct.new(
4769
7391
  :action,
4770
7392
  :match,
4771
- :retry_policy)
7393
+ :retry_policy,
7394
+ :timeout)
7395
+ SENSITIVE = []
4772
7396
  include Aws::Structure
4773
7397
  end
4774
7398
 
@@ -4788,7 +7412,7 @@ module Aws::AppMesh
4788
7412
  # The AWS IAM account ID of the service mesh owner. If the account ID
4789
7413
  # is not your own, then it's the ID of the account that shared the
4790
7414
  # mesh with your account. For more information about mesh sharing, see
4791
- # [Working with Shared Meshes][1].
7415
+ # [Working with shared meshes][1].
4792
7416
  #
4793
7417
  #
4794
7418
  #
@@ -4800,6 +7424,74 @@ module Aws::AppMesh
4800
7424
  class DescribeMeshInput < Struct.new(
4801
7425
  :mesh_name,
4802
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 = []
4803
7495
  include Aws::Structure
4804
7496
  end
4805
7497
 
@@ -4822,6 +7514,31 @@ module Aws::AppMesh
4822
7514
  #
4823
7515
  class MeshSpec < Struct.new(
4824
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 = []
4825
7542
  include Aws::Structure
4826
7543
  end
4827
7544
 
@@ -4842,6 +7559,7 @@ module Aws::AppMesh
4842
7559
  class ListTagsForResourceOutput < Struct.new(
4843
7560
  :next_token,
4844
7561
  :tags)
7562
+ SENSITIVE = []
4845
7563
  include Aws::Structure
4846
7564
  end
4847
7565
 
@@ -4880,6 +7598,7 @@ module Aws::AppMesh
4880
7598
  class ServiceDiscovery < Struct.new(
4881
7599
  :aws_cloud_map,
4882
7600
  :dns)
7601
+ SENSITIVE = []
4883
7602
  include Aws::Structure
4884
7603
  end
4885
7604
 
@@ -4900,6 +7619,7 @@ module Aws::AppMesh
4900
7619
  class ListVirtualNodesOutput < Struct.new(
4901
7620
  :next_token,
4902
7621
  :virtual_nodes)
7622
+ SENSITIVE = []
4903
7623
  include Aws::Structure
4904
7624
  end
4905
7625
 
@@ -4924,6 +7644,7 @@ module Aws::AppMesh
4924
7644
  class UntagResourceInput < Struct.new(
4925
7645
  :resource_arn,
4926
7646
  :tag_keys)
7647
+ SENSITIVE = []
4927
7648
  include Aws::Structure
4928
7649
  end
4929
7650
 
@@ -4951,6 +7672,7 @@ module Aws::AppMesh
4951
7672
  #
4952
7673
  class ListenerTlsAcmCertificate < Struct.new(
4953
7674
  :certificate_arn)
7675
+ SENSITIVE = []
4954
7676
  include Aws::Structure
4955
7677
  end
4956
7678