{ "type": "object", "properties": { "grpcRetryEvents": { "allOf": [ { "$ref": "#/components/schemas/GrpcRetryPolicyEvents" }, { "description": "Specify at least one of the valid values." } ] }, "httpRetryEvents": { "allOf": [ { "$ref": "#/components/schemas/HttpRetryPolicyEvents" }, { "description": "

Specify at least one of the following values.

" } ] }, "maxRetries": { "allOf": [ { "$ref": "#/components/schemas/MaxRetries" }, { "description": "The maximum number of retry attempts." } ] }, "perRetryTimeout": { "allOf": [ { "$ref": "#/components/schemas/Duration" }, { "description": "The timeout for each retry attempt." } ] }, "tcpRetryEvents": { "allOf": [ { "$ref": "#/components/schemas/TcpRetryPolicyEvents" }, { "description": "Specify a valid value. The event occurs before any processing of a request has started and is encountered when the upstream is temporarily or permanently unavailable." } ] } }, "required": [ "maxRetries", "perRetryTimeout" ], "description": "An object that represents a retry policy. Specify at least one value for at least one of the types of RetryEvents, a value for maxRetries, and a value for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents include the Envoy reset policy. For more information on the reset policy, see the Envoy documentation.", "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/aws-app-mesh/refs/heads/main/json-schema/app-mesh-grpc-retry-policy-schema.json", "title": "GrpcRetryPolicy" }