aws-sdk-appmesh 1.34.0 → 1.38.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -13,14 +13,9 @@ module Aws::AppMesh
13
13
  # An object that represents the access logging information for a virtual
14
14
  # node.
15
15
  #
16
- # @note When making an API call, you may pass AccessLog
17
- # data as a hash:
16
+ # @note AccessLog is a union - when making an API calls you must set exactly one of the members.
18
17
  #
19
- # {
20
- # file: {
21
- # path: "FilePath", # required
22
- # },
23
- # }
18
+ # @note AccessLog is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of AccessLog corresponding to the set member.
24
19
  #
25
20
  # @!attribute [rw] file
26
21
  # The file object to send virtual node access logs to.
@@ -29,13 +24,18 @@ module Aws::AppMesh
29
24
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/AccessLog AWS API Documentation
30
25
  #
31
26
  class AccessLog < Struct.new(
32
- :file)
27
+ :file,
28
+ :unknown)
33
29
  SENSITIVE = []
34
30
  include Aws::Structure
31
+ include Aws::Structure::Union
32
+
33
+ class File < AccessLog; end
34
+ class Unknown < AccessLog; end
35
35
  end
36
36
 
37
- # An object that represents the AWS Cloud Map attribute information for
38
- # your virtual node.
37
+ # An object that represents the Cloud Map attribute information for your
38
+ # virtual node.
39
39
  #
40
40
  # <note markdown="1"> AWS Cloud Map is not available in the eu-south-1 Region.
41
41
  #
@@ -50,15 +50,15 @@ module Aws::AppMesh
50
50
  # }
51
51
  #
52
52
  # @!attribute [rw] key
53
- # The name of an AWS Cloud Map service instance attribute key. Any AWS
54
- # Cloud Map service instance that contains the specified key and value
55
- # is returned.
53
+ # The name of an Cloud Map service instance attribute key. Any Cloud
54
+ # Map service instance that contains the specified key and value is
55
+ # returned.
56
56
  # @return [String]
57
57
  #
58
58
  # @!attribute [rw] value
59
- # The value of an AWS Cloud Map service instance attribute key. Any
60
- # AWS Cloud Map service instance that contains the specified key and
61
- # value is returned.
59
+ # The value of an Cloud Map service instance attribute key. Any Cloud
60
+ # Map service instance that contains the specified key and value is
61
+ # returned.
62
62
  # @return [String]
63
63
  #
64
64
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/AwsCloudMapInstanceAttribute AWS API Documentation
@@ -70,10 +70,10 @@ module Aws::AppMesh
70
70
  include Aws::Structure
71
71
  end
72
72
 
73
- # An object that represents the AWS Cloud Map service discovery
74
- # information for your virtual node.
73
+ # An object that represents the Cloud Map service discovery information
74
+ # for your virtual node.
75
75
  #
76
- # <note markdown="1"> AWS Cloud Map is not available in the eu-south-1 Region.
76
+ # <note markdown="1"> Cloud Map is not available in the eu-south-1 Region.
77
77
  #
78
78
  # </note>
79
79
  #
@@ -99,11 +99,11 @@ module Aws::AppMesh
99
99
  # @return [Array<Types::AwsCloudMapInstanceAttribute>]
100
100
  #
101
101
  # @!attribute [rw] namespace_name
102
- # The name of the AWS Cloud Map namespace to use.
102
+ # The name of the Cloud Map namespace to use.
103
103
  # @return [String]
104
104
  #
105
105
  # @!attribute [rw] service_name
106
- # The name of the AWS Cloud Map service to use.
106
+ # The name of the Cloud Map service to use.
107
107
  # @return [String]
108
108
  #
109
109
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/AwsCloudMapServiceDiscovery AWS API Documentation
@@ -119,47 +119,9 @@ module Aws::AppMesh
119
119
  # An object that represents the backends that a virtual node is expected
120
120
  # to send outbound traffic to.
121
121
  #
122
- # @note When making an API call, you may pass Backend
123
- # data as a hash:
122
+ # @note Backend is a union - when making an API calls you must set exactly one of the members.
124
123
  #
125
- # {
126
- # virtual_service: {
127
- # client_policy: {
128
- # tls: {
129
- # certificate: {
130
- # file: {
131
- # certificate_chain: "FilePath", # required
132
- # private_key: "FilePath", # required
133
- # },
134
- # sds: {
135
- # secret_name: "SdsSecretName", # required
136
- # },
137
- # },
138
- # enforce: false,
139
- # ports: [1],
140
- # validation: { # required
141
- # subject_alternative_names: {
142
- # match: { # required
143
- # exact: ["SubjectAlternativeName"], # required
144
- # },
145
- # },
146
- # trust: { # required
147
- # acm: {
148
- # certificate_authority_arns: ["Arn"], # required
149
- # },
150
- # file: {
151
- # certificate_chain: "FilePath", # required
152
- # },
153
- # sds: {
154
- # secret_name: "SdsSecretName", # required
155
- # },
156
- # },
157
- # },
158
- # },
159
- # },
160
- # virtual_service_name: "ServiceName", # required
161
- # },
162
- # }
124
+ # @note Backend is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of Backend corresponding to the set member.
163
125
  #
164
126
  # @!attribute [rw] virtual_service
165
127
  # Specifies a virtual service to use as a backend.
@@ -168,9 +130,14 @@ module Aws::AppMesh
168
130
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/Backend AWS API Documentation
169
131
  #
170
132
  class Backend < Struct.new(
171
- :virtual_service)
133
+ :virtual_service,
134
+ :unknown)
172
135
  SENSITIVE = []
173
136
  include Aws::Structure
137
+ include Aws::Structure::Union
138
+
139
+ class VirtualService < Backend; end
140
+ class Unknown < Backend; end
174
141
  end
175
142
 
176
143
  # An object that represents the default properties for a backend.
@@ -361,18 +328,9 @@ module Aws::AppMesh
361
328
 
362
329
  # An object that represents the client's certificate.
363
330
  #
364
- # @note When making an API call, you may pass ClientTlsCertificate
365
- # data as a hash:
331
+ # @note ClientTlsCertificate is a union - when making an API calls you must set exactly one of the members.
366
332
  #
367
- # {
368
- # file: {
369
- # certificate_chain: "FilePath", # required
370
- # private_key: "FilePath", # required
371
- # },
372
- # sds: {
373
- # secret_name: "SdsSecretName", # required
374
- # },
375
- # }
333
+ # @note ClientTlsCertificate is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ClientTlsCertificate corresponding to the set member.
376
334
  #
377
335
  # @!attribute [rw] file
378
336
  # An object that represents a local file certificate. The certificate
@@ -382,7 +340,7 @@ module Aws::AppMesh
382
340
  #
383
341
  #
384
342
  #
385
- # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites
343
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html
386
344
  # @return [Types::ListenerTlsFileCertificate]
387
345
  #
388
346
  # @!attribute [rw] sds
@@ -394,9 +352,15 @@ module Aws::AppMesh
394
352
  #
395
353
  class ClientTlsCertificate < Struct.new(
396
354
  :file,
397
- :sds)
355
+ :sds,
356
+ :unknown)
398
357
  SENSITIVE = []
399
358
  include Aws::Structure
359
+ include Aws::Structure::Union
360
+
361
+ class File < ClientTlsCertificate; end
362
+ class Sds < ClientTlsCertificate; end
363
+ class Unknown < ClientTlsCertificate; end
400
364
  end
401
365
 
402
366
  # The request contains a client token that was used for a previous
@@ -425,6 +389,11 @@ module Aws::AppMesh
425
389
  # spec: { # required
426
390
  # grpc_route: {
427
391
  # action: { # required
392
+ # rewrite: {
393
+ # hostname: {
394
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
395
+ # },
396
+ # },
428
397
  # target: { # required
429
398
  # virtual_service: { # required
430
399
  # virtual_service_name: "ResourceName", # required
@@ -432,11 +401,43 @@ module Aws::AppMesh
432
401
  # },
433
402
  # },
434
403
  # match: { # required
404
+ # hostname: {
405
+ # exact: "ExactHostName",
406
+ # suffix: "SuffixHostname",
407
+ # },
408
+ # metadata: [
409
+ # {
410
+ # invert: false,
411
+ # match: {
412
+ # exact: "HeaderMatch",
413
+ # prefix: "HeaderMatch",
414
+ # range: {
415
+ # end: 1, # required
416
+ # start: 1, # required
417
+ # },
418
+ # regex: "HeaderMatch",
419
+ # suffix: "HeaderMatch",
420
+ # },
421
+ # name: "HeaderName", # required
422
+ # },
423
+ # ],
435
424
  # service_name: "ServiceName",
436
425
  # },
437
426
  # },
438
427
  # http2_route: {
439
428
  # action: { # required
429
+ # rewrite: {
430
+ # hostname: {
431
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
432
+ # },
433
+ # path: {
434
+ # exact: "HttpPathExact",
435
+ # },
436
+ # prefix: {
437
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
438
+ # value: "HttpGatewayRoutePrefix",
439
+ # },
440
+ # },
440
441
  # target: { # required
441
442
  # virtual_service: { # required
442
443
  # virtual_service_name: "ResourceName", # required
@@ -444,11 +445,56 @@ module Aws::AppMesh
444
445
  # },
445
446
  # },
446
447
  # match: { # required
447
- # prefix: "String", # required
448
+ # headers: [
449
+ # {
450
+ # invert: false,
451
+ # match: {
452
+ # exact: "HeaderMatch",
453
+ # prefix: "HeaderMatch",
454
+ # range: {
455
+ # end: 1, # required
456
+ # start: 1, # required
457
+ # },
458
+ # regex: "HeaderMatch",
459
+ # suffix: "HeaderMatch",
460
+ # },
461
+ # name: "HeaderName", # required
462
+ # },
463
+ # ],
464
+ # hostname: {
465
+ # exact: "ExactHostName",
466
+ # suffix: "SuffixHostname",
467
+ # },
468
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
469
+ # path: {
470
+ # exact: "HttpPathExact",
471
+ # regex: "HttpPathRegex",
472
+ # },
473
+ # prefix: "String",
474
+ # query_parameters: [
475
+ # {
476
+ # match: {
477
+ # exact: "String",
478
+ # },
479
+ # name: "QueryParameterName", # required
480
+ # },
481
+ # ],
448
482
  # },
449
483
  # },
450
484
  # http_route: {
451
485
  # action: { # required
486
+ # rewrite: {
487
+ # hostname: {
488
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
489
+ # },
490
+ # path: {
491
+ # exact: "HttpPathExact",
492
+ # },
493
+ # prefix: {
494
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
495
+ # value: "HttpGatewayRoutePrefix",
496
+ # },
497
+ # },
452
498
  # target: { # required
453
499
  # virtual_service: { # required
454
500
  # virtual_service_name: "ResourceName", # required
@@ -456,9 +502,43 @@ module Aws::AppMesh
456
502
  # },
457
503
  # },
458
504
  # match: { # required
