aws-sdk-appmesh 1.35.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -46,6 +46,7 @@ module Aws::AppMesh
46
46
  CreateVirtualRouterOutput = Shapes::StructureShape.new(name: 'CreateVirtualRouterOutput')
47
47
  CreateVirtualServiceInput = Shapes::StructureShape.new(name: 'CreateVirtualServiceInput')
48
48
  CreateVirtualServiceOutput = Shapes::StructureShape.new(name: 'CreateVirtualServiceOutput')
49
+ DefaultGatewayRouteRewrite = Shapes::StringShape.new(name: 'DefaultGatewayRouteRewrite')
49
50
  DeleteGatewayRouteInput = Shapes::StructureShape.new(name: 'DeleteGatewayRouteInput')
50
51
  DeleteGatewayRouteOutput = Shapes::StructureShape.new(name: 'DeleteGatewayRouteOutput')
51
52
  DeleteMeshInput = Shapes::StructureShape.new(name: 'DeleteMeshInput')
@@ -74,17 +75,22 @@ module Aws::AppMesh
74
75
  DescribeVirtualRouterOutput = Shapes::StructureShape.new(name: 'DescribeVirtualRouterOutput')
75
76
  DescribeVirtualServiceInput = Shapes::StructureShape.new(name: 'DescribeVirtualServiceInput')
76
77
  DescribeVirtualServiceOutput = Shapes::StructureShape.new(name: 'DescribeVirtualServiceOutput')
78
+ DnsResponseType = Shapes::StringShape.new(name: 'DnsResponseType')
77
79
  DnsServiceDiscovery = Shapes::StructureShape.new(name: 'DnsServiceDiscovery')
78
80
  Duration = Shapes::StructureShape.new(name: 'Duration')
79
81
  DurationUnit = Shapes::StringShape.new(name: 'DurationUnit')
80
82
  DurationValue = Shapes::IntegerShape.new(name: 'DurationValue')
81
83
  EgressFilter = Shapes::StructureShape.new(name: 'EgressFilter')
82
84
  EgressFilterType = Shapes::StringShape.new(name: 'EgressFilterType')
85
+ ExactHostName = Shapes::StringShape.new(name: 'ExactHostName')
83
86
  FileAccessLog = Shapes::StructureShape.new(name: 'FileAccessLog')
84
87
  FilePath = Shapes::StringShape.new(name: 'FilePath')
85
88
  ForbiddenException = Shapes::StructureShape.new(name: 'ForbiddenException')
86
89
  GatewayRouteData = Shapes::StructureShape.new(name: 'GatewayRouteData')
90
+ GatewayRouteHostnameMatch = Shapes::StructureShape.new(name: 'GatewayRouteHostnameMatch')
91
+ GatewayRouteHostnameRewrite = Shapes::StructureShape.new(name: 'GatewayRouteHostnameRewrite')
87
92
  GatewayRouteList = Shapes::ListShape.new(name: 'GatewayRouteList')
93
+ GatewayRoutePriority = Shapes::IntegerShape.new(name: 'GatewayRoutePriority')
88
94
  GatewayRouteRef = Shapes::StructureShape.new(name: 'GatewayRouteRef')
89
95
  GatewayRouteSpec = Shapes::StructureShape.new(name: 'GatewayRouteSpec')
90
96
  GatewayRouteStatus = Shapes::StructureShape.new(name: 'GatewayRouteStatus')
@@ -94,6 +100,10 @@ module Aws::AppMesh
94
100
  GrpcGatewayRoute = Shapes::StructureShape.new(name: 'GrpcGatewayRoute')
95
101
  GrpcGatewayRouteAction = Shapes::StructureShape.new(name: 'GrpcGatewayRouteAction')
96
102
  GrpcGatewayRouteMatch = Shapes::StructureShape.new(name: 'GrpcGatewayRouteMatch')
103
+ GrpcGatewayRouteMetadata = Shapes::StructureShape.new(name: 'GrpcGatewayRouteMetadata')
104
+ GrpcGatewayRouteMetadataList = Shapes::ListShape.new(name: 'GrpcGatewayRouteMetadataList')
105
+ GrpcGatewayRouteRewrite = Shapes::StructureShape.new(name: 'GrpcGatewayRouteRewrite')
106
+ GrpcMetadataMatchMethod = Shapes::StructureShape.new(name: 'GrpcMetadataMatchMethod')
97
107
  GrpcRetryPolicy = Shapes::StructureShape.new(name: 'GrpcRetryPolicy')
98
108
  GrpcRetryPolicyEvent = Shapes::StringShape.new(name: 'GrpcRetryPolicyEvent')
99
109
  GrpcRetryPolicyEvents = Shapes::ListShape.new(name: 'GrpcRetryPolicyEvents')
@@ -114,8 +124,19 @@ module Aws::AppMesh
114
124
  Hostname = Shapes::StringShape.new(name: 'Hostname')
115
125
  HttpGatewayRoute = Shapes::StructureShape.new(name: 'HttpGatewayRoute')
116
126
  HttpGatewayRouteAction = Shapes::StructureShape.new(name: 'HttpGatewayRouteAction')
127
+ HttpGatewayRouteHeader = Shapes::StructureShape.new(name: 'HttpGatewayRouteHeader')
128
+ HttpGatewayRouteHeaders = Shapes::ListShape.new(name: 'HttpGatewayRouteHeaders')
117
129
  HttpGatewayRouteMatch = Shapes::StructureShape.new(name: 'HttpGatewayRouteMatch')
130
+ HttpGatewayRoutePathRewrite = Shapes::StructureShape.new(name: 'HttpGatewayRoutePathRewrite')
131
+ HttpGatewayRoutePrefix = Shapes::StringShape.new(name: 'HttpGatewayRoutePrefix')
132
+ HttpGatewayRoutePrefixRewrite = Shapes::StructureShape.new(name: 'HttpGatewayRoutePrefixRewrite')
133
+ HttpGatewayRouteRewrite = Shapes::StructureShape.new(name: 'HttpGatewayRouteRewrite')
118
134
  HttpMethod = Shapes::StringShape.new(name: 'HttpMethod')
135
+ HttpPathExact = Shapes::StringShape.new(name: 'HttpPathExact')
136
+ HttpPathMatch = Shapes::StructureShape.new(name: 'HttpPathMatch')
137
+ HttpPathRegex = Shapes::StringShape.new(name: 'HttpPathRegex')
138
+ HttpQueryParameter = Shapes::StructureShape.new(name: 'HttpQueryParameter')
139
+ HttpQueryParameters = Shapes::ListShape.new(name: 'HttpQueryParameters')
119
140
  HttpRetryPolicy = Shapes::StructureShape.new(name: 'HttpRetryPolicy')
120
141
  HttpRetryPolicyEvent = Shapes::StringShape.new(name: 'HttpRetryPolicyEvent')
121
142
  HttpRetryPolicyEvents = Shapes::ListShape.new(name: 'HttpRetryPolicyEvents')
@@ -185,6 +206,8 @@ module Aws::AppMesh
185
206
  PortNumber = Shapes::IntegerShape.new(name: 'PortNumber')
186
207
  PortProtocol = Shapes::StringShape.new(name: 'PortProtocol')
187
208
  PortSet = Shapes::ListShape.new(name: 'PortSet')
209
+ QueryParameterMatch = Shapes::StructureShape.new(name: 'QueryParameterMatch')
210
+ QueryParameterName = Shapes::StringShape.new(name: 'QueryParameterName')
188
211
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
189
212
  ResourceMetadata = Shapes::StructureShape.new(name: 'ResourceMetadata')
190
213
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
@@ -204,6 +227,7 @@ module Aws::AppMesh
204
227
  SubjectAlternativeNameList = Shapes::ListShape.new(name: 'SubjectAlternativeNameList')
205
228
  SubjectAlternativeNameMatchers = Shapes::StructureShape.new(name: 'SubjectAlternativeNameMatchers')
206
229
  SubjectAlternativeNames = Shapes::StructureShape.new(name: 'SubjectAlternativeNames')
230
+ SuffixHostname = Shapes::StringShape.new(name: 'SuffixHostname')
207
231
  TagKey = Shapes::StringShape.new(name: 'TagKey')
208
232
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
209
233
  TagList = Shapes::ListShape.new(name: 'TagList')
@@ -589,6 +613,7 @@ module Aws::AppMesh
589
613
  DescribeVirtualServiceOutput[:payload_member] = DescribeVirtualServiceOutput.member(:virtual_service)
590
614
 
591
615
  DnsServiceDiscovery.add_member(:hostname, Shapes::ShapeRef.new(shape: Hostname, required: true, location_name: "hostname"))
616
+ DnsServiceDiscovery.add_member(:response_type, Shapes::ShapeRef.new(shape: DnsResponseType, location_name: "responseType"))
592
617
  DnsServiceDiscovery.struct_class = Types::DnsServiceDiscovery
593
618
 
594
619
  Duration.add_member(:unit, Shapes::ShapeRef.new(shape: DurationUnit, location_name: "unit"))
@@ -612,6 +637,13 @@ module Aws::AppMesh
612
637
  GatewayRouteData.add_member(:virtual_gateway_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "virtualGatewayName"))
613
638
  GatewayRouteData.struct_class = Types::GatewayRouteData
614
639
 
640
+ GatewayRouteHostnameMatch.add_member(:exact, Shapes::ShapeRef.new(shape: ExactHostName, location_name: "exact"))
641
+ GatewayRouteHostnameMatch.add_member(:suffix, Shapes::ShapeRef.new(shape: SuffixHostname, location_name: "suffix"))
642
+ GatewayRouteHostnameMatch.struct_class = Types::GatewayRouteHostnameMatch
643
+
644
+ GatewayRouteHostnameRewrite.add_member(:default_target_hostname, Shapes::ShapeRef.new(shape: DefaultGatewayRouteRewrite, location_name: "defaultTargetHostname"))
645
+ GatewayRouteHostnameRewrite.struct_class = Types::GatewayRouteHostnameRewrite
646
+
615
647
  GatewayRouteList.member = Shapes::ShapeRef.new(shape: GatewayRouteRef)
616
648
 
617
649
  GatewayRouteRef.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "arn"))
@@ -628,6 +660,7 @@ module Aws::AppMesh
628
660
  GatewayRouteSpec.add_member(:grpc_route, Shapes::ShapeRef.new(shape: GrpcGatewayRoute, location_name: "grpcRoute"))
629
661
  GatewayRouteSpec.add_member(:http2_route, Shapes::ShapeRef.new(shape: HttpGatewayRoute, location_name: "http2Route"))
630
662
  GatewayRouteSpec.add_member(:http_route, Shapes::ShapeRef.new(shape: HttpGatewayRoute, location_name: "httpRoute"))
