aws-sdk-appmesh 1.44.0 → 1.47.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -37,7 +37,7 @@ module Aws::AppMesh
37
37
  # An object that represents the Cloud Map attribute information for your
38
38
  # virtual node.
39
39
  #
40
- # <note markdown="1"> AWS Cloud Map is not available in the eu-south-1 Region.
40
+ # <note markdown="1"> Cloud Map is not available in the eu-south-1 Region.
41
41
  #
42
42
  # </note>
43
43
  #
@@ -87,6 +87,7 @@ module Aws::AppMesh
87
87
  # value: "AwsCloudMapInstanceAttributeValue", # required
88
88
  # },
89
89
  # ],
90
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
90
91
  # namespace_name: "AwsCloudMapName", # required
91
92
  # service_name: "AwsCloudMapName", # required
92
93
  # }
@@ -98,6 +99,12 @@ module Aws::AppMesh
98
99
  # specified key/value pairs will be returned.
99
100
  # @return [Array<Types::AwsCloudMapInstanceAttribute>]
100
101
  #
102
+ # @!attribute [rw] ip_preference
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.
106
+ # @return [String]
107
+ #
101
108
  # @!attribute [rw] namespace_name
102
109
  # The name of the Cloud Map namespace to use.
103
110
  # @return [String]
@@ -110,6 +117,7 @@ module Aws::AppMesh
110
117
  #
111
118
  class AwsCloudMapServiceDiscovery < Struct.new(
112
119
  :attributes,
120
+ :ip_preference,
113
121
  :namespace_name,
114
122
  :service_name)
115
123
  SENSITIVE = []
@@ -395,6 +403,7 @@ module Aws::AppMesh
395
403
  # },
396
404
  # },
397
405
  # target: { # required
406
+ # port: 1,
398
407
  # virtual_service: { # required
399
408
  # virtual_service_name: "ResourceName", # required
400
409
  # },
@@ -421,6 +430,7 @@ module Aws::AppMesh
421
430
  # name: "HeaderName", # required
422
431
  # },
423
432
  # ],
433
+ # port: 1,
424
434
  # service_name: "ServiceName",
425
435
  # },
426
436
  # },
@@ -439,6 +449,7 @@ module Aws::AppMesh
439
449
  # },
440
450
  # },
441
451
  # target: { # required
452
+ # port: 1,
442
453
  # virtual_service: { # required
443
454
  # virtual_service_name: "ResourceName", # required
444
455
  # },
@@ -470,6 +481,7 @@ module Aws::AppMesh
470
481
  # exact: "HttpPathExact",
471
482
  # regex: "HttpPathRegex",
472
483
  # },
484
+ # port: 1,
473
485
  # prefix: "String",
474
486
  # query_parameters: [
475
487
  # {
@@ -496,6 +508,7 @@ module Aws::AppMesh
496
508
  # },
497
509
  # },
498
510
  # target: { # required
511
+ # port: 1,
499
512
  # virtual_service: { # required
500
513
  # virtual_service_name: "ResourceName", # required
501
514
  # },
@@ -527,6 +540,7 @@ module Aws::AppMesh
527
540
  # exact: "HttpPathExact",
528
541
  # regex: "HttpPathRegex",
529
542
  # },
543
+ # port: 1,
530
544
  # prefix: "String",
531
545
  # query_parameters: [
532
546
  # {
@@ -567,11 +581,11 @@ module Aws::AppMesh
567
581
  # @return [String]
568
582
  #
569
583
  # @!attribute [rw] mesh_owner
570
- # The AWS IAM account ID of the service mesh owner. If the account ID
571
- # is not your own, then the account that you specify must share the
572
- # mesh with your account before you can create the resource in the
573
- # service mesh. For more information about mesh sharing, see [Working
574
- # with shared meshes][1].
584
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
585
+ # the account ID is not your own, then the account that you specify
586
+ # must share the mesh with your account before you can create the
587
+ # resource in the service mesh. For more information about mesh
588
+ # sharing, see [Working with shared meshes][1].
575
589
  #
576
590
  #
577
591
  #
@@ -637,6 +651,9 @@ module Aws::AppMesh
637
651
  # egress_filter: {
638
652
  # type: "ALLOW_ALL", # required, accepts ALLOW_ALL, DROP_ALL
639
653
  # },
654
+ # service_discovery: {
655
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
656
+ # },
640
657
  # },
641
658
  # tags: [
642
659
  # {
@@ -715,6 +732,7 @@ module Aws::AppMesh
715
732
  # action: { # required
716
733
  # weighted_targets: [ # required
717
734
  # {
735
+ # port: 1,
718
736
  # virtual_node: "ResourceName", # required
719
737
  # weight: 1, # required
720
738
  # },
@@ -738,6 +756,7 @@ module Aws::AppMesh
738
756
  # },
739
757
  # ],
740
758
  # method_name: "MethodName",
759
+ # port: 1,
741
760
  # service_name: "ServiceName",
742
761
  # },
743
762
  # retry_policy: {
@@ -765,6 +784,7 @@ module Aws::AppMesh
765
784
  # action: { # required
766
785
  # weighted_targets: [ # required
767
786
  # {
787
+ # port: 1,
768
788
  # virtual_node: "ResourceName", # required
769
789
  # weight: 1, # required
770
790
  # },
@@ -792,6 +812,7 @@ module Aws::AppMesh
792
812
  # exact: "HttpPathExact",
793
813
  # regex: "HttpPathRegex",
794
814
  # },
815
+ # port: 1,
795
816
  # prefix: "String",
796
817
  # query_parameters: [
797
818
  # {
@@ -827,6 +848,7 @@ module Aws::AppMesh
827
848
  # action: { # required
828
849
  # weighted_targets: [ # required
829
850
  # {
851
+ # port: 1,
830
852
  # virtual_node: "ResourceName", # required
831
853
  # weight: 1, # required
832
854
  # },
@@ -854,6 +876,7 @@ module Aws::AppMesh
854
876
  # exact: "HttpPathExact",
855
877
  # regex: "HttpPathRegex",
856
878
  # },
879
+ # port: 1,
857
880
  # prefix: "String",
858
881
  # query_parameters: [
859
882
  # {
@@ -890,11 +913,15 @@ module Aws::AppMesh
890
913
  # action: { # required
891
914
  # weighted_targets: [ # required
892
915
  # {
916
+ # port: 1,
893
917
  # virtual_node: "ResourceName", # required
894
918
  # weight: 1, # required
895
919
  # },
896
920
  # ],
897
921
  # },
922
+ # match: {
923
+ # port: 1,
924
+ # },
898
925
  # timeout: {
899
926
  # idle: {
900
927
  # unit: "s", # accepts s, ms
@@ -926,11 +953,11 @@ module Aws::AppMesh
926
953
  # @return [String]
927
954
  #
928
955
  # @!attribute [rw] mesh_owner
929
- # The AWS IAM account ID of the service mesh owner. If the account ID
930
- # is not your own, then the account that you specify must share the
931
- # mesh with your account before you can create the resource in the
932
- # service mesh. For more information about mesh sharing, see [Working
933
- # with shared meshes][1].
956
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
957
+ # the account ID is not your own, then the account that you specify
958
+ # must share the mesh with your account before you can create the
959
+ # resource in the service mesh. For more information about mesh
960
+ # sharing, see [Working with shared meshes][1].
934
961
  #
935
962
  #
936
963
  #
@@ -1094,6 +1121,15 @@ module Aws::AppMesh
1094
1121
  # logging: {
1095
1122
  # access_log: {
1096
1123
  # file: {
1124
+ # format: {
1125
+ # json: [
1126
+ # {
1127
+ # key: "JsonKey", # required
1128
+ # value: "JsonValue", # required
1129
+ # },
1130
+ # ],
1131
+ # text: "TextFormat",
1132
+ # },
1097
1133
  # path: "FilePath", # required
1098
1134
  # },
1099
1135
  # },
@@ -1122,11 +1158,11 @@ module Aws::AppMesh
1122
1158
  # @return [String]
1123
1159
  #
1124
1160
  # @!attribute [rw] mesh_owner
1125
- # The AWS IAM account ID of the service mesh owner. If the account ID
1126
- # is not your own, then the account that you specify must share the
1127
- # mesh with your account before you can create the resource in the
1128
- # service mesh. For more information about mesh sharing, see [Working
1129
- # with shared meshes][1].
1161
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1162
+ # the account ID is not your own, then the account that you specify
1163
+ # must share the mesh with your account before you can create the
1164
+ # resource in the service mesh. For more information about mesh
1165
+ # sharing, see [Working with shared meshes][1].
1130
1166
  #
1131
1167
  #
1132
1168
  #
@@ -1377,6 +1413,15 @@ module Aws::AppMesh
1377
1413
  # logging: {
1378
1414
  # access_log: {
1379
1415
  # file: {
1416
+ # format: {
1417
+ # json: [
1418
+ # {
1419
+ # key: "JsonKey", # required
1420
+ # value: "JsonValue", # required
1421
+ # },
1422
+ # ],
1423
+ # text: "TextFormat",
1424
+ # },
1380
1425
  # path: "FilePath", # required
1381
1426
  # },
1382
1427
  # },
@@ -1389,11 +1434,13 @@ module Aws::AppMesh
1389
1434
  # value: "AwsCloudMapInstanceAttributeValue", # required
1390
1435
  # },
1391
1436
  # ],
