aws-sdk-appmesh 1.46.0 → 1.47.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.
@@ -100,7 +100,9 @@ module Aws::AppMesh
100
100
  # @return [Array<Types::AwsCloudMapInstanceAttribute>]
101
101
  #
102
102
  # @!attribute [rw] ip_preference
103
- # The IP version to use to control traffic within the mesh.
103
+ # The preferred IP version that this virtual node uses. Setting the IP
104
+ # preference on the virtual node only overrides the IP preference set
105
+ # for the mesh on this specific node.
104
106
  # @return [String]
105
107
  #
106
108
  # @!attribute [rw] namespace_name
@@ -401,6 +403,7 @@ module Aws::AppMesh
401
403
  # },
402
404
  # },
403
405
  # target: { # required
406
+ # port: 1,
404
407
  # virtual_service: { # required
405
408
  # virtual_service_name: "ResourceName", # required
406
409
  # },
@@ -427,6 +430,7 @@ module Aws::AppMesh
427
430
  # name: "HeaderName", # required
428
431
  # },
429
432
  # ],
433
+ # port: 1,
430
434
  # service_name: "ServiceName",
431
435
  # },
432
436
  # },
@@ -445,6 +449,7 @@ module Aws::AppMesh
445
449
  # },
446
450
  # },
447
451
  # target: { # required
452
+ # port: 1,
448
453
  # virtual_service: { # required
449
454
  # virtual_service_name: "ResourceName", # required
450
455
  # },
@@ -476,6 +481,7 @@ module Aws::AppMesh
476
481
  # exact: "HttpPathExact",
477
482
  # regex: "HttpPathRegex",
478
483
  # },
484
+ # port: 1,
479
485
  # prefix: "String",
480
486
  # query_parameters: [
481
487
  # {
@@ -502,6 +508,7 @@ module Aws::AppMesh
502
508
  # },
503
509
  # },
504
510
  # target: { # required
511
+ # port: 1,
505
512
  # virtual_service: { # required
506
513
  # virtual_service_name: "ResourceName", # required
507
514
  # },
@@ -533,6 +540,7 @@ module Aws::AppMesh
533
540
  # exact: "HttpPathExact",
534
541
  # regex: "HttpPathRegex",
535
542
  # },
543
+ # port: 1,
536
544
  # prefix: "String",
537
545
  # query_parameters: [
538
546
  # {
@@ -724,6 +732,7 @@ module Aws::AppMesh
724
732
  # action: { # required
725
733
  # weighted_targets: [ # required
726
734
  # {
735
+ # port: 1,
727
736
  # virtual_node: "ResourceName", # required
728
737
  # weight: 1, # required
729
738
  # },
@@ -747,6 +756,7 @@ module Aws::AppMesh
747
756
  # },
748
757
  # ],
749
758
  # method_name: "MethodName",
759
+ # port: 1,
750
760
  # service_name: "ServiceName",
751
761
  # },
752
762
  # retry_policy: {
@@ -774,6 +784,7 @@ module Aws::AppMesh
774
784
  # action: { # required
775
785
  # weighted_targets: [ # required
776
786
  # {
787
+ # port: 1,
777
788
  # virtual_node: "ResourceName", # required
778
789
  # weight: 1, # required
779
790
  # },
@@ -801,6 +812,7 @@ module Aws::AppMesh
801
812
  # exact: "HttpPathExact",
802
813
  # regex: "HttpPathRegex",
803
814
  # },
815
+ # port: 1,
804
816
  # prefix: "String",
805
817
  # query_parameters: [
806
818
  # {
@@ -836,6 +848,7 @@ module Aws::AppMesh
836
848
  # action: { # required
837
849
  # weighted_targets: [ # required
838
850
  # {
851
+ # port: 1,
839
852
  # virtual_node: "ResourceName", # required
840
853
  # weight: 1, # required
841
854
  # },
@@ -863,6 +876,7 @@ module Aws::AppMesh
863
876
  # exact: "HttpPathExact",
864
877
  # regex: "HttpPathRegex",
865
878
  # },
879
+ # port: 1,
866
880
  # prefix: "String",
867
881
  # query_parameters: [
868
882
  # {
@@ -899,11 +913,15 @@ module Aws::AppMesh
899
913
  # action: { # required
900
914
  # weighted_targets: [ # required
901
915
  # {
916
+ # port: 1,
902
917
  # virtual_node: "ResourceName", # required
903
918
  # weight: 1, # required
904
919
  # },
905
920
  # ],
906
921
  # },
922
+ # match: {
923
+ # port: 1,
924
+ # },
907
925
  # timeout: {
908
926
  # idle: {
909
927
  # unit: "s", # accepts s, ms
@@ -1103,6 +1121,15 @@ module Aws::AppMesh
1103
1121
  # logging: {