663
+ GatewayRouteSpec.add_member(:priority, Shapes::ShapeRef.new(shape: GatewayRoutePriority, location_name: "priority"))
631
664
  GatewayRouteSpec.struct_class = Types::GatewayRouteSpec
632
665
 
633
666
  GatewayRouteStatus.add_member(:status, Shapes::ShapeRef.new(shape: GatewayRouteStatusCode, required: true, location_name: "status"))
@@ -643,12 +676,32 @@ module Aws::AppMesh
643
676
  GrpcGatewayRoute.add_member(:match, Shapes::ShapeRef.new(shape: GrpcGatewayRouteMatch, required: true, location_name: "match"))
644
677
  GrpcGatewayRoute.struct_class = Types::GrpcGatewayRoute
645
678
 
679
+ GrpcGatewayRouteAction.add_member(:rewrite, Shapes::ShapeRef.new(shape: GrpcGatewayRouteRewrite, location_name: "rewrite"))
646
680
  GrpcGatewayRouteAction.add_member(:target, Shapes::ShapeRef.new(shape: GatewayRouteTarget, required: true, location_name: "target"))
647
681
  GrpcGatewayRouteAction.struct_class = Types::GrpcGatewayRouteAction
648
682
 
683
+ GrpcGatewayRouteMatch.add_member(:hostname, Shapes::ShapeRef.new(shape: GatewayRouteHostnameMatch, location_name: "hostname"))
684
+ GrpcGatewayRouteMatch.add_member(:metadata, Shapes::ShapeRef.new(shape: GrpcGatewayRouteMetadataList, location_name: "metadata"))
649
685
  GrpcGatewayRouteMatch.add_member(:service_name, Shapes::ShapeRef.new(shape: ServiceName, location_name: "serviceName"))
650
686
  GrpcGatewayRouteMatch.struct_class = Types::GrpcGatewayRouteMatch
651
687
 
688
+ GrpcGatewayRouteMetadata.add_member(:invert, Shapes::ShapeRef.new(shape: Boolean, location_name: "invert"))
689
+ GrpcGatewayRouteMetadata.add_member(:match, Shapes::ShapeRef.new(shape: GrpcMetadataMatchMethod, location_name: "match"))
690
+ GrpcGatewayRouteMetadata.add_member(:name, Shapes::ShapeRef.new(shape: HeaderName, required: true, location_name: "name"))
691
+ GrpcGatewayRouteMetadata.struct_class = Types::GrpcGatewayRouteMetadata
692
+
693
+ GrpcGatewayRouteMetadataList.member = Shapes::ShapeRef.new(shape: GrpcGatewayRouteMetadata)
694
+
695
+ GrpcGatewayRouteRewrite.add_member(:hostname, Shapes::ShapeRef.new(shape: GatewayRouteHostnameRewrite, location_name: "hostname"))
696
+ GrpcGatewayRouteRewrite.struct_class = Types::GrpcGatewayRouteRewrite
697
+
698
+ GrpcMetadataMatchMethod.add_member(:exact, Shapes::ShapeRef.new(shape: HeaderMatch, location_name: "exact"))
699
+ GrpcMetadataMatchMethod.add_member(:prefix, Shapes::ShapeRef.new(shape: HeaderMatch, location_name: "prefix"))
700
+ GrpcMetadataMatchMethod.add_member(:range, Shapes::ShapeRef.new(shape: MatchRange, location_name: "range"))
701
+ GrpcMetadataMatchMethod.add_member(:regex, Shapes::ShapeRef.new(shape: HeaderMatch, location_name: "regex"))
702
+ GrpcMetadataMatchMethod.add_member(:suffix, Shapes::ShapeRef.new(shape: HeaderMatch, location_name: "suffix"))
703
+ GrpcMetadataMatchMethod.struct_class = Types::GrpcMetadataMatchMethod
704
+
652
705
  GrpcRetryPolicy.add_member(:grpc_retry_events, Shapes::ShapeRef.new(shape: GrpcRetryPolicyEvents, location_name: "grpcRetryEvents"))
653
706
  GrpcRetryPolicy.add_member(:http_retry_events, Shapes::ShapeRef.new(shape: HttpRetryPolicyEvents, location_name: "httpRetryEvents"))
654
707
  GrpcRetryPolicy.add_member(:max_retries, Shapes::ShapeRef.new(shape: MaxRetries, required: true, location_name: "maxRetries"))
@@ -710,12 +763,47 @@ module Aws::AppMesh
710
763
  HttpGatewayRoute.add_member(:match, Shapes::ShapeRef.new(shape: HttpGatewayRouteMatch, required: true, location_name: "match"))
711
764
  HttpGatewayRoute.struct_class = Types::HttpGatewayRoute
712
765
 
766
+ HttpGatewayRouteAction.add_member(:rewrite, Shapes::ShapeRef.new(shape: HttpGatewayRouteRewrite, location_name: "rewrite"))
713
767
  HttpGatewayRouteAction.add_member(:target, Shapes::ShapeRef.new(shape: GatewayRouteTarget, required: true, location_name: "target"))
714
768
  HttpGatewayRouteAction.struct_class = Types::HttpGatewayRouteAction
715
769
 
716
- HttpGatewayRouteMatch.add_member(:prefix, Shapes::ShapeRef.new(shape: String, required: true, location_name: "prefix"))
770
+ HttpGatewayRouteHeader.add_member(:invert, Shapes::ShapeRef.new(shape: Boolean, location_name: "invert"))
771
+ HttpGatewayRouteHeader.add_member(:match, Shapes::ShapeRef.new(shape: HeaderMatchMethod, location_name: "match"))
772
+ HttpGatewayRouteHeader.add_member(:name, Shapes::ShapeRef.new(shape: HeaderName, required: true, location_name: "name"))
773
+ HttpGatewayRouteHeader.struct_class = Types::HttpGatewayRouteHeader
774
+
775
+ HttpGatewayRouteHeaders.member = Shapes::ShapeRef.new(shape: HttpGatewayRouteHeader)
776
+
777
+ HttpGatewayRouteMatch.add_member(:headers, Shapes::ShapeRef.new(shape: HttpGatewayRouteHeaders, location_name: "headers"))
778
+ HttpGatewayRouteMatch.add_member(:hostname, Shapes::ShapeRef.new(shape: GatewayRouteHostnameMatch, location_name: "hostname"))
779
+ HttpGatewayRouteMatch.add_member(:method, Shapes::ShapeRef.new(shape: HttpMethod, location_name: "method"))
780
+ HttpGatewayRouteMatch.add_member(:path, Shapes::ShapeRef.new(shape: HttpPathMatch, location_name: "path"))
781
+ HttpGatewayRouteMatch.add_member(:prefix, Shapes::ShapeRef.new(shape: String, location_name: "prefix"))
782
+ HttpGatewayRouteMatch.add_member(:query_parameters, Shapes::ShapeRef.new(shape: HttpQueryParameters, location_name: "queryParameters"))
717
783
  HttpGatewayRouteMatch.struct_class = Types::HttpGatewayRouteMatch
718
784
 
785
+ HttpGatewayRoutePathRewrite.add_member(:exact, Shapes::ShapeRef.new(shape: HttpPathExact, location_name: "exact"))
786
+ HttpGatewayRoutePathRewrite.struct_class = Types::HttpGatewayRoutePathRewrite
787
+
788
+ HttpGatewayRoutePrefixRewrite.add_member(:default_prefix, Shapes::ShapeRef.new(shape: DefaultGatewayRouteRewrite, location_name: "defaultPrefix"))
789
+ HttpGatewayRoutePrefixRewrite.add_member(:value, Shapes::ShapeRef.new(shape: HttpGatewayRoutePrefix, location_name: "value"))
790
+ HttpGatewayRoutePrefixRewrite.struct_class = Types::HttpGatewayRoutePrefixRewrite
791
+
792
+ HttpGatewayRouteRewrite.add_member(:hostname, Shapes::ShapeRef.new(shape: GatewayRouteHostnameRewrite, location_name: "hostname"))
793
+ HttpGatewayRouteRewrite.add_member(:path, Shapes::ShapeRef.new(shape: HttpGatewayRoutePathRewrite, location_name: "path"))
794
+ HttpGatewayRouteRewrite.add_member(:prefix, Shapes::ShapeRef.new(shape: HttpGatewayRoutePrefixRewrite, location_name: "prefix"))
795
+ HttpGatewayRouteRewrite.struct_class = Types::HttpGatewayRouteRewrite
796
+
797
+ HttpPathMatch.add_member(:exact, Shapes::ShapeRef.new(shape: HttpPathExact, location_name: "exact"))
798
+ HttpPathMatch.add_member(:regex, Shapes::ShapeRef.new(shape: HttpPathRegex, location_name: "regex"))
799
+ HttpPathMatch.struct_class = Types::HttpPathMatch
800
+
801
+ HttpQueryParameter.add_member(:match, Shapes::ShapeRef.new(shape: QueryParameterMatch, location_name: "match"))
802
+ HttpQueryParameter.add_member(:name, Shapes::ShapeRef.new(shape: QueryParameterName, required: true, location_name: "name"))
803
+ HttpQueryParameter.struct_class = Types::HttpQueryParameter
804
+
805
+ HttpQueryParameters.member = Shapes::ShapeRef.new(shape: HttpQueryParameter)
806
+
719
807
  HttpRetryPolicy.add_member(:http_retry_events, Shapes::ShapeRef.new(shape: HttpRetryPolicyEvents, location_name: "httpRetryEvents"))
720
808
  HttpRetryPolicy.add_member(:max_retries, Shapes::ShapeRef.new(shape: MaxRetries, required: true, location_name: "maxRetries"))
721
809
  HttpRetryPolicy.add_member(:per_retry_timeout, Shapes::ShapeRef.new(shape: Duration, required: true, location_name: "perRetryTimeout"))
@@ -742,7 +830,9 @@ module Aws::AppMesh
742
830
 
743
831
  HttpRouteMatch.add_member(:headers, Shapes::ShapeRef.new(shape: HttpRouteHeaders, location_name: "headers"))
744
832
  HttpRouteMatch.add_member(:method, Shapes::ShapeRef.new(shape: HttpMethod, location_name: "method"))
745
- HttpRouteMatch.add_member(:prefix, Shapes::ShapeRef.new(shape: String, required: true, location_name: "prefix"))
833
+ HttpRouteMatch.add_member(:path, Shapes::ShapeRef.new(shape: HttpPathMatch, location_name: "path"))
834
+ HttpRouteMatch.add_member(:prefix, Shapes::ShapeRef.new(shape: String, location_name: "prefix"))
835
+ HttpRouteMatch.add_member(:query_parameters, Shapes::ShapeRef.new(shape: HttpQueryParameters, location_name: "queryParameters"))
746
836
  HttpRouteMatch.add_member(:scheme, Shapes::ShapeRef.new(shape: HttpScheme, location_name: "scheme"))