1437
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
1392
1438
  # namespace_name: "AwsCloudMapName", # required
1393
1439
  # service_name: "AwsCloudMapName", # required
1394
1440
  # },
1395
1441
  # dns: {
1396
1442
  # hostname: "Hostname", # required
1443
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
1397
1444
  # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
1398
1445
  # },
1399
1446
  # },
@@ -1421,11 +1468,11 @@ module Aws::AppMesh
1421
1468
  # @return [String]
1422
1469
  #
1423
1470
  # @!attribute [rw] mesh_owner
1424
- # The AWS IAM account ID of the service mesh owner. If the account ID
1425
- # is not your own, then the account that you specify must share the
1426
- # mesh with your account before you can create the resource in the
1427
- # service mesh. For more information about mesh sharing, see [Working
1428
- # with shared meshes][1].
1471
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1472
+ # the account ID is not your own, then the account that you specify
1473
+ # must share the mesh with your account before you can create the
1474
+ # resource in the service mesh. For more information about mesh
1475
+ # sharing, see [Working with shared meshes][1].
1429
1476
  #
1430
1477
  #
1431
1478
  #
@@ -1521,11 +1568,11 @@ module Aws::AppMesh
1521
1568
  # @return [String]
1522
1569
  #
1523
1570
  # @!attribute [rw] mesh_owner
1524
- # The AWS IAM account ID of the service mesh owner. If the account ID
1525
- # is not your own, then the account that you specify must share the
1526
- # mesh with your account before you can create the resource in the
1527
- # service mesh. For more information about mesh sharing, see [Working
1528
- # with shared meshes][1].
1571
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1572
+ # the account ID is not your own, then the account that you specify
1573
+ # must share the mesh with your account before you can create the
1574
+ # resource in the service mesh. For more information about mesh
1575
+ # sharing, see [Working with shared meshes][1].
1529
1576
  #
1530
1577
  #
1531
1578
  #
@@ -1622,11 +1669,11 @@ module Aws::AppMesh
1622
1669
  # @return [String]
1623
1670
  #
1624
1671
  # @!attribute [rw] mesh_owner
1625
- # The AWS IAM account ID of the service mesh owner. If the account ID
1626
- # is not your own, then the account that you specify must share the
1627
- # mesh with your account before you can create the resource in the
1628
- # service mesh. For more information about mesh sharing, see [Working
1629
- # with shared meshes][1].
1672
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1673
+ # the account ID is not your own, then the account that you specify
1674
+ # must share the mesh with your account before you can create the
1675
+ # resource in the service mesh. For more information about mesh
1676
+ # sharing, see [Working with shared meshes][1].
1630
1677
  #
1631
1678
  #
1632
1679
  #
@@ -1698,10 +1745,10 @@ module Aws::AppMesh
1698
1745
  # @return [String]
1699
1746
  #
1700
1747
  # @!attribute [rw] mesh_owner
1701
- # The AWS IAM account ID of the service mesh owner. If the account ID
1702
- # is not your own, then it's the ID of the account that shared the
1703
- # mesh with your account. For more information about mesh sharing, see
1704
- # [Working with shared meshes][1].
1748
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1749
+ # the account ID is not your own, then it's the ID of the account
1750
+ # that shared the mesh with your account. For more information about
1751
+ # mesh sharing, see [Working with shared meshes][1].
1705
1752
  #
1706
1753
  #
1707
1754
  #
@@ -1793,10 +1840,10 @@ module Aws::AppMesh
1793
1840
  # @return [String]
1794
1841
  #
1795
1842
  # @!attribute [rw] mesh_owner
1796
- # The AWS IAM account ID of the service mesh owner. If the account ID
1797
- # is not your own, then it's the ID of the account that shared the
1798
- # mesh with your account. For more information about mesh sharing, see
1799
- # [Working with shared meshes][1].
1843
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1844
+ # the account ID is not your own, then it's the ID of the account
1845
+ # that shared the mesh with your account. For more information about
1846
+ # mesh sharing, see [Working with shared meshes][1].
1800
1847
  #
1801
1848
  #
1802
1849
  #
@@ -1852,10 +1899,10 @@ module Aws::AppMesh
1852
1899
  # @return [String]
1853
1900
  #
1854
1901
  # @!attribute [rw] mesh_owner
1855
- # The AWS IAM account ID of the service mesh owner. If the account ID
1856
- # is not your own, then it's the ID of the account that shared the
1857
- # mesh with your account. For more information about mesh sharing, see
1858
- # [Working with shared meshes][1].
1902
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1903
+ # the account ID is not your own, then it's the ID of the account
1904
+ # that shared the mesh with your account. For more information about
1905
+ # mesh sharing, see [Working with shared meshes][1].
1859
1906
  #
1860
1907
  #
1861
1908
  #
@@ -1904,10 +1951,10 @@ module Aws::AppMesh
1904
1951
  # @return [String]
1905
1952
  #
1906
1953
  # @!attribute [rw] mesh_owner
1907
- # The AWS IAM account ID of the service mesh owner. If the account ID
1908
- # is not your own, then it's the ID of the account that shared the
1909
- # mesh with your account. For more information about mesh sharing, see
1910
- # [Working with shared meshes][1].
1954
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
1955
+ # the account ID is not your own, then it's the ID of the account
1956
+ # that shared the mesh with your account. For more information about
1957
+ # mesh sharing, see [Working with shared meshes][1].
1911
1958
  #
1912
1959
  #
1913
1960
  #
@@ -1962,10 +2009,10 @@ module Aws::AppMesh
1962
2009
  # @return [String]
1963
2010
  #
1964
2011
  # @!attribute [rw] mesh_owner
1965
- # The AWS IAM account ID of the service mesh owner. If the account ID
1966
- # is not your own, then it's the ID of the account that shared the
1967
- # mesh with your account. For more information about mesh sharing, see
1968
- # [Working with shared meshes][1].
2012
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2013
+ # the account ID is not your own, then it's the ID of the account
2014
+ # that shared the mesh with your account. For more information about
2015
+ # mesh sharing, see [Working with shared meshes][1].
1969
2016
  #
1970
2017
  #
1971
2018
  #
@@ -2020,10 +2067,10 @@ module Aws::AppMesh
2020
2067
  # @return [String]
2021
2068
  #
2022
2069
  # @!attribute [rw] mesh_owner
2023
- # The AWS IAM account ID of the service mesh owner. If the account ID
2024
- # is not your own, then it's the ID of the account that shared the
2025
- # mesh with your account. For more information about mesh sharing, see
2026
- # [Working with shared meshes][1].
2070
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2071
+ # the account ID is not your own, then it's the ID of the account
2072
+ # that shared the mesh with your account. For more information about
2073
+ # mesh sharing, see [Working with shared meshes][1].
2027
2074
  #
2028
2075
  #
2029
2076
  #
@@ -2079,10 +2126,10 @@ module Aws::AppMesh
2079
2126
  # @return [String]
2080
2127
  #
2081
2128
  # @!attribute [rw] mesh_owner
2082
- # The AWS IAM account ID of the service mesh owner. If the account ID
2083
- # is not your own, then it's the ID of the account that shared the
2084
- # mesh with your account. For more information about mesh sharing, see
2085
- # [Working with shared meshes][1].
2129
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2130
+ # the account ID is not your own, then it's the ID of the account
2131
+ # that shared the mesh with your account. For more information about
2132
+ # mesh sharing, see [Working with shared meshes][1].
2086
2133
  #
2087
2134
  #
2088
2135
  #
@@ -2134,10 +2181,10 @@ module Aws::AppMesh
2134
2181
  # @return [String]
2135
2182
  #
2136
2183
  # @!attribute [rw] mesh_owner
2137
- # The AWS IAM account ID of the service mesh owner. If the account ID
2138
- # is not your own, then it's the ID of the account that shared the
2139
- # mesh with your account. For more information about mesh sharing, see
2140
- # [Working with shared meshes][1].
2184
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2185
+ # the account ID is not your own, then it's the ID of the account
2186
+ # that shared the mesh with your account. For more information about
2187
+ # mesh sharing, see [Working with shared meshes][1].
2141
2188
  #
2142
2189
  #
2143
2190
  #
@@ -2188,10 +2235,10 @@ module Aws::AppMesh
2188
2235
  # @return [String]
2189
2236
  #
2190
2237
  # @!attribute [rw] mesh_owner
2191
- # The AWS IAM account ID of the service mesh owner. If the account ID
2192
- # is not your own, then it's the ID of the account that shared the
2193
- # mesh with your account. For more information about mesh sharing, see
2194
- # [Working with shared meshes][1].
2238
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2239
+ # the account ID is not your own, then it's the ID of the account
2240
+ # that shared the mesh with your account. For more information about
2241
+ # mesh sharing, see [Working with shared meshes][1].
2195
2242
  #
2196
2243
  #
2197
2244
  #
@@ -2247,10 +2294,10 @@ module Aws::AppMesh
2247
2294
  # @return [String]
2248
2295
  #
2249
2296
  # @!attribute [rw] mesh_owner
2250
- # The AWS IAM account ID of the service mesh owner. If the account ID
2251
- # is not your own, then it's the ID of the account that shared the
2252
- # mesh with your account. For more information about mesh sharing, see
2253
- # [Working with shared meshes][1].
2297
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2298
+ # the account ID is not your own, then it's the ID of the account
2299
+ # that shared the mesh with your account. For more information about
2300
+ # mesh sharing, see [Working with shared meshes][1].
2254
2301
  #
