func convertDaxError()

in dax/internal/client/error.go [277:383]


func convertDaxError(e daxError) error {
	codes := e.CodeSequence()
	if len(codes) < 2 {
		return e
	}
	switch codes[1] {
	case 23:
		if len(codes) > 2 {
			switch codes[2] {
			case 24:
				return &types.ResourceNotFoundException{
					Message: aws.String(e.Error()),
				}
			case 35:
				return &types.ResourceInUseException{
					Message: aws.String(e.Error()),
				}
			}
		}
	case 37:
		if len(codes) > 3 {
			switch codes[3] {
			case 39:
				if len(codes) > 4 {
					switch codes[4] {
					case 40:
						return &types.ProvisionedThroughputExceededException{
							Message: aws.String(e.Error()),
						}
					case 41:
						return &types.ResourceNotFoundException{
							Message: aws.String(e.Error()),
						}
					case 43:
						return &types.ConditionalCheckFailedException{
							Message: aws.String(e.Error()),
						}
					case 45:
						return &types.ResourceInUseException{
							Message: aws.String(e.Error())}
					case 46:
						// there's no dynamodb.ValidationException type
						return &smithy.GenericAPIError{
							Code:    ErrCodeValidationException,
							Message: e.Error(),
							Fault:   smithy.FaultServer,
						}
					case 47:
						return &types.InternalServerError{
							Message: aws.String(e.Error()),
						}
					case 48:
						return &types.ItemCollectionSizeLimitExceededException{
							Message: aws.String(e.Error()),
						}
					case 49:
						return &types.LimitExceededException{
							Message: aws.String(e.Error()),
						}
					case 50:
						// there's no dynamodb.ThrottlingException type
						return &smithy.GenericAPIError{
							Code:    ErrCodeThrottlingException,
							Message: e.Error(),
							Fault:   smithy.FaultServer,
						}
					case 57:
						return &types.TransactionConflictException{
							Message: aws.String(e.Error()),
						}
					case 58:
						tcFailure, ok := e.(*daxTransactionCanceledFailure)
						if ok {
							return &types.TransactionCanceledException{
								Message:             aws.String(e.Error()),
								CancellationReasons: tcFailure.cancellationReasons,
							}
						} else {
							return &types.TransactionCanceledException{
								Message: aws.String(e.Error()),
							}
						}
					case 59:
						return &types.TransactionInProgressException{
							Message: aws.String(e.Error()),
						}
					case 60:
						return &types.IdempotentParameterMismatchException{
							Message: aws.String(e.Error()),
						}
					}
				}
			case 44:
				return &smithy.GenericAPIError{
					Code:    ErrCodeNotImplemented,
					Message: e.Error(),
					Fault:   smithy.FaultServer,
				}
			}
		}
	}
	return &smithy.GenericAPIError{
		Code:    ErrCodeUnknown,
		Message: e.Error(),
		Fault:   smithy.FaultServer,
	}
}