747
837
  HttpRouteMatch.struct_class = Types::HttpRouteMatch
748
838
 
@@ -924,6 +1014,9 @@ module Aws::AppMesh
924
1014
 
925
1015
  PortSet.member = Shapes::ShapeRef.new(shape: PortNumber)
926
1016
 
1017
+ QueryParameterMatch.add_member(:exact, Shapes::ShapeRef.new(shape: String, location_name: "exact"))
1018
+ QueryParameterMatch.struct_class = Types::QueryParameterMatch
1019
+
927
1020
  ResourceInUseException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
928
1021
  ResourceInUseException.struct_class = Types::ResourceInUseException
929
1022
 
@@ -34,8 +34,8 @@ module Aws::AppMesh
34
34
  include Aws::Structure
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
@@ -382,7 +382,7 @@ module Aws::AppMesh
382
382
  #
383
383
  #
384
384
  #
385
- # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites
385
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html
386
386
  # @return [Types::ListenerTlsFileCertificate]
387
387
  #
388
388
  # @!attribute [rw] sds
@@ -425,6 +425,11 @@ module Aws::AppMesh
425
425
  # spec: { # required
426
426
  # grpc_route: {
427
427
  # action: { # required
428
+ # rewrite: {
429
+ # hostname: {
430
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
431
+ # },
432
+ # },
428
433
  # target: { # required
429
434
  # virtual_service: { # required
430
435
  # virtual_service_name: "ResourceName", # required
@@ -432,11 +437,43 @@ module Aws::AppMesh
432
437
  # },
433
438
  # },
434
439
  # match: { # required
440
+ # hostname: {
441
+ # exact: "ExactHostName",
442
+ # suffix: "SuffixHostname",
443
+ # },
444
+ # metadata: [
445
+ # {
446
+ # invert: false,
447
+ # match: {
448
+ # exact: "HeaderMatch",
449
+ # prefix: "HeaderMatch",
450
+ # range: {
451
+ # end: 1, # required
452
+ # start: 1, # required
453
+ # },
454
+ # regex: "HeaderMatch",
455
+ # suffix: "HeaderMatch",
456
+ # },
457
+ # name: "HeaderName", # required
458
+ # },
459
+ # ],
435
460
  # service_name: "ServiceName",
436
461
  # },
437
462
  # },
438
463
  # http2_route: {
439
464
  # action: { # required
465
+ # rewrite: {
466
+ # hostname: {
467
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
468
+ # },
469
+ # path: {
470
+ # exact: "HttpPathExact",
471
+ # },
472
+ # prefix: {
473
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
474
+ # value: "HttpGatewayRoutePrefix",
475
+ # },
476
+ # },
440
477
  # target: { # required
441
478
  # virtual_service: { # required
442
479
  # virtual_service_name: "ResourceName", # required
@@ -444,11 +481,56 @@ module Aws::AppMesh
444
481
  # },
445
482
  # },
446
483
  # match: { # required
447
- # prefix: "String", # required
484
+ # headers: [
485
+ # {
486
+ # invert: false,
487
+ # match: {
488
+ # exact: "HeaderMatch",
489
+ # prefix: "HeaderMatch",
490
+ # range: {
491
+ # end: 1, # required
492
+ # start: 1, # required
493
+ # },
494
+ # regex: "HeaderMatch",
495
+ # suffix: "HeaderMatch",
496
+ # },
497
+ # name: "HeaderName", # required
498
+ # },
499
+ # ],
500
+ # hostname: {
501
+ # exact: "ExactHostName",
502
+ # suffix: "SuffixHostname",
503
+ # },
504
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
505
+ # path: {
506
+ # exact: "HttpPathExact",
507
+ # regex: "HttpPathRegex",
508
+ # },
509
+ # prefix: "String",
510
+ # query_parameters: [
511
+ # {
512
+ # match: {
513
+ # exact: "String",
514
+ # },
515
+ # name: "QueryParameterName", # required
516
+ # },
517
+ # ],
448
518
  # },
449
519
  # },
450
520
  # http_route: {
451
521
  # action: { # required
522
+ # rewrite: {
523
+ # hostname: {
524
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
525
+ # },
526
+ # path: {
527
+ # exact: "HttpPathExact",
528
+ # },
529
+ # prefix: {
530
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
531
+ # value: "HttpGatewayRoutePrefix",
532
+ # },
533
+ # },
452
534
  # target: { # required
453
535
  # virtual_service: { # required
454
536
  # virtual_service_name: "ResourceName", # required
@@ -456,9 +538,43 @@ module Aws::AppMesh
456
538
  # },
457
539
  # },
458
540
  # match: { # required
459
- # prefix: "String", # required
541
+ # headers: [
542
+ # {
543
+ # invert: false,
544
+ # match: {
545
+ # exact: "HeaderMatch",
546
+ # prefix: "HeaderMatch",
547
+ # range: {
548
+ # end: 1, # required
549
+ # start: 1, # required
550
+ # },
551
+ # regex: "HeaderMatch",
552
+ # suffix: "HeaderMatch",
553
+ # },
554
+ # name: "HeaderName", # required
555
+ # },
556
+ # ],
557
+ # hostname: {
558
+ # exact: "ExactHostName",
559
+ # suffix: "SuffixHostname",
560
+ # },
561
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
562
+ # path: {
563
+ # exact: "HttpPathExact",
564
+ # regex: "HttpPathRegex",
565
+ # },
566
+ # prefix: "String",
567
+ # query_parameters: [
568
+ # {
569
+ # match: {
570
+ # exact: "String",
571
+ # },
572
+ # name: "QueryParameterName", # required
573
+ # },
574
+ # ],
460
575
  # },
461
576
  # },
577
+ # priority: 1,
462
578
  # },
463
579
  # tags: [
464
580
  # {
@@ -708,7 +824,19 @@ module Aws::AppMesh
708
824
  # },
709
825
  # ],
710
826
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
711
- # prefix: "String", # required
827
+ # path: {
828
+ # exact: "HttpPathExact",
829
+ # regex: "HttpPathRegex",
830
+ # },
831
+ # prefix: "String",
832
+ # query_parameters: [
833
+ # {
834
+ # match: {
835
+ # exact: "String",
836
+ # },
837
+ # name: "QueryParameterName", # required
838
+ # },
839
+ # ],
712
840
  # scheme: "http", # accepts http, https
713
841
  # },
714
842
  # retry_policy: {
@@ -758,7 +886,19 @@ module Aws::AppMesh
758
886
  # },
759
887
  # ],
760
888
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
761
- # prefix: "String", # required
889
+ # path: {
890
+ # exact: "HttpPathExact",
891
+ # regex: "HttpPathRegex",
892
+ # },
893
+ # prefix: "String",
894
+ # query_parameters: [
895
+ # {
896
+ # match: {
897
+ # exact: "String",
898
+ # },
899
+ # name: "QueryParameterName", # required
900
+ # },
901
+ # ],
762
902
  # scheme: "http", # accepts http, https
763
903
  # },
764
904
  # retry_policy: {
@@ -1290,6 +1430,7 @@ module Aws::AppMesh
1290
1430
  # },
1291
1431
  # dns: {
1292
1432
  # hostname: "Hostname", # required
1433
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
1293
1434
  # },
1294
1435
  # },
1295
1436
  # },
@@ -1783,9 +1924,7 @@ module Aws::AppMesh
1783
1924
  include Aws::Structure
1784
1925
  end
1785
1926
 
1786
- # <zonbook />
1787
- #
1788
- # <xhtml />
1927
+ # Deletes a virtual node input.
1789
1928
  #
1790
1929
  # @note When making an API call, you may pass DeleteVirtualNodeInput
1791
1930
  # data as a hash:
@@ -2362,16 +2501,22 @@ module Aws::AppMesh
2362
2501
  #
2363
2502
  # {
2364
2503
  # hostname: "Hostname", # required
2504
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
2365
2505
  # }
2366
2506
  #
2367
2507
  # @!attribute [rw] hostname
2368
2508
  # Specifies the DNS service discovery hostname for the virtual node.
2369
2509
  # @return [String]
2370
2510
  #
2511
+ # @!attribute [rw] response_type
2512
+ # Specifies the DNS response type for the virtual node.
2513
+ # @return [String]
2514
+ #
2371
2515
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DnsServiceDiscovery AWS API Documentation
2372
2516
  #
2373
2517
  class DnsServiceDiscovery < Struct.new(
2374
- :hostname)
2518
+ :hostname,
2519
+ :response_type)
2375
2520
  SENSITIVE = []
2376
2521
  include Aws::Structure
2377
2522
  end
@@ -2415,9 +2560,10 @@ module Aws::AppMesh
2415
2560
  # @!attribute [rw] type
2416
2561
  # The egress filter type. By default, the type is `DROP_ALL`, which
2417
2562
  # 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.
2563
+ # the service mesh (and any traffic to `*.amazonaws.com` for Amazon
2564
+ # Web Services API calls). You can set the egress filter type to
2565
+ # `ALLOW_ALL` to allow egress to any endpoint inside or outside of the
2566
+ # service mesh.
2421
2567
  # @return [String]
2422
2568
  #
2423
2569
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/EgressFilter AWS API Documentation
@@ -2512,6 +2658,54 @@ module Aws::AppMesh
2512
2658
  include Aws::Structure
2513
2659
  end
2514
2660
 
2661
+ # An object representing the gateway route host name to match.
2662
+ #
2663
+ # @note When making an API call, you may pass GatewayRouteHostnameMatch
2664
+ # data as a hash:
2665
+ #
2666
+ # {
2667
+ # exact: "ExactHostName",
2668
+ # suffix: "SuffixHostname",
2669
+ # }
2670
+ #
2671
+ # @!attribute [rw] exact
2672
+ # The exact host name to match on.
2673
+ # @return [String]
2674
+ #
2675
+ # @!attribute [rw] suffix
2676
+ # The specified ending characters of the host name to match on.
2677
+ # @return [String]
2678
+ #
2679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteHostnameMatch AWS API Documentation
2680
+ #
2681
+ class GatewayRouteHostnameMatch < Struct.new(
2682
+ :exact,
2683
+ :suffix)
2684
+ SENSITIVE = []
2685
+ include Aws::Structure
2686
+ end
2687
+
2688
+ # An object representing the gateway route host name to rewrite.
2689
+ #
2690
+ # @note When making an API call, you may pass GatewayRouteHostnameRewrite
2691
+ # data as a hash:
2692
+ #
2693
+ # {
2694
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2695
+ # }
2696
+ #
2697
+ # @!attribute [rw] default_target_hostname
2698
+ # The default target host name to write to.
2699
+ # @return [String]
2700
+ #
2701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteHostnameRewrite AWS API Documentation
2702
+ #
2703
+ class GatewayRouteHostnameRewrite < Struct.new(
2704
+ :default_target_hostname)
2705
+ SENSITIVE = []
2706
+ include Aws::Structure
2707
+ end
2708
+
2515
2709
  # An object that represents a gateway route returned by a list
