in darabonba/policy/retry.py [0:0]
def new_backoff_policy(option: Dict[str, Any]) -> 'BackoffPolicy':
policy_map = {
'Fixed': FixedBackoffPolicy,
'Random': RandomBackoffPolicy,
'Exponential': ExponentialBackoffPolicy,
'EqualJitter': EqualJitterBackoffPolicy,
'ExponentialWithEqualJitter': EqualJitterBackoffPolicy,
'FullJitter': FullJitterBackoffPolicy,
'ExponentialWithFullJitter': FullJitterBackoffPolicy,
}
policy_class = policy_map.get(option.get('policy'))
if policy_class:
return policy_class(option)
raise ValueError(f"Unknown policy: {option.get('policy')}")