1104
1122
  # access_log: {
1105
1123
  # file: {
1124
+ # format: {
1125
+ # json: [
1126
+ # {
1127
+ # key: "JsonKey", # required
1128
+ # value: "JsonValue", # required
1129
+ # },
1130
+ # ],
1131
+ # text: "TextFormat",
1132
+ # },
1106
1133
  # path: "FilePath", # required
1107
1134
  # },
1108
1135
  # },
@@ -1386,6 +1413,15 @@ module Aws::AppMesh
1386
1413
  # logging: {
1387
1414
  # access_log: {
1388
1415
  # file: {
1416
+ # format: {
1417
+ # json: [
1418
+ # {
1419
+ # key: "JsonKey", # required
1420
+ # value: "JsonValue", # required
1421
+ # },
1422
+ # ],
1423
+ # text: "TextFormat",
1424
+ # },
1389
1425
  # path: "FilePath", # required
1390
1426
  # },
1391
1427
  # },
@@ -2485,7 +2521,9 @@ module Aws::AppMesh
2485
2521
  # @return [String]
2486
2522
  #
2487
2523
  # @!attribute [rw] ip_preference
2488
- # The IP version to use to control traffic within the mesh.
2524
+ # The preferred IP version that this virtual node uses. Setting the IP
2525
+ # preference on the virtual node only overrides the IP preference set
2526
+ # for the mesh on this specific node.
2489
2527
  # @return [String]
2490
2528
  #
2491
2529
  # @!attribute [rw] response_type
@@ -2561,9 +2599,23 @@ module Aws::AppMesh
2561
2599
  # data as a hash:
2562
2600
  #
2563
2601
  # {
2602
+ # format: {
2603
+ # json: [
2604
+ # {
2605
+ # key: "JsonKey", # required
2606
+ # value: "JsonValue", # required
2607
+ # },
2608
+ # ],
2609
+ # text: "TextFormat",
2610
+ # },
2564
2611
  # path: "FilePath", # required
2565
2612
  # }
2566
2613
  #
2614
+ # @!attribute [rw] format
2615
+ # The specified format for the logs. The format is either
2616
+ # `json_format` or `text_format`.
2617
+ # @return [Types::LoggingFormat]
2618
+ #
2567
2619
  # @!attribute [rw] path
2568
2620
  # The file path to write access logs to. You can use `/dev/stdout` to
2569
2621
  # send access logs to standard out and configure your Envoy container
@@ -2578,6 +2630,7 @@ module Aws::AppMesh
2578
2630
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/FileAccessLog AWS API Documentation
2579
2631
  #
2580
2632
  class FileAccessLog < Struct.new(
2633
+ :format,
2581
2634
  :path)
2582
2635
  SENSITIVE = []
2583
2636
  include Aws::Structure
@@ -2771,6 +2824,7 @@ module Aws::AppMesh
2771
2824
  # },
2772
2825
  # },
2773
2826
  # target: { # required
2827
+ # port: 1,
2774
2828
  # virtual_service: { # required
2775
2829
  # virtual_service_name: "ResourceName", # required
2776
2830
  # },
@@ -2797,6 +2851,7 @@ module Aws::AppMesh
2797
2851
  # name: "HeaderName", # required
2798
2852
  # },
2799
2853
  # ],
2854
+ # port: 1,
2800
2855
  # service_name: "ServiceName",
2801
2856
  # },
2802
2857
  # },
@@ -2815,6 +2870,7 @@ module Aws::AppMesh
2815
2870
  # },
2816
2871
  # },
2817
2872
  # target: { # required
2873
+ # port: 1,
2818
2874
  # virtual_service: { # required
2819
2875
  # virtual_service_name: "ResourceName", # required
2820
2876
  # },
@@ -2846,6 +2902,7 @@ module Aws::AppMesh
2846
2902
  # exact: "HttpPathExact",
2847
2903
  # regex: "HttpPathRegex",
2848
2904
  # },
2905
+ # port: 1,
2849
2906
  # prefix: "String",
2850
2907
  # query_parameters: [
2851
2908
  # {
@@ -2872,6 +2929,7 @@ module Aws::AppMesh
2872
2929
  # },
2873
2930
  # },
2874
2931
  # target: { # required
2932
+ # port: 1,
2875
2933
  # virtual_service: { # required
2876
2934
  # virtual_service_name: "ResourceName", # required
2877
2935
  # },
@@ -2903,6 +2961,7 @@ module Aws::AppMesh
2903
2961
  # exact: "HttpPathExact",
2904
2962
  # regex: "HttpPathRegex",
2905
2963
  # },
2964
+ # port: 1,
2906
2965
  # prefix: "String",
2907
2966
  # query_parameters: [
2908
2967
  # {