2516
2710
  # operation.
2517
2711
  #
@@ -2593,6 +2787,11 @@ module Aws::AppMesh
2593
2787
  # {
2594
2788
  # grpc_route: {
2595
2789
  # action: { # required
2790
+ # rewrite: {
2791
+ # hostname: {
2792
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2793
+ # },
2794
+ # },
2596
2795
  # target: { # required
2597
2796
  # virtual_service: { # required
2598
2797
  # virtual_service_name: "ResourceName", # required
@@ -2600,11 +2799,43 @@ module Aws::AppMesh
2600
2799
  # },
2601
2800
  # },
2602
2801
  # match: { # required
2802
+ # hostname: {
2803
+ # exact: "ExactHostName",
2804
+ # suffix: "SuffixHostname",
2805
+ # },
2806
+ # metadata: [
2807
+ # {
2808
+ # invert: false,
2809
+ # match: {
2810
+ # exact: "HeaderMatch",
2811
+ # prefix: "HeaderMatch",
2812
+ # range: {
2813
+ # end: 1, # required
2814
+ # start: 1, # required
2815
+ # },
2816
+ # regex: "HeaderMatch",
2817
+ # suffix: "HeaderMatch",
2818
+ # },
2819
+ # name: "HeaderName", # required
2820
+ # },
2821
+ # ],
2603
2822
  # service_name: "ServiceName",
2604
2823
  # },
2605
2824
  # },
2606
2825
  # http2_route: {
2607
2826
  # action: { # required
2827
+ # rewrite: {
2828
+ # hostname: {
2829
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2830
+ # },
2831
+ # path: {
2832
+ # exact: "HttpPathExact",
2833
+ # },
2834
+ # prefix: {
2835
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
2836
+ # value: "HttpGatewayRoutePrefix",
2837
+ # },
2838
+ # },
2608
2839
  # target: { # required
2609
2840
  # virtual_service: { # required
2610
2841
  # virtual_service_name: "ResourceName", # required
@@ -2612,11 +2843,56 @@ module Aws::AppMesh
2612
2843
  # },
2613
2844
  # },
2614
2845
  # match: { # required
2615
- # prefix: "String", # required
2846
+ # headers: [
2847
+ # {
2848
+ # invert: false,
2849
+ # match: {
2850
+ # exact: "HeaderMatch",
2851
+ # prefix: "HeaderMatch",
2852
+ # range: {
2853
+ # end: 1, # required
2854
+ # start: 1, # required
2855
+ # },
2856
+ # regex: "HeaderMatch",
2857
+ # suffix: "HeaderMatch",
2858
+ # },
2859
+ # name: "HeaderName", # required
2860
+ # },
2861
+ # ],
2862
+ # hostname: {
2863
+ # exact: "ExactHostName",
2864
+ # suffix: "SuffixHostname",
2865
+ # },
2866
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2867
+ # path: {
2868
+ # exact: "HttpPathExact",
2869
+ # regex: "HttpPathRegex",
2870
+ # },
2871
+ # prefix: "String",
2872
+ # query_parameters: [
2873
+ # {
2874
+ # match: {
2875
+ # exact: "String",
2876
+ # },
2877
+ # name: "QueryParameterName", # required
2878
+ # },
2879
+ # ],
2616
2880
  # },
2617
2881
  # },
2618
2882
  # http_route: {
2619
2883
  # action: { # required
2884
+ # rewrite: {
2885
+ # hostname: {
2886
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
2887
+ # },
2888
+ # path: {
2889
+ # exact: "HttpPathExact",
2890
+ # },
2891
+ # prefix: {
2892
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
2893
+ # value: "HttpGatewayRoutePrefix",
2894
+ # },
2895
+ # },
2620
2896
  # target: { # required
2621
2897
  # virtual_service: { # required
2622
2898
  # virtual_service_name: "ResourceName", # required
@@ -2624,9 +2900,43 @@ module Aws::AppMesh
2624
2900
  # },
2625
2901
  # },
2626
2902
  # match: { # required
2627
- # prefix: "String", # required
2903
+ # headers: [
2904
+ # {
2905
+ # invert: false,
2906
+ # match: {
2907
+ # exact: "HeaderMatch",
2908
+ # prefix: "HeaderMatch",
2909
+ # range: {
2910
+ # end: 1, # required
2911
+ # start: 1, # required
2912
+ # },
2913
+ # regex: "HeaderMatch",
2914
+ # suffix: "HeaderMatch",
2915
+ # },
2916
+ # name: "HeaderName", # required
2917
+ # },
2918
+ # ],
2919
+ # hostname: {
2920
+ # exact: "ExactHostName",
2921
+ # suffix: "SuffixHostname",
2922
+ # },
2923
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
2924
+ # path: {
2925
+ # exact: "HttpPathExact",
2926
+ # regex: "HttpPathRegex",
2927
+ # },
2928
+ # prefix: "String",
2929
+ # query_parameters: [
2930
+ # {
2931
+ # match: {
2932
+ # exact: "String",
2933
+ # },
2934
+ # name: "QueryParameterName", # required
2935
+ # },
2936
+ # ],
2628
2937
  # },
2629
2938
  # },
2939
+ # priority: 1,
2630
2940
  # }
2631
2941
  #
2632
2942
  # @!attribute [rw] grpc_route
@@ -2643,12 +2953,17 @@ module Aws::AppMesh
2643
2953
  # route.
2644
2954
  # @return [Types::HttpGatewayRoute]
2645
2955
  #
2956
+ # @!attribute [rw] priority
2957
+ # The ordering of the gateway routes spec.
2958
+ # @return [Integer]
2959
+ #
2646
2960
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GatewayRouteSpec AWS API Documentation
2647
2961
  #
2648
2962
  class GatewayRouteSpec < Struct.new(
2649
2963
  :grpc_route,
2650
2964
  :http2_route,
2651
- :http_route)
2965
+ :http_route,
2966
+ :priority)
2652
2967
  SENSITIVE = []
2653
2968
  include Aws::Structure
2654
2969
  end
@@ -2719,6 +3034,11 @@ module Aws::AppMesh
2719
3034
  #
2720
3035
  # {
2721
3036
  # action: { # required
3037
+ # rewrite: {
3038
+ # hostname: {
3039
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3040
+ # },
3041
+ # },
2722
3042
  # target: { # required
2723
3043
  # virtual_service: { # required
2724
3044
  # virtual_service_name: "ResourceName", # required
@@ -2726,6 +3046,26 @@ module Aws::AppMesh
2726
3046
  # },
2727
3047
  # },
2728
3048
  # match: { # required
3049
+ # hostname: {
3050
+ # exact: "ExactHostName",
3051
+ # suffix: "SuffixHostname",
3052
+ # },
3053
+ # metadata: [
3054
+ # {
3055
+ # invert: false,
3056
+ # match: {
3057
+ # exact: "HeaderMatch",
3058
+ # prefix: "HeaderMatch",
3059
+ # range: {
3060
+ # end: 1, # required
3061
+ # start: 1, # required
3062
+ # },
3063
+ # regex: "HeaderMatch",
3064
+ # suffix: "HeaderMatch",
3065
+ # },
3066
+ # name: "HeaderName", # required
3067
+ # },
3068
+ # ],
2729
3069
  # service_name: "ServiceName",
2730
3070
  # },
2731
3071
  # }
@@ -2755,6 +3095,11 @@ module Aws::AppMesh
2755
3095
  # data as a hash:
2756
3096
  #
2757
3097
  # {
3098
+ # rewrite: {
3099
+ # hostname: {
3100
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3101
+ # },
3102
+ # },
2758
3103
  # target: { # required
2759
3104
  # virtual_service: { # required
2760
3105
  # virtual_service_name: "ResourceName", # required
@@ -2762,6 +3107,10 @@ module Aws::AppMesh
2762
3107
  # },
2763
3108
  # }
2764
3109
  #
3110
+ # @!attribute [rw] rewrite
3111
+ # The gateway route action to rewrite.
3112
+ # @return [Types::GrpcGatewayRouteRewrite]
3113
+ #
2765
3114
  # @!attribute [rw] target
2766
3115
  # An object that represents the target that traffic is routed to when
2767
3116
  # a request matches the gateway route.
@@ -2770,6 +3119,7 @@ module Aws::AppMesh
2770
3119
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteAction AWS API Documentation
2771
3120
  #
2772
3121
  class GrpcGatewayRouteAction < Struct.new(
3122
+ :rewrite,
2773
3123
  :target)
2774
3124
  SENSITIVE = []
2775
3125
  include Aws::Structure
@@ -2782,9 +3132,37 @@ module Aws::AppMesh
2782
3132
  # data as a hash:
2783
3133
  #
2784
3134
  # {
3135
+ # hostname: {
3136
+ # exact: "ExactHostName",
3137
+ # suffix: "SuffixHostname",
3138
+ # },
3139
+ # metadata: [
3140
+ # {
3141
+ # invert: false,
3142
+ # match: {
3143
+ # exact: "HeaderMatch",
3144
+ # prefix: "HeaderMatch",
3145
+ # range: {
3146
+ # end: 1, # required
3147
+ # start: 1, # required
3148
+ # },
3149
+ # regex: "HeaderMatch",
3150
+ # suffix: "HeaderMatch",
3151
+ # },
3152
+ # name: "HeaderName", # required
3153
+ # },
3154
+ # ],
2785
3155
  # service_name: "ServiceName",
2786
3156
  # }
2787
3157
  #
3158
+ # @!attribute [rw] hostname
3159
+ # The gateway route host name to be matched on.
3160
+ # @return [Types::GatewayRouteHostnameMatch]
3161
+ #
3162
+ # @!attribute [rw] metadata
3163
+ # The gateway route metadata to be matched on.
3164
+ # @return [Array<Types::GrpcGatewayRouteMetadata>]
3165
+ #
2788
3166
  # @!attribute [rw] service_name
2789
3167
  # The fully qualified domain name for the service to match from the
2790
3168
  # request.
@@ -2793,14 +3171,141 @@ module Aws::AppMesh
2793
3171
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteMatch AWS API Documentation
2794
3172
  #