459
- # prefix: "String", # required
505
+ # headers: [
506
+ # {
507
+ # invert: false,
508
+ # match: {
509
+ # exact: "HeaderMatch",
510
+ # prefix: "HeaderMatch",
511
+ # range: {
512
+ # end: 1, # required
513
+ # start: 1, # required
514
+ # },
515
+ # regex: "HeaderMatch",
516
+ # suffix: "HeaderMatch",
517
+ # },
518
+ # name: "HeaderName", # required
519
+ # },
520
+ # ],
521
+ # hostname: {
522
+ # exact: "ExactHostName",
523
+ # suffix: "SuffixHostname",
524
+ # },
525
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
526
+ # path: {
527
+ # exact: "HttpPathExact",
528
+ # regex: "HttpPathRegex",
529
+ # },
530
+ # prefix: "String",
531
+ # query_parameters: [
532
+ # {
533
+ # match: {
534
+ # exact: "String",
535
+ # },
536
+ # name: "QueryParameterName", # required
537
+ # },
538
+ # ],
460
539
  # },
461
540
  # },
541
+ # priority: 1,
462
542
  # },
463
543
  # tags: [
464
544
  # {
@@ -708,7 +788,19 @@ module Aws::AppMesh
708
788
  # },
709
789
  # ],
710
790
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
711
- # prefix: "String", # required
791
+ # path: {
792
+ # exact: "HttpPathExact",
793
+ # regex: "HttpPathRegex",
794
+ # },
795
+ # prefix: "String",
796
+ # query_parameters: [
797
+ # {
798
+ # match: {
799
+ # exact: "String",
800
+ # },
801
+ # name: "QueryParameterName", # required
802
+ # },
803
+ # ],
712
804
  # scheme: "http", # accepts http, https
713
805
  # },
714
806
  # retry_policy: {
@@ -758,7 +850,19 @@ module Aws::AppMesh
758
850
  # },
759
851
  # ],
760
852
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
761
- # prefix: "String", # required
853
+ # path: {
854
+ # exact: "HttpPathExact",
855
+ # regex: "HttpPathRegex",
856
+ # },
857
+ # prefix: "String",
858
+ # query_parameters: [
859
+ # {
860
+ # match: {
861
+ # exact: "String",
862
+ # },
863
+ # name: "QueryParameterName", # required
864
+ # },
865
+ # ],
762
866
  # scheme: "http", # accepts http, https
763
867
  # },
764
868
  # retry_policy: {
@@ -1290,6 +1394,7 @@ module Aws::AppMesh
1290
1394
  # },
1291
1395
  # dns: {
1292
1396
  # hostname: "Hostname", # required
1397
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
1293
1398
  # },
1294
1399
  # },
1295
1400
  # },
@@ -1783,9 +1888,7 @@ module Aws::AppMesh
1783
1888
  include Aws::Structure
1784
1889
  end
1785
1890
 
1786
- # <zonbook />
1787
- #
1788
- # <xhtml />
1891
+ # Deletes a virtual node input.
1789
1892
  #
1790
1893
  # @note When making an API call, you may pass DeleteVirtualNodeInput
1791
1894
  # data as a hash:
@@ -2362,16 +2465,22 @@ module Aws::AppMesh
2362
2465
  #
2363
2466
  # {
2364
2467
  # hostname: "Hostname", # required
2468
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
2365
2469
  # }
2366
2470
  #
2367
2471
  # @!attribute [rw] hostname
2368
2472
  # Specifies the DNS service discovery hostname for the virtual node.
2369
2473
  # @return [String]
2370
2474
  #
2475
+ # @!attribute [rw] response_type
2476
+ # Specifies the DNS response type for the virtual node.
2477
+ # @return [String]
2478
+ #
2371
2479
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DnsServiceDiscovery AWS API Documentation
2372
2480
  #
2373
2481
  class DnsServiceDiscovery < Struct.new(
2374
- :hostname)
2482
+ :hostname,
2483
+ :response_type)
2375
2484
  SENSITIVE = []
2376
2485
  include Aws::Structure
2377
2486
  end
@@ -2415,9 +2524,10 @@ module Aws::AppMesh
2415
2524
  # @!attribute [rw] type
2416
2525
  # The egress filter type. By default, the type is `DROP_ALL`, which
2417
2526
  # allows egress only from virtual nodes to other defined resources in
2418
- # the service mesh (and any traffic to `*.amazonaws.com` for AWS API
2419
- # calls). You can set the egress filter type to `ALLOW_ALL` to allow
2420
- # egress to any endpoint inside or outside of the service mesh.
2527
+ # the service mesh (and any traffic to `*.amazonaws.com` for Amazon
2528
+ # Web Services API calls). You can set the egress filter type to
2529
+ # `ALLOW_ALL` to allow egress to any endpoint inside or outside of the
2530
+ # service mesh.
2421
2531
  # @return [String]
2422
2532
  #
2423
2533
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/EgressFilter AWS API Documentation
@@ -2512,6 +2622,54 @@ module Aws::AppMesh
2512
2622
  include Aws::Structure
2513
2623
  end
2514
2624
 
2625
+ # An object representing the gateway route host name to match.
2626
+ #
2627
+ # @note When making an API call, you may pass GatewayRouteHostnameMatch
2628
+ # data as a hash:
2629
+ #
2630
+ # {
2631
+ # exact: "ExactHostName",
2632
+ # suffix: "SuffixHostname",
2633
+ # }
2634
+ #
2635
+ # @!attribute [rw] exact
2636
+ # The exact host name to match on.
2637
+ # @return [String]
2638
+ #
2639
+ # @!attribute [rw] suffix
2640
+ # The specified ending characters of the host name to match on.
2641
+ # @return [String]
2642
+ #
2643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteHostnameMatch AWS API Documentation
2644
+ #
2645
+ class GatewayRouteHostnameMatch < Struct.new(
2646
+ :exact,
2647
+ :suffix)
2648
+ SENSITIVE = []
2649
+ include Aws::Structure
2650
+ end
2651
+
2652
+ # An object representing the gateway route host name to rewrite.
2653
+ #
2654
+ # @note When making an API call, you may pass GatewayRouteHostnameRewrite
2655
+ # data as a hash:
2656
+ #
2657
+ # {
2658
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2659
+ # }
2660
+ #
2661
+ # @!attribute [rw] default_target_hostname
2662
+ # The default target host name to write to.
2663
+ # @return [String]
2664
+ #
2665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteHostnameRewrite AWS API Documentation
2666
+ #
2667
+ class GatewayRouteHostnameRewrite < Struct.new(
2668
+ :default_target_hostname)
2669
+ SENSITIVE = []
2670
+ include Aws::Structure
2671
+ end
2672
+
2515
2673
  # An object that represents a gateway route returned by a list
2516
2674
  # operation.
2517
2675
  #
@@ -2593,6 +2751,11 @@ module Aws::AppMesh
2593
2751
  # {
2594
2752
  # grpc_route: {
2595
2753
  # action: { # required
2754
+ # rewrite: {
2755
+ # hostname: {
2756
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2757
+ # },
2758
+ # },
2596
2759
  # target: { # required
2597
2760
  # virtual_service: { # required
2598
2761
  # virtual_service_name: "ResourceName", # required
@@ -2600,11 +2763,43 @@ module Aws::AppMesh
2600
2763
  # },
2601
2764
  # },
2602
2765
  # match: { # required
2766
+ # hostname: {
2767
+ # exact: "ExactHostName",
2768
+ # suffix: "SuffixHostname",
2769
+ # },
2770
+ # metadata: [
2771
+ # {
2772
+ # invert: false,
2773
+ # match: {
2774
+ # exact: "HeaderMatch",
2775
+ # prefix: "HeaderMatch",
2776
+ # range: {
2777
+ # end: 1, # required
2778
+ # start: 1, # required
2779
+ # },
2780
+ # regex: "HeaderMatch",
2781
+ # suffix: "HeaderMatch",
2782
+ # },
2783
+ # name: "HeaderName", # required
2784
+ # },
2785
+ # ],
2603
2786
  # service_name: "ServiceName",
2604
2787
  # },
2605
2788
  # },
2606
2789
  # http2_route: {
2607
2790
  # action: { # required
2791
+ # rewrite: {
2792
+ # hostname: {
2793
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2794
+ # },
2795
+ # path: {
2796
+ # exact: "HttpPathExact",
2797
+ # },
2798
+ # prefix: {
2799
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
2800
+ # value: "HttpGatewayRoutePrefix",
2801
+ # },
2802
+ # },
2608
2803
  # target: { # required
2609
2804
  # virtual_service: { # required
2610
2805
  # virtual_service_name: "ResourceName", # required
@@ -2612,11 +2807,56 @@ module Aws::AppMesh
2612
2807
  # },
2613
2808
  # },
2614
2809
  # match: { # required
2615
- # prefix: "String", # required
2810
+ # headers: [
2811
+ # {
2812
+ # invert: false,
2813
+ # match: {
2814
+ # exact: "HeaderMatch",
2815
+ # prefix: "HeaderMatch",
2816
+ # range: {
2817
+ # end: 1, # required
2818
+ # start: 1, # required
2819
+ # },
2820
+ # regex: "HeaderMatch",
2821
+ # suffix: "HeaderMatch",
2822
+ # },
2823
+ # name: "HeaderName", # required
2824
+ # },
2825
+ # ],
2826
+ # hostname: {
2827
+ # exact: "ExactHostName",
2828
+ # suffix: "SuffixHostname",
2829
+ # },
2830
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2831
+ # path: {
2832
+ # exact: "HttpPathExact",
2833
+ # regex: "HttpPathRegex",
2834
+ # },
2835
+ # prefix: "String",
2836
+ # query_parameters: [
2837
+ # {
2838
+ # match: {
2839
+ # exact: "String",
2840
+ # },
2841
+ # name: "QueryParameterName", # required
2842
+ # },
2843
+ # ],
2616
2844
  # },
2617
2845
  # },
2618
2846
  # http_route: {
2619
2847
  # action: { # required
2848
+ # rewrite: {
2849
+ # hostname: {
2850
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2851
+ # },
2852
+ # path: {
2853
+ # exact: "HttpPathExact",
2854
+ # },
2855
+ # prefix: {
2856
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
2857
+ # value: "HttpGatewayRoutePrefix",
2858
+ # },
2859
+ # },
2620
2860
  # target: { # required
2621
2861
  # virtual_service: { # required
2622
2862
  # virtual_service_name: "ResourceName", # required
@@ -2624,9 +2864,43 @@ module Aws::AppMesh
2624
2864
  # },
2625
2865
  # },
2626
2866
  # match: { # required
2627
- # prefix: "String", # required
2867
+ # headers: [
2868
+ # {
2869
+ # invert: false,
2870
+ # match: {
2871
+ # exact: "HeaderMatch",
2872
+ # prefix: "HeaderMatch",
2873
+ # range: {
2874
+ # end: 1, # required
2875
+ # start: 1, # required
2876
+ # },
2877
+ # regex: "HeaderMatch",
2878
+ # suffix: "HeaderMatch",
2879
+ # },
2880
+ # name: "HeaderName", # required
2881
+ # },
2882
+ # ],
2883
+ # hostname: {
2884
+ # exact: "ExactHostName",
2885
+ # suffix: "SuffixHostname",
2886
+ # },
2887
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2888
+ # path: {
2889
+ # exact: "HttpPathExact",
2890
+ # regex: "HttpPathRegex",
2891
+ # },
2892
+ # prefix: "String",
2893
+ # query_parameters: [
2894
+ # {
2895
+ # match: {
2896
+ # exact: "String",
2897
+ # },
2898
+ # name: "QueryParameterName", # required
2899
+ # },
2900
+ # ],
2628
2901
  # },