@@ -2966,11 +3025,16 @@ module Aws::AppMesh
2966
3025
  # data as a hash:
2967
3026
  #
2968
3027
  # {
3028
+ # port: 1,
2969
3029
  # virtual_service: { # required
2970
3030
  # virtual_service_name: "ResourceName", # required
2971
3031
  # },
2972
3032
  # }
2973
3033
  #
3034
+ # @!attribute [rw] port
3035
+ # The port number of the gateway route target.
3036
+ # @return [Integer]
3037
+ #
2974
3038
  # @!attribute [rw] virtual_service
2975
3039
  # An object that represents a virtual service gateway route target.
2976
3040
  # @return [Types::GatewayRouteVirtualService]
@@ -2978,6 +3042,7 @@ module Aws::AppMesh
2978
3042
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteTarget AWS API Documentation
2979
3043
  #
2980
3044
  class GatewayRouteTarget < Struct.new(
3045
+ :port,
2981
3046
  :virtual_service)
2982
3047
  SENSITIVE = []
2983
3048
  include Aws::Structure
@@ -3018,6 +3083,7 @@ module Aws::AppMesh
3018
3083
  # },
3019
3084
  # },
3020
3085
  # target: { # required
3086
+ # port: 1,
3021
3087
  # virtual_service: { # required
3022
3088
  # virtual_service_name: "ResourceName", # required
3023
3089
  # },
@@ -3044,6 +3110,7 @@ module Aws::AppMesh
3044
3110
  # name: "HeaderName", # required
3045
3111
  # },
3046
3112
  # ],
3113
+ # port: 1,
3047
3114
  # service_name: "ServiceName",
3048
3115
  # },
3049
3116
  # }
@@ -3079,6 +3146,7 @@ module Aws::AppMesh
3079
3146
  # },
3080
3147
  # },
3081
3148
  # target: { # required
3149
+ # port: 1,
3082
3150
  # virtual_service: { # required
3083
3151
  # virtual_service_name: "ResourceName", # required
3084
3152
  # },
@@ -3130,6 +3198,7 @@ module Aws::AppMesh
3130
3198
  # name: "HeaderName", # required
3131
3199
  # },
3132
3200
  # ],
3201
+ # port: 1,
3133
3202
  # service_name: "ServiceName",
3134
3203
  # }
3135
3204
  #
@@ -3141,6 +3210,10 @@ module Aws::AppMesh
3141
3210
  # The gateway route metadata to be matched on.
3142
3211
  # @return [Array<Types::GrpcGatewayRouteMetadata>]
3143
3212
  #
3213
+ # @!attribute [rw] port
3214
+ # The port number to match from the request.
3215
+ # @return [Integer]
3216
+ #
3144
3217
  # @!attribute [rw] service_name
3145
3218
  # The fully qualified domain name for the service to match from the
3146
3219
  # request.
@@ -3151,6 +3224,7 @@ module Aws::AppMesh
3151
3224
  class GrpcGatewayRouteMatch < Struct.new(
3152
3225
  :hostname,
3153
3226
  :metadata,
3227
+ :port,
3154
3228
  :service_name)
3155
3229
  SENSITIVE = []
3156
3230
  include Aws::Structure
@@ -3350,6 +3424,7 @@ module Aws::AppMesh
3350
3424
  # action: { # required
3351
3425
  # weighted_targets: [ # required
3352
3426
  # {
3427
+ # port: 1,
3353
3428
  # virtual_node: "ResourceName", # required
3354
3429
  # weight: 1, # required
3355
3430
  # },
@@ -3373,6 +3448,7 @@ module Aws::AppMesh
3373
3448
  # },
3374
3449
  # ],
3375
3450
  # method_name: "MethodName",
3451
+ # port: 1,
3376
3452
  # service_name: "ServiceName",
3377
3453
  # },
3378
3454
  # retry_policy: {
@@ -3434,6 +3510,7 @@ module Aws::AppMesh
3434
3510
  # {
3435
3511
  # weighted_targets: [ # required
3436
3512
  # {
3513
+ # port: 1,
3437
3514
  # virtual_node: "ResourceName", # required
3438
3515
  # weight: 1, # required
3439
3516
  # },
@@ -3477,6 +3554,7 @@ module Aws::AppMesh
3477
3554
  # },
3478
3555
  # ],
3479
3556
  # method_name: "MethodName",
3557
+ # port: 1,
3480
3558
  # service_name: "ServiceName",
3481
3559
  # }
3482
3560
  #
@@ -3489,6 +3567,10 @@ module Aws::AppMesh
3489
3567
  # you must also specify a `serviceName`.
3490
3568
  # @return [String]
3491
3569
  #
3570
+ # @!attribute [rw] port
3571
+ # The port number to match on.
3572
+ # @return [Integer]
3573
+ #
3492
3574
  # @!attribute [rw] service_name
