aws-sdk-appmesh 1.46.0 → 1.47.0

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