2255
2302
  #
2256
2303
  #
@@ -2301,10 +2348,10 @@ module Aws::AppMesh
2301
2348
  # @return [String]
2302
2349
  #
2303
2350
  # @!attribute [rw] mesh_owner
2304
- # The AWS IAM account ID of the service mesh owner. If the account ID
2305
- # is not your own, then it's the ID of the account that shared the
2306
- # mesh with your account. For more information about mesh sharing, see
2307
- # [Working with shared meshes][1].
2351
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2352
+ # the account ID is not your own, then it's the ID of the account
2353
+ # that shared the mesh with your account. For more information about
2354
+ # mesh sharing, see [Working with shared meshes][1].
2308
2355
  #
2309
2356
  #
2310
2357
  #
@@ -2359,10 +2406,10 @@ module Aws::AppMesh
2359
2406
  # @return [String]
2360
2407
  #
2361
2408
  # @!attribute [rw] mesh_owner
2362
- # The AWS IAM account ID of the service mesh owner. If the account ID
2363
- # is not your own, then it's the ID of the account that shared the
2364
- # mesh with your account. For more information about mesh sharing, see
2365
- # [Working with shared meshes][1].
2409
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2410
+ # the account ID is not your own, then it's the ID of the account
2411
+ # that shared the mesh with your account. For more information about
2412
+ # mesh sharing, see [Working with shared meshes][1].
2366
2413
  #
2367
2414
  #
2368
2415
  #
@@ -2417,10 +2464,10 @@ module Aws::AppMesh
2417
2464
  # @return [String]
2418
2465
  #
2419
2466
  # @!attribute [rw] mesh_owner
2420
- # The AWS IAM account ID of the service mesh owner. If the account ID
2421
- # is not your own, then it's the ID of the account that shared the
2422
- # mesh with your account. For more information about mesh sharing, see
2423
- # [Working with shared meshes][1].
2467
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2468
+ # the account ID is not your own, then it's the ID of the account
2469
+ # that shared the mesh with your account. For more information about
2470
+ # mesh sharing, see [Working with shared meshes][1].
2424
2471
  #
2425
2472
  #
2426
2473
  #
@@ -2465,6 +2512,7 @@ module Aws::AppMesh
2465
2512
  #
2466
2513
  # {
2467
2514
  # hostname: "Hostname", # required
2515
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
2468
2516
  # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
2469
2517
  # }
2470
2518
  #
@@ -2472,6 +2520,12 @@ module Aws::AppMesh
2472
2520
  # Specifies the DNS service discovery hostname for the virtual node.
2473
2521
  # @return [String]
2474
2522
  #
2523
+ # @!attribute [rw] ip_preference
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.
2527
+ # @return [String]
2528
+ #
2475
2529
  # @!attribute [rw] response_type
2476
2530
  # Specifies the DNS response type for the virtual node.
2477
2531
  # @return [String]
@@ -2480,6 +2534,7 @@ module Aws::AppMesh
2480
2534
  #
2481
2535
  class DnsServiceDiscovery < Struct.new(
2482
2536
  :hostname,
2537
+ :ip_preference,
2483
2538
  :response_type)
2484
2539
  SENSITIVE = []
2485
2540
  include Aws::Structure
@@ -2544,9 +2599,23 @@ module Aws::AppMesh
2544
2599
  # data as a hash:
2545
2600
  #
2546
2601
  # {
2602
+ # format: {
2603
+ # json: [
2604
+ # {
2605
+ # key: "JsonKey", # required
2606
+ # value: "JsonValue", # required
2607
+ # },
2608
+ # ],
2609
+ # text: "TextFormat",
2610
+ # },
2547
2611
  # path: "FilePath", # required
2548
2612
  # }
2549
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
+ #
2550
2619
  # @!attribute [rw] path
2551
2620
  # The file path to write access logs to. You can use `/dev/stdout` to
2552
2621
  # send access logs to standard out and configure your Envoy container
@@ -2555,15 +2624,13 @@ module Aws::AppMesh
2555
2624
  # specify a path in the Envoy container's file system to write the
2556
2625
  # files to disk.
2557
2626
  #
2558
- # <note markdown="1"> The Envoy process must have write permissions to the path that you
2559
- # specify here. Otherwise, Envoy fails to bootstrap properly.
2560
- #
2561
- # </note>
2627
+ # <note> <p>The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.</p> </note>
2562
2628
  # @return [String]
2563
2629
  #
2564
2630
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/FileAccessLog AWS API Documentation
2565
2631
  #
2566
2632
  class FileAccessLog < Struct.new(
2633
+ :format,
2567
2634
  :path)
2568
2635
  SENSITIVE = []
2569
2636
  include Aws::Structure
@@ -2696,10 +2763,10 @@ module Aws::AppMesh
2696
2763
  # @return [String]
2697
2764
  #
2698
2765
  # @!attribute [rw] mesh_owner
2699
- # The AWS IAM account ID of the service mesh owner. If the account ID
2700
- # is not your own, then it's the ID of the account that shared the
2701
- # mesh with your account. For more information about mesh sharing, see
2702
- # [Working with shared meshes][1].
2766
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
2767
+ # the account ID is not your own, then it's the ID of the account
2768
+ # that shared the mesh with your account. For more information about
2769
+ # mesh sharing, see [Working with shared meshes][1].
2703
2770
  #
2704
2771
  #
2705
2772
  #
@@ -2707,10 +2774,10 @@ module Aws::AppMesh
2707
2774
  # @return [String]
2708
2775
  #
2709
2776
  # @!attribute [rw] resource_owner
2710
- # The AWS IAM account ID of the resource owner. If the account ID is
2711
- # not your own, then it's the ID of the mesh owner or of another
2712
- # account that the mesh is shared with. For more information about
2713
- # mesh sharing, see [Working with shared meshes][1].
2777
+ # The Amazon Web Services IAM account ID of the resource owner. If the
2778
+ # account ID is not your own, then it's the ID of the mesh owner or
2779
+ # of another account that the mesh is shared with. For more
2780
+ # information about mesh sharing, see [Working with shared meshes][1].
2714
2781
  #
2715
2782
  #
2716
2783
  #
@@ -2757,6 +2824,7 @@ module Aws::AppMesh
2757
2824
  # },
2758
2825
  # },
2759
2826
  # target: { # required
2827
+ # port: 1,
2760
2828
  # virtual_service: { # required
2761
2829
  # virtual_service_name: "ResourceName", # required
2762
2830
  # },
@@ -2783,6 +2851,7 @@ module Aws::AppMesh
2783
2851
  # name: "HeaderName", # required
2784
2852
  # },
2785
2853
  # ],
2854
+ # port: 1,
2786
2855
  # service_name: "ServiceName",
2787
2856
  # },
2788
2857
  # },
@@ -2801,6 +2870,7 @@ module Aws::AppMesh
2801
2870
  # },
2802
2871
  # },
2803
2872
  # target: { # required
2873
+ # port: 1,
2804
2874
  # virtual_service: { # required
2805
2875
  # virtual_service_name: "ResourceName", # required
2806
2876
  # },
@@ -2832,6 +2902,7 @@ module Aws::AppMesh
2832
2902
  # exact: "HttpPathExact",
2833
2903
  # regex: "HttpPathRegex",
2834
2904
  # },
2905
+ # port: 1,
2835
2906
  # prefix: "String",
2836
2907
  # query_parameters: [
2837
2908
  # {
@@ -2858,6 +2929,7 @@ module Aws::AppMesh
2858
2929
  # },
2859
2930
  # },
2860
2931
  # target: { # required
2932
+ # port: 1,
2861
2933
  # virtual_service: { # required
2862
2934
  # virtual_service_name: "ResourceName", # required
2863
2935
  # },
@@ -2889,6 +2961,7 @@ module Aws::AppMesh
2889
2961
  # exact: "HttpPathExact",
2890
2962
  # regex: "HttpPathRegex",
2891
2963
  # },
2964
+ # port: 1,
2892
2965
  # prefix: "String",
2893
2966
  # query_parameters: [
2894
2967
  # {
@@ -2952,11 +3025,16 @@ module Aws::AppMesh
2952
3025
  # data as a hash:
2953
3026
  #
2954
3027
  # {
3028
+ # port: 1,
2955
3029
  # virtual_service: { # required
2956
3030
  # virtual_service_name: "ResourceName", # required
2957
3031
  # },
2958
3032
  # }
2959
3033
  #
3034
+ # @!attribute [rw] port
3035
+ # The port number of the gateway route target.
3036
+ # @return [Integer]
3037
+ #
2960
3038
  # @!attribute [rw] virtual_service
2961
3039
  # An object that represents a virtual service gateway route target.
2962
3040
  # @return [Types::GatewayRouteVirtualService]
@@ -2964,6 +3042,7 @@ module Aws::AppMesh
2964
3042
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteTarget AWS API Documentation
2965
3043
  #
2966
3044
  class GatewayRouteTarget < Struct.new(
3045
+ :port,
2967
3046
  :virtual_service)
2968
3047
  SENSITIVE = []
2969
3048
  include Aws::Structure
@@ -3004,6 +3083,7 @@ module Aws::AppMesh
3004
3083
  # },
3005
3084
  # },
3006
3085
  # target: { # required
3086
+ # port: 1,
3007
3087
  # virtual_service: { # required
3008
3088
  # virtual_service_name: "ResourceName", # required