2629
2902
  # },
2903
+ # priority: 1,
2630
2904
  # }
2631
2905
  #
2632
2906
  # @!attribute [rw] grpc_route
@@ -2643,12 +2917,17 @@ module Aws::AppMesh
2643
2917
  # route.
2644
2918
  # @return [Types::HttpGatewayRoute]
2645
2919
  #
2920
+ # @!attribute [rw] priority
2921
+ # The ordering of the gateway routes spec.
2922
+ # @return [Integer]
2923
+ #
2646
2924
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteSpec AWS API Documentation
2647
2925
  #
2648
2926
  class GatewayRouteSpec < Struct.new(
2649
2927
  :grpc_route,
2650
2928
  :http2_route,
2651
- :http_route)
2929
+ :http_route,
2930
+ :priority)
2652
2931
  SENSITIVE = []
2653
2932
  include Aws::Structure
2654
2933
  end
@@ -2719,6 +2998,11 @@ module Aws::AppMesh
2719
2998
  #
2720
2999
  # {
2721
3000
  # action: { # required
3001
+ # rewrite: {
3002
+ # hostname: {
3003
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3004
+ # },
3005
+ # },
2722
3006
  # target: { # required
2723
3007
  # virtual_service: { # required
2724
3008
  # virtual_service_name: "ResourceName", # required
@@ -2726,6 +3010,26 @@ module Aws::AppMesh
2726
3010
  # },
2727
3011
  # },
2728
3012
  # match: { # required
3013
+ # hostname: {
3014
+ # exact: "ExactHostName",
3015
+ # suffix: "SuffixHostname",
3016
+ # },
3017
+ # metadata: [
3018
+ # {
3019
+ # invert: false,
3020
+ # match: {
3021
+ # exact: "HeaderMatch",
3022
+ # prefix: "HeaderMatch",
3023
+ # range: {
3024
+ # end: 1, # required
3025
+ # start: 1, # required
3026
+ # },
3027
+ # regex: "HeaderMatch",
3028
+ # suffix: "HeaderMatch",
3029
+ # },
3030
+ # name: "HeaderName", # required
3031
+ # },
3032
+ # ],
2729
3033
  # service_name: "ServiceName",
2730
3034
  # },
2731
3035
  # }
@@ -2755,6 +3059,11 @@ module Aws::AppMesh
2755
3059
  # data as a hash:
2756
3060
  #
2757
3061
  # {
3062
+ # rewrite: {
3063
+ # hostname: {
3064
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3065
+ # },
3066
+ # },
2758
3067
  # target: { # required
2759
3068
  # virtual_service: { # required
2760
3069
  # virtual_service_name: "ResourceName", # required
@@ -2762,6 +3071,10 @@ module Aws::AppMesh
2762
3071
  # },
2763
3072
  # }
2764
3073
  #
3074
+ # @!attribute [rw] rewrite
3075
+ # The gateway route action to rewrite.
3076
+ # @return [Types::GrpcGatewayRouteRewrite]
3077
+ #
2765
3078
  # @!attribute [rw] target
2766
3079
  # An object that represents the target that traffic is routed to when
2767
3080
  # a request matches the gateway route.
@@ -2770,6 +3083,7 @@ module Aws::AppMesh
2770
3083
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteAction AWS API Documentation
2771
3084
  #
2772
3085
  class GrpcGatewayRouteAction < Struct.new(
3086
+ :rewrite,
2773
3087
  :target)
2774
3088
  SENSITIVE = []
2775
3089
  include Aws::Structure
@@ -2782,9 +3096,37 @@ module Aws::AppMesh
2782
3096
  # data as a hash:
2783
3097
  #
2784
3098
  # {
3099
+ # hostname: {
3100
+ # exact: "ExactHostName",
3101
+ # suffix: "SuffixHostname",
3102
+ # },
3103
+ # metadata: [
3104
+ # {
3105
+ # invert: false,
3106
+ # match: {
3107
+ # exact: "HeaderMatch",
3108
+ # prefix: "HeaderMatch",
3109
+ # range: {
3110
+ # end: 1, # required
3111
+ # start: 1, # required
3112
+ # },
3113
+ # regex: "HeaderMatch",
3114
+ # suffix: "HeaderMatch",
3115
+ # },
3116
+ # name: "HeaderName", # required
3117
+ # },
3118
+ # ],
2785
3119
  # service_name: "ServiceName",
2786
3120
  # }
2787
3121
  #
3122
+ # @!attribute [rw] hostname
3123
+ # The gateway route host name to be matched on.
3124
+ # @return [Types::GatewayRouteHostnameMatch]
3125
+ #
3126
+ # @!attribute [rw] metadata
3127
+ # The gateway route metadata to be matched on.
3128
+ # @return [Array<Types::GrpcGatewayRouteMetadata>]
3129
+ #
2788
3130
  # @!attribute [rw] service_name
2789
3131
  # The fully qualified domain name for the service to match from the
2790
3132
  # request.
@@ -2793,14 +3135,140 @@ module Aws::AppMesh
2793
3135
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteMatch AWS API Documentation
2794
3136
  #
2795
3137
  class GrpcGatewayRouteMatch < Struct.new(
3138
+ :hostname,
3139
+ :metadata,
2796
3140
  :service_name)
2797
3141
  SENSITIVE = []
2798
3142
  include Aws::Structure
2799
3143
  end
2800
3144
 
3145
+ # An object representing the metadata of the gateway route.
3146
+ #
3147
+ # @note When making an API call, you may pass GrpcGatewayRouteMetadata
3148
+ # data as a hash:
3149
+ #
3150
+ # {
3151
+ # invert: false,
3152
+ # match: {
3153
+ # exact: "HeaderMatch",
3154
+ # prefix: "HeaderMatch",
3155
+ # range: {
3156
+ # end: 1, # required
3157
+ # start: 1, # required
3158
+ # },
3159
+ # regex: "HeaderMatch",
3160
+ # suffix: "HeaderMatch",
3161
+ # },
3162
+ # name: "HeaderName", # required
3163
+ # }
3164
+ #
3165
+ # @!attribute [rw] invert
3166
+ # Specify `True` to match anything except the match criteria. The
3167
+ # default value is `False`.
3168
+ # @return [Boolean]
3169
+ #
3170
+ # @!attribute [rw] match
3171
+ # The criteria for determining a metadata match.
3172
+ # @return [Types::GrpcMetadataMatchMethod]
3173
+ #
3174
+ # @!attribute [rw] name
3175
+ # A name for the gateway route metadata.
3176
+ # @return [String]
3177
+ #
3178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteMetadata AWS API Documentation
3179
+ #
3180
+ class GrpcGatewayRouteMetadata < Struct.new(
3181
+ :invert,
3182
+ :match,
3183
+ :name)
3184
+ SENSITIVE = []
3185
+ include Aws::Structure
3186
+ end
3187
+
3188
+ # An object that represents the gateway route to rewrite.
3189
+ #
3190
+ # @note When making an API call, you may pass GrpcGatewayRouteRewrite
3191
+ # data as a hash:
3192
+ #
3193
+ # {
3194
+ # hostname: {
3195
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3196
+ # },
3197
+ # }
3198
+ #
3199
+ # @!attribute [rw] hostname
3200
+ # The host name of the gateway route to rewrite.
3201
+ # @return [Types::GatewayRouteHostnameRewrite]
3202
+ #
3203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteRewrite AWS API Documentation
3204
+ #
3205
+ class GrpcGatewayRouteRewrite < Struct.new(
3206
+ :hostname)
3207
+ SENSITIVE = []
3208
+ include Aws::Structure
3209
+ end
3210
+
3211
+ # An object representing the method header to be matched.
3212
+ #
3213
+ # @note GrpcMetadataMatchMethod is a union - when making an API calls you must set exactly one of the members.
3214
+ #
3215
+ # @note GrpcMetadataMatchMethod is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of GrpcMetadataMatchMethod corresponding to the set member.
3216
+ #
3217
+ # @!attribute [rw] exact
3218
+ # The exact method header to be matched on.
3219
+ # @return [String]
3220
+ #
3221
+ # @!attribute [rw] prefix
3222
+ # The specified beginning characters of the method header to be
3223
+ # matched on.
3224
+ # @return [String]
3225
+ #
3226
+ # @!attribute [rw] range
3227
+ # An object that represents the range of values to match on. The first
3228
+ # character of the range is included in the range, though the last
3229
+ # character is not. For example, if the range specified were 1-100,
3230
+ # only values 1-99 would be matched.
3231
+ # @return [Types::MatchRange]
3232
+ #
3233
+ # @!attribute [rw] regex
3234
+ # The regex used to match the method header.
3235
+ # @return [String]
3236
+ #
3237
+ # @!attribute [rw] suffix
3238
+ # The specified ending characters of the method header to match on.
3239
+ # @return [String]
3240
+ #
3241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcMetadataMatchMethod AWS API Documentation
3242
+ #
3243
+ class GrpcMetadataMatchMethod < Struct.new(
3244
+ :exact,
3245
+ :prefix,
3246
+ :range,
3247
+ :regex,
3248
+ :suffix,
3249
+ :unknown)
3250
+ SENSITIVE = []
3251
+ include Aws::Structure
3252
+ include Aws::Structure::Union
3253
+
3254
+ class Exact < GrpcMetadataMatchMethod; end
3255
+ class Prefix < GrpcMetadataMatchMethod; end
3256
+ class Range < GrpcMetadataMatchMethod; end
3257
+ class Regex < GrpcMetadataMatchMethod; end
3258
+ class Suffix < GrpcMetadataMatchMethod; end
3259
+ class Unknown < GrpcMetadataMatchMethod; end
3260
+ end
3261
+
2801
3262
  # An object that represents a retry policy. Specify at least one value
2802
3263
  # for at least one of the types of `RetryEvents`, a value for
2803
- # `maxRetries`, and a value for `perRetryTimeout`.
3264
+ # `maxRetries`, and a value for `perRetryTimeout`. Both `server-error`
3265
+ # and `gateway-error` under `httpRetryEvents` include the Envoy `reset`
3266
+ # policy. For more information on the `reset` policy, see the [Envoy
3267
+ # documentation][1].
3268
+ #
3269
+ #
3270
+ #
3271
+ # [1]: https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on
2804
3272
  #
2805
3273
  # @note When making an API call, you may pass GrpcRetryPolicy
2806
3274
  # data as a hash:
@@ -3068,19 +3536,9 @@ module Aws::AppMesh
3068
3536
  # An object that represents the match method. Specify one of the match
3069
3537
  # values.
3070
3538
  #
3071
- # @note When making an API call, you may pass GrpcRouteMetadataMatchMethod
3072
- # data as a hash:
3539
+ # @note GrpcRouteMetadataMatchMethod is a union - when making an API calls you must set exactly one of the members.
3073
3540
  #
3074
- # {
3075
- # exact: "HeaderMatch",
3076
- # prefix: "HeaderMatch",
3077
- # range: {
3078
- # end: 1, # required
3079
- # start: 1, # required
3080
- # },
3081
- # regex: "HeaderMatch",
3082
- # suffix: "HeaderMatch",
3083
- # }
3541
+ # @note GrpcRouteMetadataMatchMethod is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of GrpcRouteMetadataMatchMethod corresponding to the set member.
3084
3542
  #
