diff --git a/appmesh-preview/service-model.json b/appmesh-preview/service-model.json index c5ba6cd..e04a4e1 100644 --- a/appmesh-preview/service-model.json +++ b/appmesh-preview/service-model.json @@ -1248,6 +1248,30 @@ "min": 0, "max": 50 }, + "GrpcRetryPolicy": { + "type": "structure", + "required": [ + "maxRetries", + "perRetryTimeout" + ], + "members": { + "grpcRetryEvents": { + "shape": "GrpcRetryPolicyEvents" + }, + "httpRetryEvents": { + "shape": "HttpRetryPolicyEvents" + }, + "maxRetries": { + "shape": "MaxRetries" + }, + "perRetryTimeout": { + "shape": "Duration" + }, + "tcpRetryEvents": { + "shape": "TcpRetryPolicyEvents" + } + } + }, "ListTagsForResourceInput": { "type": "structure", "required": [ @@ -1299,6 +1323,14 @@ }, "documentation": "
An object representing the logging information for a virtual node.
" }, + "GrpcRetryPolicyEvents": { + "type": "list", + "member": { + "shape": "GrpcRetryPolicyEvent" + }, + "min": 1, + "max": 5 + }, "ServiceUnavailableException": { "type": "structure", "members": { @@ -1495,7 +1527,9 @@ "PortProtocol": { "type": "string", "enum": [ + "grpc", "http", + "http2", "tcp" ] }, @@ -1552,7 +1586,9 @@ ] }, "ServiceName": { - "type": "string" + "type": "string", + "min": 1, + "max": 50 }, "BadRequestException": { "type": "structure", @@ -1625,6 +1661,14 @@ "min": 0, "max": 100 }, + "GrpcRouteMetadataList": { + "type": "list", + "member": { + "shape": "GrpcRouteMetadata" + }, + "min": 1, + "max": 10 + }, "ListenerTlsMode": { "type": "string", "enum": [ @@ -1633,6 +1677,11 @@ "STRICT" ] }, + "MethodName": { + "type": "string", + "min": 1, + "max": 50 + }, "TagValue": { "type": "string", "min": 0, @@ -1940,6 +1989,17 @@ }, "documentation": "" }, + "GrpcRouteAction": { + "type": "structure", + "required": [ + "weightedTargets" + ], + "members": { + "weightedTargets": { + "shape": "WeightedTargets" + } + } + }, "DescribeVirtualNodeOutput": { "type": "structure", "required": [ @@ -2002,6 +2062,26 @@ "documentation": "", "payload": "route" }, + "GrpcRouteMetadataMatchMethod": { + "type": "structure", + "members": { + "exact": { + "shape": "HeaderMatch" + }, + "prefix": { + "shape": "HeaderMatch" + }, + "range": { + "shape": "MatchRange" + }, + "regex": { + "shape": "HeaderMatch" + }, + "suffix": { + "shape": "HeaderMatch" + } + } + }, "DnsServiceDiscovery": { "type": "structure", "required": [ @@ -2623,12 +2703,15 @@ "type": "structure", "members": { "unit": { - "shape": "DurationUnit" + "shape": "DurationUnit", + "documentation": "A unit of time.
" }, "value": { - "shape": "DurationValue" + "shape": "DurationValue", + "documentation": "A number of time units.
" } - } + }, + "documentation": "An object representing a duration of time.
" }, "ConflictException": { "type": "structure", @@ -2937,6 +3020,24 @@ }, "documentation": "An object representing a listener for a virtual node.
" }, + "GrpcRoute": { + "type": "structure", + "required": [ + "action", + "match" + ], + "members": { + "action": { + "shape": "GrpcRouteAction" + }, + "match": { + "shape": "GrpcRouteMatch" + }, + "retryPolicy": { + "shape": "GrpcRetryPolicy" + } + } + }, "DeleteVirtualNodeInput": { "type": "structure", "required": [ @@ -3066,6 +3167,16 @@ "min": 0, "max": 50 }, + "GrpcRetryPolicyEvent": { + "type": "string", + "enum": [ + "cancelled", + "deadline-exceeded", + "internal", + "resource-exhausted", + "unavailable" + ] + }, "HttpRetryPolicy": { "type": "structure", "required": [ @@ -3074,18 +3185,23 @@ ], "members": { "httpRetryEvents": { - "shape": "HttpRetryPolicyEvents" + "shape": "HttpRetryPolicyEvents", + "documentation": "Specify at least one of the following values.
\n\n server-error – HTTP status codes 500, 501,\n 502, 503, 504, 505, 506, 507, 508, 510, and 511
\n\n gateway-error – HTTP status codes 502,\n 503, and 504
\n\n client-error – HTTP status code 409
\n\n stream-error – Retry on refused\n stream
\nThe maximum number of retry attempts. If no value is specified, the default is 1.
" }, "perRetryTimeout": { - "shape": "Duration" + "shape": "Duration", + "documentation": "An object that represents the duration of time between retries.
" }, "tcpRetryEvents": { - "shape": "TcpRetryPolicyEvents" + "shape": "TcpRetryPolicyEvents", + "documentation": "Specify a valid value.
" } - } + }, + "documentation": "An object that represents a retry policy.
" }, "DescribeVirtualRouterInput": { "type": "structure", @@ -3230,6 +3346,23 @@ }, "documentation": "" }, + "GrpcRouteMetadata": { + "type": "structure", + "required": [ + "name" + ], + "members": { + "invert": { + "shape": "Boolean" + }, + "match": { + "shape": "GrpcRouteMetadataMatchMethod" + }, + "name": { + "shape": "HeaderName" + } + } + }, "CreateRouteInput": { "type": "structure", "required": [ @@ -3301,6 +3434,20 @@ }, "documentation": "An object representing the provider for a virtual service.
" }, + "GrpcRouteMatch": { + "type": "structure", + "members": { + "metadata": { + "shape": "GrpcRouteMetadataList" + }, + "methodName": { + "shape": "MethodName" + }, + "serviceName": { + "shape": "ServiceName" + } + } + }, "String": { "type": "string" }, @@ -3448,6 +3595,18 @@ "RouteSpec": { "type": "structure", "members": { + "grpcRoute": { + "shape": "GrpcRoute", + "tags": [ + "preview" + ] + }, + "http2Route": { + "shape": "HttpRoute", + "tags": [ + "preview" + ] + }, "httpRoute": { "shape": "HttpRoute", "documentation": "The HTTP routing information for the route.
" @@ -3480,9 +3639,7 @@ }, "retryPolicy": { "shape": "HttpRetryPolicy", - "tags": [ - "preview" - ] + "documentation": "An object that represents a retry policy.
" } }, "documentation": "An object representing the HTTP routing specification for a route.
"