3009
3089
  # },
@@ -3030,6 +3110,7 @@ module Aws::AppMesh
3030
3110
  # name: "HeaderName", # required
3031
3111
  # },
3032
3112
  # ],
3113
+ # port: 1,
3033
3114
  # service_name: "ServiceName",
3034
3115
  # },
3035
3116
  # }
@@ -3065,6 +3146,7 @@ module Aws::AppMesh
3065
3146
  # },
3066
3147
  # },
3067
3148
  # target: { # required
3149
+ # port: 1,
3068
3150
  # virtual_service: { # required
3069
3151
  # virtual_service_name: "ResourceName", # required
3070
3152
  # },
@@ -3116,6 +3198,7 @@ module Aws::AppMesh
3116
3198
  # name: "HeaderName", # required
3117
3199
  # },
3118
3200
  # ],
3201
+ # port: 1,
3119
3202
  # service_name: "ServiceName",
3120
3203
  # }
3121
3204
  #
@@ -3127,6 +3210,10 @@ module Aws::AppMesh
3127
3210
  # The gateway route metadata to be matched on.
3128
3211
  # @return [Array<Types::GrpcGatewayRouteMetadata>]
3129
3212
  #
3213
+ # @!attribute [rw] port
3214
+ # The port number to match from the request.
3215
+ # @return [Integer]
3216
+ #
3130
3217
  # @!attribute [rw] service_name
3131
3218
  # The fully qualified domain name for the service to match from the
3132
3219
  # request.
@@ -3137,6 +3224,7 @@ module Aws::AppMesh
3137
3224
  class GrpcGatewayRouteMatch < Struct.new(
3138
3225
  :hostname,
3139
3226
  :metadata,
3227
+ :port,
3140
3228
  :service_name)
3141
3229
  SENSITIVE = []
3142
3230
  include Aws::Structure
@@ -3336,6 +3424,7 @@ module Aws::AppMesh
3336
3424
  # action: { # required
3337
3425
  # weighted_targets: [ # required
3338
3426
  # {
3427
+ # port: 1,
3339
3428
  # virtual_node: "ResourceName", # required
3340
3429
  # weight: 1, # required
3341
3430
  # },
@@ -3359,6 +3448,7 @@ module Aws::AppMesh
3359
3448
  # },
3360
3449
  # ],
3361
3450
  # method_name: "MethodName",
3451
+ # port: 1,
3362
3452
  # service_name: "ServiceName",
3363
3453
  # },
3364
3454
  # retry_policy: {
@@ -3420,6 +3510,7 @@ module Aws::AppMesh
3420
3510
  # {
3421
3511
  # weighted_targets: [ # required
3422
3512
  # {
3513
+ # port: 1,
3423
3514
  # virtual_node: "ResourceName", # required
3424
3515
  # weight: 1, # required
3425
3516
  # },
@@ -3463,6 +3554,7 @@ module Aws::AppMesh
3463
3554
  # },
3464
3555
  # ],
3465
3556
  # method_name: "MethodName",
3557
+ # port: 1,
3466
3558
  # service_name: "ServiceName",
3467
3559
  # }
3468
3560
  #
@@ -3475,6 +3567,10 @@ module Aws::AppMesh
3475
3567
  # you must also specify a `serviceName`.
3476
3568
  # @return [String]
3477
3569
  #
3570
+ # @!attribute [rw] port
3571
+ # The port number to match on.
3572
+ # @return [Integer]
3573
+ #
3478
3574
  # @!attribute [rw] service_name
3479
3575
  # The fully qualified domain name for the service to match from the
3480
3576
  # request.
@@ -3485,6 +3581,7 @@ module Aws::AppMesh
3485
3581
  class GrpcRouteMatch < Struct.new(
3486
3582
  :metadata,
3487
3583
  :method_name,
3584
+ :port,
3488
3585
  :service_name)
3489
3586
  SENSITIVE = []
3490
3587
  include Aws::Structure
@@ -3762,6 +3859,7 @@ module Aws::AppMesh
3762
3859
  # },
3763
3860
  # },
3764
3861
  # target: { # required
3862
+ # port: 1,
3765
3863
  # virtual_service: { # required
3766
3864
  # virtual_service_name: "ResourceName", # required
3767
3865
  # },
@@ -3793,6 +3891,7 @@ module Aws::AppMesh
3793
3891
  # exact: "HttpPathExact",
3794
3892
  # regex: "HttpPathRegex",
3795
3893
  # },
3894
+ # port: 1,
3796
3895
  # prefix: "String",
3797
3896
  # query_parameters: [
3798
3897
  # {
@@ -3843,6 +3942,7 @@ module Aws::AppMesh
3843
3942
  # },
3844
3943
  # },
3845
3944
  # target: { # required
3945
+ # port: 1,
3846
3946
  # virtual_service: { # required
3847
3947
  # virtual_service_name: "ResourceName", # required
3848
3948
  # },
@@ -3944,6 +4044,7 @@ module Aws::AppMesh
3944
4044
  # exact: "HttpPathExact",
3945
4045
  # regex: "HttpPathRegex",
3946
4046
  # },
4047
+ # port: 1,
3947
4048
  # prefix: "String",
3948
4049
  # query_parameters: [
3949
4050
  # {
@@ -3971,6 +4072,10 @@ module Aws::AppMesh
3971
4072
  # The path to match on.
3972
4073
  # @return [Types::HttpPathMatch]
3973
4074
  #
4075
+ # @!attribute [rw] port
4076
+ # The port number to match on.
4077
+ # @return [Integer]
4078
+ #
3974
4079
  # @!attribute [rw] prefix
3975
4080
  # Specifies the path to match requests with. This parameter must
3976
4081
  # always start with `/`, which by itself matches all requests to the
@@ -3991,6 +4096,7 @@ module Aws::AppMesh
3991
4096
  :hostname,
3992
4097
  :method,
3993
4098
  :path,
4099
+ :port,
3994
4100
  :prefix,
3995
4101
  :query_parameters)
3996
4102
  SENSITIVE = []
@@ -4214,6 +4320,7 @@ module Aws::AppMesh
4214
4320
  # action: { # required
4215
4321
  # weighted_targets: [ # required
4216
4322
  # {
4323
+ # port: 1,
4217
4324
  # virtual_node: "ResourceName", # required
4218
4325
  # weight: 1, # required
4219
4326
  # },
@@ -4241,6 +4348,7 @@ module Aws::AppMesh
4241
4348
  # exact: "HttpPathExact",
4242
4349
  # regex: "HttpPathRegex",
4243
4350
  # },
4351
+ # port: 1,
4244
4352
  # prefix: "String",
4245
4353
  # query_parameters: [
4246
4354
  # {
@@ -4310,6 +4418,7 @@ module Aws::AppMesh
4310
4418
  # {
4311
4419
  # weighted_targets: [ # required
4312
4420
  # {
4421
+ # port: 1,
4313
4422
  # virtual_node: "ResourceName", # required
4314
4423
  # weight: 1, # required
4315
4424
  # },
@@ -4401,6 +4510,7 @@ module Aws::AppMesh
4401
4510
  # exact: "HttpPathExact",
4402
4511
  # regex: "HttpPathRegex",
4403
4512
  # },
4513
+ # port: 1,
4404
4514
  # prefix: "String",
4405
4515
  # query_parameters: [
4406
4516
  # {
@@ -4425,6 +4535,10 @@ module Aws::AppMesh
4425
4535
  # The client request path to match on.
4426
4536
  # @return [Types::HttpPathMatch]
4427
4537
  #
4538
+ # @!attribute [rw] port
4539
+ # The port number to match on.
4540
+ # @return [Integer]
4541
+ #
4428
4542
  # @!attribute [rw] prefix
4429
4543
  # Specifies the path to match requests with. This parameter must
4430
4544
  # always start with `/`, which by itself matches all requests to the
@@ -4449,6 +4563,7 @@ module Aws::AppMesh
4449
4563
  :headers,
4450
4564
  :method,
4451
4565
  :path,
4566
+ :port,
4452
4567
  :prefix,
4453
4568
  :query_parameters,
4454
4569
  :scheme)
@@ -4511,8 +4626,35 @@ module Aws::AppMesh
4511
4626
  include Aws::Structure
4512
4627
  end
4513
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
+
4514
4656
  # You have exceeded a service limit for your account. For more
4515
- # information, see [Service Limits][1] in the *AWS App Mesh User Guide*.
4657
+ # information, see [Service Limits][1] in the *App Mesh User Guide*.
4516
4658
  #
4517
4659
  #
4518
4660
  #
@@ -4556,10 +4698,10 @@ module Aws::AppMesh
4556
4698
  # @return [String]
4557
4699
  #
4558
4700
  # @!attribute [rw] mesh_owner
4559
- # The AWS IAM account ID of the service mesh owner. If the account ID
4560
- # is not your own, then it's the ID of the account that shared the
4561
- # mesh with your account. For more information about mesh sharing, see
4562
- # [Working with shared meshes][1].
4701
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
4702
+ # the account ID is not your own, then it's the ID of the account
4703
+ # that shared the mesh with your account. For more information about
4704
+ # mesh sharing, see [Working with shared meshes][1].
4563
4705
  #
4564
4706
  #
4565
4707
  #
@@ -4711,10 +4853,10 @@ module Aws::AppMesh
4711
4853
  # @return [String]
4712
4854
  #