3085
3543
  # @!attribute [rw] exact
3086
3544
  # The value sent by the client must match the specified value exactly.
@@ -3110,9 +3568,18 @@ module Aws::AppMesh
3110
3568
  :prefix,
3111
3569
  :range,
3112
3570
  :regex,
3113
- :suffix)
3571
+ :suffix,
3572
+ :unknown)
3114
3573
  SENSITIVE = []
3115
3574
  include Aws::Structure
3575
+ include Aws::Structure::Union
3576
+
3577
+ class Exact < GrpcRouteMetadataMatchMethod; end
3578
+ class Prefix < GrpcRouteMetadataMatchMethod; end
3579
+ class Range < GrpcRouteMetadataMatchMethod; end
3580
+ class Regex < GrpcRouteMetadataMatchMethod; end
3581
+ class Suffix < GrpcRouteMetadataMatchMethod; end
3582
+ class Unknown < GrpcRouteMetadataMatchMethod; end
3116
3583
  end
3117
3584
 
3118
3585
  # An object that represents types of timeouts.
@@ -3159,19 +3626,9 @@ module Aws::AppMesh
3159
3626
  # An object that represents the method and value to match with the
3160
3627
  # header value sent in a request. Specify one match method.
3161
3628
  #
3162
- # @note When making an API call, you may pass HeaderMatchMethod
3163
- # data as a hash:
3629
+ # @note HeaderMatchMethod is a union - when making an API calls you must set exactly one of the members.
3164
3630
  #
3165
- # {
3166
- # exact: "HeaderMatch",
3167
- # prefix: "HeaderMatch",
3168
- # range: {
3169
- # end: 1, # required
3170
- # start: 1, # required
3171
- # },
3172
- # regex: "HeaderMatch",
3173
- # suffix: "HeaderMatch",
3174
- # }
3631
+ # @note HeaderMatchMethod is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of HeaderMatchMethod corresponding to the set member.
3175
3632
  #
3176
3633
  # @!attribute [rw] exact
3177
3634
  # The value sent by the client must match the specified value exactly.
@@ -3201,9 +3658,18 @@ module Aws::AppMesh
3201
3658
  :prefix,
3202
3659
  :range,
3203
3660
  :regex,
3204
- :suffix)
3661
+ :suffix,
3662
+ :unknown)
3205
3663
  SENSITIVE = []
3206
3664
  include Aws::Structure
3665
+ include Aws::Structure::Union
3666
+
3667
+ class Exact < HeaderMatchMethod; end
3668
+ class Prefix < HeaderMatchMethod; end
3669
+ class Range < HeaderMatchMethod; end
3670
+ class Regex < HeaderMatchMethod; end
3671
+ class Suffix < HeaderMatchMethod; end
3672
+ class Unknown < HeaderMatchMethod; end
3207
3673
  end
3208
3674
 
3209
3675
  # An object that represents the health check policy for a virtual
@@ -3283,6 +3749,18 @@ module Aws::AppMesh
3283
3749
  #
3284
3750
  # {
3285
3751
  # action: { # required
3752
+ # rewrite: {
3753
+ # hostname: {
3754
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3755
+ # },
3756
+ # path: {
3757
+ # exact: "HttpPathExact",
3758
+ # },
3759
+ # prefix: {
3760
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
3761
+ # value: "HttpGatewayRoutePrefix",
3762
+ # },
3763
+ # },
3286
3764
  # target: { # required
3287
3765
  # virtual_service: { # required
3288
3766
  # virtual_service_name: "ResourceName", # required
@@ -3290,7 +3768,40 @@ module Aws::AppMesh
3290
3768
  # },
3291
3769
  # },
3292
3770
  # match: { # required
3293
- # prefix: "String", # required
3771
+ # headers: [
3772
+ # {
3773
+ # invert: false,
3774
+ # match: {
3775
+ # exact: "HeaderMatch",
3776
+ # prefix: "HeaderMatch",
3777
+ # range: {
3778
+ # end: 1, # required
3779
+ # start: 1, # required
3780
+ # },
3781
+ # regex: "HeaderMatch",
3782
+ # suffix: "HeaderMatch",
3783
+ # },
3784
+ # name: "HeaderName", # required
3785
+ # },
3786
+ # ],
3787
+ # hostname: {
3788
+ # exact: "ExactHostName",
3789
+ # suffix: "SuffixHostname",
3790
+ # },
3791
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3792
+ # path: {
3793
+ # exact: "HttpPathExact",
3794
+ # regex: "HttpPathRegex",
3795
+ # },
3796
+ # prefix: "String",
3797
+ # query_parameters: [
3798
+ # {
3799
+ # match: {
3800
+ # exact: "String",
3801
+ # },
3802
+ # name: "QueryParameterName", # required
3803
+ # },
3804
+ # ],
3294
3805
  # },
3295
3806
  # }
3296
3807
  #
@@ -3319,6 +3830,18 @@ module Aws::AppMesh
3319
3830
  # data as a hash:
3320
3831
  #
3321
3832
  # {
3833
+ # rewrite: {
3834
+ # hostname: {
3835
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3836
+ # },
3837
+ # path: {
3838
+ # exact: "HttpPathExact",
3839
+ # },
3840
+ # prefix: {
3841
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
3842
+ # value: "HttpGatewayRoutePrefix",
3843
+ # },
3844
+ # },
3322
3845
  # target: { # required
3323
3846
  # virtual_service: { # required
3324
3847
  # virtual_service_name: "ResourceName", # required
@@ -3326,6 +3849,10 @@ module Aws::AppMesh
3326
3849
  # },
3327
3850
  # }
3328
3851
  #
3852
+ # @!attribute [rw] rewrite
3853
+ # The gateway route action to rewrite.
3854
+ # @return [Types::HttpGatewayRouteRewrite]
3855
+ #
3329
3856
  # @!attribute [rw] target
3330
3857
  # An object that represents the target that traffic is routed to when
3331
3858
  # a request matches the gateway route.
@@ -3334,11 +3861,57 @@ module Aws::AppMesh
3334
3861
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteAction AWS API Documentation
3335
3862
  #
3336
3863
  class HttpGatewayRouteAction < Struct.new(
3864
+ :rewrite,
3337
3865
  :target)
3338
3866
  SENSITIVE = []
3339
3867
  include Aws::Structure
3340
3868
  end
3341
3869
 
3870
+ # An object that represents the HTTP header in the gateway route.
3871
+ #
3872
+ # @note When making an API call, you may pass HttpGatewayRouteHeader
3873
+ # data as a hash:
3874
+ #
3875
+ # {
3876
+ # invert: false,
3877
+ # match: {
3878
+ # exact: "HeaderMatch",
3879
+ # prefix: "HeaderMatch",
3880
+ # range: {
3881
+ # end: 1, # required
3882
+ # start: 1, # required
3883
+ # },
3884
+ # regex: "HeaderMatch",
3885
+ # suffix: "HeaderMatch",
3886
+ # },
3887
+ # name: "HeaderName", # required
3888
+ # }
3889
+ #
3890
+ # @!attribute [rw] invert
3891
+ # Specify `True` to match anything except the match criteria. The
3892
+ # default value is `False`.
3893
+ # @return [Boolean]
3894
+ #
3895
+ # @!attribute [rw] match
3896
+ # An object that represents the method and value to match with the
3897
+ # header value sent in a request. Specify one match method.
3898
+ # @return [Types::HeaderMatchMethod]
3899
+ #
3900
+ # @!attribute [rw] name
3901
+ # A name for the HTTP header in the gateway route that will be matched
3902
+ # on.
3903
+ # @return [String]
3904
+ #
3905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteHeader AWS API Documentation
3906
+ #
3907
+ class HttpGatewayRouteHeader < Struct.new(
3908
+ :invert,
3909
+ :match,
3910
+ :name)
3911
+ SENSITIVE = []
3912
+ include Aws::Structure
3913
+ end
3914
+
3342
3915
  # An object that represents the criteria for determining a request
3343
3916
  # match.
3344
3917
  #
@@ -3346,9 +3919,58 @@ module Aws::AppMesh
3346
3919
  # data as a hash:
3347
3920
  #
3348
3921
  # {
3349
- # prefix: "String", # required
3922
+ # headers: [
3923
+ # {
3924
+ # invert: false,
3925
+ # match: {
3926
+ # exact: "HeaderMatch",
3927
+ # prefix: "HeaderMatch",
3928
+ # range: {
3929
+ # end: 1, # required
3930
+ # start: 1, # required
3931
+ # },
3932
+ # regex: "HeaderMatch",
3933
+ # suffix: "HeaderMatch",
3934
+ # },
3935
+ # name: "HeaderName", # required
3936
+ # },
3937
+ # ],
3938
+ # hostname: {
3939
+ # exact: "ExactHostName",
3940
+ # suffix: "SuffixHostname",
3941
+ # },
3942
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3943
+ # path: {
3944
+ # exact: "HttpPathExact",
3945
+ # regex: "HttpPathRegex",
3946
+ # },
3947
+ # prefix: "String",
3948
+ # query_parameters: [
3949
+ # {
3950
+ # match: {
3951
+ # exact: "String",
3952
+ # },
3953
+ # name: "QueryParameterName", # required
3954
+ # },
3955
+ # ],
3350
3956
  # }
3351
3957
  #
3958
+ # @!attribute [rw] headers
3959
+ # The client request headers to match on.
3960
+ # @return [Array<Types::HttpGatewayRouteHeader>]
3961
+ #
3962
+ # @!attribute [rw] hostname
3963
+ # The host name to match on.
3964
+ # @return [Types::GatewayRouteHostnameMatch]
3965
+ #
3966
+ # @!attribute [rw] method
3967
+ # The method to match on.
3968
+ # @return [String]
3969
+ #
3970
+ # @!attribute [rw] path
3971
+ # The path to match on.
3972
+ # @return [Types::HttpPathMatch]
3973
+ #
3352
3974
  # @!attribute [rw] prefix
3353
3975
  # Specifies the path to match requests with. This parameter must
3354
3976
  # always start with `/`, which by itself matches all requests to the
@@ -3358,17 +3980,179 @@ module Aws::AppMesh
3358
3980
  # `my-service.local/metrics`, your prefix should be `/metrics`.
3359
3981
  # @return [String]
3360
3982
  #
3983
+ # @!attribute [rw] query_parameters
3984
+ # The query parameter to match on.
3985
+ # @return [Array<Types::HttpQueryParameter>]
3986
+ #
3361
3987
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteMatch AWS API Documentation
3362
3988
  #