2795
3173
  class GrpcGatewayRouteMatch < Struct.new(
3174
+ :hostname,
3175
+ :metadata,
2796
3176
  :service_name)
2797
3177
  SENSITIVE = []
2798
3178
  include Aws::Structure
2799
3179
  end
2800
3180
 
2801
- # An object that represents a retry policy. Specify at least one value
2802
- # for at least one of the types of `RetryEvents`, a value for
2803
- # `maxRetries`, and a value for `perRetryTimeout`.
3181
+ # An object representing the metadata of the gateway route.
3182
+ #
3183
+ # @note When making an API call, you may pass GrpcGatewayRouteMetadata
3184
+ # data as a hash:
3185
+ #
3186
+ # {
3187
+ # invert: false,
3188
+ # match: {
3189
+ # exact: "HeaderMatch",
3190
+ # prefix: "HeaderMatch",
3191
+ # range: {
3192
+ # end: 1, # required
3193
+ # start: 1, # required
3194
+ # },
3195
+ # regex: "HeaderMatch",
3196
+ # suffix: "HeaderMatch",
3197
+ # },
3198
+ # name: "HeaderName", # required
3199
+ # }
3200
+ #
3201
+ # @!attribute [rw] invert
3202
+ # Specify `True` to match anything except the match criteria. The
3203
+ # default value is `False`.
3204
+ # @return [Boolean]
3205
+ #
3206
+ # @!attribute [rw] match
3207
+ # The criteria for determining a metadata match.
3208
+ # @return [Types::GrpcMetadataMatchMethod]
3209
+ #
3210
+ # @!attribute [rw] name
3211
+ # A name for the gateway route metadata.
3212
+ # @return [String]
3213
+ #
3214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteMetadata AWS API Documentation
3215
+ #
3216
+ class GrpcGatewayRouteMetadata < Struct.new(
3217
+ :invert,
3218
+ :match,
3219
+ :name)
3220
+ SENSITIVE = []
3221
+ include Aws::Structure
3222
+ end
3223
+
3224
+ # An object that represents the gateway route to rewrite.
3225
+ #
3226
+ # @note When making an API call, you may pass GrpcGatewayRouteRewrite
3227
+ # data as a hash:
3228
+ #
3229
+ # {
3230
+ # hostname: {
3231
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3232
+ # },
3233
+ # }
3234
+ #
3235
+ # @!attribute [rw] hostname
3236
+ # The host name of the gateway route to rewrite.
3237
+ # @return [Types::GatewayRouteHostnameRewrite]
3238
+ #
3239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcGatewayRouteRewrite AWS API Documentation
3240
+ #
3241
+ class GrpcGatewayRouteRewrite < Struct.new(
3242
+ :hostname)
3243
+ SENSITIVE = []
3244
+ include Aws::Structure
3245
+ end
3246
+
3247
+ # An object representing the method header to be matched.
3248
+ #
3249
+ # @note When making an API call, you may pass GrpcMetadataMatchMethod
3250
+ # data as a hash:
3251
+ #
3252
+ # {
3253
+ # exact: "HeaderMatch",
3254
+ # prefix: "HeaderMatch",
3255
+ # range: {
3256
+ # end: 1, # required
3257
+ # start: 1, # required
3258
+ # },
3259
+ # regex: "HeaderMatch",
3260
+ # suffix: "HeaderMatch",
3261
+ # }
3262
+ #
3263
+ # @!attribute [rw] exact
3264
+ # The exact method header to be matched on.
3265
+ # @return [String]
3266
+ #
3267
+ # @!attribute [rw] prefix
3268
+ # The specified beginning characters of the method header to be
3269
+ # matched on.
3270
+ # @return [String]
3271
+ #
3272
+ # @!attribute [rw] range
3273
+ # An object that represents the range of values to match on. The first
3274
+ # character of the range is included in the range, though the last
3275
+ # character is not. For example, if the range specified were 1-100,
3276
+ # only values 1-99 would be matched.
3277
+ # @return [Types::MatchRange]
3278
+ #
3279
+ # @!attribute [rw] regex
3280
+ # The regex used to match the method header.
3281
+ # @return [String]
3282
+ #
3283
+ # @!attribute [rw] suffix
3284
+ # The specified ending characters of the method header to match on.
3285
+ # @return [String]
3286
+ #
3287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/GrpcMetadataMatchMethod AWS API Documentation
3288
+ #
3289
+ class GrpcMetadataMatchMethod < Struct.new(
3290
+ :exact,
3291
+ :prefix,
3292
+ :range,
3293
+ :regex,
3294
+ :suffix)
3295
+ SENSITIVE = []
3296
+ include Aws::Structure
3297
+ end
3298
+
3299
+ # An object that represents a retry policy. Specify at least one value
3300
+ # for at least one of the types of `RetryEvents`, a value for
3301
+ # `maxRetries`, and a value for `perRetryTimeout`. Both `server-error`
3302
+ # and `gateway-error` under `httpRetryEvents` include the Envoy `reset`
3303
+ # policy. For more information on the `reset` policy, see the [Envoy
3304
+ # documentation][1].
3305
+ #
3306
+ #
3307
+ #
3308
+ # [1]: https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on
2804
3309
  #
2805
3310
  # @note When making an API call, you may pass GrpcRetryPolicy
2806
3311
  # data as a hash:
@@ -3231,144 +3736,462 @@ module Aws::AppMesh
3231
3736
  # The time period in milliseconds between each health check execution.
3232
3737
  # @return [Integer]
3233
3738
  #