4713
4855
  # @!attribute [rw] mesh_owner
4714
- # The AWS IAM account ID of the service mesh owner. If the account ID
4715
- # is not your own, then it's the ID of the account that shared the
4716
- # mesh with your account. For more information about mesh sharing, see
4717
- # [Working with shared meshes][1].
4856
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
4857
+ # the account ID is not your own, then it's the ID of the account
4858
+ # that shared the mesh with your account. For more information about
4859
+ # mesh sharing, see [Working with shared meshes][1].
4718
4860
  #
4719
4861
  #
4720
4862
  #
@@ -4867,10 +5009,10 @@ module Aws::AppMesh
4867
5009
  # @return [String]
4868
5010
  #
4869
5011
  # @!attribute [rw] mesh_owner
4870
- # The AWS IAM account ID of the service mesh owner. If the account ID
4871
- # is not your own, then it's the ID of the account that shared the
4872
- # mesh with your account. For more information about mesh sharing, see
4873
- # [Working with shared meshes][1].
5012
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
5013
+ # the account ID is not your own, then it's the ID of the account
5014
+ # that shared the mesh with your account. For more information about
5015
+ # mesh sharing, see [Working with shared meshes][1].
4874
5016
  #
4875
5017
  #
4876
5018
  #
@@ -4947,10 +5089,10 @@ module Aws::AppMesh
4947
5089
  # @return [String]
4948
5090
  #
4949
5091
  # @!attribute [rw] mesh_owner
4950
- # The AWS IAM account ID of the service mesh owner. If the account ID
4951
- # is not your own, then it's the ID of the account that shared the
4952
- # mesh with your account. For more information about mesh sharing, see
4953
- # [Working with shared meshes][1].
5092
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
5093
+ # the account ID is not your own, then it's the ID of the account
5094
+ # that shared the mesh with your account. For more information about
5095
+ # mesh sharing, see [Working with shared meshes][1].
4954
5096
  #
4955
5097
  #
4956
5098
  #
@@ -5030,10 +5172,10 @@ module Aws::AppMesh
5030
5172
  # @return [String]
5031
5173
  #
5032
5174
  # @!attribute [rw] mesh_owner
5033
- # The AWS IAM account ID of the service mesh owner. If the account ID
5034
- # is not your own, then it's the ID of the account that shared the
5035
- # mesh with your account. For more information about mesh sharing, see
5036
- # [Working with shared meshes][1].
5175
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
5176
+ # the account ID is not your own, then it's the ID of the account
5177
+ # that shared the mesh with your account. For more information about
5178
+ # mesh sharing, see [Working with shared meshes][1].
5037
5179
  #
5038
5180
  #
5039
5181
  #
@@ -5113,10 +5255,10 @@ module Aws::AppMesh
5113
5255
  # @return [String]
5114
5256
  #
5115
5257
  # @!attribute [rw] mesh_owner
5116
- # The AWS IAM account ID of the service mesh owner. If the account ID
5117
- # is not your own, then it's the ID of the account that shared the
5118
- # mesh with your account. For more information about mesh sharing, see
5119
- # [Working with shared meshes][1].
5258
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
5259
+ # the account ID is not your own, then it's the ID of the account
5260
+ # that shared the mesh with your account. For more information about
5261
+ # mesh sharing, see [Working with shared meshes][1].
5120
5262
  #
5121
5263
  #
5122
5264
  #
@@ -5430,7 +5572,7 @@ module Aws::AppMesh
5430
5572
  include Aws::Structure
5431
5573
  end
5432
5574
 
5433
- # An object that represents an AWS Certicate Manager (ACM) certificate.
5575
+ # An object that represents an Certificate Manager certificate.
5434
5576
  #
5435
5577
  # @note When making an API call, you may pass ListenerTlsAcmCertificate
5436
5578
  # data as a hash:
@@ -5466,8 +5608,8 @@ module Aws::AppMesh
5466
5608
  # @note ListenerTlsCertificate is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ListenerTlsCertificate corresponding to the set member.
5467
5609
  #
5468
5610
  # @!attribute [rw] acm
5469
- # A reference to an object that represents an AWS Certicate Manager
5470
- # (ACM) certificate.
5611
+ # A reference to an object that represents an Certificate Manager
5612
+ # certificate.
5471
5613
  # @return [Types::ListenerTlsAcmCertificate]
5472
5614
  #
5473
5615
  # @!attribute [rw] file
@@ -5644,6 +5786,15 @@ module Aws::AppMesh
5644
5786
  # {
5645
5787
  # access_log: {
5646
5788
  # file: {
5789
+ # format: {
5790
+ # json: [
5791
+ # {
5792
+ # key: "JsonKey", # required
5793
+ # value: "JsonValue", # required
5794
+ # },
5795
+ # ],
5796
+ # text: "TextFormat",
5797
+ # },
5647
5798
  # path: "FilePath", # required
5648
5799
  # },
5649
5800
  # },
@@ -5661,6 +5812,33 @@ module Aws::AppMesh
5661
5812
  include Aws::Structure
5662
5813
  end
5663
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
+
5664
5842
  # An object that represents the range of values to match on. The first
5665
5843
  # character of the range is included in the range, though the last
5666
5844
  # character is not. For example, if the range specified were 1-100, only
@@ -5742,10 +5920,10 @@ module Aws::AppMesh
5742
5920
  # @return [String]
5743
5921
  #
5744
5922
  # @!attribute [rw] mesh_owner
5745
- # The AWS IAM account ID of the service mesh owner. If the account ID
5746
- # is not your own, then it's the ID of the account that shared the
5747
- # mesh with your account. For more information about mesh sharing, see
5748
- # [Working with shared meshes][1].
5923
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
5924
+ # the account ID is not your own, then it's the ID of the account
5925
+ # that shared the mesh with your account. For more information about
5926
+ # mesh sharing, see [Working with shared meshes][1].
5749
5927
  #
5750
5928
  #
5751
5929
  #
@@ -5753,10 +5931,10 @@ module Aws::AppMesh
5753
5931
  # @return [String]
5754
5932
  #
5755
5933
  # @!attribute [rw] resource_owner
5756
- # The AWS IAM account ID of the resource owner. If the account ID is
5757
- # not your own, then it's the ID of the mesh owner or of another
5758
- # account that the mesh is shared with. For more information about
5759
- # mesh sharing, see [Working with shared meshes][1].
5934
+ # The Amazon Web Services IAM account ID of the resource owner. If the
5935
+ # account ID is not your own, then it's the ID of the mesh owner or
5936
+ # of another account that the mesh is shared with. For more
5937
+ # information about mesh sharing, see [Working with shared meshes][1].
5760
5938
  #
5761
5939
  #
5762
5940
  #
@@ -5782,6 +5960,28 @@ module Aws::AppMesh
5782
5960
  include Aws::Structure
5783
5961
  end
5784
5962
 
5963
+ # An object that represents the service discovery information for a
5964
+ # service mesh.
5965
+ #
5966
+ # @note When making an API call, you may pass MeshServiceDiscovery
5967
+ # data as a hash:
5968
+ #
5969
+ # {
5970
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
5971
+ # }
5972
+ #
5973
+ # @!attribute [rw] ip_preference
5974
+ # The IP version to use to control traffic within the mesh.
5975
+ # @return [String]
5976
+ #
5977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/MeshServiceDiscovery AWS API Documentation
5978
+ #
5979
+ class MeshServiceDiscovery < Struct.new(
5980
+ :ip_preference)
5981
+ SENSITIVE = []
5982
+ include Aws::Structure
5983
+ end
5984
+
5785
5985
  # An object that represents the specification of a service mesh.
5786
5986
  #
5787
5987
  # @note When making an API call, you may pass MeshSpec
@@ -5791,16 +5991,25 @@ module Aws::AppMesh
5791
5991
  # egress_filter: {
5792
5992
  # type: "ALLOW_ALL", # required, accepts ALLOW_ALL, DROP_ALL
5793
5993
  # },
5994
+ # service_discovery: {
5995
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
5996
+ # },
5794
5997
  # }
5795
5998
  #
5796
5999
  # @!attribute [rw] egress_filter
5797
6000
  # The egress filter rules for the service mesh.
5798
6001
  # @return [Types::EgressFilter]
5799
6002
  #
6003
+ # @!attribute [rw] service_discovery
6004
+ # An object that represents the service discovery information for a
6005
+ # service mesh.
6006
+ # @return [Types::MeshServiceDiscovery]
6007
+ #
5800
6008
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/MeshSpec AWS API Documentation
5801
6009
  #
5802
6010
  class MeshSpec < Struct.new(
5803
- :egress_filter)
6011
+ :egress_filter,
6012
+ :service_discovery)
5804
6013
  SENSITIVE = []
5805
6014
  include Aws::Structure
5806
6015
  end
@@ -5960,10 +6169,10 @@ module Aws::AppMesh
5960
6169
  # @return [Time]
5961
6170
  #
5962
6171
  # @!attribute [rw] mesh_owner
5963
- # The AWS IAM account ID of the service mesh owner. If the account ID
5964
- # is not your own, then it's the ID of the account that shared the
5965
- # mesh with your account. For more information about mesh sharing, see
5966
- # [Working with shared meshes][1].
6172
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
6173
+ # the account ID is not your own, then it's the ID of the account
6174
+ # that shared the mesh with your account. For more information about
6175
+ # mesh sharing, see [Working with shared meshes][1].
5967
6176
  #