3363
3989
  class HttpGatewayRouteMatch < Struct.new(
3990
+ :headers,
3991
+ :hostname,
3992
+ :method,
3993
+ :path,
3994
+ :prefix,
3995
+ :query_parameters)
3996
+ SENSITIVE = []
3997
+ include Aws::Structure
3998
+ end
3999
+
4000
+ # An object that represents the path to rewrite.
4001
+ #
4002
+ # @note When making an API call, you may pass HttpGatewayRoutePathRewrite
4003
+ # data as a hash:
4004
+ #
4005
+ # {
4006
+ # exact: "HttpPathExact",
4007
+ # }
4008
+ #
4009
+ # @!attribute [rw] exact
4010
+ # The exact path to rewrite.
4011
+ # @return [String]
4012
+ #
4013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoutePathRewrite AWS API Documentation
4014
+ #
4015
+ class HttpGatewayRoutePathRewrite < Struct.new(
4016
+ :exact)
4017
+ SENSITIVE = []
4018
+ include Aws::Structure
4019
+ end
4020
+
4021
+ # An object representing the beginning characters of the route to
4022
+ # rewrite.
4023
+ #
4024
+ # @note When making an API call, you may pass HttpGatewayRoutePrefixRewrite
4025
+ # data as a hash:
4026
+ #
4027
+ # {
4028
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
4029
+ # value: "HttpGatewayRoutePrefix",
4030
+ # }
4031
+ #
4032
+ # @!attribute [rw] default_prefix
4033
+ # The default prefix used to replace the incoming route prefix when
4034
+ # rewritten.
4035
+ # @return [String]
4036
+ #
4037
+ # @!attribute [rw] value
4038
+ # The value used to replace the incoming route prefix when rewritten.
4039
+ # @return [String]
4040
+ #
4041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoutePrefixRewrite AWS API Documentation
4042
+ #
4043
+ class HttpGatewayRoutePrefixRewrite < Struct.new(
4044
+ :default_prefix,
4045
+ :value)
4046
+ SENSITIVE = []
4047
+ include Aws::Structure
4048
+ end
4049
+
4050
+ # An object representing the gateway route to rewrite.
4051
+ #
4052
+ # @note When making an API call, you may pass HttpGatewayRouteRewrite
4053
+ # data as a hash:
4054
+ #
4055
+ # {
4056
+ # hostname: {
4057
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
4058
+ # },
4059
+ # path: {
4060
+ # exact: "HttpPathExact",
4061
+ # },
4062
+ # prefix: {
4063
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
4064
+ # value: "HttpGatewayRoutePrefix",
4065
+ # },
4066
+ # }
4067
+ #
4068
+ # @!attribute [rw] hostname
4069
+ # The host name to rewrite.
4070
+ # @return [Types::GatewayRouteHostnameRewrite]
4071
+ #
4072
+ # @!attribute [rw] path
4073
+ # The path to rewrite.
4074
+ # @return [Types::HttpGatewayRoutePathRewrite]
4075
+ #
4076
+ # @!attribute [rw] prefix
4077
+ # The specified beginning characters to rewrite.
4078
+ # @return [Types::HttpGatewayRoutePrefixRewrite]
4079
+ #
4080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteRewrite AWS API Documentation
4081
+ #
4082
+ class HttpGatewayRouteRewrite < Struct.new(
4083
+ :hostname,
4084
+ :path,
3364
4085
  :prefix)
3365
4086
  SENSITIVE = []
3366
4087
  include Aws::Structure
3367
4088
  end
3368
4089
 
4090
+ # An object representing the path to match in the request.
4091
+ #
4092
+ # @note When making an API call, you may pass HttpPathMatch
4093
+ # data as a hash:
4094
+ #
4095
+ # {
4096
+ # exact: "HttpPathExact",
4097
+ # regex: "HttpPathRegex",
4098
+ # }
4099
+ #
4100
+ # @!attribute [rw] exact
4101
+ # The exact path to match on.
4102
+ # @return [String]
4103
+ #
4104
+ # @!attribute [rw] regex
4105
+ # The regex used to match the path.
4106
+ # @return [String]
4107
+ #
4108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpPathMatch AWS API Documentation
4109
+ #
4110
+ class HttpPathMatch < Struct.new(
4111
+ :exact,
4112
+ :regex)
4113
+ SENSITIVE = []
4114
+ include Aws::Structure
4115
+ end
4116
+
4117
+ # An object that represents the query parameter in the request.
4118
+ #
4119
+ # @note When making an API call, you may pass HttpQueryParameter
4120
+ # data as a hash:
4121
+ #
4122
+ # {
4123
+ # match: {
4124
+ # exact: "String",
4125
+ # },
4126
+ # name: "QueryParameterName", # required
4127
+ # }
4128
+ #
4129
+ # @!attribute [rw] match
4130
+ # The query parameter to match on.
4131
+ # @return [Types::QueryParameterMatch]
4132
+ #
4133
+ # @!attribute [rw] name
4134
+ # A name for the query parameter that will be matched on.
4135
+ # @return [String]
4136
+ #
4137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpQueryParameter AWS API Documentation
4138
+ #
4139
+ class HttpQueryParameter < Struct.new(
4140
+ :match,
4141
+ :name)
4142
+ SENSITIVE = []
4143
+ include Aws::Structure
4144
+ end
4145
+
3369
4146
  # An object that represents a retry policy. Specify at least one value
3370
4147
  # for at least one of the types of `RetryEvents`, a value for
3371
- # `maxRetries`, and a value for `perRetryTimeout`.
4148
+ # `maxRetries`, and a value for `perRetryTimeout`. Both `server-error`
4149
+ # and `gateway-error` under `httpRetryEvents` include the Envoy `reset`
4150
+ # policy. For more information on the `reset` policy, see the [Envoy
4151
+ # documentation][1].
4152
+ #
4153
+ #
4154
+ #
4155
+ # [1]: https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on
3372
4156
  #
3373
4157
  # @note When making an API call, you may pass HttpRetryPolicy
3374
4158
  # data as a hash:
@@ -3449,11 +4233,23 @@ module Aws::AppMesh
3449
4233
  # regex: "HeaderMatch",
3450
4234
  # suffix: "HeaderMatch",
3451
4235
  # },
3452
- # name: "HeaderName", # required
4236
+ # name: "HeaderName", # required
4237
+ # },
4238
+ # ],
4239
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
4240
+ # path: {
4241
+ # exact: "HttpPathExact",
4242
+ # regex: "HttpPathRegex",
4243
+ # },
4244
+ # prefix: "String",
4245
+ # query_parameters: [
4246
+ # {
4247
+ # match: {
4248
+ # exact: "String",
4249
+ # },
4250
+ # name: "QueryParameterName", # required
3453
4251
  # },
3454
4252
  # ],
3455
- # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3456
- # prefix: "String", # required
3457
4253
  # scheme: "http", # accepts http, https
3458
4254
  # },
3459
4255
  # retry_policy: {
@@ -3601,18 +4397,34 @@ module Aws::AppMesh
3601
4397
  # },
3602
4398
  # ],
3603
4399
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3604
- # prefix: "String", # required
4400
+ # path: {
4401
+ # exact: "HttpPathExact",
4402
+ # regex: "HttpPathRegex",
4403
+ # },
4404
+ # prefix: "String",
4405
+ # query_parameters: [
4406
+ # {
4407
+ # match: {
4408
+ # exact: "String",
4409
+ # },
4410
+ # name: "QueryParameterName", # required
4411
+ # },
4412
+ # ],
3605
4413
  # scheme: "http", # accepts http, https
3606
4414
  # }
3607
4415
  #
3608
4416
  # @!attribute [rw] headers
3609
- # An object that represents the client request headers to match on.
4417
+ # The client request headers to match on.
3610
4418
  # @return [Array<Types::HttpRouteHeader>]
3611
4419
  #
3612
4420
  # @!attribute [rw] method
3613
4421
  # The client request method to match on. Specify only one.
3614
4422
  # @return [String]
3615
4423
  #
4424
+ # @!attribute [rw] path
4425
+ # The client request path to match on.
4426
+ # @return [Types::HttpPathMatch]
4427
+ #
3616
4428
  # @!attribute [rw] prefix
3617
4429
  # Specifies the path to match requests with. This parameter must
3618
4430
  # always start with `/`, which by itself matches all requests to the
@@ -3622,8 +4434,13 @@ module Aws::AppMesh
3622
4434
  # `my-service.local/metrics`, your prefix should be `/metrics`.
3623
4435
  # @return [String]
3624
4436
  #
4437
+ # @!attribute [rw] query_parameters
4438
+ # The client request query parameters to match on.
4439
+ # @return [Array<Types::HttpQueryParameter>]
4440
+ #
3625
4441
  # @!attribute [rw] scheme
3626
- # The client request scheme to match on. Specify only one.
4442
+ # The client request scheme to match on. Specify only one. Applicable
4443
+ # only for HTTP2 routes.
3627
4444
  # @return [String]
3628
4445
  #
3629
4446
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRouteMatch AWS API Documentation
@@ -3631,7 +4448,9 @@ module Aws::AppMesh
3631
4448
  class HttpRouteMatch < Struct.new(
3632
4449
  :headers,
3633
4450
  :method,
4451
+ :path,
3634
4452
  :prefix,
4453
+ :query_parameters,
3635
4454
  :scheme)
3636
4455
  SENSITIVE = []
3637
4456
  include Aws::Structure
@@ -4504,47 +5323,9 @@ module Aws::AppMesh
4504
5323
 
4505
5324
  # An object that represents timeouts for different protocols.
4506
5325
  #
4507
- # @note When making an API call, you may pass ListenerTimeout
4508
- # data as a hash:
5326
+ # @note ListenerTimeout is a union - when making an API calls you must set exactly one of the members.
4509
5327
  #
4510
- # {
4511
- # grpc: {
4512
- # idle: {
4513
- # unit: "s", # accepts s, ms
4514
- # value: 1,
4515
- # },
4516
- # per_request: {
4517
- # unit: "s", # accepts s, ms
4518
- # value: 1,
4519
- # },
4520
- # },
4521
- # http: {
4522
- # idle: {
4523
- # unit: "s", # accepts s, ms
4524
- # value: 1,
4525
- # },
4526
- # per_request: {
4527
- # unit: "s", # accepts s, ms
4528
- # value: 1,
4529
- # },
4530
- # },
4531
- # http2: {
4532
- # idle: {
4533
- # unit: "s", # accepts s, ms
4534
- # value: 1,
4535
- # },
4536
- # per_request: {
4537
- # unit: "s", # accepts s, ms
4538
- # value: 1,
4539
- # },
4540
- # },
4541
- # tcp: {
4542
- # idle: {
4543
- # unit: "s", # accepts s, ms
4544
- # value: 1,
4545
- # },
4546
- # },
4547
- # }
5328
+ # @note ListenerTimeout is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ListenerTimeout corresponding to the set member.
4548
5329
  #
4549
5330
  # @!attribute [rw] grpc
4550
5331
  # An object that represents types of timeouts.
@@ -4568,9 +5349,17 @@ module Aws::AppMesh
4568
5349
  :grpc,
4569
5350
  :http,
4570
5351
  :http2,
4571
- :tcp)
5352
+ :tcp,
5353
+ :unknown)
4572
5354
  SENSITIVE = []
4573
5355
  include Aws::Structure
5356
+ include Aws::Structure::Union
5357
+
5358
+ class Grpc < ListenerTimeout; end
5359
+ class Http < ListenerTimeout; end
5360
+ class Http2 < ListenerTimeout; end
5361
+ class Tcp < ListenerTimeout; end
5362
+ class Unknown < ListenerTimeout; end
4574
5363
  end
4575
5364
 
4576
5365
  # An object that represents the Transport Layer Security (TLS)
@@ -4672,21 +5461,9 @@ module Aws::AppMesh
4672
5461
  # An object that represents a listener's Transport Layer Security (TLS)