3234
- # @!attribute [rw] path
3235
- # The destination path for the health check request. This value is
3236
- # only used if the specified protocol is HTTP or HTTP/2. For any other
3237
- # protocol, this value is ignored.
3739
+ # @!attribute [rw] path
3740
+ # The destination path for the health check request. This value is
3741
+ # only used if the specified protocol is HTTP or HTTP/2. For any other
3742
+ # protocol, this value is ignored.
3743
+ # @return [String]
3744
+ #
3745
+ # @!attribute [rw] port
3746
+ # The destination port for the health check request. This port must
3747
+ # match the port defined in the PortMapping for the listener.
3748
+ # @return [Integer]
3749
+ #
3750
+ # @!attribute [rw] protocol
3751
+ # The protocol for the health check request. If you specify `grpc`,
3752
+ # then your service must conform to the [GRPC Health Checking
3753
+ # Protocol][1].
3754
+ #
3755
+ #
3756
+ #
3757
+ # [1]: https://github.com/grpc/grpc/blob/master/doc/health-checking.md
3758
+ # @return [String]
3759
+ #
3760
+ # @!attribute [rw] timeout_millis
3761
+ # The amount of time to wait when receiving a response from the health
3762
+ # check, in milliseconds.
3763
+ # @return [Integer]
3764
+ #
3765
+ # @!attribute [rw] unhealthy_threshold
3766
+ # The number of consecutive failed health checks that must occur
3767
+ # before declaring a virtual node unhealthy.
3768
+ # @return [Integer]
3769
+ #
3770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HealthCheckPolicy AWS API Documentation
3771
+ #
3772
+ class HealthCheckPolicy < Struct.new(
3773
+ :healthy_threshold,
3774
+ :interval_millis,
3775
+ :path,
3776
+ :port,
3777
+ :protocol,
3778
+ :timeout_millis,
3779
+ :unhealthy_threshold)
3780
+ SENSITIVE = []
3781
+ include Aws::Structure
3782
+ end
3783
+
3784
+ # An object that represents an HTTP gateway route.
3785
+ #
3786
+ # @note When making an API call, you may pass HttpGatewayRoute
3787
+ # data as a hash:
3788
+ #
3789
+ # {
3790
+ # action: { # required
3791
+ # rewrite: {
3792
+ # hostname: {
3793
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3794
+ # },
3795
+ # path: {
3796
+ # exact: "HttpPathExact",
3797
+ # },
3798
+ # prefix: {
3799
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
3800
+ # value: "HttpGatewayRoutePrefix",
3801
+ # },
3802
+ # },
3803
+ # target: { # required
3804
+ # virtual_service: { # required
3805
+ # virtual_service_name: "ResourceName", # required
3806
+ # },
3807
+ # },
3808
+ # },
3809
+ # match: { # required
3810
+ # headers: [
3811
+ # {
3812
+ # invert: false,
3813
+ # match: {
3814
+ # exact: "HeaderMatch",
3815
+ # prefix: "HeaderMatch",
3816
+ # range: {
3817
+ # end: 1, # required
3818
+ # start: 1, # required
3819
+ # },
3820
+ # regex: "HeaderMatch",
3821
+ # suffix: "HeaderMatch",
3822
+ # },
3823
+ # name: "HeaderName", # required
3824
+ # },
3825
+ # ],
3826
+ # hostname: {
3827
+ # exact: "ExactHostName",
3828
+ # suffix: "SuffixHostname",
3829
+ # },
3830
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3831
+ # path: {
3832
+ # exact: "HttpPathExact",
3833
+ # regex: "HttpPathRegex",
3834
+ # },
3835
+ # prefix: "String",
3836
+ # query_parameters: [
3837
+ # {
3838
+ # match: {
3839
+ # exact: "String",
3840
+ # },
3841
+ # name: "QueryParameterName", # required
3842
+ # },
3843
+ # ],
3844
+ # },
3845
+ # }
3846
+ #
3847
+ # @!attribute [rw] action
3848
+ # An object that represents the action to take if a match is
3849
+ # determined.
3850
+ # @return [Types::HttpGatewayRouteAction]
3851
+ #
3852
+ # @!attribute [rw] match
3853
+ # An object that represents the criteria for determining a request
3854
+ # match.
3855
+ # @return [Types::HttpGatewayRouteMatch]
3856
+ #
3857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoute AWS API Documentation
3858
+ #
3859
+ class HttpGatewayRoute < Struct.new(
3860
+ :action,
3861
+ :match)
3862
+ SENSITIVE = []
3863
+ include Aws::Structure
3864
+ end
3865
+
3866
+ # An object that represents the action to take if a match is determined.
3867
+ #
3868
+ # @note When making an API call, you may pass HttpGatewayRouteAction
3869
+ # data as a hash:
3870
+ #
3871
+ # {
3872
+ # rewrite: {
3873
+ # hostname: {
3874
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3875
+ # },
3876
+ # path: {
3877
+ # exact: "HttpPathExact",
3878
+ # },
3879
+ # prefix: {
3880
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
3881
+ # value: "HttpGatewayRoutePrefix",
3882
+ # },
3883
+ # },
3884
+ # target: { # required
3885
+ # virtual_service: { # required
3886
+ # virtual_service_name: "ResourceName", # required
3887
+ # },
3888
+ # },
3889
+ # }
3890
+ #
3891
+ # @!attribute [rw] rewrite
3892
+ # The gateway route action to rewrite.
3893
+ # @return [Types::HttpGatewayRouteRewrite]
3894
+ #
3895
+ # @!attribute [rw] target
3896
+ # An object that represents the target that traffic is routed to when
3897
+ # a request matches the gateway route.
3898
+ # @return [Types::GatewayRouteTarget]
3899
+ #
3900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteAction AWS API Documentation
3901
+ #
3902
+ class HttpGatewayRouteAction < Struct.new(
3903
+ :rewrite,
3904
+ :target)
3905
+ SENSITIVE = []
3906
+ include Aws::Structure
3907
+ end
3908
+
3909
+ # An object that represents the HTTP header in the gateway route.
3910
+ #
3911
+ # @note When making an API call, you may pass HttpGatewayRouteHeader
3912
+ # data as a hash:
3913
+ #
3914
+ # {
3915
+ # invert: false,
3916
+ # match: {
3917
+ # exact: "HeaderMatch",
3918
+ # prefix: "HeaderMatch",
3919
+ # range: {
3920
+ # end: 1, # required
3921
+ # start: 1, # required
3922
+ # },
3923
+ # regex: "HeaderMatch",
3924
+ # suffix: "HeaderMatch",
3925
+ # },
3926
+ # name: "HeaderName", # required
3927
+ # }
3928
+ #
3929
+ # @!attribute [rw] invert
3930
+ # Specify `True` to match anything except the match criteria. The
3931
+ # default value is `False`.
3932
+ # @return [Boolean]
3933
+ #
3934
+ # @!attribute [rw] match
3935
+ # An object that represents the method and value to match with the
3936
+ # header value sent in a request. Specify one match method.
3937
+ # @return [Types::HeaderMatchMethod]
3938
+ #
3939
+ # @!attribute [rw] name
3940
+ # A name for the HTTP header in the gateway route that will be matched
3941
+ # on.
3942
+ # @return [String]
3943
+ #
3944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteHeader AWS API Documentation
3945
+ #
3946
+ class HttpGatewayRouteHeader < Struct.new(
3947
+ :invert,
3948
+ :match,
3949
+ :name)
3950
+ SENSITIVE = []
3951
+ include Aws::Structure
3952
+ end
3953
+
3954
+ # An object that represents the criteria for determining a request
3955
+ # match.
3956
+ #
3957
+ # @note When making an API call, you may pass HttpGatewayRouteMatch
3958
+ # data as a hash:
3959
+ #
3960
+ # {
3961
+ # headers: [
3962
+ # {
3963
+ # invert: false,
3964
+ # match: {
3965
+ # exact: "HeaderMatch",
3966
+ # prefix: "HeaderMatch",
3967
+ # range: {
3968
+ # end: 1, # required
3969
+ # start: 1, # required
3970
+ # },
3971
+ # regex: "HeaderMatch",
3972
+ # suffix: "HeaderMatch",
3973
+ # },
3974
+ # name: "HeaderName", # required
3975
+ # },
3976
+ # ],
3977
+ # hostname: {
3978
+ # exact: "ExactHostName",
3979
+ # suffix: "SuffixHostname",
3980
+ # },
3981
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3982
+ # path: {
3983
+ # exact: "HttpPathExact",
3984
+ # regex: "HttpPathRegex",
3985
+ # },
3986
+ # prefix: "String",
3987
+ # query_parameters: [
3988
+ # {
3989
+ # match: {
3990
+ # exact: "String",
3991
+ # },
3992
+ # name: "QueryParameterName", # required
3993
+ # },
3994
+ # ],
3995
+ # }
3996
+ #
3997
+ # @!attribute [rw] headers
3998
+ # The client request headers to match on.
3999
+ # @return [Array<Types::HttpGatewayRouteHeader>]
4000
+ #
4001
+ # @!attribute [rw] hostname
4002
+ # The host name to match on.
4003
+ # @return [Types::GatewayRouteHostnameMatch]
4004
+ #
4005
+ # @!attribute [rw] method
4006
+ # The method to match on.
4007
+ # @return [String]
4008
+ #
4009
+ # @!attribute [rw] path
4010
+ # The path to match on.
4011
+ # @return [Types::HttpPathMatch]
4012
+ #
4013
+ # @!attribute [rw] prefix
4014
+ # Specifies the path to match requests with. This parameter must
4015
+ # always start with `/`, which by itself matches all requests to the
4016
+ # virtual service name. You can also match for path-based routing of
4017
+ # requests. For example, if your virtual service name is
4018
+ # `my-service.local` and you want the route to match requests to
4019
+ # `my-service.local/metrics`, your prefix should be `/metrics`.
4020
+ # @return [String]
4021
+ #
4022
+ # @!attribute [rw] query_parameters
4023
+ # The query parameter to match on.
4024
+ # @return [Array<Types::HttpQueryParameter>]
4025
+ #
4026
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteMatch AWS API Documentation
4027
+ #
4028
+ class HttpGatewayRouteMatch < Struct.new(
4029
+ :headers,
4030
+ :hostname,
4031
+ :method,
4032
+ :path,
4033
+ :prefix,
4034
+ :query_parameters)
4035
+ SENSITIVE = []
4036
+ include Aws::Structure
4037
+ end
4038
+
4039
+ # An object that represents the path to rewrite.
4040
+ #
4041
+ # @note When making an API call, you may pass HttpGatewayRoutePathRewrite
4042
+ # data as a hash:
4043
+ #
4044
+ # {
4045
+ # exact: "HttpPathExact",
4046
+ # }
4047
+ #
4048
+ # @!attribute [rw] exact
4049
+ # The exact path to rewrite.
3238
4050
  # @return [String]
3239
4051
  #
3240
- # @!attribute [rw] port
3241
- # The destination port for the health check request. This port must
3242
- # match the port defined in the PortMapping for the listener.
3243
- # @return [Integer]
4052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoutePathRewrite AWS API Documentation
3244
4053
  #
3245
- # @!attribute [rw] protocol
3246
- # The protocol for the health check request. If you specify `grpc`,
3247
- # then your service must conform to the [GRPC Health Checking
3248
- # Protocol][1].
4054
+ class HttpGatewayRoutePathRewrite < Struct.new(
4055
+ :exact)
4056
+ SENSITIVE = []
4057
+ include Aws::Structure
4058
+ end
4059
+
4060
+ # An object representing the beginning characters of the route to
4061
+ # rewrite.
3249
4062
  #
4063
+ # @note When making an API call, you may pass HttpGatewayRoutePrefixRewrite
4064
+ # data as a hash:
3250
4065
  #
4066
+ # {
4067
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
4068
+ # value: "HttpGatewayRoutePrefix",
4069
+ # }
3251
4070
  #
3252
- # [1]: https://github.com/grpc/grpc/blob/master/doc/health-checking.md
4071
+ # @!attribute [rw] default_prefix
4072
+ # The default prefix used to replace the incoming route prefix when
4073
+ # rewritten.
3253
4074
  # @return [String]
3254
4075
  #
3255
- # @!attribute [rw] timeout_millis
3256
- # The amount of time to wait when receiving a response from the health
3257
- # check, in milliseconds.
3258
- # @return [Integer]
3259
- #
3260
- # @!attribute [rw] unhealthy_threshold
3261
- # The number of consecutive failed health checks that must occur
3262
- # before declaring a virtual node unhealthy.
3263
- # @return [Integer]
4076
+ # @!attribute [rw] value
4077
+ # The value used to replace the incoming route prefix when rewritten.
4078
+ # @return [String]
3264
4079
  #
3265
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HealthCheckPolicy AWS API Documentation
4080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoutePrefixRewrite AWS API Documentation
3266
4081
  #
3267
- class HealthCheckPolicy < Struct.new(
3268
- :healthy_threshold,
3269
- :interval_millis,
3270
- :path,
3271
- :port,
3272
- :protocol,
3273
- :timeout_millis,
3274
- :unhealthy_threshold)
4082
+ class HttpGatewayRoutePrefixRewrite < Struct.new(
4083
+ :default_prefix,
4084
+ :value)
3275
4085
  SENSITIVE = []
3276
4086
  include Aws::Structure
3277
4087
  end
3278
4088
 
3279
- # An object that represents an HTTP gateway route.
4089
+ # An object representing the gateway route to rewrite.
3280
4090
  #
3281
- # @note When making an API call, you may pass HttpGatewayRoute
4091
+ # @note When making an API call, you may pass HttpGatewayRouteRewrite
3282
4092
  # data as a hash:
3283
4093
  #
3284
4094
  # {
3285
- # action: { # required
3286
- # target: { # required
3287
- # virtual_service: { # required
3288
- # virtual_service_name: "ResourceName", # required
3289
- # },
3290
- # },
4095
+ # hostname: {
4096
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
3291
4097
  # },
3292
- # match: { # required
3293
- # prefix: "String", # required
4098
+ # path: {
4099
+ # exact: "HttpPathExact",
4100
+ # },
4101
+ # prefix: {
4102
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
4103
+ # value: "HttpGatewayRoutePrefix",
3294
4104
  # },
3295
4105
  # }
3296
4106
  #
3297
- # @!attribute [rw] action
3298
- # An object that represents the action to take if a match is
3299
- # determined.
3300
- # @return [Types::HttpGatewayRouteAction]
4107
+ # @!attribute [rw] hostname
4108
+ # The host name to rewrite.
4109
+ # @return [Types::GatewayRouteHostnameRewrite]
3301
4110
  #
3302
- # @!attribute [rw] match
3303
- # An object that represents the criteria for determining a request
3304
- # match.
3305
- # @return [Types::HttpGatewayRouteMatch]
4111
+ # @!attribute [rw] path
4112
+ # The path to rewrite.
4113
+ # @return [Types::HttpGatewayRoutePathRewrite]
3306
4114
  #
3307
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRoute AWS API Documentation
4115
+ # @!attribute [rw] prefix
4116
+ # The specified beginning characters to rewrite.
4117
+ # @return [Types::HttpGatewayRoutePrefixRewrite]
3308
4118
  #
3309
- class HttpGatewayRoute < Struct.new(
3310
- :action,
3311
- :match)
4119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteRewrite AWS API Documentation
4120
+ #
4121
+ class HttpGatewayRouteRewrite < Struct.new(
4122
+ :hostname,
4123
+ :path,
4124
+ :prefix)
3312
4125
  SENSITIVE = []
3313
4126
  include Aws::Structure
3314
4127
  end
3315
4128
 
3316
- # An object that represents the action to take if a match is determined.
4129
+ # An object representing the path to match in the request.
3317
4130
  #
3318
- # @note When making an API call, you may pass HttpGatewayRouteAction
4131
+ # @note When making an API call, you may pass HttpPathMatch
3319
4132
  # data as a hash:
3320
4133
  #
3321
4134
  # {
3322
- # target: { # required
3323
- # virtual_service: { # required
3324
- # virtual_service_name: "ResourceName", # required
3325
- # },
3326
- # },
4135
+ # exact: "HttpPathExact",
4136
+ # regex: "HttpPathRegex",
3327
4137
  # }
3328
4138
  #
3329
- # @!attribute [rw] target
3330
- # An object that represents the target that traffic is routed to when
3331
- # a request matches the gateway route.
3332
- # @return [Types::GatewayRouteTarget]
4139
+ # @!attribute [rw] exact
4140
+ # The exact path to match on.
4141
+ # @return [String]
3333
4142
  #
3334
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteAction AWS API Documentation
4143
+ # @!attribute [rw] regex
4144
+ # The regex used to match the path.
4145
+ # @return [String]
3335
4146
  #
3336
- class HttpGatewayRouteAction < Struct.new(
3337
- :target)
4147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpPathMatch AWS API Documentation
4148
+ #
4149
+ class HttpPathMatch < Struct.new(
4150
+ :exact,
4151
+ :regex)
3338
4152
  SENSITIVE = []
3339
4153
  include Aws::Structure
3340
4154
  end
3341
4155
 
3342
- # An object that represents the criteria for determining a request
3343
- # match.
4156
+ # An object that represents the query parameter in the request.
3344
4157
  #
3345
- # @note When making an API call, you may pass HttpGatewayRouteMatch
4158
+ # @note When making an API call, you may pass HttpQueryParameter
3346
4159
  # data as a hash:
3347
4160
  #
3348
4161
  # {
3349
- # prefix: "String", # required
4162
+ # match: {
4163
+ # exact: "String",
4164
+ # },
4165
+ # name: "QueryParameterName", # required
3350
4166
  # }
3351
4167
  #
3352
- # @!attribute [rw] prefix
3353
- # Specifies the path to match requests with. This parameter must
3354
- # always start with `/`, which by itself matches all requests to the
3355
- # virtual service name. You can also match for path-based routing of
3356
- # requests. For example, if your virtual service name is
3357
- # `my-service.local` and you want the route to match requests to
3358
- # `my-service.local/metrics`, your prefix should be `/metrics`.
4168
+ # @!attribute [rw] match
4169
+ # The query parameter to match on.
4170
+ # @return [Types::QueryParameterMatch]
4171
+ #
4172
+ # @!attribute [rw] name
4173
+ # A name for the query parameter that will be matched on.
3359
4174
  # @return [String]
3360
4175
  #
3361
- # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpGatewayRouteMatch AWS API Documentation
4176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpQueryParameter AWS API Documentation
3362
4177
  #
3363
- class HttpGatewayRouteMatch < Struct.new(
3364
- :prefix)
4178
+ class HttpQueryParameter < Struct.new(
4179
+ :match,
4180
+ :name)
3365
4181
  SENSITIVE = []
3366
4182
  include Aws::Structure
3367
4183
  end
3368
4184
 
3369
4185
  # An object that represents a retry policy. Specify at least one value
3370
4186
  # for at least one of the types of `RetryEvents`, a value for
3371
- # `maxRetries`, and a value for `perRetryTimeout`.
4187
+ # `maxRetries`, and a value for `perRetryTimeout`. Both `server-error`
4188
+ # and `gateway-error` under `httpRetryEvents` include the Envoy `reset`
4189
+ # policy. For more information on the `reset` policy, see the [Envoy
4190
+ # documentation][1].
4191
+ #
4192
+ #
4193
+ #
4194
+ # [1]: https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on
3372
4195
  #
3373
4196
  # @note When making an API call, you may pass HttpRetryPolicy
3374
4197
  # data as a hash:
@@ -3453,7 +4276,19 @@ module Aws::AppMesh
3453
4276
  # },
3454
4277
  # ],
3455
4278
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3456
- # prefix: "String", # required
4279
+ # path: {
4280
+ # exact: "HttpPathExact",
4281
+ # regex: "HttpPathRegex",
4282
+ # },
4283
+ # prefix: "String",
4284
+ # query_parameters: [
4285
+ # {
4286
+ # match: {
4287
+ # exact: "String",
4288
+ # },
4289
+ # name: "QueryParameterName", # required
4290
+ # },
4291
+ # ],
3457
4292
  # scheme: "http", # accepts http, https
3458
4293
  # },
3459
4294
  # retry_policy: {
@@ -3601,18 +4436,34 @@ module Aws::AppMesh
3601
4436
  # },
3602
4437
  # ],
3603
4438
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
3604
- # prefix: "String", # required
4439
+ # path: {
4440
+ # exact: "HttpPathExact",
4441
+ # regex: "HttpPathRegex",
4442
+ # },
4443
+ # prefix: "String",
4444
+ # query_parameters: [
4445
+ # {
4446
+ # match: {
4447
+ # exact: "String",
4448
+ # },
4449
+ # name: "QueryParameterName", # required
4450
+ # },
4451
+ # ],
3605
4452
  # scheme: "http", # accepts http, https
3606
4453
  # }
3607
4454
  #
3608
4455
  # @!attribute [rw] headers
3609
- # An object that represents the client request headers to match on.
4456
+ # The client request headers to match on.
3610
4457
  # @return [Array<Types::HttpRouteHeader>]
3611
4458
  #
3612
4459
  # @!attribute [rw] method
3613
4460
  # The client request method to match on. Specify only one.
3614
4461
  # @return [String]
3615
4462
  #
4463
+ # @!attribute [rw] path
4464
+ # The client request path to match on.
4465
+ # @return [Types::HttpPathMatch]
4466
+ #
3616
4467
  # @!attribute [rw] prefix
3617
4468
  # Specifies the path to match requests with. This parameter must
3618
4469
  # always start with `/`, which by itself matches all requests to the
@@ -3622,8 +4473,13 @@ module Aws::AppMesh
3622
4473
  # `my-service.local/metrics`, your prefix should be `/metrics`.
3623
4474
  # @return [String]
3624
4475
  #
4476
+ # @!attribute [rw] query_parameters
4477
+ # The client request query parameters to match on.
4478
+ # @return [Array<Types::HttpQueryParameter>]
4479
+ #
3625
4480
  # @!attribute [rw] scheme
3626
- # The client request scheme to match on. Specify only one.
4481
+ # The client request scheme to match on. Specify only one. Applicable
4482
+ # only for HTTP2 routes.
3627
4483
  # @return [String]
3628
4484
  #
3629
4485
  # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/HttpRouteMatch AWS API Documentation
@@ -3631,7 +4487,9 @@ module Aws::AppMesh
3631
4487
  class HttpRouteMatch < Struct.new(
3632
4488
  :headers,
3633
4489
  :method,
4490
+ :path,
3634
4491
  :prefix,
4492
+ :query_parameters,
3635
4493
  :scheme)
3636
4494
  SENSITIVE = []
3637
4495
  include Aws::Structure
@@ -5126,6 +5984,27 @@ module Aws::AppMesh
5126
5984
  include Aws::Structure
5127
5985
  end
5128
5986
 
5987
+ # An object representing the query parameter to match.
5988
+ #
5989
+ # @note When making an API call, you may pass QueryParameterMatch
5990
+ # data as a hash:
5991
+ #
5992
+ # {
5993
+ # exact: "String",
5994
+ # }
5995
+ #
5996
+ # @!attribute [rw] exact
5997
+ # The exact query parameter to match on.
5998
+ # @return [String]
5999
+ #
6000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/QueryParameterMatch AWS API Documentation
6001
+ #
6002
+ class QueryParameterMatch < Struct.new(
6003
+ :exact)
6004
+ SENSITIVE = []
6005
+ include Aws::Structure
6006
+ end
6007
+
5129
6008
  # You can't delete the specified resource because it's in use or
5130
6009
  # required by another resource.
5131
6010
  #
@@ -5395,7 +6274,19 @@ module Aws::AppMesh
5395
6274
  # },
5396
6275
  # ],
5397
6276
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
5398
- # prefix: "String", # required
6277
+ # path: {
6278
+ # exact: "HttpPathExact",
6279
+ # regex: "HttpPathRegex",
6280
+ # },
6281
+ # prefix: "String",
6282
+ # query_parameters: [
6283
+ # {
6284
+ # match: {
6285
+ # exact: "String",
6286
+ # },
6287
+ # name: "QueryParameterName", # required
6288
+ # },
6289
+ # ],
5399
6290
  # scheme: "http", # accepts http, https
5400
6291
  # },
5401
6292
  # retry_policy: {
@@ -5445,7 +6336,19 @@ module Aws::AppMesh
5445
6336
  # },
5446
6337
  # ],
5447
6338
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
5448
- # prefix: "String", # required
6339
+ # path: {
6340
+ # exact: "HttpPathExact",
6341
+ # regex: "HttpPathRegex",
6342
+ # },
6343
+ # prefix: "String",
6344
+ # query_parameters: [
6345
+ # {
6346
+ # match: {
6347
+ # exact: "String",
6348
+ # },
6349
+ # name: "QueryParameterName", # required
6350
+ # },
6351
+ # ],
5449
6352
  # scheme: "http", # accepts http, https
5450
6353
  # },
5451
6354
  # retry_policy: {
@@ -5553,11 +6456,12 @@ module Aws::AppMesh
5553
6456
  # },
5554
6457
  # dns: {
5555
6458
  # hostname: "Hostname", # required
6459
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
5556
6460
  # },
5557
6461
  # }
5558
6462
  #
5559
6463
  # @!attribute [rw] aws_cloud_map
5560
- # Specifies any AWS Cloud Map information for the virtual node.
6464
+ # Specifies any Cloud Map information for the virtual node.
5561
6465
  # @return [Types::AwsCloudMapServiceDiscovery]
5562
6466
  #
5563
6467
  # @!attribute [rw] dns
@@ -5849,7 +6753,7 @@ module Aws::AppMesh
5849
6753
  end
5850
6754
 
5851
6755
  # An object that represents a Transport Layer Security (TLS) validation
5852
- # context trust for an AWS Certicate Manager (ACM) certificate.
6756
+ # context trust for an Certificate Manager certificate.
5853
6757
  #
5854
6758
  # @note When making an API call, you may pass TlsValidationContextAcmTrust
5855
6759
  # data as a hash:
@@ -5943,7 +6847,7 @@ module Aws::AppMesh
5943
6847
  #
5944
6848
  # @!attribute [rw] acm
5945
6849
  # A reference to an object that represents a Transport Layer Security
5946
- # (TLS) validation context trust for an AWS Certicate Manager (ACM)
6850
+ # (TLS) validation context trust for an Certificate Manager
5947
6851
  # certificate.