5968
6177
  #
5969
6178
  #
@@ -5971,10 +6180,10 @@ module Aws::AppMesh
5971
6180
  # @return [String]
5972
6181
  #
5973
6182
  # @!attribute [rw] resource_owner
5974
- # The AWS IAM account ID of the resource owner. If the account ID is
5975
- # not your own, then it's the ID of the mesh owner or of another
5976
- # account that the mesh is shared with. For more information about
5977
- # mesh sharing, see [Working with shared meshes][1].
6183
+ # The Amazon Web Services IAM account ID of the resource owner. If the
6184
+ # account ID is not your own, then it's the ID of the mesh owner or
6185
+ # of another account that the mesh is shared with. For more
6186
+ # information about mesh sharing, see [Working with shared meshes][1].
5978
6187
  #
5979
6188
  #
5980
6189
  #
@@ -6064,10 +6273,10 @@ module Aws::AppMesh
6064
6273
  # @return [String]
6065
6274
  #
6066
6275
  # @!attribute [rw] mesh_owner
6067
- # The AWS IAM account ID of the service mesh owner. If the account ID
6068
- # is not your own, then it's the ID of the account that shared the
6069
- # mesh with your account. For more information about mesh sharing, see
6070
- # [Working with shared meshes][1].
6276
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
6277
+ # the account ID is not your own, then it's the ID of the account
6278
+ # that shared the mesh with your account. For more information about
6279
+ # mesh sharing, see [Working with shared meshes][1].
6071
6280
  #
6072
6281
  #
6073
6282
  #
@@ -6075,10 +6284,10 @@ module Aws::AppMesh
6075
6284
  # @return [String]
6076
6285
  #
6077
6286
  # @!attribute [rw] resource_owner
6078
- # The AWS IAM account ID of the resource owner. If the account ID is
6079
- # not your own, then it's the ID of the mesh owner or of another
6080
- # account that the mesh is shared with. For more information about
6081
- # mesh sharing, see [Working with shared meshes][1].
6287
+ # The Amazon Web Services IAM account ID of the resource owner. If the
6288
+ # account ID is not your own, then it's the ID of the mesh owner or
6289
+ # of another account that the mesh is shared with. For more
6290
+ # information about mesh sharing, see [Working with shared meshes][1].
6082
6291
  #
6083
6292
  #
6084
6293
  #
@@ -6125,6 +6334,7 @@ module Aws::AppMesh
6125
6334
  # action: { # required
6126
6335
  # weighted_targets: [ # required
6127
6336
  # {
6337
+ # port: 1,
6128
6338
  # virtual_node: "ResourceName", # required
6129
6339
  # weight: 1, # required
6130
6340
  # },
@@ -6148,6 +6358,7 @@ module Aws::AppMesh
6148
6358
  # },
6149
6359
  # ],
6150
6360
  # method_name: "MethodName",
6361
+ # port: 1,
6151
6362
  # service_name: "ServiceName",
6152
6363
  # },
6153
6364
  # retry_policy: {
@@ -6175,6 +6386,7 @@ module Aws::AppMesh
6175
6386
  # action: { # required
6176
6387
  # weighted_targets: [ # required
6177
6388
  # {
6389
+ # port: 1,
6178
6390
  # virtual_node: "ResourceName", # required
6179
6391
  # weight: 1, # required
6180
6392
  # },
@@ -6202,6 +6414,7 @@ module Aws::AppMesh
6202
6414
  # exact: "HttpPathExact",
6203
6415
  # regex: "HttpPathRegex",
6204
6416
  # },
6417
+ # port: 1,
6205
6418
  # prefix: "String",
6206
6419
  # query_parameters: [
6207
6420
  # {
@@ -6237,6 +6450,7 @@ module Aws::AppMesh
6237
6450
  # action: { # required
6238
6451
  # weighted_targets: [ # required
6239
6452
  # {
6453
+ # port: 1,
6240
6454
  # virtual_node: "ResourceName", # required
6241
6455
  # weight: 1, # required
6242
6456
  # },
@@ -6264,6 +6478,7 @@ module Aws::AppMesh
6264
6478
  # exact: "HttpPathExact",
6265
6479
  # regex: "HttpPathRegex",
6266
6480
  # },
6481
+ # port: 1,
6267
6482
  # prefix: "String",
6268
6483
  # query_parameters: [
6269
6484
  # {
@@ -6300,11 +6515,15 @@ module Aws::AppMesh
6300
6515
  # action: { # required
6301
6516
  # weighted_targets: [ # required
6302
6517
  # {
6518
+ # port: 1,
6303
6519
  # virtual_node: "ResourceName", # required
6304
6520
  # weight: 1, # required
6305
6521
  # },
6306
6522
  # ],
6307
6523
  # },
6524
+ # match: {
6525
+ # port: 1,
6526
+ # },
6308
6527
  # timeout: {
6309
6528
  # idle: {
6310
6529
  # unit: "s", # accepts s, ms
@@ -6539,11 +6758,15 @@ module Aws::AppMesh
6539
6758
  # action: { # required
6540
6759
  # weighted_targets: [ # required
6541
6760
  # {
6761
+ # port: 1,
6542
6762
  # virtual_node: "ResourceName", # required
6543
6763
  # weight: 1, # required
6544
6764
  # },
6545
6765
  # ],
6546
6766
  # },
6767
+ # match: {
6768
+ # port: 1,
6769
+ # },
6547
6770
  # timeout: {
6548
6771
  # idle: {
6549
6772
  # unit: "s", # accepts s, ms
@@ -6556,6 +6779,11 @@ module Aws::AppMesh
6556
6779
  # The action to take if a match is determined.
6557
6780
  # @return [Types::TcpRouteAction]
6558
6781
  #
6782
+ # @!attribute [rw] match
6783
+ # An object that represents the criteria for determining a request
6784
+ # match.
6785
+ # @return [Types::TcpRouteMatch]
6786
+ #
6559
6787
  # @!attribute [rw] timeout
6560
6788
  # An object that represents types of timeouts.
6561
6789
  # @return [Types::TcpTimeout]
@@ -6564,6 +6792,7 @@ module Aws::AppMesh
6564
6792
  #
6565
6793
  class TcpRoute < Struct.new(
6566
6794
  :action,
6795
+ :match,
6567
6796
  :timeout)
6568
6797
  SENSITIVE = []
6569
6798
  include Aws::Structure
@@ -6577,6 +6806,7 @@ module Aws::AppMesh
6577
6806
  # {
6578
6807
  # weighted_targets: [ # required
6579
6808
  # {
6809
+ # port: 1,
6580
6810
  # virtual_node: "ResourceName", # required
6581
6811
  # weight: 1, # required
6582
6812
  # },
@@ -6596,6 +6826,27 @@ module Aws::AppMesh
6596
6826
  include Aws::Structure
6597
6827
  end
6598
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
+
6599
6850
  # An object that represents types of timeouts.
6600
6851
  #
6601
6852
  # @note When making an API call, you may pass TcpTimeout
@@ -6649,7 +6900,14 @@ module Aws::AppMesh
6649
6900
  #
6650
6901
  # @!attribute [rw] subject_alternative_names
6651
6902
  # A reference to an object that represents the SANs for a Transport
6652
- # 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.
6653
6911
  # @return [Types::SubjectAlternativeNames]
6654
6912
  #
6655
6913
  # @!attribute [rw] trust
@@ -6866,6 +7124,7 @@ module Aws::AppMesh
6866
7124
  # },
6867
7125
  # },
6868
7126
  # target: { # required
7127
+ # port: 1,
6869
7128
  # virtual_service: { # required
6870
7129
  # virtual_service_name: "ResourceName", # required
6871
7130
  # },
@@ -6892,6 +7151,7 @@ module Aws::AppMesh
6892
7151
  # name: "HeaderName", # required
6893
7152
  # },
6894
7153
  # ],
7154
+ # port: 1,
6895
7155
  # service_name: "ServiceName",
6896
7156
  # },
6897
7157
  # },
@@ -6910,6 +7170,7 @@ module Aws::AppMesh
6910
7170
  # },
6911
7171
  # },
6912
7172
  # target: { # required
7173
+ # port: 1,
6913
7174
  # virtual_service: { # required
6914
7175
  # virtual_service_name: "ResourceName", # required
6915
7176
  # },
@@ -6941,6 +7202,7 @@ module Aws::AppMesh
6941
7202
  # exact: "HttpPathExact",
6942
7203
  # regex: "HttpPathRegex",
6943
7204
  # },
7205
+ # port: 1,
6944
7206
  # prefix: "String",
6945
7207
  # query_parameters: [
6946
7208
  # {
@@ -6967,6 +7229,7 @@ module Aws::AppMesh
6967
7229
  # },
6968
7230
  # },
6969
7231
  # target: { # required
7232
+ # port: 1,
6970
7233
  # virtual_service: { # required
6971
7234
  # virtual_service_name: "ResourceName", # required
6972
7235
  # },
@@ -6998,6 +7261,7 @@ module Aws::AppMesh
6998
7261
  # exact: "HttpPathExact",
6999
7262
  # regex: "HttpPathRegex",
7000
7263
  # },
7264
+ # port: 1,
7001
7265
  # prefix: "String",
7002
7266
  # query_parameters: [
7003
7267
  # {
@@ -7032,10 +7296,10 @@ module Aws::AppMesh
7032
7296
  # @return [String]
7033
7297
  #
