1"""
2Exceptions that are specific to the cloudtrail module.
3"""
4from boto.exception import BotoServerError
5
6
7class InvalidSnsTopicNameException(BotoServerError):
8    """
9    Raised when an invalid SNS topic name is passed to Cloudtrail.
10    """
11    pass
12
13
14class InvalidS3BucketNameException(BotoServerError):
15    """
16    Raised when an invalid S3 bucket name is passed to Cloudtrail.
17    """
18    pass
19
20
21class TrailAlreadyExistsException(BotoServerError):
22    """
23    Raised when the given trail name already exists.
24    """
25    pass
26
27
28class InsufficientSnsTopicPolicyException(BotoServerError):
29    """
30    Raised when the SNS topic does not allow Cloudtrail to post
31    messages.
32    """
33    pass
34
35
36class InvalidTrailNameException(BotoServerError):
37    """
38    Raised when the trail name is invalid.
39    """
40    pass
41
42
43class InternalErrorException(BotoServerError):
44    """
45    Raised when there was an internal Cloudtrail error.
46    """
47    pass
48
49
50class TrailNotFoundException(BotoServerError):
51    """
52    Raised when the given trail name is not found.
53    """
54    pass
55
56
57class S3BucketDoesNotExistException(BotoServerError):
58    """
59    Raised when the given S3 bucket does not exist.
60    """
61    pass
62
63
64class TrailNotProvidedException(BotoServerError):
65    """
66    Raised when no trail name was provided.
67    """
68    pass
69
70
71class InvalidS3PrefixException(BotoServerError):
72    """
73    Raised when an invalid key prefix is given.
74    """
75    pass
76
77
78class MaximumNumberOfTrailsExceededException(BotoServerError):
79    """
80    Raised when no more trails can be created.
81    """
82    pass
83
84
85class InsufficientS3BucketPolicyException(BotoServerError):
86    """
87    Raised when the S3 bucket does not allow Cloudtrail to
88    write files into the prefix.
89    """
90    pass
91
92
93class InvalidMaxResultsException(BotoServerError):
94    pass
95
96
97class InvalidTimeRangeException(BotoServerError):
98    pass
99
100
101class InvalidLookupAttributesException(BotoServerError):
102    pass
103
104
105class InvalidCloudWatchLogsLogGroupArnException(BotoServerError):
106    pass
107
108
109class InvalidCloudWatchLogsRoleArnException(BotoServerError):
110    pass
111
112
113class CloudWatchLogsDeliveryUnavailableException(BotoServerError):
114    pass
115
116
117class InvalidNextTokenException(BotoServerError):
118    pass
119