4673
5462
  # certificate.
4674
5463
  #
4675
- # @note When making an API call, you may pass ListenerTlsCertificate
4676
- # data as a hash:
5464
+ # @note ListenerTlsCertificate is a union - when making an API calls you must set exactly one of the members.
4677
5465
  #
4678
- # {
4679
- # acm: {
4680
- # certificate_arn: "Arn", # required
4681
- # },
4682
- # file: {
4683
- # certificate_chain: "FilePath", # required
4684
- # private_key: "FilePath", # required
4685
- # },
4686
- # sds: {
4687
- # secret_name: "SdsSecretName", # required
4688
- # },
4689
- # }
5466
+ # @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.
4690
5467
  #
4691
5468
  # @!attribute [rw] acm
4692
5469
  # A reference to an object that represents an AWS Certicate Manager
@@ -4707,9 +5484,16 @@ module Aws::AppMesh
4707
5484
  class ListenerTlsCertificate < Struct.new(
4708
5485
  :acm,
4709
5486
  :file,
4710
- :sds)
5487
+ :sds,
5488
+ :unknown)
4711
5489
  SENSITIVE = []
4712
5490
  include Aws::Structure
5491
+ include Aws::Structure::Union
5492
+
5493
+ class Acm < ListenerTlsCertificate; end
5494
+ class File < ListenerTlsCertificate; end
5495
+ class Sds < ListenerTlsCertificate; end
5496
+ class Unknown < ListenerTlsCertificate; end
4713
5497
  end
4714
5498
 
4715
5499
  # An object that represents a local file certificate. The certificate
@@ -4822,17 +5606,9 @@ module Aws::AppMesh
4822
5606
  # An object that represents a listener's Transport Layer Security (TLS)
4823
5607
  # validation context trust.
4824
5608
  #
4825
- # @note When making an API call, you may pass ListenerTlsValidationContextTrust
4826
- # data as a hash:
5609
+ # @note ListenerTlsValidationContextTrust is a union - when making an API calls you must set exactly one of the members.
4827
5610
  #
4828
- # {
4829
- # file: {
4830
- # certificate_chain: "FilePath", # required
4831
- # },
4832
- # sds: {
4833
- # secret_name: "SdsSecretName", # required
4834
- # },
4835
- # }
5611
+ # @note ListenerTlsValidationContextTrust is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ListenerTlsValidationContextTrust corresponding to the set member.
4836
5612
  #
4837
5613
  # @!attribute [rw] file
4838
5614
  # An object that represents a Transport Layer Security (TLS)
@@ -4849,9 +5625,15 @@ module Aws::AppMesh
4849
5625
  #
4850
5626
  class ListenerTlsValidationContextTrust < Struct.new(
4851
5627
  :file,
4852
- :sds)
5628
+ :sds,
5629
+ :unknown)
4853
5630
  SENSITIVE = []
4854
5631
  include Aws::Structure
5632
+ include Aws::Structure::Union
5633
+
5634
+ class File < ListenerTlsValidationContextTrust; end
5635
+ class Sds < ListenerTlsValidationContextTrust; end
5636
+ class Unknown < ListenerTlsValidationContextTrust; end
4855
5637
  end
4856
5638
 
4857
5639
  # An object that represents the logging information for a virtual node.
@@ -5126,6 +5908,27 @@ module Aws::AppMesh
5126
5908
  include Aws::Structure
5127
5909
  end
5128
5910
 
5911
+ # An object representing the query parameter to match.
5912
+ #
5913
+ # @note When making an API call, you may pass QueryParameterMatch
5914
+ # data as a hash:
5915
+ #
5916
+ # {
5917
+ # exact: "String",
5918
+ # }
5919
+ #
5920
+ # @!attribute [rw] exact
5921
+ # The exact query parameter to match on.
5922
+ # @return [String]
5923
+ #
5924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/QueryParameterMatch AWS API Documentation
5925
+ #
5926
+ class QueryParameterMatch < Struct.new(
5927
+ :exact)
5928
+ SENSITIVE = []
5929
+ include Aws::Structure
5930
+ end
5931
+
5129
5932
  # You can't delete the specified resource because it's in use or
5130
5933
  # required by another resource.
5131
5934
  #
@@ -5395,7 +6198,19 @@ module Aws::AppMesh
5395
6198
  # },
5396
6199
  # ],
5397
6200
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
5398
- # prefix: "String", # required
6201
+ # path: {
6202
+ # exact: "HttpPathExact",
6203
+ # regex: "HttpPathRegex",
6204
+ # },
6205
+ # prefix: "String",
6206
+ # query_parameters: [
6207
+ # {
6208
+ # match: {
6209
+ # exact: "String",
6210
+ # },
6211
+ # name: "QueryParameterName", # required
6212
+ # },
6213
+ # ],
5399
6214
  # scheme: "http", # accepts http, https
5400
6215
  # },
5401
6216
  # retry_policy: {
@@ -5445,7 +6260,19 @@ module Aws::AppMesh
5445
6260
  # },
5446
6261
  # ],
5447
6262
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
5448
- # prefix: "String", # required
6263
+ # path: {
6264
+ # exact: "HttpPathExact",
6265
+ # regex: "HttpPathRegex",
6266
+ # },
6267
+ # prefix: "String",
6268
+ # query_parameters: [
6269
+ # {
6270
+ # match: {
6271
+ # exact: "String",
6272
+ # },
6273
+ # name: "QueryParameterName", # required
6274
+ # },
6275
+ # ],
5449
6276
  # scheme: "http", # accepts http, https
5450
6277
  # },
5451
6278
  # retry_policy: {
@@ -5537,27 +6364,12 @@ module Aws::AppMesh
5537
6364
  # An object that represents the service discovery information for a
5538
6365
  # virtual node.
5539
6366
  #
5540
- # @note When making an API call, you may pass ServiceDiscovery
5541
- # data as a hash:
6367
+ # @note ServiceDiscovery is a union - when making an API calls you must set exactly one of the members.
5542
6368
  #
5543
- # {
5544
- # aws_cloud_map: {
5545
- # attributes: [
5546
- # {
5547
- # key: "AwsCloudMapInstanceAttributeKey", # required
5548
- # value: "AwsCloudMapInstanceAttributeValue", # required
5549
- # },
5550
- # ],
5551
- # namespace_name: "AwsCloudMapName", # required
5552
- # service_name: "AwsCloudMapName", # required
5553
- # },
5554
- # dns: {
5555
- # hostname: "Hostname", # required
5556
- # },
5557
- # }
6369
+ # @note ServiceDiscovery is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ServiceDiscovery corresponding to the set member.
5558
6370
  #
5559
6371
  # @!attribute [rw] aws_cloud_map
5560
- # Specifies any AWS Cloud Map information for the virtual node.
6372
+ # Specifies any Cloud Map information for the virtual node.
5561
6373
  # @return [Types::AwsCloudMapServiceDiscovery]
5562
6374
  #
5563
6375
  # @!attribute [rw] dns
@@ -5568,9 +6380,15 @@ module Aws::AppMesh
5568
6380
  #
5569
6381
  class ServiceDiscovery < Struct.new(
5570
6382
  :aws_cloud_map,
5571
- :dns)
6383
+ :dns,
6384
+ :unknown)
5572
6385
  SENSITIVE = []
5573
6386
  include Aws::Structure
6387
+ include Aws::Structure::Union
6388
+
6389
+ class AwsCloudMap < ServiceDiscovery; end
6390
+ class Dns < ServiceDiscovery; end
6391
+ class Unknown < ServiceDiscovery; end
5574
6392
  end
5575
6393
 
5576
6394
  # The request has failed due to a temporary failure of the service.
@@ -5849,7 +6667,7 @@ module Aws::AppMesh
5849
6667
  end
5850
6668
 
5851
6669
  # An object that represents a Transport Layer Security (TLS) validation
5852
- # context trust for an AWS Certicate Manager (ACM) certificate.
6670
+ # context trust for an Certificate Manager certificate.
5853
6671
  #
5854
6672
  # @note When making an API call, you may pass TlsValidationContextAcmTrust
5855
6673
  # data as a hash:
@@ -5926,24 +6744,13 @@ module Aws::AppMesh
5926
6744
  # An object that represents a Transport Layer Security (TLS) validation
5927
6745
  # context trust.
5928
6746
  #
5929
- # @note When making an API call, you may pass TlsValidationContextTrust
5930
- # data as a hash:
6747
+ # @note TlsValidationContextTrust is a union - when making an API calls you must set exactly one of the members.
5931
6748
  #
5932
- # {
5933
- # acm: {
5934
- # certificate_authority_arns: ["Arn"], # required
5935
- # },
5936
- # file: {
5937
- # certificate_chain: "FilePath", # required
5938
- # },
5939
- # sds: {
5940
- # secret_name: "SdsSecretName", # required
5941
- # },
5942
- # }
6749
+ # @note TlsValidationContextTrust is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of TlsValidationContextTrust corresponding to the set member.
5943
6750
  #
5944
6751
  # @!attribute [rw] acm
5945
6752
  # A reference to an object that represents a Transport Layer Security
5946
- # (TLS) validation context trust for an AWS Certicate Manager (ACM)
6753
+ # (TLS) validation context trust for an Certificate Manager
5947
6754
  # certificate.
5948
6755
  # @return [Types::TlsValidationContextAcmTrust]
5949
6756
  #
@@ -5962,9 +6769,16 @@ module Aws::AppMesh
5962
6769
  class TlsValidationContextTrust < Struct.new(
5963
6770
  :acm,
5964
6771
  :file,
5965
- :sds)
6772
+ :sds,
6773
+ :unknown)
5966
6774
  SENSITIVE = []
5967
6775
  include Aws::Structure
6776
+ include Aws::Structure::Union
6777
+
6778
+ class Acm < TlsValidationContextTrust; end
6779
+ class File < TlsValidationContextTrust; end
6780
+ class Sds < TlsValidationContextTrust; end
6781
+ class Unknown < TlsValidationContextTrust; end
5968
6782
  end
5969
6783
 
5970
6784
  # The maximum request rate permitted by the App Mesh APIs has been
@@ -6046,6 +6860,11 @@ module Aws::AppMesh
6046
6860
  # spec: { # required
6047
6861
  # grpc_route: {
6048
6862
  # action: { # required
6863
+ # rewrite: {
6864
+ # hostname: {
6865
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
6866
+ # },
6867
+ # },
6049
6868
  # target: { # required
6050
6869
  # virtual_service: { # required
6051
6870
  # virtual_service_name: "ResourceName", # required
@@ -6053,11 +6872,43 @@ module Aws::AppMesh
6053
6872
  # },
6054
6873
  # },
6055
6874
  # match: { # required
6875
+ # hostname: {
6876
+ # exact: "ExactHostName",
6877
+ # suffix: "SuffixHostname",
6878
+ # },
6879
+ # metadata: [
6880
+ # {
6881
+ # invert: false,
6882
+ # match: {
6883
+ # exact: "HeaderMatch",
6884
+ # prefix: "HeaderMatch",
6885
+ # range: {
6886
+ # end: 1, # required
6887
+ # start: 1, # required
6888
+ # },
6889
+ # regex: "HeaderMatch",
6890
+ # suffix: "HeaderMatch",
6891
+ # },
6892
+ # name: "HeaderName", # required
6893
+ # },
6894
+ # ],
6056
6895
  # service_name: "ServiceName",