7034
7298
  # @!attribute [rw] mesh_owner
7035
- # The AWS IAM account ID of the service mesh owner. If the account ID
7036
- # is not your own, then it's the ID of the account that shared the
7037
- # mesh with your account. For more information about mesh sharing, see
7038
- # [Working with shared meshes][1].
7299
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
7300
+ # the account ID is not your own, then it's the ID of the account
7301
+ # that shared the mesh with your account. For more information about
7302
+ # mesh sharing, see [Working with shared meshes][1].
7039
7303
  #
7040
7304
  #
7041
7305
  #
@@ -7091,6 +7355,9 @@ module Aws::AppMesh
7091
7355
  # egress_filter: {
7092
7356
  # type: "ALLOW_ALL", # required, accepts ALLOW_ALL, DROP_ALL
7093
7357
  # },
7358
+ # service_discovery: {
7359
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
7360
+ # },
7094
7361
  # },
7095
7362
  # }
7096
7363
  #
@@ -7155,6 +7422,7 @@ module Aws::AppMesh
7155
7422
  # action: { # required
7156
7423
  # weighted_targets: [ # required
7157
7424
  # {
7425
+ # port: 1,
7158
7426
  # virtual_node: "ResourceName", # required
7159
7427
  # weight: 1, # required
7160
7428
  # },
@@ -7178,6 +7446,7 @@ module Aws::AppMesh
7178
7446
  # },
7179
7447
  # ],
7180
7448
  # method_name: "MethodName",
7449
+ # port: 1,
7181
7450
  # service_name: "ServiceName",
7182
7451
  # },
7183
7452
  # retry_policy: {
@@ -7205,6 +7474,7 @@ module Aws::AppMesh
7205
7474
  # action: { # required
7206
7475
  # weighted_targets: [ # required
7207
7476
  # {
7477
+ # port: 1,
7208
7478
  # virtual_node: "ResourceName", # required
7209
7479
  # weight: 1, # required
7210
7480
  # },
@@ -7232,6 +7502,7 @@ module Aws::AppMesh
7232
7502
  # exact: "HttpPathExact",
7233
7503
  # regex: "HttpPathRegex",
7234
7504
  # },
7505
+ # port: 1,
7235
7506
  # prefix: "String",
7236
7507
  # query_parameters: [
7237
7508
  # {
@@ -7267,6 +7538,7 @@ module Aws::AppMesh
7267
7538
  # action: { # required
7268
7539
  # weighted_targets: [ # required
7269
7540
  # {
7541
+ # port: 1,
7270
7542
  # virtual_node: "ResourceName", # required
7271
7543
  # weight: 1, # required
7272
7544
  # },
@@ -7294,6 +7566,7 @@ module Aws::AppMesh
7294
7566
  # exact: "HttpPathExact",
7295
7567
  # regex: "HttpPathRegex",
7296
7568
  # },
7569
+ # port: 1,
7297
7570
  # prefix: "String",
7298
7571
  # query_parameters: [
7299
7572
  # {
@@ -7330,11 +7603,15 @@ module Aws::AppMesh
7330
7603
  # action: { # required
7331
7604
  # weighted_targets: [ # required
7332
7605
  # {
7606
+ # port: 1,
7333
7607
  # virtual_node: "ResourceName", # required
7334
7608
  # weight: 1, # required
7335
7609
  # },
7336
7610
  # ],
7337
7611
  # },
7612
+ # match: {
7613
+ # port: 1,
7614
+ # },
7338
7615
  # timeout: {
7339
7616
  # idle: {
7340
7617
  # unit: "s", # accepts s, ms
@@ -7360,10 +7637,10 @@ module Aws::AppMesh
7360
7637
  # @return [String]
7361
7638
  #
7362
7639
  # @!attribute [rw] mesh_owner
7363
- # The AWS IAM account ID of the service mesh owner. If the account ID
7364
- # is not your own, then it's the ID of the account that shared the
7365
- # mesh with your account. For more information about mesh sharing, see
7366
- # [Working with shared meshes][1].
7640
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
7641
+ # the account ID is not your own, then it's the ID of the account
7642
+ # that shared the mesh with your account. For more information about
7643
+ # mesh sharing, see [Working with shared meshes][1].
7367
7644
  #
7368
7645
  #
7369
7646
  #
@@ -7517,6 +7794,15 @@ module Aws::AppMesh
7517
7794
  # logging: {
7518
7795
  # access_log: {
7519
7796
  # file: {
7797
+ # format: {
7798
+ # json: [
7799
+ # {
7800
+ # key: "JsonKey", # required
7801
+ # value: "JsonValue", # required
7802
+ # },
7803
+ # ],
7804
+ # text: "TextFormat",
7805
+ # },
7520
7806
  # path: "FilePath", # required
7521
7807
  # },
7522
7808
  # },
@@ -7539,10 +7825,10 @@ module Aws::AppMesh
7539
7825
  # @return [String]
7540
7826
  #
7541
7827
  # @!attribute [rw] mesh_owner
7542
- # The AWS IAM account ID of the service mesh owner. If the account ID
7543
- # is not your own, then it's the ID of the account that shared the
7544
- # mesh with your account. For more information about mesh sharing, see
7545
- # [Working with shared meshes][1].
7828
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
7829
+ # the account ID is not your own, then it's the ID of the account
7830
+ # that shared the mesh with your account. For more information about
7831
+ # mesh sharing, see [Working with shared meshes][1].
7546
7832
  #
7547
7833
  #
7548
7834
  #
@@ -7784,6 +8070,15 @@ module Aws::AppMesh
7784
8070
  # logging: {
7785
8071
  # access_log: {
7786
8072
  # file: {
8073
+ # format: {
8074
+ # json: [
8075
+ # {
8076
+ # key: "JsonKey", # required
8077
+ # value: "JsonValue", # required
8078
+ # },
8079
+ # ],
8080
+ # text: "TextFormat",
8081
+ # },
7787
8082
  # path: "FilePath", # required
7788
8083
  # },
7789
8084
  # },
@@ -7796,11 +8091,13 @@ module Aws::AppMesh
7796
8091
  # value: "AwsCloudMapInstanceAttributeValue", # required
7797
8092
  # },
7798
8093
  # ],
8094
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
7799
8095
  # namespace_name: "AwsCloudMapName", # required
7800
8096
  # service_name: "AwsCloudMapName", # required
7801
8097
  # },
7802
8098
  # dns: {
7803
8099
  # hostname: "Hostname", # required
8100
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
7804
8101
  # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
7805
8102
  # },
7806
8103
  # },
@@ -7822,10 +8119,10 @@ module Aws::AppMesh
7822
8119
  # @return [String]
7823
8120
  #
7824
8121
  # @!attribute [rw] mesh_owner
7825
- # The AWS IAM account ID of the service mesh owner. If the account ID
7826
- # is not your own, then it's the ID of the account that shared the
7827
- # mesh with your account. For more information about mesh sharing, see
7828
- # [Working with shared meshes][1].
8122
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
8123
+ # the account ID is not your own, then it's the ID of the account
8124
+ # that shared the mesh with your account. For more information about
8125
+ # mesh sharing, see [Working with shared meshes][1].
7829
8126
  #
7830
8127
  #
7831
8128
  #
@@ -7907,10 +8204,10 @@ module Aws::AppMesh
7907
8204
  # @return [String]
7908
8205
  #
7909
8206
  # @!attribute [rw] mesh_owner
7910
- # The AWS IAM account ID of the service mesh owner. If the account ID
7911
- # is not your own, then it's the ID of the account that shared the
7912
- # mesh with your account. For more information about mesh sharing, see
7913
- # [Working with shared meshes][1].
8207
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
8208
+ # the account ID is not your own, then it's the ID of the account
8209
+ # that shared the mesh with your account. For more information about
8210
+ # mesh sharing, see [Working with shared meshes][1].
7914
8211
  #
7915
8212
  #
7916
8213
  #
@@ -7992,10 +8289,10 @@ module Aws::AppMesh
7992
8289
  # @return [String]
7993
8290
  #
7994
8291
  # @!attribute [rw] mesh_owner
7995
- # The AWS IAM account ID of the service mesh owner. If the account ID
7996
- # is not your own, then it's the ID of the account that shared the
7997
- # mesh with your account. For more information about mesh sharing, see
7998
- # [Working with shared meshes][1].
8292
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
8293
+ # the account ID is not your own, then it's the ID of the account
8294
+ # that shared the mesh with your account. For more information about
8295
+ # mesh sharing, see [Working with shared meshes][1].
7999
8296
  #
8000
8297
  #
8001
8298
  #
@@ -8355,9 +8652,23 @@ module Aws::AppMesh
8355
8652
  # data as a hash:
8356
8653
  #
8357
8654
  # {
8655
+ # format: {
8656
+ # json: [
8657
+ # {
8658
+ # key: "JsonKey", # required
8659
+ # value: "JsonValue", # required
8660
+ # },
8661
+ # ],
8662
+ # text: "TextFormat",
8663
+ # },
8358
8664
  # path: "FilePath", # required
8359
8665
  # }
8360
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
+ #
8361
8672
  # @!attribute [rw] path
8362
8673
  # The file path to write access logs to. You can use `/dev/stdout` to
8363
8674
  # send access logs to standard out and configure your Envoy container
@@ -8370,6 +8681,7 @@ module Aws::AppMesh
8370
8681
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayFileAccessLog AWS API Documentation
8371
8682
  #