3493
3575
  # The fully qualified domain name for the service to match from the
3494
3576
  # request.
@@ -3499,6 +3581,7 @@ module Aws::AppMesh
3499
3581
  class GrpcRouteMatch < Struct.new(
3500
3582
  :metadata,
3501
3583
  :method_name,
3584
+ :port,
3502
3585
  :service_name)
3503
3586
  SENSITIVE = []
3504
3587
  include Aws::Structure
@@ -3776,6 +3859,7 @@ module Aws::AppMesh
3776
3859
  # },
3777
3860
  # },
3778
3861
  # target: { # required
3862
+ # port: 1,
3779
3863
  # virtual_service: { # required
3780
3864
  # virtual_service_name: "ResourceName", # required
3781
3865
  # },
@@ -3807,6 +3891,7 @@ module Aws::AppMesh
3807
3891
  # exact: "HttpPathExact",
3808
3892
  # regex: "HttpPathRegex",
3809
3893
  # },
3894
+ # port: 1,
3810
3895
  # prefix: "String",
3811
3896
  # query_parameters: [
3812
3897
  # {
@@ -3857,6 +3942,7 @@ module Aws::AppMesh
3857
3942
  # },
3858
3943
  # },
3859
3944
  # target: { # required
3945
+ # port: 1,
3860
3946
  # virtual_service: { # required
3861
3947
  # virtual_service_name: "ResourceName", # required
3862
3948
  # },
@@ -3958,6 +4044,7 @@ module Aws::AppMesh
3958
4044
  # exact: "HttpPathExact",
3959
4045
  # regex: "HttpPathRegex",
3960
4046
  # },
4047
+ # port: 1,
3961
4048
  # prefix: "String",
3962
4049
  # query_parameters: [
3963
4050
  # {
@@ -3985,6 +4072,10 @@ module Aws::AppMesh
3985
4072
  # The path to match on.
3986
4073
  # @return [Types::HttpPathMatch]
3987
4074
  #
4075
+ # @!attribute [rw] port
4076
+ # The port number to match on.
4077
+ # @return [Integer]
4078
+ #
3988
4079
  # @!attribute [rw] prefix
3989
4080
  # Specifies the path to match requests with. This parameter must
3990
4081
  # always start with `/`, which by itself matches all requests to the
@@ -4005,6 +4096,7 @@ module Aws::AppMesh
4005
4096
  :hostname,
4006
4097
  :method,
4007
4098
  :path,
4099
+ :port,
4008
4100
  :prefix,
4009
4101
  :query_parameters)
4010
4102
  SENSITIVE = []
@@ -4228,6 +4320,7 @@ module Aws::AppMesh
4228
4320
  # action: { # required
4229
4321
  # weighted_targets: [ # required
4230
4322
  # {
4323
+ # port: 1,
4231
4324
  # virtual_node: "ResourceName", # required
4232
4325
  # weight: 1, # required
4233
4326
  # },
@@ -4255,6 +4348,7 @@ module Aws::AppMesh
4255
4348
  # exact: "HttpPathExact",
4256
4349
  # regex: "HttpPathRegex",
4257
4350
  # },
4351
+ # port: 1,
4258
4352
  # prefix: "String",
4259
4353
  # query_parameters: [
4260
4354
  # {
@@ -4324,6 +4418,7 @@ module Aws::AppMesh
4324
4418
  # {
4325
4419
  # weighted_targets: [ # required
4326
4420
  # {
4421
+ # port: 1,
4327
4422
  # virtual_node: "ResourceName", # required
4328
4423
  # weight: 1, # required
4329
4424
  # },
@@ -4415,6 +4510,7 @@ module Aws::AppMesh
4415
4510
  # exact: "HttpPathExact",
4416
4511
  # regex: "HttpPathRegex",
4417
4512
  # },
4513
+ # port: 1,
4418
4514
  # prefix: "String",
4419
4515
  # query_parameters: [
4420
4516
  # {
@@ -4439,6 +4535,10 @@ module Aws::AppMesh
4439
4535
  # The client request path to match on.
4440
4536
  # @return [Types::HttpPathMatch]
4441
4537
  #
4538
+ # @!attribute [rw] port
4539
+ # The port number to match on.
4540
+ # @return [Integer]
4541
+ #
4442
4542
  # @!attribute [rw] prefix
4443
4543
  # Specifies the path to match requests with. This parameter must
4444
4544
  # always start with `/`, which by itself matches all requests to the
@@ -4463,6 +4563,7 @@ module Aws::AppMesh
4463
4563
  :headers,
4464
4564
  :method,
4465
4565
  :path,
4566
+ :port,
4466
4567
  :prefix,
4467
4568
  :query_parameters,
