A class for use when an API call is only conditionally safe to retry.
This class is intended for use in inspecting the API call parameters of an
API call to verify that any flags necessary to make the API call idempotent
(such as specifying an if_generation_match or related flag) are present.
It can be used in place of a retry.Retry object, in which case
_http.Connection.api_request will pass the requested api call keyword
arguments into the conditional_predicate and return the retry_policy
if the conditions are met.
A retry object defining timeouts, persistence and which exceptions to retry.
A callable that accepts exactly the number of arguments in required_kwargs, in order, and returns True if the arguments have sufficient data to determine that the call is safe to retry (idempotent).
A list of keyword argument keys that will be extracted from the API call and passed into the conditional predicate in order. For example, ["query_params"] is commmonly used for preconditions in query_params.