6057
6896
  # },
6058
6897
  # },
6059
6898
  # http2_route: {
6060
6899
  # action: { # required
6900
+ # rewrite: {
6901
+ # hostname: {
6902
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
6903
+ # },
6904
+ # path: {
6905
+ # exact: "HttpPathExact",
6906
+ # },
6907
+ # prefix: {
6908
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
6909
+ # value: "HttpGatewayRoutePrefix",
6910
+ # },
6911
+ # },
6061
6912
  # target: { # required
6062
6913
  # virtual_service: { # required
6063
6914
  # virtual_service_name: "ResourceName", # required
@@ -6065,11 +6916,56 @@ module Aws::AppMesh
6065
6916
  # },
6066
6917
  # },
6067
6918
  # match: { # required
6068
- # prefix: "String", # required
6919
+ # headers: [
6920
+ # {
6921
+ # invert: false,
6922
+ # match: {
6923
+ # exact: "HeaderMatch",
6924
+ # prefix: "HeaderMatch",
6925
+ # range: {
6926
+ # end: 1, # required
6927
+ # start: 1, # required
6928
+ # },
6929
+ # regex: "HeaderMatch",
6930
+ # suffix: "HeaderMatch",
6931
+ # },
6932
+ # name: "HeaderName", # required
6933
+ # },
6934
+ # ],
6935
+ # hostname: {
6936
+ # exact: "ExactHostName",
6937
+ # suffix: "SuffixHostname",
6938
+ # },
6939
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
6940
+ # path: {
6941
+ # exact: "HttpPathExact",
6942
+ # regex: "HttpPathRegex",
6943
+ # },
6944
+ # prefix: "String",
6945
+ # query_parameters: [
6946
+ # {
6947
+ # match: {
6948
+ # exact: "String",
6949
+ # },
6950
+ # name: "QueryParameterName", # required
6951
+ # },
6952
+ # ],
6069
6953
  # },
6070
6954
  # },
6071
6955
  # http_route: {
6072
6956
  # action: { # required
6957
+ # rewrite: {
6958
+ # hostname: {
6959
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
6960
+ # },
6961
+ # path: {
6962
+ # exact: "HttpPathExact",
6963
+ # },
6964
+ # prefix: {
6965
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
6966
+ # value: "HttpGatewayRoutePrefix",
6967
+ # },
6968
+ # },
6073
6969
  # target: { # required
6074
6970
  # virtual_service: { # required
6075
6971
  # virtual_service_name: "ResourceName", # required
@@ -6077,9 +6973,43 @@ module Aws::AppMesh
6077
6973
  # },
6078
6974
  # },
6079
6975
  # match: { # required
6080
- # prefix: "String", # required
6976
+ # headers: [
6977
+ # {
6978
+ # invert: false,
6979
+ # match: {
6980
+ # exact: "HeaderMatch",
6981
+ # prefix: "HeaderMatch",
6982
+ # range: {
6983
+ # end: 1, # required
6984
+ # start: 1, # required
6985
+ # },
6986
+ # regex: "HeaderMatch",
6987
+ # suffix: "HeaderMatch",
6988
+ # },
6989
+ # name: "HeaderName", # required
6990
+ # },
6991
+ # ],
6992
+ # hostname: {
6993
+ # exact: "ExactHostName",
6994
+ # suffix: "SuffixHostname",
6995
+ # },
6996
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
6997
+ # path: {
6998
+ # exact: "HttpPathExact",
6999
+ # regex: "HttpPathRegex",
7000
+ # },
7001
+ # prefix: "String",
7002
+ # query_parameters: [
7003
+ # {
7004
+ # match: {
7005
+ # exact: "String",
7006
+ # },
7007
+ # name: "QueryParameterName", # required
7008
+ # },
7009
+ # ],
6081
7010
  # },
6082
7011
  # },
7012
+ # priority: 1,
6083
7013
  # },
6084
7014
  # virtual_gateway_name: "ResourceName", # required
6085
7015
  # }
@@ -6298,7 +7228,19 @@ module Aws::AppMesh
6298
7228
  # },
6299
7229
  # ],
6300
7230
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
6301
- # prefix: "String", # required
7231
+ # path: {
7232
+ # exact: "HttpPathExact",
7233
+ # regex: "HttpPathRegex",
7234
+ # },
7235
+ # prefix: "String",
7236
+ # query_parameters: [
7237
+ # {
7238
+ # match: {
7239
+ # exact: "String",
7240
+ # },
7241
+ # name: "QueryParameterName", # required
7242
+ # },
7243
+ # ],
6302
7244
  # scheme: "http", # accepts http, https
6303
7245
  # },
6304
7246
  # retry_policy: {
@@ -6348,7 +7290,19 @@ module Aws::AppMesh
6348
7290
  # },
6349
7291
  # ],
6350
7292
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
6351
- # prefix: "String", # required
7293
+ # path: {
7294
+ # exact: "HttpPathExact",
7295
+ # regex: "HttpPathRegex",
7296
+ # },
7297
+ # prefix: "String",
7298
+ # query_parameters: [
7299
+ # {
7300
+ # match: {
7301
+ # exact: "String",
7302
+ # },
7303
+ # name: "QueryParameterName", # required
7304
+ # },
7305
+ # ],
6352
7306
  # scheme: "http", # accepts http, https
6353
7307
  # },
6354
7308
  # retry_policy: {
@@ -6847,6 +7801,7 @@ module Aws::AppMesh
6847
7801
  # },
6848
7802
  # dns: {
6849
7803
  # hostname: "Hostname", # required
7804
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
6850
7805
  # },
6851
7806
  # },
6852
7807
  # },
@@ -7086,14 +8041,9 @@ module Aws::AppMesh
7086
8041
 
7087
8042
  # The access log configuration for a virtual gateway.
7088
8043
  #
7089
- # @note When making an API call, you may pass VirtualGatewayAccessLog
7090
- # data as a hash:
8044
+ # @note VirtualGatewayAccessLog is a union - when making an API calls you must set exactly one of the members.
7091
8045
  #
7092
- # {
7093
- # file: {
7094
- # path: "FilePath", # required
7095
- # },
7096
- # }
8046
+ # @note VirtualGatewayAccessLog is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualGatewayAccessLog corresponding to the set member.
7097
8047
  #
7098
8048
  # @!attribute [rw] file
7099
8049
  # The file object to send virtual gateway access logs to.
@@ -7102,9 +8052,14 @@ module Aws::AppMesh
7102
8052
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualGatewayAccessLog AWS API Documentation
7103
8053
  #
7104
8054
  class VirtualGatewayAccessLog < Struct.new(
7105
- :file)
8055
+ :file,
8056
+ :unknown)
7106
8057
  SENSITIVE = []
7107
8058
  include Aws::Structure
8059
+ include Aws::Structure::Union
8060
+
8061
+ class File < VirtualGatewayAccessLog; end
8062
+ class Unknown < VirtualGatewayAccessLog; end
7108
8063
  end
7109
8064
 
7110
8065
  # An object that represents the default properties for a backend.
@@ -7283,28 +8238,19 @@ module Aws::AppMesh
7283
8238
  # An object that represents the virtual gateway's client's Transport
7284
8239
  # Layer Security (TLS) certificate.
7285
8240
  #
7286
- # @note When making an API call, you may pass VirtualGatewayClientTlsCertificate
7287
- # data as a hash:
8241
+ # @note VirtualGatewayClientTlsCertificate is a union - when making an API calls you must set exactly one of the members.
7288
8242
  #
7289
- # {
7290
- # file: {
7291
- # certificate_chain: "FilePath", # required
7292
- # private_key: "FilePath", # required
7293
- # },
7294
- # sds: {
7295
- # secret_name: "VirtualGatewaySdsSecretName", # required
7296
- # },
7297
- # }
8243
+ # @note VirtualGatewayClientTlsCertificate is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualGatewayClientTlsCertificate corresponding to the set member.
7298
8244
  #
7299
8245
  # @!attribute [rw] file
7300
8246
  # An object that represents a local file certificate. The certificate
7301
8247
  # must meet specific requirements and you must have proxy
7302
- # authorization enabled. For more information, see [Transport Layer
7303
- # Security (TLS)][1].
8248
+ # authorization enabled. For more information, see [ Transport Layer
8249
+ # Security (TLS) ][1].
7304
8250
  #
7305
8251
  #
7306
8252
  #
7307
- # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites
8253
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html
7308
8254
  # @return [Types::VirtualGatewayListenerTlsFileCertificate]
7309
8255
  #
7310
8256
  # @!attribute [rw] sds
@@ -7316,9 +8262,15 @@ module Aws::AppMesh
7316
8262
  #
7317
8263
  class VirtualGatewayClientTlsCertificate < Struct.new(
7318
8264
  :file,
7319
- :sds)
8265
+ :sds,
8266
+ :unknown)
7320
8267
  SENSITIVE = []
7321
8268
  include Aws::Structure
8269
+ include Aws::Structure::Union
8270
+
8271
+ class File < VirtualGatewayClientTlsCertificate; end
8272
+ class Sds < VirtualGatewayClientTlsCertificate; end
8273
+ class Unknown < VirtualGatewayClientTlsCertificate; end
7322
8274
  end
7323
8275
 
7324
8276
  # An object that represents the type of virtual gateway connection pool.
@@ -7329,21 +8281,9 @@ module Aws::AppMesh
7329
8281
  # If not present the default value for `maxPendingRequests` is
7330
8282
  # `2147483647`.
7331
8283
  #
7332
- # @note When making an API call, you may pass VirtualGatewayConnectionPool
7333
- # data as a hash:
8284
+ # @note VirtualGatewayConnectionPool is a union - when making an API calls you must set exactly one of the members.
7334
8285
  #
7335
- # {
7336
- # grpc: {
7337
- # max_requests: 1, # required
7338
- # },
7339
- # http: {
7340
- # max_connections: 1, # required
7341
- # max_pending_requests: 1,
7342
- # },
7343
- # http2: {
7344
- # max_requests: 1, # required
7345
- # },
7346
- # }
8286
+ # @note VirtualGatewayConnectionPool is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualGatewayConnectionPool corresponding to the set member.
7347
8287
  #
7348
8288
  # @!attribute [rw] grpc
7349
8289
  # An object that represents a type of connection pool.
@@ -7362,9 +8302,16 @@ module Aws::AppMesh
7362
8302
  class VirtualGatewayConnectionPool < Struct.new(
7363
8303
  :grpc,
7364
8304
  :http,
7365
- :http2)
8305
+ :http2,
8306
+ :unknown)
7366
8307
  SENSITIVE = []
7367
8308
  include Aws::Structure
8309
+ include Aws::Structure::Union
8310
+
8311
+ class Grpc < VirtualGatewayConnectionPool; end
8312
+ class Http < VirtualGatewayConnectionPool; end
8313
+ class Http2 < VirtualGatewayConnectionPool; end
8314
+ class Unknown < VirtualGatewayConnectionPool; end
7368
8315
  end
7369
8316
 
7370
8317
  # An object that represents a virtual gateway returned by a describe
@@ -7730,7 +8677,7 @@ module Aws::AppMesh
7730
8677
  include Aws::Structure
