aws-sdk-appmesh 1.35.0 → 1.36.0

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