summaryrefslogtreecommitdiff
path: root/boto/fps/exception.py
diff options
context:
space:
mode:
authorMitch Garnaat <mitch@garnaat.com>2012-05-15 18:59:46 -0700
committerMitch Garnaat <mitch@garnaat.com>2012-05-15 18:59:46 -0700
commit1aa1133e8502ea6c95e49ac34681569df5ace46b (patch)
treea25397b20d7d409131ccfbfce5d4dca23d7e52a4 /boto/fps/exception.py
parent911f42b97fdccbc55e160ec323df0cad6fe64c6b (diff)
parent6588ea270bfc9e0bb4d17263b72ee8b5255545c5 (diff)
downloadboto-2.4.0.tar.gz
Merge branch 'release-2.4.0'2.4.0
Diffstat (limited to 'boto/fps/exception.py')
-rw-r--r--boto/fps/exception.py344
1 files changed, 344 insertions, 0 deletions
diff --git a/boto/fps/exception.py b/boto/fps/exception.py
new file mode 100644
index 00000000..fd551afe
--- /dev/null
+++ b/boto/fps/exception.py
@@ -0,0 +1,344 @@
+from boto.exception import BotoServerError
+
+
+class ResponseErrorFactory(BotoServerError):
+
+ def __new__(cls, *args, **kw):
+ error = BotoServerError(*args, **kw)
+ newclass = globals().get(error.error_code, ResponseError)
+ obj = newclass.__new__(newclass, *args, **kw)
+ obj.__dict__.update(error.__dict__)
+ return obj
+
+
+class ResponseError(BotoServerError):
+ """Undefined response error.
+ """
+ retry = False
+
+ def __repr__(self):
+ return '{}({}, {},\n\t{})'.format(self.__class__.__name__,
+ self.status, self.reason,
+ self.error_message)
+
+ def __str__(self):
+ return 'FPS Response Error: {0.status} {0.__class__.__name__} {1}\n' \
+ '{2}\n' \
+ '{0.error_message}'.format(self,
+ self.retry and '(Retriable)' or '',
+ self.__doc__.strip())
+
+
+class RetriableResponseError(ResponseError):
+ retry = True
+
+
+class AccessFailure(RetriableResponseError):
+ """Account cannot be accessed.
+ """
+
+
+class AccountClosed(RetriableResponseError):
+ """Account is not active.
+ """
+
+
+class AccountLimitsExceeded(RetriableResponseError):
+ """The spending or receiving limit on the account is exceeded.
+ """
+
+
+class AmountOutOfRange(ResponseError):
+ """The transaction amount is more than the allowed range.
+ """
+
+
+class AuthFailure(RetriableResponseError):
+ """AWS was not able to validate the provided access credentials.
+ """
+
+
+class ConcurrentModification(RetriableResponseError):
+ """A retriable error can happen when two processes try to modify the
+ same data at the same time.
+ """
+
+
+class DuplicateRequest(ResponseError):
+ """A different request associated with this caller reference already
+ exists.
+ """
+
+
+class InactiveInstrument(ResponseError):
+ """Payment instrument is inactive.
+ """
+
+
+class IncompatibleTokens(ResponseError):
+ """The transaction could not be completed because the tokens have
+ incompatible payment instructions.
+ """
+
+
+class InstrumentAccessDenied(ResponseError):
+ """The external calling application is not the recipient for this
+ postpaid or prepaid instrument.
+ """
+
+
+class InstrumentExpired(ResponseError):
+ """The prepaid or the postpaid instrument has expired.
+ """
+
+
+class InsufficientBalance(RetriableResponseError):
+ """The sender, caller, or recipient's account balance has
+ insufficient funds to complete the transaction.
+ """
+
+
+class InternalError(RetriableResponseError):
+ """A retriable error that happens due to some transient problem in
+ the system.
+ """
+
+
+class InvalidAccountState(RetriableResponseError):
+ """The account is either suspended or closed.
+ """
+
+
+class InvalidAccountState_Caller(RetriableResponseError):
+ """The developer account cannot participate in the transaction.
+ """
+
+
+class InvalidAccountState_Recipient(RetriableResponseError):
+ """Recipient account cannot participate in the transaction.
+ """
+
+
+class InvalidAccountState_Sender(RetriableResponseError):
+ """Sender account cannot participate in the transaction.
+ """
+
+
+class InvalidCallerReference(ResponseError):
+ """The Caller Reference does not have a token associated with it.
+ """
+
+
+class InvalidClientTokenId(ResponseError):
+ """The AWS Access Key Id you provided does not exist in our records.
+ """
+
+
+class InvalidDateRange(ResponseError):
+ """The end date specified is before the start date or the start date
+ is in the future.
+ """
+
+
+class InvalidParams(ResponseError):
+ """One or more parameters in the request is invalid.
+ """
+
+
+class InvalidPaymentInstrument(ResponseError):
+ """The payment method used in the transaction is invalid.
+ """
+
+
+class InvalidPaymentMethod(ResponseError):
+ """Specify correct payment method.
+ """
+
+
+class InvalidRecipientForCCTransaction(ResponseError):
+ """This account cannot receive credit card payments.
+ """
+
+
+class InvalidSenderRoleForAccountType(ResponseError):
+ """This token cannot be used for this operation.
+ """
+
+
+class InvalidTokenId(ResponseError):
+ """You did not install the token that you are trying to cancel.
+ """
+
+
+class InvalidTokenId_Recipient(ResponseError):
+ """The recipient token specified is either invalid or canceled.
+ """
+
+
+class InvalidTokenId_Sender(ResponseError):
+ """The sender token specified is either invalid or canceled or the
+ token is not active.
+ """
+
+
+class InvalidTokenType(ResponseError):
+ """An invalid operation was performed on the token, for example,
+ getting the token usage information on a single use token.
+ """
+
+
+class InvalidTransactionId(ResponseError):
+ """The specified transaction could not be found or the caller did not
+ execute the transaction or this is not a Pay or Reserve call.
+ """
+
+
+class InvalidTransactionState(ResponseError):
+ """The transaction is not complete, or it has temporarily failed.
+ """
+
+
+class NotMarketplaceApp(RetriableResponseError):
+ """This is not an marketplace application or the caller does not
+ match either the sender or the recipient.
+ """
+
+
+class OriginalTransactionFailed(ResponseError):
+ """The original transaction has failed.
+ """
+
+
+class OriginalTransactionIncomplete(RetriableResponseError):
+ """The original transaction is still in progress.
+ """
+
+
+class PaymentInstrumentNotCC(ResponseError):
+ """The payment method specified in the transaction is not a credit
+ card. You can only use a credit card for this transaction.
+ """
+
+
+class PaymentMethodNotDefined(ResponseError):
+ """Payment method is not defined in the transaction.
+ """
+
+
+class PrepaidFundingLimitExceeded(RetriableResponseError):
+ """An attempt has been made to fund the prepaid instrument
+ at a level greater than its recharge limit.
+ """
+
+
+class RefundAmountExceeded(ResponseError):
+ """The refund amount is more than the refundable amount.
+ """
+
+
+class SameSenderAndRecipient(ResponseError):
+ """The sender and receiver are identical, which is not allowed.
+ """
+
+
+class SameTokenIdUsedMultipleTimes(ResponseError):
+ """This token is already used in earlier transactions.
+ """
+
+
+class SenderNotOriginalRecipient(ResponseError):
+ """The sender in the refund transaction is not
+ the recipient of the original transaction.
+ """
+
+
+class SettleAmountGreaterThanDebt(ResponseError):
+ """The amount being settled or written off is
+ greater than the current debt.
+ """
+
+
+class SettleAmountGreaterThanReserveAmount(ResponseError):
+ """The amount being settled is greater than the reserved amount.
+ """
+
+
+class SignatureDoesNotMatch(ResponseError):
+ """The request signature calculated by Amazon does not match the
+ signature you provided.
+ """
+
+
+class TokenAccessDenied(ResponseError):
+ """Permission to cancel the token is denied.
+ """
+
+
+class TokenNotActive(ResponseError):
+ """The token is canceled.
+ """
+
+
+class TokenNotActive_Recipient(ResponseError):
+ """The recipient token is canceled.
+ """
+
+
+class TokenNotActive_Sender(ResponseError):
+ """The sender token is canceled.
+ """
+
+
+class TokenUsageError(ResponseError):
+ """The token usage limit is exceeded.
+ """
+
+
+class TransactionDenied(ResponseError):
+ """The transaction is not allowed.
+ """
+
+
+class TransactionFullyRefundedAlready(ResponseError):
+ """The transaction has already been completely refunded.
+ """
+
+
+class TransactionTypeNotRefundable(ResponseError):
+ """You cannot refund this transaction.
+ """
+
+
+class UnverifiedAccount_Recipient(ResponseError):
+ """The recipient's account must have a verified bank account or a
+ credit card before this transaction can be initiated.
+ """
+
+
+class UnverifiedAccount_Sender(ResponseError):
+ """The sender's account must have a verified U.S. credit card or
+ a verified U.S bank account before this transaction can be
+ initiated.
+ """
+
+
+class UnverifiedBankAccount(ResponseError):
+ """A verified bank account should be used for this transaction.
+ """
+
+
+class UnverifiedEmailAddress_Caller(ResponseError):
+ """The caller account must have a verified email address.
+ """
+
+
+class UnverifiedEmailAddress_Recipient(ResponseError):
+ """The recipient account must have a verified
+ email address for receiving payments.
+ """
+
+
+class UnverifiedEmailAddress_Sender(ResponseError):
+ """The sender account must have a verified
+ email address for this payment.
+ """