4468
4569
  :scheme)
@@ -4525,6 +4626,33 @@ module Aws::AppMesh
4525
4626
  include Aws::Structure
4526
4627
  end
4527
4628
 
4629
+ # An object that represents the key value pairs for the JSON.
4630
+ #
4631
+ # @note When making an API call, you may pass JsonFormatRef
4632
+ # data as a hash:
4633
+ #
4634
+ # {
4635
+ # key: "JsonKey", # required
4636
+ # value: "JsonValue", # required
4637
+ # }
4638
+ #
4639
+ # @!attribute [rw] key
4640
+ # The specified key for the JSON.
4641
+ # @return [String]
4642
+ #
4643
+ # @!attribute [rw] value
4644
+ # The specified value for the JSON.
4645
+ # @return [String]
4646
+ #
4647
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/JsonFormatRef AWS API Documentation
4648
+ #
4649
+ class JsonFormatRef < Struct.new(
4650
+ :key,
4651
+ :value)
4652
+ SENSITIVE = []
4653
+ include Aws::Structure
4654
+ end
4655
+
4528
4656
  # You have exceeded a service limit for your account. For more
4529
4657
  # information, see [Service Limits][1] in the *App Mesh User Guide*.
4530
4658
  #
@@ -5658,6 +5786,15 @@ module Aws::AppMesh
5658
5786
  # {
5659
5787
  # access_log: {
5660
5788
  # file: {
5789
+ # format: {
5790
+ # json: [
5791
+ # {
5792
+ # key: "JsonKey", # required
5793
+ # value: "JsonValue", # required
5794
+ # },
5795
+ # ],
5796
+ # text: "TextFormat",
5797
+ # },
5661
5798
  # path: "FilePath", # required
5662
5799
  # },
5663
5800
  # },
@@ -5675,6 +5812,33 @@ module Aws::AppMesh
5675
5812
  include Aws::Structure
5676
5813
  end
5677
5814
 
5815
+ # An object that represents the format for the logs.
5816
+ #
5817
+ # @note LoggingFormat is a union - when making an API calls you must set exactly one of the members.
5818
+ #
5819
+ # @note LoggingFormat is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of LoggingFormat corresponding to the set member.
5820
+ #
5821
+ # @!attribute [rw] json
5822
+ # @return [Array<Types::JsonFormatRef>]
5823
+ #
5824
+ # @!attribute [rw] text
5825
+ # @return [String]
5826
+ #
5827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/LoggingFormat AWS API Documentation
5828
+ #
5829
+ class LoggingFormat < Struct.new(
5830
+ :json,
5831
+ :text,
5832
+ :unknown)
5833
+ SENSITIVE = []
5834
+ include Aws::Structure
5835
+ include Aws::Structure::Union
5836
+
5837
+ class Json < LoggingFormat; end
5838
+ class Text < LoggingFormat; end
5839
+ class Unknown < LoggingFormat; end
5840
+ end
5841
+
5678
5842
  # An object that represents the range of values to match on. The first
5679
5843
  # character of the range is included in the range, though the last
5680
5844
  # character is not. For example, if the range specified were 1-100, only
@@ -6170,6 +6334,7 @@ module Aws::AppMesh
6170
6334
  # action: { # required
6171
6335
  # weighted_targets: [ # required
6172
6336
  # {
6337
+ # port: 1,
6173
6338
  # virtual_node: "ResourceName", # required
6174
6339
  # weight: 1, # required
6175
6340
  # },
@@ -6193,6 +6358,7 @@ module Aws::AppMesh
6193
6358
  # },
6194
6359
  # ],
6195
6360
  # method_name: "MethodName",
6361
+ # port: 1,
6196
6362
  # service_name: "ServiceName",
6197
6363
  # },
6198
6364
  # retry_policy: {
@@ -6220,6 +6386,7 @@ module Aws::AppMesh
6220
6386
  # action: { # required
6221
6387
  # weighted_targets: [ # required
6222
6388
  # {
6389
+ # port: 1,
6223
6390
  # virtual_node: "ResourceName", # required
6224
6391
  # weight: 1, # required
6225
6392
  # },
@@ -6247,6 +6414,7 @@ module Aws::AppMesh
6247
6414
  # exact: "HttpPathExact",
6248
6415
  # regex: "HttpPathRegex",
6249
6416
  # },
6417
+ # port: 1,
6250
6418
  # prefix: "String",
6251
6419
  # query_parameters: [
6252
6420
  # {
@@ -6282,6 +6450,7 @@ module Aws::AppMesh
6282
6450
  # action: { # required
6283
6451
  # weighted_targets: [ # required
6284
6452
  # {
6453
+ # port: 1,
6285
6454
  # virtual_node: "ResourceName", # required