7731
8678
  end
7732
8679
 
7733
- # An object that represents an AWS Certicate Manager (ACM) certificate.
8680
+ # An object that represents an Certificate Manager certificate.
7734
8681
  #
7735
8682
  # @note When making an API call, you may pass VirtualGatewayListenerTlsAcmCertificate
7736
8683
  # data as a hash:
@@ -7761,25 +8708,13 @@ module Aws::AppMesh
7761
8708
  # An object that represents a listener's Transport Layer Security (TLS)
7762
8709
  # certificate.
7763
8710
  #
7764
- # @note When making an API call, you may pass VirtualGatewayListenerTlsCertificate
7765
- # data as a hash:
8711
+ # @note VirtualGatewayListenerTlsCertificate is a union - when making an API calls you must set exactly one of the members.
7766
8712
  #
7767
- # {
7768
- # acm: {
7769
- # certificate_arn: "Arn", # required
7770
- # },
7771
- # file: {
7772
- # certificate_chain: "FilePath", # required
7773
- # private_key: "FilePath", # required
7774
- # },
7775
- # sds: {
7776
- # secret_name: "VirtualGatewaySdsSecretName", # required
7777
- # },
7778
- # }
8713
+ # @note VirtualGatewayListenerTlsCertificate is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualGatewayListenerTlsCertificate corresponding to the set member.
7779
8714
  #
7780
8715
  # @!attribute [rw] acm
7781
- # A reference to an object that represents an AWS Certicate Manager
7782
- # (ACM) certificate.
8716
+ # A reference to an object that represents an Certificate Manager
8717
+ # certificate.
7783
8718
  # @return [Types::VirtualGatewayListenerTlsAcmCertificate]
7784
8719
  #
7785
8720
  # @!attribute [rw] file
@@ -7796,9 +8731,16 @@ module Aws::AppMesh
7796
8731
  class VirtualGatewayListenerTlsCertificate < Struct.new(
7797
8732
  :acm,
7798
8733
  :file,
7799
- :sds)
8734
+ :sds,
8735
+ :unknown)
7800
8736
  SENSITIVE = []
7801
8737
  include Aws::Structure
8738
+ include Aws::Structure::Union
8739
+
8740
+ class Acm < VirtualGatewayListenerTlsCertificate; end
8741
+ class File < VirtualGatewayListenerTlsCertificate; end
8742
+ class Sds < VirtualGatewayListenerTlsCertificate; end
8743
+ class Unknown < VirtualGatewayListenerTlsCertificate; end
7802
8744
  end
7803
8745
 
7804
8746
  # An object that represents a local file certificate. The certificate
@@ -7838,7 +8780,7 @@ module Aws::AppMesh
7838
8780
 
7839
8781
  # An object that represents the virtual gateway's listener's Secret
7840
8782
  # Discovery Service certificate.The proxy must be configured with a
7841
- # local SDS provider via a Unix Domain Socket. See App Mesh [TLS
8783
+ # local SDS provider via a Unix Domain Socket. See App Mesh[TLS
7842
8784
  # documentation][1] for more info.
7843
8785
  #
7844
8786
  #
@@ -7912,17 +8854,9 @@ module Aws::AppMesh
7912
8854
  # An object that represents a virtual gateway's listener's Transport
7913
8855
  # Layer Security (TLS) validation context trust.
7914
8856
  #
7915
- # @note When making an API call, you may pass VirtualGatewayListenerTlsValidationContextTrust
7916
- # data as a hash:
8857
+ # @note VirtualGatewayListenerTlsValidationContextTrust is a union - when making an API calls you must set exactly one of the members.
7917
8858
  #
7918
- # {
7919
- # file: {
7920
- # certificate_chain: "FilePath", # required
7921
- # },
7922
- # sds: {
7923
- # secret_name: "VirtualGatewaySdsSecretName", # required
7924
- # },
7925
- # }
8859
+ # @note VirtualGatewayListenerTlsValidationContextTrust is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualGatewayListenerTlsValidationContextTrust corresponding to the set member.
7926
8860
  #
7927
8861
  # @!attribute [rw] file
7928
8862
  # An object that represents a Transport Layer Security (TLS)
@@ -7939,9 +8873,15 @@ module Aws::AppMesh
7939
8873
  #
7940
8874
  class VirtualGatewayListenerTlsValidationContextTrust < Struct.new(
7941
8875
  :file,
7942
- :sds)
8876
+ :sds,
8877
+ :unknown)
7943
8878
  SENSITIVE = []
7944
8879
  include Aws::Structure
8880
+ include Aws::Structure::Union
8881
+
8882
+ class File < VirtualGatewayListenerTlsValidationContextTrust; end
8883
+ class Sds < VirtualGatewayListenerTlsValidationContextTrust; end
8884
+ class Unknown < VirtualGatewayListenerTlsValidationContextTrust; end
7945
8885
  end
7946
8886
 
7947
8887
  # An object that represents logging information.
@@ -8256,7 +9196,7 @@ module Aws::AppMesh
8256
9196
  end
8257
9197
 
8258
9198
  # An object that represents a Transport Layer Security (TLS) validation
8259
- # context trust for an AWS Certicate Manager (ACM) certificate.
9199
+ # context trust for an Certificate Manager certificate.
8260
9200
  #
8261
9201
  # @note When making an API call, you may pass VirtualGatewayTlsValidationContextAcmTrust
8262
9202
  # data as a hash:
@@ -8333,24 +9273,13 @@ module Aws::AppMesh
8333
9273
  # An object that represents a Transport Layer Security (TLS) validation
8334
9274
  # context trust.
8335
9275
  #
8336
- # @note When making an API call, you may pass VirtualGatewayTlsValidationContextTrust
8337
- # data as a hash:
9276
+ # @note VirtualGatewayTlsValidationContextTrust is a union - when making an API calls you must set exactly one of the members.
8338
9277
  #
8339
- # {
8340
- # acm: {
8341
- # certificate_authority_arns: ["Arn"], # required
8342
- # },
8343
- # file: {
8344
- # certificate_chain: "FilePath", # required
8345
- # },
8346
- # sds: {
8347
- # secret_name: "VirtualGatewaySdsSecretName", # required
8348
- # },
8349
- # }
9278
+ # @note VirtualGatewayTlsValidationContextTrust is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualGatewayTlsValidationContextTrust corresponding to the set member.
8350
9279
  #
8351
9280
  # @!attribute [rw] acm
8352
9281
  # A reference to an object that represents a Transport Layer Security
8353
- # (TLS) validation context trust for an AWS Certicate Manager (ACM)
9282
+ # (TLS) validation context trust for an Certificate Manager
8354
9283
  # certificate.
8355
9284
  # @return [Types::VirtualGatewayTlsValidationContextAcmTrust]
8356
9285
  #
@@ -8370,9 +9299,16 @@ module Aws::AppMesh
8370
9299
  class VirtualGatewayTlsValidationContextTrust < Struct.new(
8371
9300
  :acm,
8372
9301
  :file,
8373
- :sds)
9302
+ :sds,
9303
+ :unknown)
8374
9304
  SENSITIVE = []
8375
9305
  include Aws::Structure
9306
+ include Aws::Structure::Union
9307
+
9308
+ class Acm < VirtualGatewayTlsValidationContextTrust; end
9309
+ class File < VirtualGatewayTlsValidationContextTrust; end
9310
+ class Sds < VirtualGatewayTlsValidationContextTrust; end
9311
+ class Unknown < VirtualGatewayTlsValidationContextTrust; end
8376
9312
  end
8377
9313
 
8378
9314
  # An object that represents the type of virtual node connection pool.
@@ -8383,24 +9319,9 @@ module Aws::AppMesh
8383
9319
  # If not present the default value for `maxPendingRequests` is
8384
9320
  # `2147483647`.
8385
9321
  #
8386
- # @note When making an API call, you may pass VirtualNodeConnectionPool
8387
- # data as a hash:
9322
+ # @note VirtualNodeConnectionPool is a union - when making an API calls you must set exactly one of the members.
8388
9323
  #
8389
- # {
8390
- # grpc: {
8391
- # max_requests: 1, # required
8392
- # },
8393
- # http: {
8394
- # max_connections: 1, # required
8395
- # max_pending_requests: 1,
8396
- # },
8397
- # http2: {
8398
- # max_requests: 1, # required
8399
- # },
8400
- # tcp: {
8401
- # max_connections: 1, # required
8402
- # },
8403
- # }
9324
+ # @note VirtualNodeConnectionPool is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualNodeConnectionPool corresponding to the set member.
8404
9325
  #
8405
9326
  # @!attribute [rw] grpc
8406
9327
  # An object that represents a type of connection pool.
@@ -8424,9 +9345,17 @@ module Aws::AppMesh
8424
9345
  :grpc,
8425
9346
  :http,
8426
9347
  :http2,
8427
- :tcp)
9348
+ :tcp,
9349
+ :unknown)
8428
9350
  SENSITIVE = []
8429
9351
  include Aws::Structure
9352
+ include Aws::Structure::Union
9353
+
9354
+ class Grpc < VirtualNodeConnectionPool; end
9355
+ class Http < VirtualNodeConnectionPool; end
9356
+ class Http2 < VirtualNodeConnectionPool; end
9357
+ class Tcp < VirtualNodeConnectionPool; end
9358
+ class Unknown < VirtualNodeConnectionPool; end
8430
9359
  end
8431
9360
 
8432
9361
  # An object that represents a virtual node returned by a describe
@@ -8837,6 +9766,7 @@ module Aws::AppMesh
8837
9766
  # },
8838
9767
  # dns: {
8839
9768
  # hostname: "Hostname", # required
9769
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
8840
9770
  # },
8841
9771
  # },
8842
9772
  # }
@@ -9204,17 +10134,9 @@ module Aws::AppMesh
9204
10134
 
9205
10135
  # An object that represents the provider for a virtual service.
9206
10136
  #
9207
- # @note When making an API call, you may pass VirtualServiceProvider
9208
- # data as a hash:
10137
+ # @note VirtualServiceProvider is a union - when making an API calls you must set exactly one of the members.
9209
10138
  #
9210
- # {
9211
- # virtual_node: {
9212
- # virtual_node_name: "ResourceName", # required
9213
- # },
9214
- # virtual_router: {
9215
- # virtual_router_name: "ResourceName", # required
9216
- # },
9217
- # }
10139
+ # @note VirtualServiceProvider is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of VirtualServiceProvider corresponding to the set member.
9218
10140
  #
9219
10141
  # @!attribute [rw] virtual_node
9220
10142
  # The virtual node associated with a virtual service.
@@ -9228,9 +10150,15 @@ module Aws::AppMesh
9228
10150
  #
9229
10151
  class VirtualServiceProvider < Struct.new(
9230
10152
  :virtual_node,
9231
- :virtual_router)
10153
+ :virtual_router,
10154
+ :unknown)
9232
10155
  SENSITIVE = []
9233
10156
  include Aws::Structure
10157
+ include Aws::Structure::Union
10158
+
10159
+ class VirtualNode < VirtualServiceProvider; end
10160
+ class VirtualRouter < VirtualServiceProvider; end
10161
+ class Unknown < VirtualServiceProvider; end
9234
10162
  end
9235
10163
 
9236
10164
  # An object that represents a virtual service returned by a list