@@ -405,6 +405,20 @@ def __init__(self, message, cause=None, http_response=None):
405405 exceptions .InvalidArgumentError .__init__ (self , message , cause , http_response )
406406
407407
408+ class TooManyAttemptsTryLaterError (exceptions .ResourceExhaustedError ):
409+ """Rate limited because of too many attempts."""
410+
411+ def __init__ (self , message , cause = None , http_response = None ):
412+ exceptions .ResourceExhaustedError .__init__ (self , message , cause , http_response )
413+
414+
415+ class ResetPasswordExceedLimitError (exceptions .ResourceExhaustedError ):
416+ """Reset password emails exceeded their limits."""
417+
418+ def __init__ (self , message , cause = None , http_response = None ):
419+ exceptions .ResourceExhaustedError .__init__ (self , message , cause , http_response )
420+
421+
408422_CODE_TO_EXC_TYPE = {
409423 'CONFIGURATION_NOT_FOUND' : ConfigurationNotFoundError ,
410424 'DUPLICATE_EMAIL' : EmailAlreadyExistsError ,
@@ -417,6 +431,8 @@ def __init__(self, message, cause=None, http_response=None):
417431 'PHONE_NUMBER_EXISTS' : PhoneNumberAlreadyExistsError ,
418432 'TENANT_NOT_FOUND' : TenantNotFoundError ,
419433 'USER_NOT_FOUND' : UserNotFoundError ,
434+ 'TOO_MANY_ATTEMPTS_TRY_LATER' : TooManyAttemptsTryLaterError ,
435+ 'RESET_PASSWORD_EXCEED_LIMIT' : ResetPasswordExceedLimitError ,
420436}
421437
422438
0 commit comments