6286
6455
  # weight: 1, # required
6287
6456
  # },
@@ -6309,6 +6478,7 @@ module Aws::AppMesh
6309
6478
  # exact: "HttpPathExact",
6310
6479
  # regex: "HttpPathRegex",
6311
6480
  # },
6481
+ # port: 1,
6312
6482
  # prefix: "String",
6313
6483
  # query_parameters: [
6314
6484
  # {
@@ -6345,11 +6515,15 @@ module Aws::AppMesh
6345
6515
  # action: { # required
6346
6516
  # weighted_targets: [ # required
6347
6517
  # {
6518
+ # port: 1,
6348
6519
  # virtual_node: "ResourceName", # required
6349
6520
  # weight: 1, # required
6350
6521
  # },
6351
6522
  # ],
6352
6523
  # },
6524
+ # match: {
6525
+ # port: 1,
6526
+ # },
6353
6527
  # timeout: {
6354
6528
  # idle: {
6355
6529
  # unit: "s", # accepts s, ms
@@ -6584,11 +6758,15 @@ module Aws::AppMesh
6584
6758
  # action: { # required
6585
6759
  # weighted_targets: [ # required
6586
6760
  # {
6761
+ # port: 1,
6587
6762
  # virtual_node: "ResourceName", # required
6588
6763
  # weight: 1, # required
6589
6764
  # },
6590
6765
  # ],
6591
6766
  # },
6767
+ # match: {
6768
+ # port: 1,
6769
+ # },
6592
6770
  # timeout: {
6593
6771
  # idle: {
6594
6772
  # unit: "s", # accepts s, ms
@@ -6601,6 +6779,11 @@ module Aws::AppMesh
6601
6779
  # The action to take if a match is determined.
6602
6780
  # @return [Types::TcpRouteAction]
6603
6781
  #
6782
+ # @!attribute [rw] match
6783
+ # An object that represents the criteria for determining a request
6784
+ # match.
6785
+ # @return [Types::TcpRouteMatch]
6786
+ #
6604
6787
  # @!attribute [rw] timeout
6605
6788
  # An object that represents types of timeouts.
6606
6789
  # @return [Types::TcpTimeout]
@@ -6609,6 +6792,7 @@ module Aws::AppMesh
6609
6792
  #
6610
6793
  class TcpRoute < Struct.new(
6611
6794
  :action,
6795
+ :match,
6612
6796
  :timeout)
6613
6797
  SENSITIVE = []
6614
6798
  include Aws::Structure
@@ -6622,6 +6806,7 @@ module Aws::AppMesh
6622
6806
  # {
6623
6807
  # weighted_targets: [ # required
6624
6808
  # {
6809
+ # port: 1,
6625
6810
  # virtual_node: "ResourceName", # required
6626
6811
  # weight: 1, # required
6627
6812
  # },
@@ -6641,6 +6826,27 @@ module Aws::AppMesh
6641
6826
  include Aws::Structure
6642
6827
  end
6643
6828
 
6829
+ # An object representing the TCP route to match.
6830
+ #
6831
+ # @note When making an API call, you may pass TcpRouteMatch
6832
+ # data as a hash:
6833
+ #
6834
+ # {
6835
+ # port: 1,
6836
+ # }
6837
+ #
6838
+ # @!attribute [rw] port
6839
+ # The port number to match on.
6840
+ # @return [Integer]
6841
+ #
6842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TcpRouteMatch AWS API Documentation
6843
+ #
6844
+ class TcpRouteMatch < Struct.new(
6845
+ :port)
6846
+ SENSITIVE = []
6847
+ include Aws::Structure
6848
+ end
6849
+
6644
6850
  # An object that represents types of timeouts.
6645
6851
  #
6646
6852
  # @note When making an API call, you may pass TcpTimeout
@@ -6694,7 +6900,14 @@ module Aws::AppMesh
6694
6900
  #
6695
6901
  # @!attribute [rw] subject_alternative_names
6696
6902
  # A reference to an object that represents the SANs for a Transport
6697
- # Layer Security (TLS) validation context.
6903
+ # Layer Security (TLS) validation context. If you don't specify SANs
6904
+ # on the *terminating* mesh endpoint, the Envoy proxy for that node
6905
+ # doesn't verify the SAN on a peer client certificate. If you don't
6906
+ # specify SANs on the *originating* mesh endpoint, the SAN on the
6907
+ # certificate provided by the terminating endpoint must match the mesh
6908
+ # endpoint service discovery configuration. Since SPIRE vended
6909
+ # certificates have a SPIFFE ID as a name, you must set the SAN since
6910
+ # the name doesn't match the service discovery name.
6698
6911
  # @return [Types::SubjectAlternativeNames]
6699
6912
  #
6700
6913
  # @!attribute [rw] trust