5948
6852
  # @return [Types::TlsValidationContextAcmTrust]
5949
6853
  #
@@ -6046,6 +6950,11 @@ module Aws::AppMesh
6046
6950
  # spec: { # required
6047
6951
  # grpc_route: {
6048
6952
  # action: { # required
6953
+ # rewrite: {
6954
+ # hostname: {
6955
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
6956
+ # },
6957
+ # },
6049
6958
  # target: { # required
6050
6959
  # virtual_service: { # required
6051
6960
  # virtual_service_name: "ResourceName", # required
@@ -6053,11 +6962,43 @@ module Aws::AppMesh
6053
6962
  # },
6054
6963
  # },
6055
6964
  # match: { # required
6965
+ # hostname: {
6966
+ # exact: "ExactHostName",
6967
+ # suffix: "SuffixHostname",
6968
+ # },
6969
+ # metadata: [
6970
+ # {
6971
+ # invert: false,
6972
+ # match: {
6973
+ # exact: "HeaderMatch",
6974
+ # prefix: "HeaderMatch",
6975
+ # range: {
6976
+ # end: 1, # required
6977
+ # start: 1, # required
6978
+ # },
6979
+ # regex: "HeaderMatch",
6980
+ # suffix: "HeaderMatch",
6981
+ # },
6982
+ # name: "HeaderName", # required
6983
+ # },
6984
+ # ],
6056
6985
  # service_name: "ServiceName",
6057
6986
  # },
6058
6987
  # },
6059
6988
  # http2_route: {
6060
6989
  # action: { # required
6990
+ # rewrite: {
6991
+ # hostname: {
6992
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
6993
+ # },
6994
+ # path: {
6995
+ # exact: "HttpPathExact",
6996
+ # },
6997
+ # prefix: {
6998
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
6999
+ # value: "HttpGatewayRoutePrefix",
7000
+ # },
7001
+ # },
6061
7002
  # target: { # required
6062
7003
  # virtual_service: { # required
6063
7004
  # virtual_service_name: "ResourceName", # required
@@ -6065,11 +7006,56 @@ module Aws::AppMesh
6065
7006
  # },
6066
7007
  # },
6067
7008
  # match: { # required
6068
- # prefix: "String", # required
7009
+ # headers: [
7010
+ # {
7011
+ # invert: false,
7012
+ # match: {
7013
+ # exact: "HeaderMatch",
7014
+ # prefix: "HeaderMatch",
7015
+ # range: {
7016
+ # end: 1, # required
7017
+ # start: 1, # required
7018
+ # },
7019
+ # regex: "HeaderMatch",
7020
+ # suffix: "HeaderMatch",
7021
+ # },
7022
+ # name: "HeaderName", # required
7023
+ # },
7024
+ # ],
7025
+ # hostname: {
7026
+ # exact: "ExactHostName",
7027
+ # suffix: "SuffixHostname",
7028
+ # },
7029
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
7030
+ # path: {
7031
+ # exact: "HttpPathExact",
7032
+ # regex: "HttpPathRegex",
7033
+ # },
7034
+ # prefix: "String",
7035
+ # query_parameters: [
7036
+ # {
7037
+ # match: {
7038
+ # exact: "String",
7039
+ # },
7040
+ # name: "QueryParameterName", # required
7041
+ # },
7042
+ # ],
6069
7043
  # },
6070
7044
  # },
6071
7045
  # http_route: {
6072
7046
  # action: { # required
7047
+ # rewrite: {
7048
+ # hostname: {
7049
+ # default_target_hostname: "ENABLED", # accepts ENABLED, DISABLED
7050
+ # },
7051
+ # path: {
7052
+ # exact: "HttpPathExact",
7053
+ # },
7054
+ # prefix: {
7055
+ # default_prefix: "ENABLED", # accepts ENABLED, DISABLED
7056
+ # value: "HttpGatewayRoutePrefix",
7057
+ # },
7058
+ # },
6073
7059
  # target: { # required
6074
7060
  # virtual_service: { # required
6075
7061
  # virtual_service_name: "ResourceName", # required
@@ -6077,9 +7063,43 @@ module Aws::AppMesh
6077
7063
  # },
6078
7064
  # },
6079
7065
  # match: { # required
6080
- # prefix: "String", # required
7066
+ # headers: [
7067
+ # {
7068
+ # invert: false,
7069
+ # match: {
7070
+ # exact: "HeaderMatch",
7071
+ # prefix: "HeaderMatch",
7072
+ # range: {
7073
+ # end: 1, # required
7074
+ # start: 1, # required
7075
+ # },
7076
+ # regex: "HeaderMatch",
7077
+ # suffix: "HeaderMatch",
7078
+ # },
7079
+ # name: "HeaderName", # required
7080
+ # },
7081
+ # ],
7082
+ # hostname: {
7083
+ # exact: "ExactHostName",
7084
+ # suffix: "SuffixHostname",
7085
+ # },
7086
+ # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
7087
+ # path: {
7088
+ # exact: "HttpPathExact",
7089
+ # regex: "HttpPathRegex",
7090
+ # },
7091
+ # prefix: "String",
7092
+ # query_parameters: [
7093
+ # {
7094
+ # match: {
7095
+ # exact: "String",
7096
+ # },
7097
+ # name: "QueryParameterName", # required
7098
+ # },
7099
+ # ],
6081
7100
  # },
6082
7101
  # },
7102
+ # priority: 1,
6083
7103
  # },
6084
7104
  # virtual_gateway_name: "ResourceName", # required
6085
7105
  # }
@@ -6298,7 +7318,19 @@ module Aws::AppMesh
6298
7318
  # },
6299
7319
  # ],
6300
7320
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
6301
- # prefix: "String", # required
7321
+ # path: {
7322
+ # exact: "HttpPathExact",
7323
+ # regex: "HttpPathRegex",
7324
+ # },
7325
+ # prefix: "String",
7326
+ # query_parameters: [
7327
+ # {
7328
+ # match: {
7329
+ # exact: "String",
7330
+ # },
7331
+ # name: "QueryParameterName", # required
7332
+ # },
7333
+ # ],
6302
7334
  # scheme: "http", # accepts http, https
6303
7335
  # },
6304
7336
  # retry_policy: {
@@ -6348,7 +7380,19 @@ module Aws::AppMesh
6348
7380
  # },
6349
7381
  # ],
6350
7382
  # method: "GET", # accepts GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
6351
- # prefix: "String", # required
7383
+ # path: {
7384
+ # exact: "HttpPathExact",
7385
+ # regex: "HttpPathRegex",
7386
+ # },
7387
+ # prefix: "String",
7388
+ # query_parameters: [
7389
+ # {
7390
+ # match: {
7391
+ # exact: "String",
7392
+ # },
7393
+ # name: "QueryParameterName", # required
7394
+ # },
7395
+ # ],
6352
7396
  # scheme: "http", # accepts http, https
6353
7397
  # },
6354
7398
  # retry_policy: {
@@ -6847,6 +7891,7 @@ module Aws::AppMesh
6847
7891
  # },
6848
7892
  # dns: {
6849
7893
  # hostname: "Hostname", # required
7894
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
6850
7895
  # },
6851
7896
  # },
6852
7897
  # },
@@ -7299,12 +8344,12 @@ module Aws::AppMesh
7299
8344
  # @!attribute [rw] file
7300
8345
  # An object that represents a local file certificate. The certificate
7301
8346
  # must meet specific requirements and you must have proxy
7302
- # authorization enabled. For more information, see [Transport Layer
7303
- # Security (TLS)][1].
8347
+ # authorization enabled. For more information, see [ Transport Layer
8348
+ # Security (TLS) ][1].
7304
8349
  #
7305
8350
  #
7306
8351
  #
7307
- # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites
8352
+ # [1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html
7308
8353
  # @return [Types::VirtualGatewayListenerTlsFileCertificate]
7309
8354
  #
7310
8355
  # @!attribute [rw] sds
@@ -7730,7 +8775,7 @@ module Aws::AppMesh
7730
8775
  include Aws::Structure
7731
8776
  end
7732
8777
 
7733
- # An object that represents an AWS Certicate Manager (ACM) certificate.
8778
+ # An object that represents an Certificate Manager certificate.
7734
8779
  #
7735
8780
  # @note When making an API call, you may pass VirtualGatewayListenerTlsAcmCertificate
7736
8781
  # data as a hash:
@@ -7778,8 +8823,8 @@ module Aws::AppMesh
7778
8823
  # }
7779
8824
  #
7780
8825
  # @!attribute [rw] acm
7781
- # A reference to an object that represents an AWS Certicate Manager
7782
- # (ACM) certificate.
8826
+ # A reference to an object that represents an Certificate Manager
8827
+ # certificate.
7783
8828
  # @return [Types::VirtualGatewayListenerTlsAcmCertificate]
7784
8829
  #
7785
8830
  # @!attribute [rw] file
@@ -7838,7 +8883,7 @@ module Aws::AppMesh
7838
8883
 
7839
8884
  # An object that represents the virtual gateway's listener's Secret
7840
8885
  # Discovery Service certificate.The proxy must be configured with a
7841
- # local SDS provider via a Unix Domain Socket. See App Mesh [TLS
8886
+ # local SDS provider via a Unix Domain Socket. See App Mesh[TLS
7842
8887
  # documentation][1] for more info.
7843
8888
  #
7844
8889
  #
@@ -8256,7 +9301,7 @@ module Aws::AppMesh
8256
9301
  end
8257
9302
 
8258
9303
  # An object that represents a Transport Layer Security (TLS) validation
8259
- # context trust for an AWS Certicate Manager (ACM) certificate.
9304
+ # context trust for an Certificate Manager certificate.
8260
9305
  #
8261
9306
  # @note When making an API call, you may pass VirtualGatewayTlsValidationContextAcmTrust
8262
9307
  # data as a hash:
@@ -8350,7 +9395,7 @@ module Aws::AppMesh
8350
9395
  #
8351
9396
  # @!attribute [rw] acm
8352
9397
  # A reference to an object that represents a Transport Layer Security
8353
- # (TLS) validation context trust for an AWS Certicate Manager (ACM)
9398
+ # (TLS) validation context trust for an Certificate Manager
8354
9399
  # certificate.
8355
9400
  # @return [Types::VirtualGatewayTlsValidationContextAcmTrust]
8356
9401
  #
@@ -8837,6 +9882,7 @@ module Aws::AppMesh
8837
9882
  # },
8838
9883
  # dns: {
8839
9884
  # hostname: "Hostname", # required
9885
+ # response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
8840
9886
  # },
8841
9887
  # },
8842
9888
  # }