8372
8683
  class VirtualGatewayFileAccessLog < Struct.new(
8684
+ :format,
8373
8685
  :path)
8374
8686
  SENSITIVE = []
8375
8687
  include Aws::Structure
@@ -8892,6 +9204,15 @@ module Aws::AppMesh
8892
9204
  # {
8893
9205
  # access_log: {
8894
9206
  # file: {
9207
+ # format: {
9208
+ # json: [
9209
+ # {
9210
+ # key: "JsonKey", # required
9211
+ # value: "JsonValue", # required
9212
+ # },
9213
+ # ],
9214
+ # text: "TextFormat",
9215
+ # },
8895
9216
  # path: "FilePath", # required
8896
9217
  # },
8897
9218
  # },
@@ -8958,10 +9279,10 @@ module Aws::AppMesh
8958
9279
  # @return [String]
8959
9280
  #
8960
9281
  # @!attribute [rw] mesh_owner
8961
- # The AWS IAM account ID of the service mesh owner. If the account ID
8962
- # is not your own, then it's the ID of the account that shared the
8963
- # mesh with your account. For more information about mesh sharing, see
8964
- # [Working with shared meshes][1].
9282
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
9283
+ # the account ID is not your own, then it's the ID of the account
9284
+ # that shared the mesh with your account. For more information about
9285
+ # mesh sharing, see [Working with shared meshes][1].
8965
9286
  #
8966
9287
  #
8967
9288
  #
@@ -8969,10 +9290,10 @@ module Aws::AppMesh
8969
9290
  # @return [String]
8970
9291
  #
8971
9292
  # @!attribute [rw] resource_owner
8972
- # The AWS IAM account ID of the resource owner. If the account ID is
8973
- # not your own, then it's the ID of the mesh owner or of another
8974
- # account that the mesh is shared with. For more information about
8975
- # mesh sharing, see [Working with shared meshes][1].
9293
+ # The Amazon Web Services IAM account ID of the resource owner. If the
9294
+ # account ID is not your own, then it's the ID of the mesh owner or
9295
+ # of another account that the mesh is shared with. For more
9296
+ # information about mesh sharing, see [Working with shared meshes][1].
8976
9297
  #
8977
9298
  #
8978
9299
  #
@@ -9107,6 +9428,15 @@ module Aws::AppMesh
9107
9428
  # logging: {
9108
9429
  # access_log: {
9109
9430
  # file: {
9431
+ # format: {
9432
+ # json: [
9433
+ # {
9434
+ # key: "JsonKey", # required
9435
+ # value: "JsonValue", # required
9436
+ # },
9437
+ # ],
9438
+ # text: "TextFormat",
9439
+ # },
9110
9440
  # path: "FilePath", # required
9111
9441
  # },
9112
9442
  # },
@@ -9487,10 +9817,10 @@ module Aws::AppMesh
9487
9817
  # @return [String]
9488
9818
  #
9489
9819
  # @!attribute [rw] mesh_owner
9490
- # The AWS IAM account ID of the service mesh owner. If the account ID
9491
- # is not your own, then it's the ID of the account that shared the
9492
- # mesh with your account. For more information about mesh sharing, see
9493
- # [Working with shared meshes][1].
9820
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
9821
+ # the account ID is not your own, then it's the ID of the account
9822
+ # that shared the mesh with your account. For more information about
9823
+ # mesh sharing, see [Working with shared meshes][1].
9494
9824
  #
9495
9825
  #
9496
9826
  #
@@ -9498,10 +9828,10 @@ module Aws::AppMesh
9498
9828
  # @return [String]
9499
9829
  #
9500
9830
  # @!attribute [rw] resource_owner
9501
- # The AWS IAM account ID of the resource owner. If the account ID is
9502
- # not your own, then it's the ID of the mesh owner or of another
9503
- # account that the mesh is shared with. For more information about
9504
- # mesh sharing, see [Working with shared meshes][1].
9831
+ # The Amazon Web Services IAM account ID of the resource owner. If the
9832
+ # account ID is not your own, then it's the ID of the mesh owner or
9833
+ # of another account that the mesh is shared with. For more
9834
+ # information about mesh sharing, see [Working with shared meshes][1].
9505
9835
  #
9506
9836
  #
9507
9837
  #
@@ -9749,6 +10079,15 @@ module Aws::AppMesh
9749
10079
  # logging: {
9750
10080
  # access_log: {
9751
10081
  # file: {
10082
+ # format: {
10083
+ # json: [
10084
+ # {
10085
+ # key: "JsonKey", # required
10086
+ # value: "JsonValue", # required
10087
+ # },
10088
+ # ],
10089
+ # text: "TextFormat",
10090
+ # },
9752
10091
  # path: "FilePath", # required
9753
10092
  # },
9754
10093
  # },
@@ -9761,11 +10100,13 @@ module Aws::AppMesh
9761
10100
  # value: "AwsCloudMapInstanceAttributeValue", # required
9762
10101
  # },
9763
10102
  # ],
10103
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
9764
10104
  # namespace_name: "AwsCloudMapName", # required
9765
10105
  # service_name: "AwsCloudMapName", # required
9766
10106
  # },
9767
10107
  # dns: {
9768
10108
  # hostname: "Hostname", # required
10109
+ # ip_preference: "IPv6_PREFERRED", # accepts IPv6_PREFERRED, IPv4_PREFERRED, IPv4_ONLY, IPv6_ONLY
9769
10110
  # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
9770
10111
  # },
9771
10112
  # },
@@ -9926,10 +10267,10 @@ module Aws::AppMesh
9926
10267
  # @return [String]
9927
10268
  #
9928
10269
  # @!attribute [rw] mesh_owner
9929
- # The AWS IAM account ID of the service mesh owner. If the account ID
9930
- # is not your own, then it's the ID of the account that shared the
9931
- # mesh with your account. For more information about mesh sharing, see
9932
- # [Working with shared meshes][1].
10270
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
10271
+ # the account ID is not your own, then it's the ID of the account
10272
+ # that shared the mesh with your account. For more information about
10273
+ # mesh sharing, see [Working with shared meshes][1].
9933
10274
  #
9934
10275
  #
9935
10276
  #
@@ -9937,10 +10278,10 @@ module Aws::AppMesh
9937
10278
  # @return [String]
9938
10279
  #
9939
10280
  # @!attribute [rw] resource_owner
9940
- # The AWS IAM account ID of the resource owner. If the account ID is
9941
- # not your own, then it's the ID of the mesh owner or of another
9942
- # account that the mesh is shared with. For more information about
9943
- # mesh sharing, see [Working with shared meshes][1].
10281
+ # The Amazon Web Services IAM account ID of the resource owner. If the
10282
+ # account ID is not your own, then it's the ID of the mesh owner or
10283
+ # of another account that the mesh is shared with. For more
10284
+ # information about mesh sharing, see [Working with shared meshes][1].
9944
10285
  #
9945
10286
  #
9946
10287
  #
@@ -10183,10 +10524,10 @@ module Aws::AppMesh
10183
10524
  # @return [String]
10184
10525
  #
10185
10526
  # @!attribute [rw] mesh_owner
10186
- # The AWS IAM account ID of the service mesh owner. If the account ID
10187
- # is not your own, then it's the ID of the account that shared the
10188
- # mesh with your account. For more information about mesh sharing, see
10189
- # [Working with shared meshes][1].
10527
+ # The Amazon Web Services IAM account ID of the service mesh owner. If
10528
+ # the account ID is not your own, then it's the ID of the account
10529
+ # that shared the mesh with your account. For more information about
10530
+ # mesh sharing, see [Working with shared meshes][1].
10190
10531
  #
10191
10532
  #
10192
10533
  #
@@ -10194,10 +10535,10 @@ module Aws::AppMesh
10194
10535
  # @return [String]
10195
10536
  #
10196
10537
  # @!attribute [rw] resource_owner
10197
- # The AWS IAM account ID of the resource owner. If the account ID is
10198
- # not your own, then it's the ID of the mesh owner or of another
10199
- # account that the mesh is shared with. For more information about
10200
- # mesh sharing, see [Working with shared meshes][1].
10538
+ # The Amazon Web Services IAM account ID of the resource owner. If the
10539
+ # account ID is not your own, then it's the ID of the mesh owner or
10540
+ # of another account that the mesh is shared with. For more
10541
+ # information about mesh sharing, see [Working with shared meshes][1].
10201
10542
  #
10202
10543
  #
10203
10544
  #
@@ -10281,10 +10622,15 @@ module Aws::AppMesh
10281
10622
  # data as a hash:
10282
10623
  #
10283
10624
  # {
10625
+ # port: 1,
10284
10626
  # virtual_node: "ResourceName", # required
10285
10627
  # weight: 1, # required
10286
10628
  # }
10287
10629
  #
10630
+ # @!attribute [rw] port
10631
+ # The targeted port of the weighted object.
10632
+ # @return [Integer]
10633
+ #
10288
10634
  # @!attribute [rw] virtual_node
10289
10635
  # The virtual node to associate with the weighted target.
10290
10636
  # @return [String]
@@ -10296,6 +10642,7 @@ module Aws::AppMesh
10296
10642
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/WeightedTarget AWS API Documentation
10297
10643
  #
10298
10644
  class WeightedTarget < Struct.new(
10645
+ :port,
10299
10646
  :virtual_node,
10300
10647
  :weight)
10301
10648
  SENSITIVE = []