@@ -6911,6 +7124,7 @@ module Aws::AppMesh
6911
7124
  # },
6912
7125
  # },
6913
7126
  # target: { # required
7127
+ # port: 1,
6914
7128
  # virtual_service: { # required
6915
7129
  # virtual_service_name: "ResourceName", # required
6916
7130
  # },
@@ -6937,6 +7151,7 @@ module Aws::AppMesh
6937
7151
  # name: "HeaderName", # required
6938
7152
  # },
6939
7153
  # ],
7154
+ # port: 1,
6940
7155
  # service_name: "ServiceName",
6941
7156
  # },
6942
7157
  # },
@@ -6955,6 +7170,7 @@ module Aws::AppMesh
6955
7170
  # },
6956
7171
  # },
6957
7172
  # target: { # required
7173
+ # port: 1,
6958
7174
  # virtual_service: { # required
6959
7175
  # virtual_service_name: "ResourceName", # required
6960
7176
  # },
@@ -6986,6 +7202,7 @@ module Aws::AppMesh
6986
7202
  # exact: "HttpPathExact",
6987
7203
  # regex: "HttpPathRegex",
6988
7204
  # },
7205
+ # port: 1,
6989
7206
  # prefix: "String",
6990
7207
  # query_parameters: [
6991
7208
  # {
@@ -7012,6 +7229,7 @@ module Aws::AppMesh
7012
7229
  # },
7013
7230
  # },
7014
7231
  # target: { # required
7232
+ # port: 1,
7015
7233
  # virtual_service: { # required
7016
7234
  # virtual_service_name: "ResourceName", # required
7017
7235
  # },
@@ -7043,6 +7261,7 @@ module Aws::AppMesh
7043
7261
  # exact: "HttpPathExact",
7044
7262
  # regex: "HttpPathRegex",
7045
7263
  # },
7264
+ # port: 1,
7046
7265
  # prefix: "String",
7047
7266
  # query_parameters: [
7048
7267
  # {
@@ -7203,6 +7422,7 @@ module Aws::AppMesh
7203
7422
  # action: { # required
7204
7423
  # weighted_targets: [ # required
7205
7424
  # {
7425
+ # port: 1,
7206
7426
  # virtual_node: "ResourceName", # required
7207
7427
  # weight: 1, # required
7208
7428
  # },
@@ -7226,6 +7446,7 @@ module Aws::AppMesh
7226
7446
  # },
7227
7447
  # ],
7228
7448
  # method_name: "MethodName",
7449
+ # port: 1,
7229
7450
  # service_name: "ServiceName",
7230
7451
  # },
7231
7452
  # retry_policy: {
@@ -7253,6 +7474,7 @@ module Aws::AppMesh
7253
7474
  # action: { # required
7254
7475
  # weighted_targets: [ # required
7255
7476
  # {
7477
+ # port: 1,
7256
7478
  # virtual_node: "ResourceName", # required
7257
7479
  # weight: 1, # required
7258
7480
  # },
@@ -7280,6 +7502,7 @@ module Aws::AppMesh
7280
7502
  # exact: "HttpPathExact",
7281
7503
  # regex: "HttpPathRegex",
7282
7504
  # },
7505
+ # port: 1,
7283
7506
  # prefix: "String",
7284
7507
  # query_parameters: [
7285
7508
  # {
@@ -7315,6 +7538,7 @@ module Aws::AppMesh
7315
7538
  # action: { # required
7316
7539
  # weighted_targets: [ # required
7317
7540
  # {
7541
+ # port: 1,
7318
7542
  # virtual_node: "ResourceName", # required
7319
7543
  # weight: 1, # required
7320
7544
  # },
@@ -7342,6 +7566,7 @@ module Aws::AppMesh
7342
7566
  # exact: "HttpPathExact",
7343
7567
  # regex: "HttpPathRegex",
7344
7568
  # },
7569
+ # port: 1,
7345
7570
  # prefix: "String",
7346
7571
  # query_parameters: [
7347
7572
  # {
@@ -7378,11 +7603,15 @@ module Aws::AppMesh
7378
7603
  # action: { # required
7379
7604
  # weighted_targets: [ # required
7380
7605
  # {
7606
+ # port: 1,
7381
7607
  # virtual_node: "ResourceName", # required
7382
7608
  # weight: 1, # required
7383
7609
  # },
7384
7610
  # ],
7385
7611
  # },
7612
+ # match: {
7613
+ # port: 1,
7614
+ # },
7386
7615
  # timeout: {
7387
7616
  # idle: {
7388
7617
  # unit: "s", # accepts s, ms
@@ -7565,6 +7794,15 @@ module Aws::AppMesh
7565
7794
  # logging: {
7566
7795
  # access_log: {
7567
7796
  # file: {
