aws-sdk-appmesh 1.44.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 = []