7797
+ # format: {
7798
+ # json: [
7799
+ # {
7800
+ # key: "JsonKey", # required
7801
+ # value: "JsonValue", # required
7802
+ # },
7803
+ # ],
7804
+ # text: "TextFormat",
7805
+ # },
7568
7806
  # path: "FilePath", # required
7569
7807
  # },
7570
7808
  # },
@@ -7832,6 +8070,15 @@ module Aws::AppMesh
7832
8070
  # logging: {
7833
8071
  # access_log: {
7834
8072
  # file: {
8073
+ # format: {
8074
+ # json: [
8075
+ # {
8076
+ # key: "JsonKey", # required
8077
+ # value: "JsonValue", # required
8078
+ # },
8079
+ # ],
8080
+ # text: "TextFormat",
8081
+ # },
7835
8082
  # path: "FilePath", # required
7836
8083
  # },
7837
8084
  # },
@@ -8405,9 +8652,23 @@ module Aws::AppMesh
8405
8652
  # data as a hash:
8406
8653
  #
8407
8654
  # {
8655
+ # format: {
8656
+ # json: [
8657
+ # {
8658
+ # key: "JsonKey", # required
8659
+ # value: "JsonValue", # required
8660
+ # },
8661
+ # ],
8662
+ # text: "TextFormat",
8663
+ # },
8408
8664
  # path: "FilePath", # required
8409
8665
  # }
8410
8666
  #
8667
+ # @!attribute [rw] format
8668
+ # The specified format for the virtual gateway access logs. It can be
8669
+ # either `json_format` or `text_format`.
8670
+ # @return [Types::LoggingFormat]
8671
+ #
8411
8672
  # @!attribute [rw] path
8412
8673
  # The file path to write access logs to. You can use `/dev/stdout` to
8413
8674
  # send access logs to standard out and configure your Envoy container
@@ -8420,6 +8681,7 @@ module Aws::AppMesh
8420
8681
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayFileAccessLog AWS API Documentation
8421
8682
  #
8422
8683
  class VirtualGatewayFileAccessLog < Struct.new(
8684
+ :format,
8423
8685
  :path)
8424
8686
  SENSITIVE = []
8425
8687
  include Aws::Structure
@@ -8942,6 +9204,15 @@ module Aws::AppMesh
8942
9204
  # {
8943
9205
  # access_log: {
8944
9206
  # file: {
9207
+ # format: {
9208
+ # json: [
9209
+ # {
9210
+ # key: "JsonKey", # required
9211
+ # value: "JsonValue", # required
9212
+ # },
9213
+ # ],
9214
+ # text: "TextFormat",
9215
+ # },
8945
9216
  # path: "FilePath", # required
8946
9217
  # },
8947
9218
  # },
@@ -9157,6 +9428,15 @@ module Aws::AppMesh
9157
9428
  # logging: {
9158
9429
  # access_log: {
9159
9430
  # file: {
9431
+ # format: {
9432
+ # json: [
9433
+ # {
9434
+ # key: "JsonKey", # required
9435
+ # value: "JsonValue", # required
9436
+ # },
9437
+ # ],
9438
+ # text: "TextFormat",
9439
+ # },
9160
9440
  # path: "FilePath", # required
9161
9441
  # },
9162
9442
  # },
@@ -9799,6 +10079,15 @@ module Aws::AppMesh
9799
10079
  # logging: {
9800
10080
  # access_log: {
9801
10081
  # file: {
10082
+ # format: {
10083
+ # json: [
10084
+ # {
10085
+ # key: "JsonKey", # required
10086
+ # value: "JsonValue", # required
10087
+ # },
10088
+ # ],
10089
+ # text: "TextFormat",
10090
+ # },
9802
10091
  # path: "FilePath", # required
9803
10092
  # },
9804
10093
  # },
@@ -10333,10 +10622,15 @@ module Aws::AppMesh
10333
10622
  # data as a hash:
10334
10623
  #
10335
10624
  # {
10625
+ # port: 1,
10336
10626
  # virtual_node: "ResourceName", # required
10337
10627
  # weight: 1, # required
10338
10628
  # }
10339
10629
  #
10630
+ # @!attribute [rw] port
10631
+ # The targeted port of the weighted object.
10632
+ # @return [Integer]
10633
+ #
10340
10634
  # @!attribute [rw] virtual_node
10341
10635
  # The virtual node to associate with the weighted target.
10342
10636
  # @return [String]
@@ -10348,6 +10642,7 @@ module Aws::AppMesh
10348
10642
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/WeightedTarget AWS API Documentation
10349
10643
  #
10350
10644
  class WeightedTarget < Struct.new(
10645
+ :port,
10351
10646
  :virtual_node,
10352
10647
  :weight)
10353
10648
  SENSITIVE = []