amazonka-cloudtrail 0.3.6 → 1.0.0
raw patch · 19 files changed
+2160/−1394 lines, 19 filesdep +amazonka-cloudtraildep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: amazonka-cloudtrail, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers
Dependency ranges changed: amazonka-core, base
API changes (from Hackage documentation)
- Network.AWS.CloudTrail.CreateTrail: ctCloudWatchLogsLogGroupArn :: Lens' CreateTrail (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctCloudWatchLogsRoleArn :: Lens' CreateTrail (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctSnsTopicName :: Lens' CreateTrail (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctrCloudWatchLogsLogGroupArn :: Lens' CreateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctrCloudWatchLogsRoleArn :: Lens' CreateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctrIncludeGlobalServiceEvents :: Lens' CreateTrailResponse (Maybe Bool)
- Network.AWS.CloudTrail.CreateTrail: ctrName :: Lens' CreateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctrS3BucketName :: Lens' CreateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctrS3KeyPrefix :: Lens' CreateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: ctrSnsTopicName :: Lens' CreateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.CreateTrail: instance FromJSON CreateTrailResponse
- Network.AWS.CloudTrail.CreateTrail: instance Ord CreateTrail
- Network.AWS.CloudTrail.CreateTrail: instance Ord CreateTrailResponse
- Network.AWS.CloudTrail.DeleteTrail: instance IsString DeleteTrail
- Network.AWS.CloudTrail.DeleteTrail: instance Monoid DeleteTrail
- Network.AWS.CloudTrail.DeleteTrail: instance Ord DeleteTrail
- Network.AWS.CloudTrail.DeleteTrail: instance Ord DeleteTrailResponse
- Network.AWS.CloudTrail.DescribeTrails: dtrTrailList :: Lens' DescribeTrailsResponse [Trail]
- Network.AWS.CloudTrail.DescribeTrails: instance FromJSON DescribeTrailsResponse
- Network.AWS.CloudTrail.DescribeTrails: instance IsList DescribeTrails
- Network.AWS.CloudTrail.DescribeTrails: instance IsList DescribeTrailsResponse
- Network.AWS.CloudTrail.DescribeTrails: instance Monoid DescribeTrails
- Network.AWS.CloudTrail.DescribeTrails: instance Monoid DescribeTrailsResponse
- Network.AWS.CloudTrail.DescribeTrails: instance Ord DescribeTrails
- Network.AWS.CloudTrail.DescribeTrails: instance Semigroup DescribeTrails
- Network.AWS.CloudTrail.DescribeTrails: instance Semigroup DescribeTrailsResponse
- Network.AWS.CloudTrail.GetTrailStatus: gtsrIsLogging :: Lens' GetTrailStatusResponse (Maybe Bool)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrLatestCloudWatchLogsDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrLatestCloudWatchLogsDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrLatestDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrLatestDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrLatestNotificationError :: Lens' GetTrailStatusResponse (Maybe Text)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrLatestNotificationTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrStartLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
- Network.AWS.CloudTrail.GetTrailStatus: gtsrStopLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
- Network.AWS.CloudTrail.GetTrailStatus: instance FromJSON GetTrailStatusResponse
- Network.AWS.CloudTrail.GetTrailStatus: instance IsString GetTrailStatus
- Network.AWS.CloudTrail.GetTrailStatus: instance Monoid GetTrailStatus
- Network.AWS.CloudTrail.GetTrailStatus: instance Ord GetTrailStatus
- Network.AWS.CloudTrail.GetTrailStatus: instance Ord GetTrailStatusResponse
- Network.AWS.CloudTrail.LookupEvents: instance FromJSON LookupEventsResponse
- Network.AWS.CloudTrail.LookupEvents: lerEvents :: Lens' LookupEventsResponse [Event]
- Network.AWS.CloudTrail.LookupEvents: lerNextToken :: Lens' LookupEventsResponse (Maybe Text)
- Network.AWS.CloudTrail.StartLogging: instance IsString StartLogging
- Network.AWS.CloudTrail.StartLogging: instance Monoid StartLogging
- Network.AWS.CloudTrail.StartLogging: instance Ord StartLogging
- Network.AWS.CloudTrail.StartLogging: instance Ord StartLoggingResponse
- Network.AWS.CloudTrail.StartLogging: sl1Name :: Lens' StartLogging Text
- Network.AWS.CloudTrail.StopLogging: instance IsString StopLogging
- Network.AWS.CloudTrail.StopLogging: instance Monoid StopLogging
- Network.AWS.CloudTrail.StopLogging: instance Ord StopLogging
- Network.AWS.CloudTrail.StopLogging: instance Ord StopLoggingResponse
- Network.AWS.CloudTrail.Types: data JSONError :: *
- Network.AWS.CloudTrail.Types: instance Constructor C1_0LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Constructor C1_1LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Constructor C1_2LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Constructor C1_3LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Constructor C1_4LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Datatype D1LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Enum LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Eq Event
- Network.AWS.CloudTrail.Types: instance Eq LookupAttribute
- Network.AWS.CloudTrail.Types: instance Eq LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Eq Resource
- Network.AWS.CloudTrail.Types: instance Eq Trail
- Network.AWS.CloudTrail.Types: instance FromJSON Event
- Network.AWS.CloudTrail.Types: instance FromJSON LookupAttribute
- Network.AWS.CloudTrail.Types: instance FromJSON LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance FromJSON Resource
- Network.AWS.CloudTrail.Types: instance FromJSON Trail
- Network.AWS.CloudTrail.Types: instance FromText LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Generic LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Hashable LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Ord LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Ord Resource
- Network.AWS.CloudTrail.Types: instance Ord Trail
- Network.AWS.CloudTrail.Types: instance Read Event
- Network.AWS.CloudTrail.Types: instance Read LookupAttribute
- Network.AWS.CloudTrail.Types: instance Read LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Read Resource
- Network.AWS.CloudTrail.Types: instance Read Trail
- Network.AWS.CloudTrail.Types: instance Show Event
- Network.AWS.CloudTrail.Types: instance Show LookupAttribute
- Network.AWS.CloudTrail.Types: instance Show LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance Show Resource
- Network.AWS.CloudTrail.Types: instance Show Trail
- Network.AWS.CloudTrail.Types: instance ToByteString LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance ToHeader LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance ToJSON Event
- Network.AWS.CloudTrail.Types: instance ToJSON LookupAttribute
- Network.AWS.CloudTrail.Types: instance ToJSON LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance ToJSON Resource
- Network.AWS.CloudTrail.Types: instance ToJSON Trail
- Network.AWS.CloudTrail.Types: instance ToQuery LookupAttributeKey
- Network.AWS.CloudTrail.Types: instance ToText LookupAttributeKey
- Network.AWS.CloudTrail.Types: tCloudWatchLogsLogGroupArn :: Lens' Trail (Maybe Text)
- Network.AWS.CloudTrail.Types: tCloudWatchLogsRoleArn :: Lens' Trail (Maybe Text)
- Network.AWS.CloudTrail.Types: tSnsTopicName :: Lens' Trail (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: instance FromJSON UpdateTrailResponse
- Network.AWS.CloudTrail.UpdateTrail: instance Ord UpdateTrail
- Network.AWS.CloudTrail.UpdateTrail: instance Ord UpdateTrailResponse
- Network.AWS.CloudTrail.UpdateTrail: utCloudWatchLogsLogGroupArn :: Lens' UpdateTrail (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utCloudWatchLogsRoleArn :: Lens' UpdateTrail (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utSnsTopicName :: Lens' UpdateTrail (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utrCloudWatchLogsLogGroupArn :: Lens' UpdateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utrCloudWatchLogsRoleArn :: Lens' UpdateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utrIncludeGlobalServiceEvents :: Lens' UpdateTrailResponse (Maybe Bool)
- Network.AWS.CloudTrail.UpdateTrail: utrName :: Lens' UpdateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utrS3BucketName :: Lens' UpdateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utrS3KeyPrefix :: Lens' UpdateTrailResponse (Maybe Text)
- Network.AWS.CloudTrail.UpdateTrail: utrSnsTopicName :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail: EventId :: LookupAttributeKey
+ Network.AWS.CloudTrail: EventName :: LookupAttributeKey
+ Network.AWS.CloudTrail: ResourceName :: LookupAttributeKey
+ Network.AWS.CloudTrail: ResourceType :: LookupAttributeKey
+ Network.AWS.CloudTrail: Username :: LookupAttributeKey
+ Network.AWS.CloudTrail: _CloudWatchLogsDeliveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InsufficientS3BucketPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InsufficientSNSTopicPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidCloudWatchLogsLogGroupARNException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidCloudWatchLogsRoleARNException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidLookupAttributesException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidMaxResultsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidS3BucketNameException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidS3PrefixException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidSNSTopicNameException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _InvalidTrailNameException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _MaximumNumberOfTrailsExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _S3BucketDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _TrailAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: _TrailNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail: data CloudTrail
+ Network.AWS.CloudTrail: data Event
+ Network.AWS.CloudTrail: data LookupAttribute
+ Network.AWS.CloudTrail: data LookupAttributeKey
+ Network.AWS.CloudTrail: data Resource
+ Network.AWS.CloudTrail: data Trail
+ Network.AWS.CloudTrail: eCloudTrailEvent :: Lens' Event (Maybe Text)
+ Network.AWS.CloudTrail: eEventId :: Lens' Event (Maybe Text)
+ Network.AWS.CloudTrail: eEventName :: Lens' Event (Maybe Text)
+ Network.AWS.CloudTrail: eEventTime :: Lens' Event (Maybe UTCTime)
+ Network.AWS.CloudTrail: eResources :: Lens' Event [Resource]
+ Network.AWS.CloudTrail: eUsername :: Lens' Event (Maybe Text)
+ Network.AWS.CloudTrail: event :: Event
+ Network.AWS.CloudTrail: laAttributeKey :: Lens' LookupAttribute LookupAttributeKey
+ Network.AWS.CloudTrail: laAttributeValue :: Lens' LookupAttribute Text
+ Network.AWS.CloudTrail: lookupAttribute :: LookupAttributeKey -> Text -> LookupAttribute
+ Network.AWS.CloudTrail: rResourceName :: Lens' Resource (Maybe Text)
+ Network.AWS.CloudTrail: rResourceType :: Lens' Resource (Maybe Text)
+ Network.AWS.CloudTrail: resource :: Resource
+ Network.AWS.CloudTrail: tCloudWatchLogsLogGroupARN :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail: tCloudWatchLogsRoleARN :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail: tIncludeGlobalServiceEvents :: Lens' Trail (Maybe Bool)
+ Network.AWS.CloudTrail: tName :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail: tS3BucketName :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail: tS3KeyPrefix :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail: tSNSTopicName :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail: trail :: Trail
+ Network.AWS.CloudTrail.CreateTrail: ctCloudWatchLogsLogGroupARN :: Lens' CreateTrail (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctCloudWatchLogsRoleARN :: Lens' CreateTrail (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctSNSTopicName :: Lens' CreateTrail (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsCloudWatchLogsLogGroupARN :: Lens' CreateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsCloudWatchLogsRoleARN :: Lens' CreateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsIncludeGlobalServiceEvents :: Lens' CreateTrailResponse (Maybe Bool)
+ Network.AWS.CloudTrail.CreateTrail: ctrsName :: Lens' CreateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsS3BucketName :: Lens' CreateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsS3KeyPrefix :: Lens' CreateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsSNSTopicName :: Lens' CreateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.CreateTrail: ctrsStatus :: Lens' CreateTrailResponse Int
+ Network.AWS.CloudTrail.CreateTrail: instance Constructor C1_0CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Constructor C1_0CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Data CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Data CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Datatype D1CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Datatype D1CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Generic CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Generic CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_0CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_0CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_1CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_1CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_2CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_2CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_3CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_3CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_4CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_4CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_5CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_5CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_6CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_6CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Selector S1_0_7CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: instance Typeable CreateTrail
+ Network.AWS.CloudTrail.CreateTrail: instance Typeable CreateTrailResponse
+ Network.AWS.CloudTrail.DeleteTrail: drsStatus :: Lens' DeleteTrailResponse Int
+ Network.AWS.CloudTrail.DeleteTrail: instance Constructor C1_0DeleteTrail
+ Network.AWS.CloudTrail.DeleteTrail: instance Data DeleteTrail
+ Network.AWS.CloudTrail.DeleteTrail: instance Data DeleteTrailResponse
+ Network.AWS.CloudTrail.DeleteTrail: instance Datatype D1DeleteTrail
+ Network.AWS.CloudTrail.DeleteTrail: instance Generic DeleteTrail
+ Network.AWS.CloudTrail.DeleteTrail: instance Selector S1_0_0DeleteTrail
+ Network.AWS.CloudTrail.DeleteTrail: instance Selector S1_0_0DeleteTrailResponse
+ Network.AWS.CloudTrail.DeleteTrail: instance Typeable DeleteTrail
+ Network.AWS.CloudTrail.DeleteTrail: instance Typeable DeleteTrailResponse
+ Network.AWS.CloudTrail.DescribeTrails: dtrsStatus :: Lens' DescribeTrailsResponse Int
+ Network.AWS.CloudTrail.DescribeTrails: dtrsTrailList :: Lens' DescribeTrailsResponse [Trail]
+ Network.AWS.CloudTrail.DescribeTrails: instance Constructor C1_0DescribeTrails
+ Network.AWS.CloudTrail.DescribeTrails: instance Constructor C1_0DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: instance Data DescribeTrails
+ Network.AWS.CloudTrail.DescribeTrails: instance Data DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: instance Datatype D1DescribeTrails
+ Network.AWS.CloudTrail.DescribeTrails: instance Datatype D1DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: instance Generic DescribeTrails
+ Network.AWS.CloudTrail.DescribeTrails: instance Generic DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: instance Selector S1_0_0DescribeTrails
+ Network.AWS.CloudTrail.DescribeTrails: instance Selector S1_0_0DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: instance Selector S1_0_1DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: instance Typeable DescribeTrails
+ Network.AWS.CloudTrail.DescribeTrails: instance Typeable DescribeTrailsResponse
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsIsLogging :: Lens' GetTrailStatusResponse (Maybe Bool)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsLatestCloudWatchLogsDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsLatestCloudWatchLogsDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsLatestDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsLatestDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsLatestNotificationError :: Lens' GetTrailStatusResponse (Maybe Text)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsLatestNotificationTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsStartLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsStatus :: Lens' GetTrailStatusResponse Int
+ Network.AWS.CloudTrail.GetTrailStatus: gtsrsStopLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)
+ Network.AWS.CloudTrail.GetTrailStatus: instance Constructor C1_0GetTrailStatus
+ Network.AWS.CloudTrail.GetTrailStatus: instance Constructor C1_0GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Data GetTrailStatus
+ Network.AWS.CloudTrail.GetTrailStatus: instance Data GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Datatype D1GetTrailStatus
+ Network.AWS.CloudTrail.GetTrailStatus: instance Datatype D1GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Generic GetTrailStatus
+ Network.AWS.CloudTrail.GetTrailStatus: instance Generic GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_0GetTrailStatus
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_0GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_1GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_2GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_3GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_4GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_5GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_6GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_7GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_8GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Selector S1_0_9GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: instance Typeable GetTrailStatus
+ Network.AWS.CloudTrail.GetTrailStatus: instance Typeable GetTrailStatusResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Constructor C1_0LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Constructor C1_0LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Data LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Data LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Datatype D1LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Datatype D1LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Generic LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Generic LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_0LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_0LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_1LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_1LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_2LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_2LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_3LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Selector S1_0_4LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Typeable LookupEvents
+ Network.AWS.CloudTrail.LookupEvents: instance Typeable LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: lersEvents :: Lens' LookupEventsResponse [Event]
+ Network.AWS.CloudTrail.LookupEvents: lersNextToken :: Lens' LookupEventsResponse (Maybe Text)
+ Network.AWS.CloudTrail.LookupEvents: lersStatus :: Lens' LookupEventsResponse Int
+ Network.AWS.CloudTrail.StartLogging: instance Constructor C1_0StartLogging
+ Network.AWS.CloudTrail.StartLogging: instance Data StartLogging
+ Network.AWS.CloudTrail.StartLogging: instance Data StartLoggingResponse
+ Network.AWS.CloudTrail.StartLogging: instance Datatype D1StartLogging
+ Network.AWS.CloudTrail.StartLogging: instance Generic StartLogging
+ Network.AWS.CloudTrail.StartLogging: instance Selector S1_0_0StartLogging
+ Network.AWS.CloudTrail.StartLogging: instance Selector S1_0_0StartLoggingResponse
+ Network.AWS.CloudTrail.StartLogging: instance Typeable StartLogging
+ Network.AWS.CloudTrail.StartLogging: instance Typeable StartLoggingResponse
+ Network.AWS.CloudTrail.StartLogging: sName :: Lens' StartLogging Text
+ Network.AWS.CloudTrail.StartLogging: srsStatus :: Lens' StartLoggingResponse Int
+ Network.AWS.CloudTrail.StopLogging: instance Constructor C1_0StopLogging
+ Network.AWS.CloudTrail.StopLogging: instance Data StopLogging
+ Network.AWS.CloudTrail.StopLogging: instance Data StopLoggingResponse
+ Network.AWS.CloudTrail.StopLogging: instance Datatype D1StopLogging
+ Network.AWS.CloudTrail.StopLogging: instance Generic StopLogging
+ Network.AWS.CloudTrail.StopLogging: instance Selector S1_0_0StopLogging
+ Network.AWS.CloudTrail.StopLogging: instance Selector S1_0_0StopLoggingResponse
+ Network.AWS.CloudTrail.StopLogging: instance Typeable StopLogging
+ Network.AWS.CloudTrail.StopLogging: instance Typeable StopLoggingResponse
+ Network.AWS.CloudTrail.StopLogging: slrsStatus :: Lens' StopLoggingResponse Int
+ Network.AWS.CloudTrail.Types: _CloudWatchLogsDeliveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InsufficientS3BucketPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InsufficientSNSTopicPolicyException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidCloudWatchLogsLogGroupARNException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidCloudWatchLogsRoleARNException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidLookupAttributesException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidMaxResultsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidS3BucketNameException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidS3PrefixException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidSNSTopicNameException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _InvalidTrailNameException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _MaximumNumberOfTrailsExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _S3BucketDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _TrailAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: _TrailNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudTrail.Types: tCloudWatchLogsLogGroupARN :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail.Types: tCloudWatchLogsRoleARN :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail.Types: tSNSTopicName :: Lens' Trail (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: instance Constructor C1_0UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Constructor C1_0UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Data UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Data UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Datatype D1UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Datatype D1UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Generic UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Generic UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_0UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_0UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_1UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_1UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_2UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_2UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_3UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_3UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_4UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_4UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_5UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_5UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_6UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_6UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Selector S1_0_7UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: instance Typeable UpdateTrail
+ Network.AWS.CloudTrail.UpdateTrail: instance Typeable UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: utCloudWatchLogsLogGroupARN :: Lens' UpdateTrail (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utCloudWatchLogsRoleARN :: Lens' UpdateTrail (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utSNSTopicName :: Lens' UpdateTrail (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsCloudWatchLogsLogGroupARN :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsCloudWatchLogsRoleARN :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsIncludeGlobalServiceEvents :: Lens' UpdateTrailResponse (Maybe Bool)
+ Network.AWS.CloudTrail.UpdateTrail: utrsName :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsS3BucketName :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsS3KeyPrefix :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsSNSTopicName :: Lens' UpdateTrailResponse (Maybe Text)
+ Network.AWS.CloudTrail.UpdateTrail: utrsStatus :: Lens' UpdateTrailResponse Int
- Network.AWS.CloudTrail.CreateTrail: createTrailResponse :: CreateTrailResponse
+ Network.AWS.CloudTrail.CreateTrail: createTrailResponse :: Int -> CreateTrailResponse
- Network.AWS.CloudTrail.DeleteTrail: deleteTrailResponse :: DeleteTrailResponse
+ Network.AWS.CloudTrail.DeleteTrail: deleteTrailResponse :: Int -> DeleteTrailResponse
- Network.AWS.CloudTrail.DescribeTrails: describeTrailsResponse :: DescribeTrailsResponse
+ Network.AWS.CloudTrail.DescribeTrails: describeTrailsResponse :: Int -> DescribeTrailsResponse
- Network.AWS.CloudTrail.GetTrailStatus: getTrailStatusResponse :: GetTrailStatusResponse
+ Network.AWS.CloudTrail.GetTrailStatus: getTrailStatusResponse :: Int -> GetTrailStatusResponse
- Network.AWS.CloudTrail.LookupEvents: lookupEventsResponse :: LookupEventsResponse
+ Network.AWS.CloudTrail.LookupEvents: lookupEventsResponse :: Int -> LookupEventsResponse
- Network.AWS.CloudTrail.StartLogging: startLoggingResponse :: StartLoggingResponse
+ Network.AWS.CloudTrail.StartLogging: startLoggingResponse :: Int -> StartLoggingResponse
- Network.AWS.CloudTrail.StopLogging: stopLoggingResponse :: StopLoggingResponse
+ Network.AWS.CloudTrail.StopLogging: stopLoggingResponse :: Int -> StopLoggingResponse
- Network.AWS.CloudTrail.UpdateTrail: updateTrailResponse :: UpdateTrailResponse
+ Network.AWS.CloudTrail.UpdateTrail: updateTrailResponse :: Int -> UpdateTrailResponse
Files
- README.md +38/−7
- amazonka-cloudtrail.cabal +68/−11
- gen/Network/AWS/CloudTrail.hs +195/−27
- gen/Network/AWS/CloudTrail/CreateTrail.hs +206/−196
- gen/Network/AWS/CloudTrail/DeleteTrail.hs +87/−61
- gen/Network/AWS/CloudTrail/DescribeTrails.hs +98/−90
- gen/Network/AWS/CloudTrail/GetTrailStatus.hs +178/−170
- gen/Network/AWS/CloudTrail/LookupEvents.hs +165/−147
- gen/Network/AWS/CloudTrail/StartLogging.hs +90/−64
- gen/Network/AWS/CloudTrail/StopLogging.hs +92/−65
- gen/Network/AWS/CloudTrail/Types.hs +149/−356
- gen/Network/AWS/CloudTrail/Types/Product.hs +271/−0
- gen/Network/AWS/CloudTrail/Types/Sum.hs +54/−0
- gen/Network/AWS/CloudTrail/UpdateTrail.hs +211/−200
- gen/Network/AWS/CloudTrail/Waiters.hs +20/−0
- test/Main.hs +21/−0
- test/Test/AWS/CloudTrail.hs +26/−0
- test/Test/AWS/CloudTrail/Internal.hs +16/−0
- test/Test/AWS/Gen/CloudTrail.hs +175/−0
README.md view
@@ -1,22 +1,53 @@ # Amazon CloudTrail SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -CloudTrail is a web service that records AWS API calls for your AWS account-and delivers log files to an Amazon S3 bucket. The recorded information-includes the identity of the user, the start time of the AWS API call, the-source IP address, the request parameters, and the response elements returned-by the service.+AWS CloudTrail +This is the CloudTrail API Reference. It provides descriptions of+actions, data types, common parameters, and common errors for+CloudTrail.++CloudTrail is a web service that records AWS API calls for your AWS+account and delivers log files to an Amazon S3 bucket. The recorded+information includes the identity of the user, the start time of the AWS+API call, the source IP address, the request parameters, and the+response elements returned by the service.++As an alternative to using the API, you can use one of the AWS SDKs,+which consist of libraries and sample code for various programming+languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs+provide a convenient way to create programmatic access to AWSCloudTrail.+For example, the SDKs take care of cryptographically signing requests,+managing errors, and retrying requests automatically. For information+about the AWS SDKs, including how to download and install them, see the+<http://aws.amazon.com/tools/ Tools for Amazon Web Services page>.++See the CloudTrail User Guide for information about the data that is+included with each AWS API call listed in the log files.+ Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-cloudtrail) and the [AWS API Reference](http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). ## Contribute
amazonka-cloudtrail.cabal view
@@ -1,29 +1,55 @@ name: amazonka-cloudtrail-version: 0.3.6+version: 1.0.0 synopsis: Amazon CloudTrail SDK. homepage: https://github.com/brendanhay/amazonka license: OtherLicense license-file: LICENSE author: Brendan Hay maintainer: Brendan Hay <brendan.g.hay@gmail.com>-copyright: Copyright (c) 2013-2014 Brendan Hay+copyright: Copyright (c) 2013-2015 Brendan Hay category: Network, AWS, Cloud, Distributed Computing build-type: Simple extra-source-files: README.md cabal-version: >= 1.10 description:- CloudTrail is a web service that records AWS API calls for your AWS account- and delivers log files to an Amazon S3 bucket. The recorded information- includes the identity of the user, the start time of the AWS API call, the- source IP address, the request parameters, and the response elements returned- by the service.+ AWS CloudTrail + This is the CloudTrail API Reference. It provides descriptions of+ actions, data types, common parameters, and common errors for+ CloudTrail.++ CloudTrail is a web service that records AWS API calls for your AWS+ account and delivers log files to an Amazon S3 bucket. The recorded+ information includes the identity of the user, the start time of the AWS+ API call, the source IP address, the request parameters, and the+ response elements returned by the service.++ As an alternative to using the API, you can use one of the AWS SDKs,+ which consist of libraries and sample code for various programming+ languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs+ provide a convenient way to create programmatic access to AWSCloudTrail.+ For example, the SDKs take care of cryptographically signing requests,+ managing errors, and retrying requests automatically. For information+ about the AWS SDKs, including how to download and install them, see the+ <http://aws.amazon.com/tools/ Tools for Amazon Web Services page>.++ See the CloudTrail User Guide for information about the data that is+ included with each AWS API call listed in the log files. .- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html AWS API Reference>+ The types from this library are intended to be used with+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides+ mechanisms for specifying AuthN/AuthZ information and sending requests. .- /Warning:/ This is an experimental preview release which is still under- heavy development and not intended for public consumption, caveat emptor!+ Use of lenses is required for constructing and manipulating types.+ This is due to the amount of nesting of AWS types and transparency regarding+ de/serialisation into more palatable Haskell values.+ The provided lenses should be compatible with any of the major lens libraries+ such as <http://hackage.haskell.org/package/lens lens> or+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Network.AWS.CloudTrail" and the <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html AWS API Reference>+ to get started. source-repository head type: git@@ -46,9 +72,40 @@ , Network.AWS.CloudTrail.StopLogging , Network.AWS.CloudTrail.Types , Network.AWS.CloudTrail.UpdateTrail+ , Network.AWS.CloudTrail.Waiters other-modules:+ Network.AWS.CloudTrail.Types.Product+ , Network.AWS.CloudTrail.Types.Sum build-depends:- amazonka-core == 0.3.6.*+ amazonka-core == 1.0.0.* , base >= 4.7 && < 5++test-suite amazonka-cloudtrail-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs++ ghc-options: -Wall -threaded++ -- This is not comprehensive if modules have manually been added.+ -- It exists to ensure cabal 'somewhat' detects test module changes.+ other-modules:+ Test.AWS.CloudTrail+ , Test.AWS.Gen.CloudTrail+ , Test.AWS.CloudTrail.Internal++ build-depends:+ amazonka-core == 1.0.0+ , amazonka-test == 1.0.0+ , amazonka-cloudtrail == 1.0.0+ , base+ , bytestring+ , lens+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
gen/Network/AWS/CloudTrail.hs view
@@ -1,38 +1,206 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | CloudTrail is a web service that records AWS API calls for your AWS account--- and delivers log files to an Amazon S3 bucket. The recorded information--- includes the identity of the user, the start time of the AWS API call, the--- source IP address, the request parameters, and the response elements returned--- by the service.+-- AWS CloudTrail+--+-- This is the CloudTrail API Reference. It provides descriptions of+-- actions, data types, common parameters, and common errors for+-- CloudTrail.+--+-- CloudTrail is a web service that records AWS API calls for your AWS+-- account and delivers log files to an Amazon S3 bucket. The recorded+-- information includes the identity of the user, the start time of the AWS+-- API call, the source IP address, the request parameters, and the+-- response elements returned by the service.+--+-- As an alternative to using the API, you can use one of the AWS SDKs,+-- which consist of libraries and sample code for various programming+-- languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs+-- provide a convenient way to create programmatic access to AWSCloudTrail.+-- For example, the SDKs take care of cryptographically signing requests,+-- managing errors, and retrying requests automatically. For information+-- about the AWS SDKs, including how to download and install them, see the+-- <http://aws.amazon.com/tools/ Tools for Amazon Web Services page>.+--+-- See the CloudTrail User Guide for information about the data that is+-- included with each AWS API call listed in the log files.+--+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/Welcome.html AWS API Reference> module Network.AWS.CloudTrail- ( module Network.AWS.CloudTrail.CreateTrail- , module Network.AWS.CloudTrail.DeleteTrail+ (+ -- * Service+ CloudTrail++ -- * Errors+ -- $errors++ -- ** InvalidTimeRangeException+ , _InvalidTimeRangeException++ -- ** InsufficientS3BucketPolicyException+ , _InsufficientS3BucketPolicyException++ -- ** MaximumNumberOfTrailsExceededException+ , _MaximumNumberOfTrailsExceededException++ -- ** InsufficientSNSTopicPolicyException+ , _InsufficientSNSTopicPolicyException++ -- ** InvalidCloudWatchLogsRoleARNException+ , _InvalidCloudWatchLogsRoleARNException++ -- ** InvalidTrailNameException+ , _InvalidTrailNameException++ -- ** InvalidLookupAttributesException+ , _InvalidLookupAttributesException++ -- ** TrailNotFoundException+ , _TrailNotFoundException++ -- ** CloudWatchLogsDeliveryUnavailableException+ , _CloudWatchLogsDeliveryUnavailableException++ -- ** InvalidSNSTopicNameException+ , _InvalidSNSTopicNameException++ -- ** InvalidCloudWatchLogsLogGroupARNException+ , _InvalidCloudWatchLogsLogGroupARNException++ -- ** InvalidS3BucketNameException+ , _InvalidS3BucketNameException++ -- ** InvalidNextTokenException+ , _InvalidNextTokenException++ -- ** S3BucketDoesNotExistException+ , _S3BucketDoesNotExistException++ -- ** InvalidMaxResultsException+ , _InvalidMaxResultsException++ -- ** TrailAlreadyExistsException+ , _TrailAlreadyExistsException++ -- ** InvalidS3PrefixException+ , _InvalidS3PrefixException++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** DescribeTrails , module Network.AWS.CloudTrail.DescribeTrails- , module Network.AWS.CloudTrail.GetTrailStatus++ -- ** LookupEvents , module Network.AWS.CloudTrail.LookupEvents- , module Network.AWS.CloudTrail.StartLogging++ -- ** StopLogging , module Network.AWS.CloudTrail.StopLogging- , module Network.AWS.CloudTrail.Types++ -- ** DeleteTrail+ , module Network.AWS.CloudTrail.DeleteTrail++ -- ** UpdateTrail , module Network.AWS.CloudTrail.UpdateTrail++ -- ** CreateTrail+ , module Network.AWS.CloudTrail.CreateTrail++ -- ** GetTrailStatus+ , module Network.AWS.CloudTrail.GetTrailStatus++ -- ** StartLogging+ , module Network.AWS.CloudTrail.StartLogging++ -- * Types++ -- ** LookupAttributeKey+ , LookupAttributeKey (..)++ -- ** Event+ , Event+ , event+ , eUsername+ , eEventTime+ , eResources+ , eCloudTrailEvent+ , eEventName+ , eEventId++ -- ** LookupAttribute+ , LookupAttribute+ , lookupAttribute+ , laAttributeKey+ , laAttributeValue++ -- ** Resource+ , Resource+ , resource+ , rResourceType+ , rResourceName++ -- ** Trail+ , Trail+ , trail+ , tS3KeyPrefix+ , tSNSTopicName+ , tCloudWatchLogsLogGroupARN+ , tName+ , tIncludeGlobalServiceEvents+ , tCloudWatchLogsRoleARN+ , tS3BucketName ) where -import Network.AWS.CloudTrail.CreateTrail-import Network.AWS.CloudTrail.DeleteTrail-import Network.AWS.CloudTrail.DescribeTrails-import Network.AWS.CloudTrail.GetTrailStatus-import Network.AWS.CloudTrail.LookupEvents-import Network.AWS.CloudTrail.StartLogging-import Network.AWS.CloudTrail.StopLogging-import Network.AWS.CloudTrail.Types-import Network.AWS.CloudTrail.UpdateTrail+import Network.AWS.CloudTrail.CreateTrail+import Network.AWS.CloudTrail.DeleteTrail+import Network.AWS.CloudTrail.DescribeTrails+import Network.AWS.CloudTrail.GetTrailStatus+import Network.AWS.CloudTrail.LookupEvents+import Network.AWS.CloudTrail.StartLogging+import Network.AWS.CloudTrail.StopLogging+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.UpdateTrail+import Network.AWS.CloudTrail.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'CloudTrail'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
gen/Network/AWS/CloudTrail/CreateTrail.hs view
@@ -1,260 +1,270 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.CreateTrail--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | From the command line, use 'create-subscription'.+-- From the command line, use 'create-subscription'. ----- Creates a trail that specifies the settings for delivery of log data to an--- Amazon S3 bucket.+-- Creates a trail that specifies the settings for delivery of log data to+-- an Amazon S3 bucket. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_CreateTrail.html AWS API Reference> for CreateTrail. module Network.AWS.CloudTrail.CreateTrail (- -- * Request- CreateTrail- -- ** Request constructor- , createTrail- -- ** Request lenses- , ctCloudWatchLogsLogGroupArn- , ctCloudWatchLogsRoleArn+ -- * Creating a Request+ createTrail+ , CreateTrail+ -- * Request Lenses+ , ctS3KeyPrefix+ , ctSNSTopicName+ , ctCloudWatchLogsLogGroupARN , ctIncludeGlobalServiceEvents+ , ctCloudWatchLogsRoleARN , ctName , ctS3BucketName- , ctS3KeyPrefix- , ctSnsTopicName - -- * Response- , CreateTrailResponse- -- ** Response constructor+ -- * Destructuring the Response , createTrailResponse- -- ** Response lenses- , ctrCloudWatchLogsLogGroupArn- , ctrCloudWatchLogsRoleArn- , ctrIncludeGlobalServiceEvents- , ctrName- , ctrS3BucketName- , ctrS3KeyPrefix- , ctrSnsTopicName+ , CreateTrailResponse+ -- * Response Lenses+ , ctrsS3KeyPrefix+ , ctrsSNSTopicName+ , ctrsCloudWatchLogsLogGroupARN+ , ctrsName+ , ctrsIncludeGlobalServiceEvents+ , ctrsCloudWatchLogsRoleARN+ , ctrsS3BucketName+ , ctrsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts--data CreateTrail = CreateTrail- { _ctCloudWatchLogsLogGroupArn :: Maybe Text- , _ctCloudWatchLogsRoleArn :: Maybe Text- , _ctIncludeGlobalServiceEvents :: Maybe Bool- , _ctName :: Text- , _ctS3BucketName :: Text- , _ctS3KeyPrefix :: Maybe Text- , _ctSnsTopicName :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'CreateTrail' constructor.+-- | Specifies the settings for each trail. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createTrail' smart constructor.+data CreateTrail = CreateTrail'+ { _ctS3KeyPrefix :: !(Maybe Text)+ , _ctSNSTopicName :: !(Maybe Text)+ , _ctCloudWatchLogsLogGroupARN :: !(Maybe Text)+ , _ctIncludeGlobalServiceEvents :: !(Maybe Bool)+ , _ctCloudWatchLogsRoleARN :: !(Maybe Text)+ , _ctName :: !Text+ , _ctS3BucketName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateTrail' with the minimum fields required to make a request. ----- * 'ctCloudWatchLogsLogGroupArn' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ctCloudWatchLogsRoleArn' @::@ 'Maybe' 'Text'+-- * 'ctS3KeyPrefix' ----- * 'ctIncludeGlobalServiceEvents' @::@ 'Maybe' 'Bool'+-- * 'ctSNSTopicName' ----- * 'ctName' @::@ 'Text'+-- * 'ctCloudWatchLogsLogGroupARN' ----- * 'ctS3BucketName' @::@ 'Text'+-- * 'ctIncludeGlobalServiceEvents' ----- * 'ctS3KeyPrefix' @::@ 'Maybe' 'Text'+-- * 'ctCloudWatchLogsRoleARN' ----- * 'ctSnsTopicName' @::@ 'Maybe' 'Text'+-- * 'ctName' ---createTrail :: Text -- ^ 'ctName'- -> Text -- ^ 'ctS3BucketName'- -> CreateTrail-createTrail p1 p2 = CreateTrail- { _ctName = p1- , _ctS3BucketName = p2- , _ctS3KeyPrefix = Nothing- , _ctSnsTopicName = Nothing+-- * 'ctS3BucketName'+createTrail+ :: Text -- ^ 'ctName'+ -> Text -- ^ 'ctS3BucketName'+ -> CreateTrail+createTrail pName_ pS3BucketName_ =+ CreateTrail'+ { _ctS3KeyPrefix = Nothing+ , _ctSNSTopicName = Nothing+ , _ctCloudWatchLogsLogGroupARN = Nothing , _ctIncludeGlobalServiceEvents = Nothing- , _ctCloudWatchLogsLogGroupArn = Nothing- , _ctCloudWatchLogsRoleArn = Nothing+ , _ctCloudWatchLogsRoleARN = Nothing+ , _ctName = pName_+ , _ctS3BucketName = pS3BucketName_ } --- | Specifies a log group name using an Amazon Resource Name (ARN), a unique--- identifier that represents the log group to which CloudTrail logs will be--- delivered. Not required unless you specify CloudWatchLogsRoleArn.-ctCloudWatchLogsLogGroupArn :: Lens' CreateTrail (Maybe Text)-ctCloudWatchLogsLogGroupArn =- lens _ctCloudWatchLogsLogGroupArn- (\s a -> s { _ctCloudWatchLogsLogGroupArn = a })+-- | Specifies the Amazon S3 key prefix that precedes the name of the bucket+-- you have designated for log file delivery.+ctS3KeyPrefix :: Lens' CreateTrail (Maybe Text)+ctS3KeyPrefix = lens _ctS3KeyPrefix (\ s a -> s{_ctS3KeyPrefix = a}); --- | Specifies the role for the CloudWatch Logs endpoint to assume to write to a--- user’s log group.-ctCloudWatchLogsRoleArn :: Lens' CreateTrail (Maybe Text)-ctCloudWatchLogsRoleArn =- lens _ctCloudWatchLogsRoleArn (\s a -> s { _ctCloudWatchLogsRoleArn = a })+-- | Specifies the name of the Amazon SNS topic defined for notification of+-- log file delivery.+ctSNSTopicName :: Lens' CreateTrail (Maybe Text)+ctSNSTopicName = lens _ctSNSTopicName (\ s a -> s{_ctSNSTopicName = a}); --- | Specifies whether the trail is publishing events from global services such as--- IAM to the log files.+-- | Specifies a log group name using an Amazon Resource Name (ARN), a unique+-- identifier that represents the log group to which CloudTrail logs will+-- be delivered. Not required unless you specify CloudWatchLogsRoleArn.+ctCloudWatchLogsLogGroupARN :: Lens' CreateTrail (Maybe Text)+ctCloudWatchLogsLogGroupARN = lens _ctCloudWatchLogsLogGroupARN (\ s a -> s{_ctCloudWatchLogsLogGroupARN = a});++-- | Specifies whether the trail is publishing events from global services+-- such as IAM to the log files. ctIncludeGlobalServiceEvents :: Lens' CreateTrail (Maybe Bool)-ctIncludeGlobalServiceEvents =- lens _ctIncludeGlobalServiceEvents- (\s a -> s { _ctIncludeGlobalServiceEvents = a })+ctIncludeGlobalServiceEvents = lens _ctIncludeGlobalServiceEvents (\ s a -> s{_ctIncludeGlobalServiceEvents = a}); +-- | Specifies the role for the CloudWatch Logs endpoint to assume to write+-- to a user’s log group.+ctCloudWatchLogsRoleARN :: Lens' CreateTrail (Maybe Text)+ctCloudWatchLogsRoleARN = lens _ctCloudWatchLogsRoleARN (\ s a -> s{_ctCloudWatchLogsRoleARN = a});+ -- | Specifies the name of the trail. ctName :: Lens' CreateTrail Text-ctName = lens _ctName (\s a -> s { _ctName = a })+ctName = lens _ctName (\ s a -> s{_ctName = a}); -- | Specifies the name of the Amazon S3 bucket designated for publishing log -- files. ctS3BucketName :: Lens' CreateTrail Text-ctS3BucketName = lens _ctS3BucketName (\s a -> s { _ctS3BucketName = a })+ctS3BucketName = lens _ctS3BucketName (\ s a -> s{_ctS3BucketName = a}); --- | Specifies the Amazon S3 key prefix that precedes the name of the bucket you--- have designated for log file delivery.-ctS3KeyPrefix :: Lens' CreateTrail (Maybe Text)-ctS3KeyPrefix = lens _ctS3KeyPrefix (\s a -> s { _ctS3KeyPrefix = a })+instance AWSRequest CreateTrail where+ type Sv CreateTrail = CloudTrail+ type Rs CreateTrail = CreateTrailResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ CreateTrailResponse' <$>+ (x .?> "S3KeyPrefix") <*> (x .?> "SnsTopicName") <*>+ (x .?> "CloudWatchLogsLogGroupArn")+ <*> (x .?> "Name")+ <*> (x .?> "IncludeGlobalServiceEvents")+ <*> (x .?> "CloudWatchLogsRoleArn")+ <*> (x .?> "S3BucketName")+ <*> (pure (fromEnum s))) --- | Specifies the name of the Amazon SNS topic defined for notification of log--- file delivery.-ctSnsTopicName :: Lens' CreateTrail (Maybe Text)-ctSnsTopicName = lens _ctSnsTopicName (\s a -> s { _ctSnsTopicName = a })+instance ToHeaders CreateTrail where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.CreateTrail"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) -data CreateTrailResponse = CreateTrailResponse- { _ctrCloudWatchLogsLogGroupArn :: Maybe Text- , _ctrCloudWatchLogsRoleArn :: Maybe Text- , _ctrIncludeGlobalServiceEvents :: Maybe Bool- , _ctrName :: Maybe Text- , _ctrS3BucketName :: Maybe Text- , _ctrS3KeyPrefix :: Maybe Text- , _ctrSnsTopicName :: Maybe Text- } deriving (Eq, Ord, Read, Show)+instance ToJSON CreateTrail where+ toJSON CreateTrail'{..}+ = object+ ["S3KeyPrefix" .= _ctS3KeyPrefix,+ "SnsTopicName" .= _ctSNSTopicName,+ "CloudWatchLogsLogGroupArn" .=+ _ctCloudWatchLogsLogGroupARN,+ "IncludeGlobalServiceEvents" .=+ _ctIncludeGlobalServiceEvents,+ "CloudWatchLogsRoleArn" .= _ctCloudWatchLogsRoleARN,+ "Name" .= _ctName, "S3BucketName" .= _ctS3BucketName] --- | 'CreateTrailResponse' constructor.+instance ToPath CreateTrail where+ toPath = const "/"++instance ToQuery CreateTrail where+ toQuery = const mempty++-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createTrailResponse' smart constructor.+data CreateTrailResponse = CreateTrailResponse'+ { _ctrsS3KeyPrefix :: !(Maybe Text)+ , _ctrsSNSTopicName :: !(Maybe Text)+ , _ctrsCloudWatchLogsLogGroupARN :: !(Maybe Text)+ , _ctrsName :: !(Maybe Text)+ , _ctrsIncludeGlobalServiceEvents :: !(Maybe Bool)+ , _ctrsCloudWatchLogsRoleARN :: !(Maybe Text)+ , _ctrsS3BucketName :: !(Maybe Text)+ , _ctrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateTrailResponse' with the minimum fields required to make a request. ----- * 'ctrCloudWatchLogsLogGroupArn' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ctrCloudWatchLogsRoleArn' @::@ 'Maybe' 'Text'+-- * 'ctrsS3KeyPrefix' ----- * 'ctrIncludeGlobalServiceEvents' @::@ 'Maybe' 'Bool'+-- * 'ctrsSNSTopicName' ----- * 'ctrName' @::@ 'Maybe' 'Text'+-- * 'ctrsCloudWatchLogsLogGroupARN' ----- * 'ctrS3BucketName' @::@ 'Maybe' 'Text'+-- * 'ctrsName' ----- * 'ctrS3KeyPrefix' @::@ 'Maybe' 'Text'+-- * 'ctrsIncludeGlobalServiceEvents' ----- * 'ctrSnsTopicName' @::@ 'Maybe' 'Text'+-- * 'ctrsCloudWatchLogsRoleARN' ---createTrailResponse :: CreateTrailResponse-createTrailResponse = CreateTrailResponse- { _ctrName = Nothing- , _ctrS3BucketName = Nothing- , _ctrS3KeyPrefix = Nothing- , _ctrSnsTopicName = Nothing- , _ctrIncludeGlobalServiceEvents = Nothing- , _ctrCloudWatchLogsLogGroupArn = Nothing- , _ctrCloudWatchLogsRoleArn = Nothing+-- * 'ctrsS3BucketName'+--+-- * 'ctrsStatus'+createTrailResponse+ :: Int -- ^ 'ctrsStatus'+ -> CreateTrailResponse+createTrailResponse pStatus_ =+ CreateTrailResponse'+ { _ctrsS3KeyPrefix = Nothing+ , _ctrsSNSTopicName = Nothing+ , _ctrsCloudWatchLogsLogGroupARN = Nothing+ , _ctrsName = Nothing+ , _ctrsIncludeGlobalServiceEvents = Nothing+ , _ctrsCloudWatchLogsRoleARN = Nothing+ , _ctrsS3BucketName = Nothing+ , _ctrsStatus = pStatus_ } --- | Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail--- logs will be delivered.-ctrCloudWatchLogsLogGroupArn :: Lens' CreateTrailResponse (Maybe Text)-ctrCloudWatchLogsLogGroupArn =- lens _ctrCloudWatchLogsLogGroupArn- (\s a -> s { _ctrCloudWatchLogsLogGroupArn = a })+-- | Specifies the Amazon S3 key prefix that precedes the name of the bucket+-- you have designated for log file delivery.+ctrsS3KeyPrefix :: Lens' CreateTrailResponse (Maybe Text)+ctrsS3KeyPrefix = lens _ctrsS3KeyPrefix (\ s a -> s{_ctrsS3KeyPrefix = a}); --- | Specifies the role for the CloudWatch Logs endpoint to assume to write to a--- user’s log group.-ctrCloudWatchLogsRoleArn :: Lens' CreateTrailResponse (Maybe Text)-ctrCloudWatchLogsRoleArn =- lens _ctrCloudWatchLogsRoleArn- (\s a -> s { _ctrCloudWatchLogsRoleArn = a })+-- | Specifies the name of the Amazon SNS topic defined for notification of+-- log file delivery.+ctrsSNSTopicName :: Lens' CreateTrailResponse (Maybe Text)+ctrsSNSTopicName = lens _ctrsSNSTopicName (\ s a -> s{_ctrsSNSTopicName = a}); --- | Specifies whether the trail is publishing events from global services such as--- IAM to the log files.-ctrIncludeGlobalServiceEvents :: Lens' CreateTrailResponse (Maybe Bool)-ctrIncludeGlobalServiceEvents =- lens _ctrIncludeGlobalServiceEvents- (\s a -> s { _ctrIncludeGlobalServiceEvents = a })+-- | Specifies the Amazon Resource Name (ARN) of the log group to which+-- CloudTrail logs will be delivered.+ctrsCloudWatchLogsLogGroupARN :: Lens' CreateTrailResponse (Maybe Text)+ctrsCloudWatchLogsLogGroupARN = lens _ctrsCloudWatchLogsLogGroupARN (\ s a -> s{_ctrsCloudWatchLogsLogGroupARN = a}); -- | Specifies the name of the trail.-ctrName :: Lens' CreateTrailResponse (Maybe Text)-ctrName = lens _ctrName (\s a -> s { _ctrName = a })---- | Specifies the name of the Amazon S3 bucket designated for publishing log--- files.-ctrS3BucketName :: Lens' CreateTrailResponse (Maybe Text)-ctrS3BucketName = lens _ctrS3BucketName (\s a -> s { _ctrS3BucketName = a })---- | Specifies the Amazon S3 key prefix that precedes the name of the bucket you--- have designated for log file delivery.-ctrS3KeyPrefix :: Lens' CreateTrailResponse (Maybe Text)-ctrS3KeyPrefix = lens _ctrS3KeyPrefix (\s a -> s { _ctrS3KeyPrefix = a })---- | Specifies the name of the Amazon SNS topic defined for notification of log--- file delivery.-ctrSnsTopicName :: Lens' CreateTrailResponse (Maybe Text)-ctrSnsTopicName = lens _ctrSnsTopicName (\s a -> s { _ctrSnsTopicName = a })--instance ToPath CreateTrail where- toPath = const "/"--instance ToQuery CreateTrail where- toQuery = const mempty--instance ToHeaders CreateTrail+ctrsName :: Lens' CreateTrailResponse (Maybe Text)+ctrsName = lens _ctrsName (\ s a -> s{_ctrsName = a}); -instance ToJSON CreateTrail where- toJSON CreateTrail{..} = object- [ "Name" .= _ctName- , "S3BucketName" .= _ctS3BucketName- , "S3KeyPrefix" .= _ctS3KeyPrefix- , "SnsTopicName" .= _ctSnsTopicName- , "IncludeGlobalServiceEvents" .= _ctIncludeGlobalServiceEvents- , "CloudWatchLogsLogGroupArn" .= _ctCloudWatchLogsLogGroupArn- , "CloudWatchLogsRoleArn" .= _ctCloudWatchLogsRoleArn- ]+-- | Specifies whether the trail is publishing events from global services+-- such as IAM to the log files.+ctrsIncludeGlobalServiceEvents :: Lens' CreateTrailResponse (Maybe Bool)+ctrsIncludeGlobalServiceEvents = lens _ctrsIncludeGlobalServiceEvents (\ s a -> s{_ctrsIncludeGlobalServiceEvents = a}); -instance AWSRequest CreateTrail where- type Sv CreateTrail = CloudTrail- type Rs CreateTrail = CreateTrailResponse+-- | Specifies the role for the CloudWatch Logs endpoint to assume to write+-- to a user’s log group.+ctrsCloudWatchLogsRoleARN :: Lens' CreateTrailResponse (Maybe Text)+ctrsCloudWatchLogsRoleARN = lens _ctrsCloudWatchLogsRoleARN (\ s a -> s{_ctrsCloudWatchLogsRoleARN = a}); - request = post "CreateTrail"- response = jsonResponse+-- | Specifies the name of the Amazon S3 bucket designated for publishing log+-- files.+ctrsS3BucketName :: Lens' CreateTrailResponse (Maybe Text)+ctrsS3BucketName = lens _ctrsS3BucketName (\ s a -> s{_ctrsS3BucketName = a}); -instance FromJSON CreateTrailResponse where- parseJSON = withObject "CreateTrailResponse" $ \o -> CreateTrailResponse- <$> o .:? "CloudWatchLogsLogGroupArn"- <*> o .:? "CloudWatchLogsRoleArn"- <*> o .:? "IncludeGlobalServiceEvents"- <*> o .:? "Name"- <*> o .:? "S3BucketName"- <*> o .:? "S3KeyPrefix"- <*> o .:? "SnsTopicName"+-- | The response status code.+ctrsStatus :: Lens' CreateTrailResponse Int+ctrsStatus = lens _ctrsStatus (\ s a -> s{_ctrsStatus = a});
gen/Network/AWS/CloudTrail/DeleteTrail.hs view
@@ -1,94 +1,120 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.DeleteTrail--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a trail.+-- Deletes a trail. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DeleteTrail.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DeleteTrail.html AWS API Reference> for DeleteTrail. module Network.AWS.CloudTrail.DeleteTrail (- -- * Request- DeleteTrail- -- ** Request constructor- , deleteTrail- -- ** Request lenses+ -- * Creating a Request+ deleteTrail+ , DeleteTrail+ -- * Request Lenses , dtName - -- * Response- , DeleteTrailResponse- -- ** Response constructor+ -- * Destructuring the Response , deleteTrailResponse+ , DeleteTrailResponse+ -- * Response Lenses+ , drsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype DeleteTrail = DeleteTrail+-- | The request that specifies the name of a trail to delete.+--+-- /See:/ 'deleteTrail' smart constructor.+newtype DeleteTrail = DeleteTrail' { _dtName :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteTrail' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteTrail' with the minimum fields required to make a request. ----- * 'dtName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteTrail :: Text -- ^ 'dtName'- -> DeleteTrail-deleteTrail p1 = DeleteTrail- { _dtName = p1+-- * 'dtName'+deleteTrail+ :: Text -- ^ 'dtName'+ -> DeleteTrail+deleteTrail pName_ =+ DeleteTrail'+ { _dtName = pName_ } -- | The name of a trail to be deleted. dtName :: Lens' DeleteTrail Text-dtName = lens _dtName (\s a -> s { _dtName = a })+dtName = lens _dtName (\ s a -> s{_dtName = a}); -data DeleteTrailResponse = DeleteTrailResponse- deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteTrail where+ type Sv DeleteTrail = CloudTrail+ type Rs DeleteTrail = DeleteTrailResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ DeleteTrailResponse' <$> (pure (fromEnum s))) --- | 'DeleteTrailResponse' constructor.-deleteTrailResponse :: DeleteTrailResponse-deleteTrailResponse = DeleteTrailResponse+instance ToHeaders DeleteTrail where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DeleteTrail"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON DeleteTrail where+ toJSON DeleteTrail'{..} = object ["Name" .= _dtName]+ instance ToPath DeleteTrail where- toPath = const "/"+ toPath = const "/" instance ToQuery DeleteTrail where- toQuery = const mempty--instance ToHeaders DeleteTrail+ toQuery = const mempty -instance ToJSON DeleteTrail where- toJSON DeleteTrail{..} = object- [ "Name" .= _dtName- ]+-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error.+--+-- /See:/ 'deleteTrailResponse' smart constructor.+newtype DeleteTrailResponse = DeleteTrailResponse'+ { _drsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeleteTrail where- type Sv DeleteTrail = CloudTrail- type Rs DeleteTrail = DeleteTrailResponse+-- | Creates a value of 'DeleteTrailResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsStatus'+deleteTrailResponse+ :: Int -- ^ 'drsStatus'+ -> DeleteTrailResponse+deleteTrailResponse pStatus_ =+ DeleteTrailResponse'+ { _drsStatus = pStatus_+ } - request = post "DeleteTrail"- response = nullResponse DeleteTrailResponse+-- | The response status code.+drsStatus :: Lens' DeleteTrailResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
gen/Network/AWS/CloudTrail/DescribeTrails.hs view
@@ -1,124 +1,132 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.DescribeTrails--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Retrieves settings for the trail associated with the current region for your--- account.+-- Retrieves settings for the trail associated with the current region for+-- your account. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DescribeTrails.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_DescribeTrails.html AWS API Reference> for DescribeTrails. module Network.AWS.CloudTrail.DescribeTrails (- -- * Request- DescribeTrails- -- ** Request constructor- , describeTrails- -- ** Request lenses+ -- * Creating a Request+ describeTrails+ , DescribeTrails+ -- * Request Lenses , dtTrailNameList - -- * Response- , DescribeTrailsResponse- -- ** Response constructor+ -- * Destructuring the Response , describeTrailsResponse- -- ** Response lenses- , dtrTrailList+ , DescribeTrailsResponse+ -- * Response Lenses+ , dtrsTrailList+ , dtrsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts--newtype DescribeTrails = DescribeTrails- { _dtTrailNameList :: List "trailNameList" Text- } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList DescribeTrails where- type Item DescribeTrails = Text-- fromList = DescribeTrails . GHC.Exts.fromList- toList = GHC.Exts.toList . _dtTrailNameList+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'DescribeTrails' constructor.+-- | Returns information about the trail. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeTrails' smart constructor.+newtype DescribeTrails = DescribeTrails'+ { _dtTrailNameList :: Maybe [Text]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeTrails' with the minimum fields required to make a request. ----- * 'dtTrailNameList' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ---describeTrails :: DescribeTrails-describeTrails = DescribeTrails- { _dtTrailNameList = mempty+-- * 'dtTrailNameList'+describeTrails+ :: DescribeTrails+describeTrails =+ DescribeTrails'+ { _dtTrailNameList = Nothing } -- | The trail returned. dtTrailNameList :: Lens' DescribeTrails [Text]-dtTrailNameList = lens _dtTrailNameList (\s a -> s { _dtTrailNameList = a }) . _List--newtype DescribeTrailsResponse = DescribeTrailsResponse- { _dtrTrailList :: List "trailList" Trail- } deriving (Eq, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList DescribeTrailsResponse where- type Item DescribeTrailsResponse = Trail+dtTrailNameList = lens _dtTrailNameList (\ s a -> s{_dtTrailNameList = a}) . _Default . _Coerce; - fromList = DescribeTrailsResponse . GHC.Exts.fromList- toList = GHC.Exts.toList . _dtrTrailList+instance AWSRequest DescribeTrails where+ type Sv DescribeTrails = CloudTrail+ type Rs DescribeTrails = DescribeTrailsResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ DescribeTrailsResponse' <$>+ (x .?> "trailList" .!@ mempty) <*>+ (pure (fromEnum s))) --- | 'DescribeTrailsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dtrTrailList' @::@ ['Trail']----describeTrailsResponse :: DescribeTrailsResponse-describeTrailsResponse = DescribeTrailsResponse- { _dtrTrailList = mempty- }+instance ToHeaders DescribeTrails where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DescribeTrails"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) --- | The list of trails.-dtrTrailList :: Lens' DescribeTrailsResponse [Trail]-dtrTrailList = lens _dtrTrailList (\s a -> s { _dtrTrailList = a }) . _List+instance ToJSON DescribeTrails where+ toJSON DescribeTrails'{..}+ = object ["trailNameList" .= _dtTrailNameList] instance ToPath DescribeTrails where- toPath = const "/"+ toPath = const "/" instance ToQuery DescribeTrails where- toQuery = const mempty--instance ToHeaders DescribeTrails+ toQuery = const mempty -instance ToJSON DescribeTrails where- toJSON DescribeTrails{..} = object- [ "trailNameList" .= _dtTrailNameList- ]+-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error.+--+-- /See:/ 'describeTrailsResponse' smart constructor.+data DescribeTrailsResponse = DescribeTrailsResponse'+ { _dtrsTrailList :: !(Maybe [Trail])+ , _dtrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeTrails where- type Sv DescribeTrails = CloudTrail- type Rs DescribeTrails = DescribeTrailsResponse+-- | Creates a value of 'DescribeTrailsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtrsTrailList'+--+-- * 'dtrsStatus'+describeTrailsResponse+ :: Int -- ^ 'dtrsStatus'+ -> DescribeTrailsResponse+describeTrailsResponse pStatus_ =+ DescribeTrailsResponse'+ { _dtrsTrailList = Nothing+ , _dtrsStatus = pStatus_+ } - request = post "DescribeTrails"- response = jsonResponse+-- | The list of trails.+dtrsTrailList :: Lens' DescribeTrailsResponse [Trail]+dtrsTrailList = lens _dtrsTrailList (\ s a -> s{_dtrsTrailList = a}) . _Default . _Coerce; -instance FromJSON DescribeTrailsResponse where- parseJSON = withObject "DescribeTrailsResponse" $ \o -> DescribeTrailsResponse- <$> o .:? "trailList" .!= mempty+-- | The response status code.+dtrsStatus :: Lens' DescribeTrailsResponse Int+dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});
gen/Network/AWS/CloudTrail/GetTrailStatus.hs view
@@ -1,220 +1,228 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.GetTrailStatus--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a JSON-formatted list of information about the specified trail.+-- Returns a JSON-formatted list of information about the specified trail. -- Fields include information on delivery errors, Amazon SNS and Amazon S3 -- errors, and start and stop logging times for each trail. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_GetTrailStatus.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_GetTrailStatus.html AWS API Reference> for GetTrailStatus. module Network.AWS.CloudTrail.GetTrailStatus (- -- * Request- GetTrailStatus- -- ** Request constructor- , getTrailStatus- -- ** Request lenses+ -- * Creating a Request+ getTrailStatus+ , GetTrailStatus+ -- * Request Lenses , gtsName - -- * Response- , GetTrailStatusResponse- -- ** Response constructor+ -- * Destructuring the Response , getTrailStatusResponse- -- ** Response lenses- , gtsrIsLogging- , gtsrLatestCloudWatchLogsDeliveryError- , gtsrLatestCloudWatchLogsDeliveryTime- , gtsrLatestDeliveryError- , gtsrLatestDeliveryTime- , gtsrLatestNotificationError- , gtsrLatestNotificationTime- , gtsrStartLoggingTime- , gtsrStopLoggingTime+ , GetTrailStatusResponse+ -- * Response Lenses+ , gtsrsLatestDeliveryError+ , gtsrsStartLoggingTime+ , gtsrsLatestNotificationError+ , gtsrsIsLogging+ , gtsrsLatestDeliveryTime+ , gtsrsLatestCloudWatchLogsDeliveryTime+ , gtsrsLatestCloudWatchLogsDeliveryError+ , gtsrsLatestNotificationTime+ , gtsrsStopLoggingTime+ , gtsrsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype GetTrailStatus = GetTrailStatus+-- | The name of a trail about which you want the current status.+--+-- /See:/ 'getTrailStatus' smart constructor.+newtype GetTrailStatus = GetTrailStatus' { _gtsName :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetTrailStatus' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetTrailStatus' with the minimum fields required to make a request. ----- * 'gtsName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getTrailStatus :: Text -- ^ 'gtsName'- -> GetTrailStatus-getTrailStatus p1 = GetTrailStatus- { _gtsName = p1+-- * 'gtsName'+getTrailStatus+ :: Text -- ^ 'gtsName'+ -> GetTrailStatus+getTrailStatus pName_ =+ GetTrailStatus'+ { _gtsName = pName_ } -- | The name of the trail for which you are requesting the current status. gtsName :: Lens' GetTrailStatus Text-gtsName = lens _gtsName (\s a -> s { _gtsName = a })+gtsName = lens _gtsName (\ s a -> s{_gtsName = a}); -data GetTrailStatusResponse = GetTrailStatusResponse- { _gtsrIsLogging :: Maybe Bool- , _gtsrLatestCloudWatchLogsDeliveryError :: Maybe Text- , _gtsrLatestCloudWatchLogsDeliveryTime :: Maybe POSIX- , _gtsrLatestDeliveryError :: Maybe Text- , _gtsrLatestDeliveryTime :: Maybe POSIX- , _gtsrLatestNotificationError :: Maybe Text- , _gtsrLatestNotificationTime :: Maybe POSIX- , _gtsrStartLoggingTime :: Maybe POSIX- , _gtsrStopLoggingTime :: Maybe POSIX- } deriving (Eq, Ord, Read, Show)+instance AWSRequest GetTrailStatus where+ type Sv GetTrailStatus = CloudTrail+ type Rs GetTrailStatus = GetTrailStatusResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ GetTrailStatusResponse' <$>+ (x .?> "LatestDeliveryError") <*>+ (x .?> "StartLoggingTime")+ <*> (x .?> "LatestNotificationError")+ <*> (x .?> "IsLogging")+ <*> (x .?> "LatestDeliveryTime")+ <*> (x .?> "LatestCloudWatchLogsDeliveryTime")+ <*> (x .?> "LatestCloudWatchLogsDeliveryError")+ <*> (x .?> "LatestNotificationTime")+ <*> (x .?> "StopLoggingTime")+ <*> (pure (fromEnum s))) --- | 'GetTrailStatusResponse' constructor.+instance ToHeaders GetTrailStatus where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetTrailStatus"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTrailStatus where+ toJSON GetTrailStatus'{..}+ = object ["Name" .= _gtsName]++instance ToPath GetTrailStatus where+ toPath = const "/"++instance ToQuery GetTrailStatus where+ toQuery = const mempty++-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'getTrailStatusResponse' smart constructor.+data GetTrailStatusResponse = GetTrailStatusResponse'+ { _gtsrsLatestDeliveryError :: !(Maybe Text)+ , _gtsrsStartLoggingTime :: !(Maybe POSIX)+ , _gtsrsLatestNotificationError :: !(Maybe Text)+ , _gtsrsIsLogging :: !(Maybe Bool)+ , _gtsrsLatestDeliveryTime :: !(Maybe POSIX)+ , _gtsrsLatestCloudWatchLogsDeliveryTime :: !(Maybe POSIX)+ , _gtsrsLatestCloudWatchLogsDeliveryError :: !(Maybe Text)+ , _gtsrsLatestNotificationTime :: !(Maybe POSIX)+ , _gtsrsStopLoggingTime :: !(Maybe POSIX)+ , _gtsrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetTrailStatusResponse' with the minimum fields required to make a request. ----- * 'gtsrIsLogging' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'gtsrLatestCloudWatchLogsDeliveryError' @::@ 'Maybe' 'Text'+-- * 'gtsrsLatestDeliveryError' ----- * 'gtsrLatestCloudWatchLogsDeliveryTime' @::@ 'Maybe' 'UTCTime'+-- * 'gtsrsStartLoggingTime' ----- * 'gtsrLatestDeliveryError' @::@ 'Maybe' 'Text'+-- * 'gtsrsLatestNotificationError' ----- * 'gtsrLatestDeliveryTime' @::@ 'Maybe' 'UTCTime'+-- * 'gtsrsIsLogging' ----- * 'gtsrLatestNotificationError' @::@ 'Maybe' 'Text'+-- * 'gtsrsLatestDeliveryTime' ----- * 'gtsrLatestNotificationTime' @::@ 'Maybe' 'UTCTime'+-- * 'gtsrsLatestCloudWatchLogsDeliveryTime' ----- * 'gtsrStartLoggingTime' @::@ 'Maybe' 'UTCTime'+-- * 'gtsrsLatestCloudWatchLogsDeliveryError' ----- * 'gtsrStopLoggingTime' @::@ 'Maybe' 'UTCTime'+-- * 'gtsrsLatestNotificationTime' ---getTrailStatusResponse :: GetTrailStatusResponse-getTrailStatusResponse = GetTrailStatusResponse- { _gtsrIsLogging = Nothing- , _gtsrLatestDeliveryError = Nothing- , _gtsrLatestNotificationError = Nothing- , _gtsrLatestDeliveryTime = Nothing- , _gtsrLatestNotificationTime = Nothing- , _gtsrStartLoggingTime = Nothing- , _gtsrStopLoggingTime = Nothing- , _gtsrLatestCloudWatchLogsDeliveryError = Nothing- , _gtsrLatestCloudWatchLogsDeliveryTime = Nothing+-- * 'gtsrsStopLoggingTime'+--+-- * 'gtsrsStatus'+getTrailStatusResponse+ :: Int -- ^ 'gtsrsStatus'+ -> GetTrailStatusResponse+getTrailStatusResponse pStatus_ =+ GetTrailStatusResponse'+ { _gtsrsLatestDeliveryError = Nothing+ , _gtsrsStartLoggingTime = Nothing+ , _gtsrsLatestNotificationError = Nothing+ , _gtsrsIsLogging = Nothing+ , _gtsrsLatestDeliveryTime = Nothing+ , _gtsrsLatestCloudWatchLogsDeliveryTime = Nothing+ , _gtsrsLatestCloudWatchLogsDeliveryError = Nothing+ , _gtsrsLatestNotificationTime = Nothing+ , _gtsrsStopLoggingTime = Nothing+ , _gtsrsStatus = pStatus_ } --- | Whether the CloudTrail is currently logging AWS API calls.-gtsrIsLogging :: Lens' GetTrailStatusResponse (Maybe Bool)-gtsrIsLogging = lens _gtsrIsLogging (\s a -> s { _gtsrIsLogging = a })---- | Displays any CloudWatch Logs error that CloudTrail encountered when--- attempting to deliver logs to CloudWatch Logs.-gtsrLatestCloudWatchLogsDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)-gtsrLatestCloudWatchLogsDeliveryError =- lens _gtsrLatestCloudWatchLogsDeliveryError- (\s a -> s { _gtsrLatestCloudWatchLogsDeliveryError = a })---- | Displays the most recent date and time when CloudTrail delivered logs to--- CloudWatch Logs.-gtsrLatestCloudWatchLogsDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)-gtsrLatestCloudWatchLogsDeliveryTime =- lens _gtsrLatestCloudWatchLogsDeliveryTime- (\s a -> s { _gtsrLatestCloudWatchLogsDeliveryTime = a })- . mapping _Time---- | Displays any Amazon S3 error that CloudTrail encountered when attempting to--- deliver log files to the designated bucket. For more information see the--- topic <http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html Error Responses> in the Amazon S3 API Reference.-gtsrLatestDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)-gtsrLatestDeliveryError =- lens _gtsrLatestDeliveryError (\s a -> s { _gtsrLatestDeliveryError = a })---- | Specifies the date and time that CloudTrail last delivered log files to an--- account's Amazon S3 bucket.-gtsrLatestDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)-gtsrLatestDeliveryTime =- lens _gtsrLatestDeliveryTime (\s a -> s { _gtsrLatestDeliveryTime = a })- . mapping _Time---- | Displays any Amazon SNS error that CloudTrail encountered when attempting to--- send a notification. For more information about Amazon SNS errors, see the <http://docs.aws.amazon.com/sns/latest/dg/welcome.html Amazon SNS Developer Guide>.-gtsrLatestNotificationError :: Lens' GetTrailStatusResponse (Maybe Text)-gtsrLatestNotificationError =- lens _gtsrLatestNotificationError- (\s a -> s { _gtsrLatestNotificationError = a })---- | Specifies the date and time of the most recent Amazon SNS notification that--- CloudTrail has written a new log file to an account's Amazon S3 bucket.-gtsrLatestNotificationTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)-gtsrLatestNotificationTime =- lens _gtsrLatestNotificationTime- (\s a -> s { _gtsrLatestNotificationTime = a })- . mapping _Time+-- | Displays any Amazon S3 error that CloudTrail encountered when attempting+-- to deliver log files to the designated bucket. For more information see+-- the topic+-- <http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html Error Responses>+-- in the Amazon S3 API Reference.+gtsrsLatestDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)+gtsrsLatestDeliveryError = lens _gtsrsLatestDeliveryError (\ s a -> s{_gtsrsLatestDeliveryError = a}); --- | Specifies the most recent date and time when CloudTrail started recording API--- calls for an AWS account.-gtsrStartLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)-gtsrStartLoggingTime =- lens _gtsrStartLoggingTime (\s a -> s { _gtsrStartLoggingTime = a })- . mapping _Time+-- | Specifies the most recent date and time when CloudTrail started+-- recording API calls for an AWS account.+gtsrsStartLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)+gtsrsStartLoggingTime = lens _gtsrsStartLoggingTime (\ s a -> s{_gtsrsStartLoggingTime = a}) . mapping _Time; --- | Specifies the most recent date and time when CloudTrail stopped recording API--- calls for an AWS account.-gtsrStopLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)-gtsrStopLoggingTime =- lens _gtsrStopLoggingTime (\s a -> s { _gtsrStopLoggingTime = a })- . mapping _Time+-- | Displays any Amazon SNS error that CloudTrail encountered when+-- attempting to send a notification. For more information about Amazon SNS+-- errors, see the+-- <http://docs.aws.amazon.com/sns/latest/dg/welcome.html Amazon SNS Developer Guide>.+gtsrsLatestNotificationError :: Lens' GetTrailStatusResponse (Maybe Text)+gtsrsLatestNotificationError = lens _gtsrsLatestNotificationError (\ s a -> s{_gtsrsLatestNotificationError = a}); -instance ToPath GetTrailStatus where- toPath = const "/"+-- | Whether the CloudTrail is currently logging AWS API calls.+gtsrsIsLogging :: Lens' GetTrailStatusResponse (Maybe Bool)+gtsrsIsLogging = lens _gtsrsIsLogging (\ s a -> s{_gtsrsIsLogging = a}); -instance ToQuery GetTrailStatus where- toQuery = const mempty+-- | Specifies the date and time that CloudTrail last delivered log files to+-- an account\'s Amazon S3 bucket.+gtsrsLatestDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)+gtsrsLatestDeliveryTime = lens _gtsrsLatestDeliveryTime (\ s a -> s{_gtsrsLatestDeliveryTime = a}) . mapping _Time; -instance ToHeaders GetTrailStatus+-- | Displays the most recent date and time when CloudTrail delivered logs to+-- CloudWatch Logs.+gtsrsLatestCloudWatchLogsDeliveryTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)+gtsrsLatestCloudWatchLogsDeliveryTime = lens _gtsrsLatestCloudWatchLogsDeliveryTime (\ s a -> s{_gtsrsLatestCloudWatchLogsDeliveryTime = a}) . mapping _Time; -instance ToJSON GetTrailStatus where- toJSON GetTrailStatus{..} = object- [ "Name" .= _gtsName- ]+-- | Displays any CloudWatch Logs error that CloudTrail encountered when+-- attempting to deliver logs to CloudWatch Logs.+gtsrsLatestCloudWatchLogsDeliveryError :: Lens' GetTrailStatusResponse (Maybe Text)+gtsrsLatestCloudWatchLogsDeliveryError = lens _gtsrsLatestCloudWatchLogsDeliveryError (\ s a -> s{_gtsrsLatestCloudWatchLogsDeliveryError = a}); -instance AWSRequest GetTrailStatus where- type Sv GetTrailStatus = CloudTrail- type Rs GetTrailStatus = GetTrailStatusResponse+-- | Specifies the date and time of the most recent Amazon SNS notification+-- that CloudTrail has written a new log file to an account\'s Amazon S3+-- bucket.+gtsrsLatestNotificationTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)+gtsrsLatestNotificationTime = lens _gtsrsLatestNotificationTime (\ s a -> s{_gtsrsLatestNotificationTime = a}) . mapping _Time; - request = post "GetTrailStatus"- response = jsonResponse+-- | Specifies the most recent date and time when CloudTrail stopped+-- recording API calls for an AWS account.+gtsrsStopLoggingTime :: Lens' GetTrailStatusResponse (Maybe UTCTime)+gtsrsStopLoggingTime = lens _gtsrsStopLoggingTime (\ s a -> s{_gtsrsStopLoggingTime = a}) . mapping _Time; -instance FromJSON GetTrailStatusResponse where- parseJSON = withObject "GetTrailStatusResponse" $ \o -> GetTrailStatusResponse- <$> o .:? "IsLogging"- <*> o .:? "LatestCloudWatchLogsDeliveryError"- <*> o .:? "LatestCloudWatchLogsDeliveryTime"- <*> o .:? "LatestDeliveryError"- <*> o .:? "LatestDeliveryTime"- <*> o .:? "LatestNotificationError"- <*> o .:? "LatestNotificationTime"- <*> o .:? "StartLoggingTime"- <*> o .:? "StopLoggingTime"+-- | The response status code.+gtsrsStatus :: Lens' GetTrailStatusResponse Int+gtsrsStatus = lens _gtsrsStatus (\ s a -> s{_gtsrsStatus = a});
gen/Network/AWS/CloudTrail/LookupEvents.hs view
@@ -1,192 +1,210 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.LookupEvents--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Looks up API activity events captured by CloudTrail that create, update, or--- delete resources in your account. Events for a region can be looked up for--- the times in which you had CloudTrail turned on in that region during the--- last seven days. Lookup supports five different attributes: time range--- (defined by a start time and end time), user name, event name, resource type,--- and resource name. All attributes are optional. The maximum number of--- attributes that can be specified in any one lookup request are time range and--- one other attribute. The default number of results returned is 10, with a--- maximum of 50 possible. The response includes a token that you can use to get--- the next page of results. The rate of lookup requests is limited to one per--- second per account.+-- Looks up API activity events captured by CloudTrail that create, update,+-- or delete resources in your account. Events for a region can be looked+-- up for the times in which you had CloudTrail turned on in that region+-- during the last seven days. Lookup supports five different attributes:+-- time range (defined by a start time and end time), user name, event+-- name, resource type, and resource name. All attributes are optional. The+-- maximum number of attributes that can be specified in any one lookup+-- request are time range and one other attribute. The default number of+-- results returned is 10, with a maximum of 50 possible. The response+-- includes a token that you can use to get the next page of results. The+-- rate of lookup requests is limited to one per second per account. ----- Events that occurred during the selected time range will not be available--- for lookup if CloudTrail logging was not enabled when the events occurred.+-- Events that occurred during the selected time range will not be+-- available for lookup if CloudTrail logging was not enabled when the+-- events occurred. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html AWS API Reference> for LookupEvents. module Network.AWS.CloudTrail.LookupEvents (- -- * Request- LookupEvents- -- ** Request constructor- , lookupEvents- -- ** Request lenses- , leEndTime+ -- * Creating a Request+ lookupEvents+ , LookupEvents+ -- * Request Lenses+ , leStartTime , leLookupAttributes- , leMaxResults , leNextToken- , leStartTime+ , leEndTime+ , leMaxResults - -- * Response- , LookupEventsResponse- -- ** Response constructor+ -- * Destructuring the Response , lookupEventsResponse- -- ** Response lenses- , lerEvents- , lerNextToken+ , LookupEventsResponse+ -- * Response Lenses+ , lersNextToken+ , lersEvents+ , lersStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts--data LookupEvents = LookupEvents- { _leEndTime :: Maybe POSIX- , _leLookupAttributes :: List "LookupAttributes" LookupAttribute- , _leMaxResults :: Maybe Nat- , _leNextToken :: Maybe Text- , _leStartTime :: Maybe POSIX- } deriving (Eq, Read, Show)+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'LookupEvents' constructor.+-- | Contains a request for LookupEvents. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'lookupEvents' smart constructor.+data LookupEvents = LookupEvents'+ { _leStartTime :: !(Maybe POSIX)+ , _leLookupAttributes :: !(Maybe [LookupAttribute])+ , _leNextToken :: !(Maybe Text)+ , _leEndTime :: !(Maybe POSIX)+ , _leMaxResults :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LookupEvents' with the minimum fields required to make a request. ----- * 'leEndTime' @::@ 'Maybe' 'UTCTime'+-- Use one of the following lenses to modify other fields as desired: ----- * 'leLookupAttributes' @::@ ['LookupAttribute']+-- * 'leStartTime' ----- * 'leMaxResults' @::@ 'Maybe' 'Natural'+-- * 'leLookupAttributes' ----- * 'leNextToken' @::@ 'Maybe' 'Text'+-- * 'leNextToken' ----- * 'leStartTime' @::@ 'Maybe' 'UTCTime'+-- * 'leEndTime' ---lookupEvents :: LookupEvents-lookupEvents = LookupEvents- { _leLookupAttributes = mempty- , _leStartTime = Nothing- , _leEndTime = Nothing- , _leMaxResults = Nothing- , _leNextToken = Nothing+-- * 'leMaxResults'+lookupEvents+ :: LookupEvents+lookupEvents =+ LookupEvents'+ { _leStartTime = Nothing+ , _leLookupAttributes = Nothing+ , _leNextToken = Nothing+ , _leEndTime = Nothing+ , _leMaxResults = Nothing } --- | Specifies that only events that occur before or at the specified time are--- returned. If the specified end time is before the specified start time, an--- error is returned.-leEndTime :: Lens' LookupEvents (Maybe UTCTime)-leEndTime = lens _leEndTime (\s a -> s { _leEndTime = a }) . mapping _Time+-- | Specifies that only events that occur after or at the specified time are+-- returned. If the specified start time is after the specified end time,+-- an error is returned.+leStartTime :: Lens' LookupEvents (Maybe UTCTime)+leStartTime = lens _leStartTime (\ s a -> s{_leStartTime = a}) . mapping _Time; --- | Contains a list of lookup attributes. Currently the list can contain only one--- item.+-- | Contains a list of lookup attributes. Currently the list can contain+-- only one item. leLookupAttributes :: Lens' LookupEvents [LookupAttribute]-leLookupAttributes =- lens _leLookupAttributes (\s a -> s { _leLookupAttributes = a })- . _List---- | The number of events to return. Possible values are 1 through 50. The default--- is 10.-leMaxResults :: Lens' LookupEvents (Maybe Natural)-leMaxResults = lens _leMaxResults (\s a -> s { _leMaxResults = a }) . mapping _Nat+leLookupAttributes = lens _leLookupAttributes (\ s a -> s{_leLookupAttributes = a}) . _Default . _Coerce; --- | The token to use to get the next page of results after a previous API call.--- This token must be passed in with the same parameters that were specified in--- the the original call. For example, if the original call specified an--- AttributeKey of 'Username' with a value of 'root', the call with NextToken--- should include those same parameters.+-- | The token to use to get the next page of results after a previous API+-- call. This token must be passed in with the same parameters that were+-- specified in the the original call. For example, if the original call+-- specified an AttributeKey of \'Username\' with a value of \'root\', the+-- call with NextToken should include those same parameters. leNextToken :: Lens' LookupEvents (Maybe Text)-leNextToken = lens _leNextToken (\s a -> s { _leNextToken = a })+leNextToken = lens _leNextToken (\ s a -> s{_leNextToken = a}); --- | Specifies that only events that occur after or at the specified time are--- returned. If the specified start time is after the specified end time, an--- error is returned.-leStartTime :: Lens' LookupEvents (Maybe UTCTime)-leStartTime = lens _leStartTime (\s a -> s { _leStartTime = a }) . mapping _Time+-- | Specifies that only events that occur before or at the specified time+-- are returned. If the specified end time is before the specified start+-- time, an error is returned.+leEndTime :: Lens' LookupEvents (Maybe UTCTime)+leEndTime = lens _leEndTime (\ s a -> s{_leEndTime = a}) . mapping _Time; -data LookupEventsResponse = LookupEventsResponse- { _lerEvents :: List "Events" Event- , _lerNextToken :: Maybe Text- } deriving (Eq, Read, Show)+-- | The number of events to return. Possible values are 1 through 50. The+-- default is 10.+leMaxResults :: Lens' LookupEvents (Maybe Natural)+leMaxResults = lens _leMaxResults (\ s a -> s{_leMaxResults = a}) . mapping _Nat; --- | 'LookupEventsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lerEvents' @::@ ['Event']------ * 'lerNextToken' @::@ 'Maybe' 'Text'----lookupEventsResponse :: LookupEventsResponse-lookupEventsResponse = LookupEventsResponse- { _lerEvents = mempty- , _lerNextToken = Nothing- }+instance AWSRequest LookupEvents where+ type Sv LookupEvents = CloudTrail+ type Rs LookupEvents = LookupEventsResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ LookupEventsResponse' <$>+ (x .?> "NextToken") <*> (x .?> "Events" .!@ mempty)+ <*> (pure (fromEnum s))) --- | A list of events returned based on the lookup attributes specified and the--- CloudTrail event. The events list is sorted by time. The most recent event is--- listed first.-lerEvents :: Lens' LookupEventsResponse [Event]-lerEvents = lens _lerEvents (\s a -> s { _lerEvents = a }) . _List+instance ToHeaders LookupEvents where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.LookupEvents"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) --- | The token to use to get the next page of results after a previous API call.--- If the token does not appear, there are no more results to return. The token--- must be passed in with the same parameters as the previous call. For example,--- if the original call specified an AttributeKey of 'Username' with a value of--- 'root', the call with NextToken should include those same parameters.-lerNextToken :: Lens' LookupEventsResponse (Maybe Text)-lerNextToken = lens _lerNextToken (\s a -> s { _lerNextToken = a })+instance ToJSON LookupEvents where+ toJSON LookupEvents'{..}+ = object+ ["StartTime" .= _leStartTime,+ "LookupAttributes" .= _leLookupAttributes,+ "NextToken" .= _leNextToken, "EndTime" .= _leEndTime,+ "MaxResults" .= _leMaxResults] instance ToPath LookupEvents where- toPath = const "/"+ toPath = const "/" instance ToQuery LookupEvents where- toQuery = const mempty+ toQuery = const mempty -instance ToHeaders LookupEvents+-- | Contains a response to a LookupEvents action.+--+-- /See:/ 'lookupEventsResponse' smart constructor.+data LookupEventsResponse = LookupEventsResponse'+ { _lersNextToken :: !(Maybe Text)+ , _lersEvents :: !(Maybe [Event])+ , _lersStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON LookupEvents where- toJSON LookupEvents{..} = object- [ "LookupAttributes" .= _leLookupAttributes- , "StartTime" .= _leStartTime- , "EndTime" .= _leEndTime- , "MaxResults" .= _leMaxResults- , "NextToken" .= _leNextToken- ]+-- | Creates a value of 'LookupEventsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lersNextToken'+--+-- * 'lersEvents'+--+-- * 'lersStatus'+lookupEventsResponse+ :: Int -- ^ 'lersStatus'+ -> LookupEventsResponse+lookupEventsResponse pStatus_ =+ LookupEventsResponse'+ { _lersNextToken = Nothing+ , _lersEvents = Nothing+ , _lersStatus = pStatus_+ } -instance AWSRequest LookupEvents where- type Sv LookupEvents = CloudTrail- type Rs LookupEvents = LookupEventsResponse+-- | The token to use to get the next page of results after a previous API+-- call. If the token does not appear, there are no more results to return.+-- The token must be passed in with the same parameters as the previous+-- call. For example, if the original call specified an AttributeKey of+-- \'Username\' with a value of \'root\', the call with NextToken should+-- include those same parameters.+lersNextToken :: Lens' LookupEventsResponse (Maybe Text)+lersNextToken = lens _lersNextToken (\ s a -> s{_lersNextToken = a}); - request = post "LookupEvents"- response = jsonResponse+-- | A list of events returned based on the lookup attributes specified and+-- the CloudTrail event. The events list is sorted by time. The most recent+-- event is listed first.+lersEvents :: Lens' LookupEventsResponse [Event]+lersEvents = lens _lersEvents (\ s a -> s{_lersEvents = a}) . _Default . _Coerce; -instance FromJSON LookupEventsResponse where- parseJSON = withObject "LookupEventsResponse" $ \o -> LookupEventsResponse- <$> o .:? "Events" .!= mempty- <*> o .:? "NextToken"+-- | The response status code.+lersStatus :: Lens' LookupEventsResponse Int+lersStatus = lens _lersStatus (\ s a -> s{_lersStatus = a});
gen/Network/AWS/CloudTrail/StartLogging.hs view
@@ -1,94 +1,120 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.StartLogging--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Starts the recording of AWS API calls and log file delivery for a trail.+-- Starts the recording of AWS API calls and log file delivery for a trail. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StartLogging.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StartLogging.html AWS API Reference> for StartLogging. module Network.AWS.CloudTrail.StartLogging (- -- * Request- StartLogging- -- ** Request constructor- , startLogging- -- ** Request lenses- , sl1Name+ -- * Creating a Request+ startLogging+ , StartLogging+ -- * Request Lenses+ , sName - -- * Response- , StartLoggingResponse- -- ** Response constructor+ -- * Destructuring the Response , startLoggingResponse+ , StartLoggingResponse+ -- * Response Lenses+ , srsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts--newtype StartLogging = StartLogging- { _sl1Name :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'StartLogging' constructor.+-- | The request to CloudTrail to start logging AWS API calls for an account. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'startLogging' smart constructor.+newtype StartLogging = StartLogging'+ { _sName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StartLogging' with the minimum fields required to make a request. ----- * 'sl1Name' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---startLogging :: Text -- ^ 'sl1Name'- -> StartLogging-startLogging p1 = StartLogging- { _sl1Name = p1+-- * 'sName'+startLogging+ :: Text -- ^ 'sName'+ -> StartLogging+startLogging pName_ =+ StartLogging'+ { _sName = pName_ } -- | The name of the trail for which CloudTrail logs AWS API calls.-sl1Name :: Lens' StartLogging Text-sl1Name = lens _sl1Name (\s a -> s { _sl1Name = a })+sName :: Lens' StartLogging Text+sName = lens _sName (\ s a -> s{_sName = a}); -data StartLoggingResponse = StartLoggingResponse- deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest StartLogging where+ type Sv StartLogging = CloudTrail+ type Rs StartLogging = StartLoggingResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ StartLoggingResponse' <$> (pure (fromEnum s))) --- | 'StartLoggingResponse' constructor.-startLoggingResponse :: StartLoggingResponse-startLoggingResponse = StartLoggingResponse+instance ToHeaders StartLogging where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.StartLogging"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON StartLogging where+ toJSON StartLogging'{..} = object ["Name" .= _sName]+ instance ToPath StartLogging where- toPath = const "/"+ toPath = const "/" instance ToQuery StartLogging where- toQuery = const mempty--instance ToHeaders StartLogging+ toQuery = const mempty -instance ToJSON StartLogging where- toJSON StartLogging{..} = object- [ "Name" .= _sl1Name- ]+-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error.+--+-- /See:/ 'startLoggingResponse' smart constructor.+newtype StartLoggingResponse = StartLoggingResponse'+ { _srsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest StartLogging where- type Sv StartLogging = CloudTrail- type Rs StartLogging = StartLoggingResponse+-- | Creates a value of 'StartLoggingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsStatus'+startLoggingResponse+ :: Int -- ^ 'srsStatus'+ -> StartLoggingResponse+startLoggingResponse pStatus_ =+ StartLoggingResponse'+ { _srsStatus = pStatus_+ } - request = post "StartLogging"- response = nullResponse StartLoggingResponse+-- | The response status code.+srsStatus :: Lens' StartLoggingResponse Int+srsStatus = lens _srsStatus (\ s a -> s{_srsStatus = a});
gen/Network/AWS/CloudTrail/StopLogging.hs view
@@ -1,98 +1,125 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.StopLogging--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Suspends the recording of AWS API calls and log file delivery for the+-- Suspends the recording of AWS API calls and log file delivery for the -- specified trail. Under most circumstances, there is no need to use this--- action. You can update a trail without stopping it first. This action is the--- only way to stop recording.+-- action. You can update a trail without stopping it first. This action is+-- the only way to stop recording. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html AWS API Reference> for StopLogging. module Network.AWS.CloudTrail.StopLogging (- -- * Request- StopLogging- -- ** Request constructor- , stopLogging- -- ** Request lenses+ -- * Creating a Request+ stopLogging+ , StopLogging+ -- * Request Lenses , slName - -- * Response- , StopLoggingResponse- -- ** Response constructor+ -- * Destructuring the Response , stopLoggingResponse+ , StopLoggingResponse+ -- * Response Lenses+ , slrsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response -newtype StopLogging = StopLogging+-- | Passes the request to CloudTrail to stop logging AWS API calls for the+-- specified account.+--+-- /See:/ 'stopLogging' smart constructor.+newtype StopLogging = StopLogging' { _slName :: Text- } deriving (Eq, Ord, Read, Show, Monoid, IsString)+ } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'StopLogging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'StopLogging' with the minimum fields required to make a request. ----- * 'slName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---stopLogging :: Text -- ^ 'slName'- -> StopLogging-stopLogging p1 = StopLogging- { _slName = p1+-- * 'slName'+stopLogging+ :: Text -- ^ 'slName'+ -> StopLogging+stopLogging pName_ =+ StopLogging'+ { _slName = pName_ } --- | Communicates to CloudTrail the name of the trail for which to stop logging--- AWS API calls.+-- | Communicates to CloudTrail the name of the trail for which to stop+-- logging AWS API calls. slName :: Lens' StopLogging Text-slName = lens _slName (\s a -> s { _slName = a })+slName = lens _slName (\ s a -> s{_slName = a}); -data StopLoggingResponse = StopLoggingResponse- deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest StopLogging where+ type Sv StopLogging = CloudTrail+ type Rs StopLogging = StopLoggingResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ StopLoggingResponse' <$> (pure (fromEnum s))) --- | 'StopLoggingResponse' constructor.-stopLoggingResponse :: StopLoggingResponse-stopLoggingResponse = StopLoggingResponse+instance ToHeaders StopLogging where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.StopLogging"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON StopLogging where+ toJSON StopLogging'{..} = object ["Name" .= _slName]+ instance ToPath StopLogging where- toPath = const "/"+ toPath = const "/" instance ToQuery StopLogging where- toQuery = const mempty--instance ToHeaders StopLogging+ toQuery = const mempty -instance ToJSON StopLogging where- toJSON StopLogging{..} = object- [ "Name" .= _slName- ]+-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error.+--+-- /See:/ 'stopLoggingResponse' smart constructor.+newtype StopLoggingResponse = StopLoggingResponse'+ { _slrsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest StopLogging where- type Sv StopLogging = CloudTrail- type Rs StopLogging = StopLoggingResponse+-- | Creates a value of 'StopLoggingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slrsStatus'+stopLoggingResponse+ :: Int -- ^ 'slrsStatus'+ -> StopLoggingResponse+stopLoggingResponse pStatus_ =+ StopLoggingResponse'+ { _slrsStatus = pStatus_+ } - request = post "StopLogging"- response = nullResponse StopLoggingResponse+-- | The response status code.+slrsStatus :: Lens' StopLoggingResponse Int+slrsStatus = lens _slrsStatus (\ s a -> s{_slrsStatus = a});
gen/Network/AWS/CloudTrail/Types.hs view
@@ -1,55 +1,52 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-} -{-# OPTIONS_GHC -fno-warn-unused-imports #-}+-- Derived from AWS service descriptions, licensed under Apache 2.0. +-- | -- Module : Network.AWS.CloudTrail.Types--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.- module Network.AWS.CloudTrail.Types ( -- * Service CloudTrail- -- ** Error- , JSONError + -- * Errors+ , _InvalidTimeRangeException+ , _InsufficientS3BucketPolicyException+ , _MaximumNumberOfTrailsExceededException+ , _InsufficientSNSTopicPolicyException+ , _InvalidCloudWatchLogsRoleARNException+ , _InvalidTrailNameException+ , _InvalidLookupAttributesException+ , _TrailNotFoundException+ , _CloudWatchLogsDeliveryUnavailableException+ , _InvalidSNSTopicNameException+ , _InvalidCloudWatchLogsLogGroupARNException+ , _InvalidS3BucketNameException+ , _InvalidNextTokenException+ , _S3BucketDoesNotExistException+ , _InvalidMaxResultsException+ , _TrailAlreadyExistsException+ , _InvalidS3PrefixException++ -- * LookupAttributeKey+ , LookupAttributeKey (..)+ -- * Event , Event , event- , eCloudTrailEvent- , eEventId- , eEventName+ , eUsername , eEventTime , eResources- , eUsername-- -- * Trail- , Trail- , trail- , tCloudWatchLogsLogGroupArn- , tCloudWatchLogsRoleArn- , tIncludeGlobalServiceEvents- , tName- , tS3BucketName- , tS3KeyPrefix- , tSnsTopicName+ , eCloudTrailEvent+ , eEventName+ , eEventId -- * LookupAttribute , LookupAttribute@@ -57,355 +54,151 @@ , laAttributeKey , laAttributeValue - -- * LookupAttributeKey- , LookupAttributeKey (..)- -- * Resource , Resource , resource- , rResourceName , rResourceType+ , rResourceName++ -- * Trail+ , Trail+ , trail+ , tS3KeyPrefix+ , tSNSTopicName+ , tCloudWatchLogsLogGroupARN+ , tName+ , tIncludeGlobalServiceEvents+ , tCloudWatchLogsRoleARN+ , tS3BucketName ) where -import Network.AWS.Prelude-import Network.AWS.Signing-import qualified GHC.Exts+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.CloudTrail.Types.Sum+import Network.AWS.Prelude+import Network.AWS.Sign.V4 --- | Version @2013-11-01@ of the Amazon CloudTrail service.+-- | Version @2013-11-01@ of the Amazon CloudTrail SDK. data CloudTrail instance AWSService CloudTrail where type Sg CloudTrail = V4- type Er CloudTrail = JSONError-- service = service'+ service = const svc where- service' :: Service CloudTrail- service' = Service- { _svcAbbrev = "CloudTrail"- , _svcPrefix = "cloudtrail"- , _svcVersion = "2013-11-01"- , _svcTargetPrefix = Just "com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101"- , _svcJSONVersion = Just "1.1"- , _svcHandle = handle- , _svcRetry = retry+ svc =+ Service+ { _svcAbbrev = "CloudTrail"+ , _svcPrefix = "cloudtrail"+ , _svcVersion = "2013-11-01"+ , _svcEndpoint = defaultEndpoint svc+ , _svcTimeout = Just 70+ , _svcStatus = statusSuccess+ , _svcError = parseJSONError+ , _svcRetry = retry }-- handle :: Status- -> Maybe (LazyByteString -> ServiceError JSONError)- handle = jsonError statusSuccess service'-- retry :: Retry CloudTrail- retry = Exponential- { _retryBase = 0.05- , _retryGrowth = 2+ retry =+ Exponential+ { _retryBase = 5.0e-2+ , _retryGrowth = 2 , _retryAttempts = 5- , _retryCheck = check+ , _retryCheck = check }-- check :: Status- -> JSONError- -> Bool- check (statusCode -> s) (awsErrorCode -> e)- | s == 500 = True -- General Server Error- | s == 509 = True -- Limit Exceeded- | s == 503 = True -- Service Unavailable- | otherwise = False--data Event = Event- { _eCloudTrailEvent :: Maybe Text- , _eEventId :: Maybe Text- , _eEventName :: Maybe Text- , _eEventTime :: Maybe POSIX- , _eResources :: List "Resources" Resource- , _eUsername :: Maybe Text- } deriving (Eq, Read, Show)---- | 'Event' constructor.------ The fields accessible through corresponding lenses are:------ * 'eCloudTrailEvent' @::@ 'Maybe' 'Text'------ * 'eEventId' @::@ 'Maybe' 'Text'------ * 'eEventName' @::@ 'Maybe' 'Text'------ * 'eEventTime' @::@ 'Maybe' 'UTCTime'------ * 'eResources' @::@ ['Resource']------ * 'eUsername' @::@ 'Maybe' 'Text'----event :: Event-event = Event- { _eEventId = Nothing- , _eEventName = Nothing- , _eEventTime = Nothing- , _eUsername = Nothing- , _eResources = mempty- , _eCloudTrailEvent = Nothing- }---- | A JSON string that contains a representation of the event returned.-eCloudTrailEvent :: Lens' Event (Maybe Text)-eCloudTrailEvent = lens _eCloudTrailEvent (\s a -> s { _eCloudTrailEvent = a })---- | The CloudTrail ID of the event returned.-eEventId :: Lens' Event (Maybe Text)-eEventId = lens _eEventId (\s a -> s { _eEventId = a })---- | The name of the event returned.-eEventName :: Lens' Event (Maybe Text)-eEventName = lens _eEventName (\s a -> s { _eEventName = a })---- | The date and time of the event returned.-eEventTime :: Lens' Event (Maybe UTCTime)-eEventTime = lens _eEventTime (\s a -> s { _eEventTime = a }) . mapping _Time---- | A list of resources referenced by the event returned.-eResources :: Lens' Event [Resource]-eResources = lens _eResources (\s a -> s { _eResources = a }) . _List---- | A user name or role name of the requester that called the API in the event--- returned.-eUsername :: Lens' Event (Maybe Text)-eUsername = lens _eUsername (\s a -> s { _eUsername = a })--instance FromJSON Event where- parseJSON = withObject "Event" $ \o -> Event- <$> o .:? "CloudTrailEvent"- <*> o .:? "EventId"- <*> o .:? "EventName"- <*> o .:? "EventTime"- <*> o .:? "Resources" .!= mempty- <*> o .:? "Username"--instance ToJSON Event where- toJSON Event{..} = object- [ "EventId" .= _eEventId- , "EventName" .= _eEventName- , "EventTime" .= _eEventTime- , "Username" .= _eUsername- , "Resources" .= _eResources- , "CloudTrailEvent" .= _eCloudTrailEvent- ]--data Trail = Trail- { _tCloudWatchLogsLogGroupArn :: Maybe Text- , _tCloudWatchLogsRoleArn :: Maybe Text- , _tIncludeGlobalServiceEvents :: Maybe Bool- , _tName :: Maybe Text- , _tS3BucketName :: Maybe Text- , _tS3KeyPrefix :: Maybe Text- , _tSnsTopicName :: Maybe Text- } deriving (Eq, Ord, Read, Show)---- | 'Trail' constructor.------ The fields accessible through corresponding lenses are:------ * 'tCloudWatchLogsLogGroupArn' @::@ 'Maybe' 'Text'------ * 'tCloudWatchLogsRoleArn' @::@ 'Maybe' 'Text'------ * 'tIncludeGlobalServiceEvents' @::@ 'Maybe' 'Bool'------ * 'tName' @::@ 'Maybe' 'Text'------ * 'tS3BucketName' @::@ 'Maybe' 'Text'------ * 'tS3KeyPrefix' @::@ 'Maybe' 'Text'------ * 'tSnsTopicName' @::@ 'Maybe' 'Text'----trail :: Trail-trail = Trail- { _tName = Nothing- , _tS3BucketName = Nothing- , _tS3KeyPrefix = Nothing- , _tSnsTopicName = Nothing- , _tIncludeGlobalServiceEvents = Nothing- , _tCloudWatchLogsLogGroupArn = Nothing- , _tCloudWatchLogsRoleArn = Nothing- }---- | Specifies an Amazon Resource Name (ARN), a unique identifier that represents--- the log group to which CloudTrail logs will be delivered.-tCloudWatchLogsLogGroupArn :: Lens' Trail (Maybe Text)-tCloudWatchLogsLogGroupArn =- lens _tCloudWatchLogsLogGroupArn- (\s a -> s { _tCloudWatchLogsLogGroupArn = a })---- | Specifies the role for the CloudWatch Logs endpoint to assume to write to a--- user’s log group.-tCloudWatchLogsRoleArn :: Lens' Trail (Maybe Text)-tCloudWatchLogsRoleArn =- lens _tCloudWatchLogsRoleArn (\s a -> s { _tCloudWatchLogsRoleArn = a })---- | Set to True to include AWS API calls from AWS global services such as IAM.--- Otherwise, False.-tIncludeGlobalServiceEvents :: Lens' Trail (Maybe Bool)-tIncludeGlobalServiceEvents =- lens _tIncludeGlobalServiceEvents- (\s a -> s { _tIncludeGlobalServiceEvents = a })---- | Name of the trail set by calling 'CreateTrail'.-tName :: Lens' Trail (Maybe Text)-tName = lens _tName (\s a -> s { _tName = a })---- | Name of the Amazon S3 bucket into which CloudTrail delivers your trail files.-tS3BucketName :: Lens' Trail (Maybe Text)-tS3BucketName = lens _tS3BucketName (\s a -> s { _tS3BucketName = a })---- | Value of the Amazon S3 prefix.-tS3KeyPrefix :: Lens' Trail (Maybe Text)-tS3KeyPrefix = lens _tS3KeyPrefix (\s a -> s { _tS3KeyPrefix = a })---- | Name of the existing Amazon SNS topic that CloudTrail uses to notify the--- account owner when new CloudTrail log files have been delivered.-tSnsTopicName :: Lens' Trail (Maybe Text)-tSnsTopicName = lens _tSnsTopicName (\s a -> s { _tSnsTopicName = a })--instance FromJSON Trail where- parseJSON = withObject "Trail" $ \o -> Trail- <$> o .:? "CloudWatchLogsLogGroupArn"- <*> o .:? "CloudWatchLogsRoleArn"- <*> o .:? "IncludeGlobalServiceEvents"- <*> o .:? "Name"- <*> o .:? "S3BucketName"- <*> o .:? "S3KeyPrefix"- <*> o .:? "SnsTopicName"--instance ToJSON Trail where- toJSON Trail{..} = object- [ "Name" .= _tName- , "S3BucketName" .= _tS3BucketName- , "S3KeyPrefix" .= _tS3KeyPrefix- , "SnsTopicName" .= _tSnsTopicName- , "IncludeGlobalServiceEvents" .= _tIncludeGlobalServiceEvents- , "CloudWatchLogsLogGroupArn" .= _tCloudWatchLogsLogGroupArn- , "CloudWatchLogsRoleArn" .= _tCloudWatchLogsRoleArn- ]--data LookupAttribute = LookupAttribute- { _laAttributeKey :: LookupAttributeKey- , _laAttributeValue :: Text- } deriving (Eq, Read, Show)---- | 'LookupAttribute' constructor.------ The fields accessible through corresponding lenses are:------ * 'laAttributeKey' @::@ 'LookupAttributeKey'------ * 'laAttributeValue' @::@ 'Text'----lookupAttribute :: LookupAttributeKey -- ^ 'laAttributeKey'- -> Text -- ^ 'laAttributeValue'- -> LookupAttribute-lookupAttribute p1 p2 = LookupAttribute- { _laAttributeKey = p1- , _laAttributeValue = p2- }+ check e+ | has (hasCode "ThrottlingException" . hasStatus 400) e =+ Just "throttling_exception"+ | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+ | has (hasStatus 503) e = Just "service_unavailable"+ | has (hasStatus 500) e = Just "general_server_error"+ | has (hasStatus 509) e = Just "limit_exceeded"+ | otherwise = Nothing --- | Specifies an attribute on which to filter the events returned.-laAttributeKey :: Lens' LookupAttribute LookupAttributeKey-laAttributeKey = lens _laAttributeKey (\s a -> s { _laAttributeKey = a })+-- | Occurs if the timestamp values are invalid. Either the start time occurs+-- after the end time or the time range is outside the range of possible+-- values.+_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidTimeRangeException =+ _ServiceError . hasStatus 400 . hasCode "InvalidTimeRange" --- | Specifies a value for the specified AttributeKey.-laAttributeValue :: Lens' LookupAttribute Text-laAttributeValue = lens _laAttributeValue (\s a -> s { _laAttributeValue = a })+-- | This exception is thrown when the policy on the S3 bucket is not+-- sufficient.+_InsufficientS3BucketPolicyException :: AsError a => Getting (First ServiceError) a ServiceError+_InsufficientS3BucketPolicyException =+ _ServiceError . hasStatus 403 . hasCode "InsufficientS3BucketPolicy" -instance FromJSON LookupAttribute where- parseJSON = withObject "LookupAttribute" $ \o -> LookupAttribute- <$> o .: "AttributeKey"- <*> o .: "AttributeValue"+-- | This exception is thrown when the maximum number of trails is reached.+_MaximumNumberOfTrailsExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_MaximumNumberOfTrailsExceededException =+ _ServiceError . hasStatus 403 . hasCode "MaximumNumberOfTrailsExceeded" -instance ToJSON LookupAttribute where- toJSON LookupAttribute{..} = object- [ "AttributeKey" .= _laAttributeKey- , "AttributeValue" .= _laAttributeValue- ]+-- | This exception is thrown when the policy on the SNS topic is not+-- sufficient.+_InsufficientSNSTopicPolicyException :: AsError a => Getting (First ServiceError) a ServiceError+_InsufficientSNSTopicPolicyException =+ _ServiceError . hasStatus 403 . hasCode "InsufficientSnsTopicPolicy" -data LookupAttributeKey- = EventId -- ^ EventId- | EventName -- ^ EventName- | ResourceName -- ^ ResourceName- | ResourceType -- ^ ResourceType- | Username -- ^ Username- deriving (Eq, Ord, Read, Show, Generic, Enum)+-- | This exception is thrown when the provided role is not valid.+_InvalidCloudWatchLogsRoleARNException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidCloudWatchLogsRoleARNException =+ _ServiceError . hasStatus 400 . hasCode "InvalidCloudWatchLogsRoleArn" -instance Hashable LookupAttributeKey+-- | This exception is thrown when the provided trail name is not valid.+_InvalidTrailNameException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidTrailNameException =+ _ServiceError . hasStatus 400 . hasCode "InvalidTrailName" -instance FromText LookupAttributeKey where- parser = takeLowerText >>= \case- "eventid" -> pure EventId- "eventname" -> pure EventName- "resourcename" -> pure ResourceName- "resourcetype" -> pure ResourceType- "username" -> pure Username- e -> fail $- "Failure parsing LookupAttributeKey from " ++ show e+-- | Occurs when an invalid lookup attribute is specified.+_InvalidLookupAttributesException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidLookupAttributesException =+ _ServiceError . hasStatus 400 . hasCode "InvalidLookupAttributes" -instance ToText LookupAttributeKey where- toText = \case- EventId -> "EventId"- EventName -> "EventName"- ResourceName -> "ResourceName"- ResourceType -> "ResourceType"- Username -> "Username"+-- | This exception is thrown when the trail with the given name is not+-- found.+_TrailNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_TrailNotFoundException =+ _ServiceError . hasStatus 404 . hasCode "TrailNotFound" -instance ToByteString LookupAttributeKey-instance ToHeader LookupAttributeKey-instance ToQuery LookupAttributeKey+-- | Cannot set a CloudWatch Logs delivery for this region.+_CloudWatchLogsDeliveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_CloudWatchLogsDeliveryUnavailableException =+ _ServiceError . hasStatus 400 . hasCode "CloudWatchLogsDeliveryUnavailable" -instance FromJSON LookupAttributeKey where- parseJSON = parseJSONText "LookupAttributeKey"+-- | This exception is thrown when the provided SNS topic name is not valid.+_InvalidSNSTopicNameException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidSNSTopicNameException =+ _ServiceError . hasStatus 400 . hasCode "InvalidSnsTopicName" -instance ToJSON LookupAttributeKey where- toJSON = toJSONText+-- | This exception is thrown when the provided CloudWatch log group is not+-- valid.+_InvalidCloudWatchLogsLogGroupARNException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidCloudWatchLogsLogGroupARNException =+ _ServiceError . hasStatus 400 . hasCode "InvalidCloudWatchLogsLogGroupArn" -data Resource = Resource- { _rResourceName :: Maybe Text- , _rResourceType :: Maybe Text- } deriving (Eq, Ord, Read, Show)+-- | This exception is thrown when the provided S3 bucket name is not valid.+_InvalidS3BucketNameException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidS3BucketNameException =+ _ServiceError . hasStatus 400 . hasCode "InvalidS3BucketName" --- | 'Resource' constructor.------ The fields accessible through corresponding lenses are:------ * 'rResourceName' @::@ 'Maybe' 'Text'------ * 'rResourceType' @::@ 'Maybe' 'Text'----resource :: Resource-resource = Resource- { _rResourceType = Nothing- , _rResourceName = Nothing- }+-- | Invalid token or token that was previously used in a request with+-- different parameters. This exception is thrown if the token is invalid.+_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNextTokenException =+ _ServiceError . hasStatus 400 . hasCode "InvalidNextToken" --- | The name of the resource referenced by the event returned. These are--- user-created names whose values will depend on the environment. For example,--- the resource name might be "auto-scaling-test-group" for an Auto Scaling--- Group or "i-1234567" for an EC2 Instance.-rResourceName :: Lens' Resource (Maybe Text)-rResourceName = lens _rResourceName (\s a -> s { _rResourceName = a })+-- | This exception is thrown when the specified S3 bucket does not exist.+_S3BucketDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError+_S3BucketDoesNotExistException =+ _ServiceError . hasStatus 404 . hasCode "S3BucketDoesNotExist" --- | The type of a resource referenced by the event returned. When the resource--- type cannot be determined, null is returned. Some examples of resource types--- are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey--- for IAM. For a list of resource types supported for event lookup, see <http://docs.aws.amazon.com/awscloudtrail/latest/userguide/lookup_supported_resourcetypes.html Resource Types Supported for Event Lookup>.-rResourceType :: Lens' Resource (Maybe Text)-rResourceType = lens _rResourceType (\s a -> s { _rResourceType = a })+-- | This exception is thrown if the limit specified is invalid.+_InvalidMaxResultsException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidMaxResultsException =+ _ServiceError . hasStatus 400 . hasCode "InvalidMaxResults" -instance FromJSON Resource where- parseJSON = withObject "Resource" $ \o -> Resource- <$> o .:? "ResourceName"- <*> o .:? "ResourceType"+-- | This exception is thrown when the specified trail already exists.+_TrailAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_TrailAlreadyExistsException =+ _ServiceError . hasStatus 400 . hasCode "TrailAlreadyExists" -instance ToJSON Resource where- toJSON Resource{..} = object- [ "ResourceType" .= _rResourceType- , "ResourceName" .= _rResourceName- ]+-- | This exception is thrown when the provided S3 prefix is not valid.+_InvalidS3PrefixException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidS3PrefixException =+ _ServiceError . hasStatus 400 . hasCode "InvalidS3Prefix"
+ gen/Network/AWS/CloudTrail/Types/Product.hs view
@@ -0,0 +1,271 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudTrail.Types.Product+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudTrail.Types.Product where++import Network.AWS.CloudTrail.Types.Sum+import Network.AWS.Prelude++-- | Contains information about an event that was returned by a lookup+-- request. The result includes a representation of a CloudTrail event.+--+-- /See:/ 'event' smart constructor.+data Event = Event'+ { _eUsername :: !(Maybe Text)+ , _eEventTime :: !(Maybe POSIX)+ , _eResources :: !(Maybe [Resource])+ , _eCloudTrailEvent :: !(Maybe Text)+ , _eEventName :: !(Maybe Text)+ , _eEventId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Event' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eUsername'+--+-- * 'eEventTime'+--+-- * 'eResources'+--+-- * 'eCloudTrailEvent'+--+-- * 'eEventName'+--+-- * 'eEventId'+event+ :: Event+event =+ Event'+ { _eUsername = Nothing+ , _eEventTime = Nothing+ , _eResources = Nothing+ , _eCloudTrailEvent = Nothing+ , _eEventName = Nothing+ , _eEventId = Nothing+ }++-- | A user name or role name of the requester that called the API in the+-- event returned.+eUsername :: Lens' Event (Maybe Text)+eUsername = lens _eUsername (\ s a -> s{_eUsername = a});++-- | The date and time of the event returned.+eEventTime :: Lens' Event (Maybe UTCTime)+eEventTime = lens _eEventTime (\ s a -> s{_eEventTime = a}) . mapping _Time;++-- | A list of resources referenced by the event returned.+eResources :: Lens' Event [Resource]+eResources = lens _eResources (\ s a -> s{_eResources = a}) . _Default . _Coerce;++-- | A JSON string that contains a representation of the event returned.+eCloudTrailEvent :: Lens' Event (Maybe Text)+eCloudTrailEvent = lens _eCloudTrailEvent (\ s a -> s{_eCloudTrailEvent = a});++-- | The name of the event returned.+eEventName :: Lens' Event (Maybe Text)+eEventName = lens _eEventName (\ s a -> s{_eEventName = a});++-- | The CloudTrail ID of the event returned.+eEventId :: Lens' Event (Maybe Text)+eEventId = lens _eEventId (\ s a -> s{_eEventId = a});++instance FromJSON Event where+ parseJSON+ = withObject "Event"+ (\ x ->+ Event' <$>+ (x .:? "Username") <*> (x .:? "EventTime") <*>+ (x .:? "Resources" .!= mempty)+ <*> (x .:? "CloudTrailEvent")+ <*> (x .:? "EventName")+ <*> (x .:? "EventId"))++-- | Specifies an attribute and value that filter the events returned.+--+-- /See:/ 'lookupAttribute' smart constructor.+data LookupAttribute = LookupAttribute'+ { _laAttributeKey :: !LookupAttributeKey+ , _laAttributeValue :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LookupAttribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'laAttributeKey'+--+-- * 'laAttributeValue'+lookupAttribute+ :: LookupAttributeKey -- ^ 'laAttributeKey'+ -> Text -- ^ 'laAttributeValue'+ -> LookupAttribute+lookupAttribute pAttributeKey_ pAttributeValue_ =+ LookupAttribute'+ { _laAttributeKey = pAttributeKey_+ , _laAttributeValue = pAttributeValue_+ }++-- | Specifies an attribute on which to filter the events returned.+laAttributeKey :: Lens' LookupAttribute LookupAttributeKey+laAttributeKey = lens _laAttributeKey (\ s a -> s{_laAttributeKey = a});++-- | Specifies a value for the specified AttributeKey.+laAttributeValue :: Lens' LookupAttribute Text+laAttributeValue = lens _laAttributeValue (\ s a -> s{_laAttributeValue = a});++instance ToJSON LookupAttribute where+ toJSON LookupAttribute'{..}+ = object+ ["AttributeKey" .= _laAttributeKey,+ "AttributeValue" .= _laAttributeValue]++-- | Specifies the type and name of a resource referenced by an event.+--+-- /See:/ 'resource' smart constructor.+data Resource = Resource'+ { _rResourceType :: !(Maybe Text)+ , _rResourceName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Resource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rResourceType'+--+-- * 'rResourceName'+resource+ :: Resource+resource =+ Resource'+ { _rResourceType = Nothing+ , _rResourceName = Nothing+ }++-- | The type of a resource referenced by the event returned. When the+-- resource type cannot be determined, null is returned. Some examples of+-- resource types are: __Instance__ for EC2, __Trail__ for CloudTrail,+-- __DBInstance__ for RDS, and __AccessKey__ for IAM. For a list of+-- resource types supported for event lookup, see+-- <http://docs.aws.amazon.com/awscloudtrail/latest/userguide/lookup_supported_resourcetypes.html Resource Types Supported for Event Lookup>.+rResourceType :: Lens' Resource (Maybe Text)+rResourceType = lens _rResourceType (\ s a -> s{_rResourceType = a});++-- | The name of the resource referenced by the event returned. These are+-- user-created names whose values will depend on the environment. For+-- example, the resource name might be \"auto-scaling-test-group\" for an+-- Auto Scaling Group or \"i-1234567\" for an EC2 Instance.+rResourceName :: Lens' Resource (Maybe Text)+rResourceName = lens _rResourceName (\ s a -> s{_rResourceName = a});++instance FromJSON Resource where+ parseJSON+ = withObject "Resource"+ (\ x ->+ Resource' <$>+ (x .:? "ResourceType") <*> (x .:? "ResourceName"))++-- | The settings for a trail.+--+-- /See:/ 'trail' smart constructor.+data Trail = Trail'+ { _tS3KeyPrefix :: !(Maybe Text)+ , _tSNSTopicName :: !(Maybe Text)+ , _tCloudWatchLogsLogGroupARN :: !(Maybe Text)+ , _tName :: !(Maybe Text)+ , _tIncludeGlobalServiceEvents :: !(Maybe Bool)+ , _tCloudWatchLogsRoleARN :: !(Maybe Text)+ , _tS3BucketName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Trail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tS3KeyPrefix'+--+-- * 'tSNSTopicName'+--+-- * 'tCloudWatchLogsLogGroupARN'+--+-- * 'tName'+--+-- * 'tIncludeGlobalServiceEvents'+--+-- * 'tCloudWatchLogsRoleARN'+--+-- * 'tS3BucketName'+trail+ :: Trail+trail =+ Trail'+ { _tS3KeyPrefix = Nothing+ , _tSNSTopicName = Nothing+ , _tCloudWatchLogsLogGroupARN = Nothing+ , _tName = Nothing+ , _tIncludeGlobalServiceEvents = Nothing+ , _tCloudWatchLogsRoleARN = Nothing+ , _tS3BucketName = Nothing+ }++-- | Value of the Amazon S3 prefix.+tS3KeyPrefix :: Lens' Trail (Maybe Text)+tS3KeyPrefix = lens _tS3KeyPrefix (\ s a -> s{_tS3KeyPrefix = a});++-- | Name of the existing Amazon SNS topic that CloudTrail uses to notify the+-- account owner when new CloudTrail log files have been delivered.+tSNSTopicName :: Lens' Trail (Maybe Text)+tSNSTopicName = lens _tSNSTopicName (\ s a -> s{_tSNSTopicName = a});++-- | Specifies an Amazon Resource Name (ARN), a unique identifier that+-- represents the log group to which CloudTrail logs will be delivered.+tCloudWatchLogsLogGroupARN :: Lens' Trail (Maybe Text)+tCloudWatchLogsLogGroupARN = lens _tCloudWatchLogsLogGroupARN (\ s a -> s{_tCloudWatchLogsLogGroupARN = a});++-- | Name of the trail set by calling CreateTrail.+tName :: Lens' Trail (Maybe Text)+tName = lens _tName (\ s a -> s{_tName = a});++-- | Set to __True__ to include AWS API calls from AWS global services such+-- as IAM. Otherwise, __False__.+tIncludeGlobalServiceEvents :: Lens' Trail (Maybe Bool)+tIncludeGlobalServiceEvents = lens _tIncludeGlobalServiceEvents (\ s a -> s{_tIncludeGlobalServiceEvents = a});++-- | Specifies the role for the CloudWatch Logs endpoint to assume to write+-- to a user’s log group.+tCloudWatchLogsRoleARN :: Lens' Trail (Maybe Text)+tCloudWatchLogsRoleARN = lens _tCloudWatchLogsRoleARN (\ s a -> s{_tCloudWatchLogsRoleARN = a});++-- | Name of the Amazon S3 bucket into which CloudTrail delivers your trail+-- files.+tS3BucketName :: Lens' Trail (Maybe Text)+tS3BucketName = lens _tS3BucketName (\ s a -> s{_tS3BucketName = a});++instance FromJSON Trail where+ parseJSON+ = withObject "Trail"+ (\ x ->+ Trail' <$>+ (x .:? "S3KeyPrefix") <*> (x .:? "SnsTopicName") <*>+ (x .:? "CloudWatchLogsLogGroupArn")+ <*> (x .:? "Name")+ <*> (x .:? "IncludeGlobalServiceEvents")+ <*> (x .:? "CloudWatchLogsRoleArn")+ <*> (x .:? "S3BucketName"))
+ gen/Network/AWS/CloudTrail/Types/Sum.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudTrail.Types.Sum+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudTrail.Types.Sum where++import Network.AWS.Prelude++data LookupAttributeKey+ = EventId+ | EventName+ | ResourceName+ | ResourceType+ | Username+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText LookupAttributeKey where+ parser = takeLowerText >>= \case+ "eventid" -> pure EventId+ "eventname" -> pure EventName+ "resourcename" -> pure ResourceName+ "resourcetype" -> pure ResourceType+ "username" -> pure Username+ e -> fromTextError $ "Failure parsing LookupAttributeKey from value: '" <> e+ <> "'. Accepted values: eventid, eventname, resourcename, resourcetype, username"++instance ToText LookupAttributeKey where+ toText = \case+ EventId -> "eventid"+ EventName -> "eventname"+ ResourceName -> "resourcename"+ ResourceType -> "resourcetype"+ Username -> "username"++instance Hashable LookupAttributeKey+instance ToByteString LookupAttributeKey+instance ToQuery LookupAttributeKey+instance ToHeader LookupAttributeKey++instance ToJSON LookupAttributeKey where+ toJSON = toJSONText
gen/Network/AWS/CloudTrail/UpdateTrail.hs view
@@ -1,261 +1,272 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RecordWildCards #-}-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module : Network.AWS.CloudTrail.UpdateTrail--- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License : This Source Code Form is subject to the terms of--- the Mozilla Public License, v. 2.0.--- A copy of the MPL can be found in the LICENSE file or--- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>--- Stability : experimental+-- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | From the command line, use 'update-subscription'.+-- From the command line, use 'update-subscription'. ----- Updates the settings that specify delivery of log files. Changes to a trail--- do not require stopping the CloudTrail service. Use this action to designate--- an existing bucket for log delivery. If the existing bucket has previously--- been a target for CloudTrail log files, an IAM policy exists for the bucket.+-- Updates the settings that specify delivery of log files. Changes to a+-- trail do not require stopping the CloudTrail service. Use this action to+-- designate an existing bucket for log delivery. If the existing bucket+-- has previously been a target for CloudTrail log files, an IAM policy+-- exists for the bucket. ----- <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_UpdateTrail.html>+-- /See:/ <http://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_UpdateTrail.html AWS API Reference> for UpdateTrail. module Network.AWS.CloudTrail.UpdateTrail (- -- * Request- UpdateTrail- -- ** Request constructor- , updateTrail- -- ** Request lenses- , utCloudWatchLogsLogGroupArn- , utCloudWatchLogsRoleArn+ -- * Creating a Request+ updateTrail+ , UpdateTrail+ -- * Request Lenses+ , utS3KeyPrefix+ , utSNSTopicName+ , utCloudWatchLogsLogGroupARN , utIncludeGlobalServiceEvents- , utName+ , utCloudWatchLogsRoleARN , utS3BucketName- , utS3KeyPrefix- , utSnsTopicName+ , utName - -- * Response- , UpdateTrailResponse- -- ** Response constructor+ -- * Destructuring the Response , updateTrailResponse- -- ** Response lenses- , utrCloudWatchLogsLogGroupArn- , utrCloudWatchLogsRoleArn- , utrIncludeGlobalServiceEvents- , utrName- , utrS3BucketName- , utrS3KeyPrefix- , utrSnsTopicName+ , UpdateTrailResponse+ -- * Response Lenses+ , utrsS3KeyPrefix+ , utrsSNSTopicName+ , utrsCloudWatchLogsLogGroupARN+ , utrsName+ , utrsIncludeGlobalServiceEvents+ , utrsCloudWatchLogsRoleARN+ , utrsS3BucketName+ , utrsStatus ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.CloudTrail.Types-import qualified GHC.Exts--data UpdateTrail = UpdateTrail- { _utCloudWatchLogsLogGroupArn :: Maybe Text- , _utCloudWatchLogsRoleArn :: Maybe Text- , _utIncludeGlobalServiceEvents :: Maybe Bool- , _utName :: Text- , _utS3BucketName :: Maybe Text- , _utS3KeyPrefix :: Maybe Text- , _utSnsTopicName :: Maybe Text- } deriving (Eq, Ord, Read, Show)+import Network.AWS.CloudTrail.Types+import Network.AWS.CloudTrail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | 'UpdateTrail' constructor.+-- | Specifies settings to update for the trail. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'updateTrail' smart constructor.+data UpdateTrail = UpdateTrail'+ { _utS3KeyPrefix :: !(Maybe Text)+ , _utSNSTopicName :: !(Maybe Text)+ , _utCloudWatchLogsLogGroupARN :: !(Maybe Text)+ , _utIncludeGlobalServiceEvents :: !(Maybe Bool)+ , _utCloudWatchLogsRoleARN :: !(Maybe Text)+ , _utS3BucketName :: !(Maybe Text)+ , _utName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateTrail' with the minimum fields required to make a request. ----- * 'utCloudWatchLogsLogGroupArn' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'utCloudWatchLogsRoleArn' @::@ 'Maybe' 'Text'+-- * 'utS3KeyPrefix' ----- * 'utIncludeGlobalServiceEvents' @::@ 'Maybe' 'Bool'+-- * 'utSNSTopicName' ----- * 'utName' @::@ 'Text'+-- * 'utCloudWatchLogsLogGroupARN' ----- * 'utS3BucketName' @::@ 'Maybe' 'Text'+-- * 'utIncludeGlobalServiceEvents' ----- * 'utS3KeyPrefix' @::@ 'Maybe' 'Text'+-- * 'utCloudWatchLogsRoleARN' ----- * 'utSnsTopicName' @::@ 'Maybe' 'Text'+-- * 'utS3BucketName' ---updateTrail :: Text -- ^ 'utName'- -> UpdateTrail-updateTrail p1 = UpdateTrail- { _utName = p1- , _utS3BucketName = Nothing- , _utS3KeyPrefix = Nothing- , _utSnsTopicName = Nothing+-- * 'utName'+updateTrail+ :: Text -- ^ 'utName'+ -> UpdateTrail+updateTrail pName_ =+ UpdateTrail'+ { _utS3KeyPrefix = Nothing+ , _utSNSTopicName = Nothing+ , _utCloudWatchLogsLogGroupARN = Nothing , _utIncludeGlobalServiceEvents = Nothing- , _utCloudWatchLogsLogGroupArn = Nothing- , _utCloudWatchLogsRoleArn = Nothing+ , _utCloudWatchLogsRoleARN = Nothing+ , _utS3BucketName = Nothing+ , _utName = pName_ } --- | Specifies a log group name using an Amazon Resource Name (ARN), a unique--- identifier that represents the log group to which CloudTrail logs will be--- delivered. Not required unless you specify CloudWatchLogsRoleArn.-utCloudWatchLogsLogGroupArn :: Lens' UpdateTrail (Maybe Text)-utCloudWatchLogsLogGroupArn =- lens _utCloudWatchLogsLogGroupArn- (\s a -> s { _utCloudWatchLogsLogGroupArn = a })+-- | Specifies the Amazon S3 key prefix that precedes the name of the bucket+-- you have designated for log file delivery.+utS3KeyPrefix :: Lens' UpdateTrail (Maybe Text)+utS3KeyPrefix = lens _utS3KeyPrefix (\ s a -> s{_utS3KeyPrefix = a}); --- | Specifies the role for the CloudWatch Logs endpoint to assume to write to a--- user’s log group.-utCloudWatchLogsRoleArn :: Lens' UpdateTrail (Maybe Text)-utCloudWatchLogsRoleArn =- lens _utCloudWatchLogsRoleArn (\s a -> s { _utCloudWatchLogsRoleArn = a })+-- | Specifies the name of the Amazon SNS topic defined for notification of+-- log file delivery.+utSNSTopicName :: Lens' UpdateTrail (Maybe Text)+utSNSTopicName = lens _utSNSTopicName (\ s a -> s{_utSNSTopicName = a}); --- | Specifies whether the trail is publishing events from global services such as--- IAM to the log files.+-- | Specifies a log group name using an Amazon Resource Name (ARN), a unique+-- identifier that represents the log group to which CloudTrail logs will+-- be delivered. Not required unless you specify CloudWatchLogsRoleArn.+utCloudWatchLogsLogGroupARN :: Lens' UpdateTrail (Maybe Text)+utCloudWatchLogsLogGroupARN = lens _utCloudWatchLogsLogGroupARN (\ s a -> s{_utCloudWatchLogsLogGroupARN = a});++-- | Specifies whether the trail is publishing events from global services+-- such as IAM to the log files. utIncludeGlobalServiceEvents :: Lens' UpdateTrail (Maybe Bool)-utIncludeGlobalServiceEvents =- lens _utIncludeGlobalServiceEvents- (\s a -> s { _utIncludeGlobalServiceEvents = a })+utIncludeGlobalServiceEvents = lens _utIncludeGlobalServiceEvents (\ s a -> s{_utIncludeGlobalServiceEvents = a}); --- | Specifies the name of the trail.-utName :: Lens' UpdateTrail Text-utName = lens _utName (\s a -> s { _utName = a })+-- | Specifies the role for the CloudWatch Logs endpoint to assume to write+-- to a user’s log group.+utCloudWatchLogsRoleARN :: Lens' UpdateTrail (Maybe Text)+utCloudWatchLogsRoleARN = lens _utCloudWatchLogsRoleARN (\ s a -> s{_utCloudWatchLogsRoleARN = a}); -- | Specifies the name of the Amazon S3 bucket designated for publishing log -- files. utS3BucketName :: Lens' UpdateTrail (Maybe Text)-utS3BucketName = lens _utS3BucketName (\s a -> s { _utS3BucketName = a })+utS3BucketName = lens _utS3BucketName (\ s a -> s{_utS3BucketName = a}); --- | Specifies the Amazon S3 key prefix that precedes the name of the bucket you--- have designated for log file delivery.-utS3KeyPrefix :: Lens' UpdateTrail (Maybe Text)-utS3KeyPrefix = lens _utS3KeyPrefix (\s a -> s { _utS3KeyPrefix = a })+-- | Specifies the name of the trail.+utName :: Lens' UpdateTrail Text+utName = lens _utName (\ s a -> s{_utName = a}); --- | Specifies the name of the Amazon SNS topic defined for notification of log--- file delivery.-utSnsTopicName :: Lens' UpdateTrail (Maybe Text)-utSnsTopicName = lens _utSnsTopicName (\s a -> s { _utSnsTopicName = a })+instance AWSRequest UpdateTrail where+ type Sv UpdateTrail = CloudTrail+ type Rs UpdateTrail = UpdateTrailResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ UpdateTrailResponse' <$>+ (x .?> "S3KeyPrefix") <*> (x .?> "SnsTopicName") <*>+ (x .?> "CloudWatchLogsLogGroupArn")+ <*> (x .?> "Name")+ <*> (x .?> "IncludeGlobalServiceEvents")+ <*> (x .?> "CloudWatchLogsRoleArn")+ <*> (x .?> "S3BucketName")+ <*> (pure (fromEnum s))) -data UpdateTrailResponse = UpdateTrailResponse- { _utrCloudWatchLogsLogGroupArn :: Maybe Text- , _utrCloudWatchLogsRoleArn :: Maybe Text- , _utrIncludeGlobalServiceEvents :: Maybe Bool- , _utrName :: Maybe Text- , _utrS3BucketName :: Maybe Text- , _utrS3KeyPrefix :: Maybe Text- , _utrSnsTopicName :: Maybe Text- } deriving (Eq, Ord, Read, Show)+instance ToHeaders UpdateTrail where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.UpdateTrail"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)]) --- | 'UpdateTrailResponse' constructor.+instance ToJSON UpdateTrail where+ toJSON UpdateTrail'{..}+ = object+ ["S3KeyPrefix" .= _utS3KeyPrefix,+ "SnsTopicName" .= _utSNSTopicName,+ "CloudWatchLogsLogGroupArn" .=+ _utCloudWatchLogsLogGroupARN,+ "IncludeGlobalServiceEvents" .=+ _utIncludeGlobalServiceEvents,+ "CloudWatchLogsRoleArn" .= _utCloudWatchLogsRoleARN,+ "S3BucketName" .= _utS3BucketName, "Name" .= _utName]++instance ToPath UpdateTrail where+ toPath = const "/"++instance ToQuery UpdateTrail where+ toQuery = const mempty++-- | Returns the objects or data listed below if successful. Otherwise,+-- returns an error. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'updateTrailResponse' smart constructor.+data UpdateTrailResponse = UpdateTrailResponse'+ { _utrsS3KeyPrefix :: !(Maybe Text)+ , _utrsSNSTopicName :: !(Maybe Text)+ , _utrsCloudWatchLogsLogGroupARN :: !(Maybe Text)+ , _utrsName :: !(Maybe Text)+ , _utrsIncludeGlobalServiceEvents :: !(Maybe Bool)+ , _utrsCloudWatchLogsRoleARN :: !(Maybe Text)+ , _utrsS3BucketName :: !(Maybe Text)+ , _utrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateTrailResponse' with the minimum fields required to make a request. ----- * 'utrCloudWatchLogsLogGroupArn' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'utrCloudWatchLogsRoleArn' @::@ 'Maybe' 'Text'+-- * 'utrsS3KeyPrefix' ----- * 'utrIncludeGlobalServiceEvents' @::@ 'Maybe' 'Bool'+-- * 'utrsSNSTopicName' ----- * 'utrName' @::@ 'Maybe' 'Text'+-- * 'utrsCloudWatchLogsLogGroupARN' ----- * 'utrS3BucketName' @::@ 'Maybe' 'Text'+-- * 'utrsName' ----- * 'utrS3KeyPrefix' @::@ 'Maybe' 'Text'+-- * 'utrsIncludeGlobalServiceEvents' ----- * 'utrSnsTopicName' @::@ 'Maybe' 'Text'+-- * 'utrsCloudWatchLogsRoleARN' ---updateTrailResponse :: UpdateTrailResponse-updateTrailResponse = UpdateTrailResponse- { _utrName = Nothing- , _utrS3BucketName = Nothing- , _utrS3KeyPrefix = Nothing- , _utrSnsTopicName = Nothing- , _utrIncludeGlobalServiceEvents = Nothing- , _utrCloudWatchLogsLogGroupArn = Nothing- , _utrCloudWatchLogsRoleArn = Nothing+-- * 'utrsS3BucketName'+--+-- * 'utrsStatus'+updateTrailResponse+ :: Int -- ^ 'utrsStatus'+ -> UpdateTrailResponse+updateTrailResponse pStatus_ =+ UpdateTrailResponse'+ { _utrsS3KeyPrefix = Nothing+ , _utrsSNSTopicName = Nothing+ , _utrsCloudWatchLogsLogGroupARN = Nothing+ , _utrsName = Nothing+ , _utrsIncludeGlobalServiceEvents = Nothing+ , _utrsCloudWatchLogsRoleARN = Nothing+ , _utrsS3BucketName = Nothing+ , _utrsStatus = pStatus_ } --- | Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail--- logs will be delivered.-utrCloudWatchLogsLogGroupArn :: Lens' UpdateTrailResponse (Maybe Text)-utrCloudWatchLogsLogGroupArn =- lens _utrCloudWatchLogsLogGroupArn- (\s a -> s { _utrCloudWatchLogsLogGroupArn = a })+-- | Specifies the Amazon S3 key prefix that precedes the name of the bucket+-- you have designated for log file delivery.+utrsS3KeyPrefix :: Lens' UpdateTrailResponse (Maybe Text)+utrsS3KeyPrefix = lens _utrsS3KeyPrefix (\ s a -> s{_utrsS3KeyPrefix = a}); --- | Specifies the role for the CloudWatch Logs endpoint to assume to write to a--- user’s log group.-utrCloudWatchLogsRoleArn :: Lens' UpdateTrailResponse (Maybe Text)-utrCloudWatchLogsRoleArn =- lens _utrCloudWatchLogsRoleArn- (\s a -> s { _utrCloudWatchLogsRoleArn = a })+-- | Specifies the name of the Amazon SNS topic defined for notification of+-- log file delivery.+utrsSNSTopicName :: Lens' UpdateTrailResponse (Maybe Text)+utrsSNSTopicName = lens _utrsSNSTopicName (\ s a -> s{_utrsSNSTopicName = a}); --- | Specifies whether the trail is publishing events from global services such as--- IAM to the log files.-utrIncludeGlobalServiceEvents :: Lens' UpdateTrailResponse (Maybe Bool)-utrIncludeGlobalServiceEvents =- lens _utrIncludeGlobalServiceEvents- (\s a -> s { _utrIncludeGlobalServiceEvents = a })+-- | Specifies the Amazon Resource Name (ARN) of the log group to which+-- CloudTrail logs will be delivered.+utrsCloudWatchLogsLogGroupARN :: Lens' UpdateTrailResponse (Maybe Text)+utrsCloudWatchLogsLogGroupARN = lens _utrsCloudWatchLogsLogGroupARN (\ s a -> s{_utrsCloudWatchLogsLogGroupARN = a}); -- | Specifies the name of the trail.-utrName :: Lens' UpdateTrailResponse (Maybe Text)-utrName = lens _utrName (\s a -> s { _utrName = a })---- | Specifies the name of the Amazon S3 bucket designated for publishing log--- files.-utrS3BucketName :: Lens' UpdateTrailResponse (Maybe Text)-utrS3BucketName = lens _utrS3BucketName (\s a -> s { _utrS3BucketName = a })---- | Specifies the Amazon S3 key prefix that precedes the name of the bucket you--- have designated for log file delivery.-utrS3KeyPrefix :: Lens' UpdateTrailResponse (Maybe Text)-utrS3KeyPrefix = lens _utrS3KeyPrefix (\s a -> s { _utrS3KeyPrefix = a })---- | Specifies the name of the Amazon SNS topic defined for notification of log--- file delivery.-utrSnsTopicName :: Lens' UpdateTrailResponse (Maybe Text)-utrSnsTopicName = lens _utrSnsTopicName (\s a -> s { _utrSnsTopicName = a })--instance ToPath UpdateTrail where- toPath = const "/"--instance ToQuery UpdateTrail where- toQuery = const mempty--instance ToHeaders UpdateTrail+utrsName :: Lens' UpdateTrailResponse (Maybe Text)+utrsName = lens _utrsName (\ s a -> s{_utrsName = a}); -instance ToJSON UpdateTrail where- toJSON UpdateTrail{..} = object- [ "Name" .= _utName- , "S3BucketName" .= _utS3BucketName- , "S3KeyPrefix" .= _utS3KeyPrefix- , "SnsTopicName" .= _utSnsTopicName- , "IncludeGlobalServiceEvents" .= _utIncludeGlobalServiceEvents- , "CloudWatchLogsLogGroupArn" .= _utCloudWatchLogsLogGroupArn- , "CloudWatchLogsRoleArn" .= _utCloudWatchLogsRoleArn- ]+-- | Specifies whether the trail is publishing events from global services+-- such as IAM to the log files.+utrsIncludeGlobalServiceEvents :: Lens' UpdateTrailResponse (Maybe Bool)+utrsIncludeGlobalServiceEvents = lens _utrsIncludeGlobalServiceEvents (\ s a -> s{_utrsIncludeGlobalServiceEvents = a}); -instance AWSRequest UpdateTrail where- type Sv UpdateTrail = CloudTrail- type Rs UpdateTrail = UpdateTrailResponse+-- | Specifies the role for the CloudWatch Logs endpoint to assume to write+-- to a user’s log group.+utrsCloudWatchLogsRoleARN :: Lens' UpdateTrailResponse (Maybe Text)+utrsCloudWatchLogsRoleARN = lens _utrsCloudWatchLogsRoleARN (\ s a -> s{_utrsCloudWatchLogsRoleARN = a}); - request = post "UpdateTrail"- response = jsonResponse+-- | Specifies the name of the Amazon S3 bucket designated for publishing log+-- files.+utrsS3BucketName :: Lens' UpdateTrailResponse (Maybe Text)+utrsS3BucketName = lens _utrsS3BucketName (\ s a -> s{_utrsS3BucketName = a}); -instance FromJSON UpdateTrailResponse where- parseJSON = withObject "UpdateTrailResponse" $ \o -> UpdateTrailResponse- <$> o .:? "CloudWatchLogsLogGroupArn"- <*> o .:? "CloudWatchLogsRoleArn"- <*> o .:? "IncludeGlobalServiceEvents"- <*> o .:? "Name"- <*> o .:? "S3BucketName"- <*> o .:? "S3KeyPrefix"- <*> o .:? "SnsTopicName"+-- | The response status code.+utrsStatus :: Lens' UpdateTrailResponse Int+utrsStatus = lens _utrsStatus (\ s a -> s{_utrsStatus = a});
+ gen/Network/AWS/CloudTrail/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudTrail.Waiters+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudTrail.Waiters where++import Network.AWS.CloudTrail.Types+import Network.AWS.Prelude+import Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.CloudTrail+import Test.AWS.CloudTrail.Internal++main :: IO ()+main = defaultMain $ testGroup "CloudTrail"+ [ testGroup "tests" tests+ , testGroup "fixtures" fixtures+ ]
+ test/Test/AWS/CloudTrail.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module : Test.AWS.CloudTrail+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.CloudTrail+ ( tests+ , fixtures+ ) where++import Network.AWS.CloudTrail+import Test.AWS.Gen.CloudTrail+import Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/CloudTrail/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Test.AWS.CloudTrail.Internal+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.CloudTrail.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/CloudTrail.hs view
@@ -0,0 +1,175 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.AWS.Gen.CloudTrail+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.CloudTrail where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.CloudTrail+import Test.AWS.CloudTrail.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ testDescribeTrails $+-- describeTrails+--+-- , testLookupEvents $+-- lookupEvents+--+-- , testStopLogging $+-- stopLogging+--+-- , testDeleteTrail $+-- deleteTrail+--+-- , testUpdateTrail $+-- updateTrail+--+-- , testCreateTrail $+-- createTrail+--+-- , testGetTrailStatus $+-- getTrailStatus+--+-- , testStartLogging $+-- startLogging+--+-- ]++-- , testGroup "response"+-- [ testDescribeTrailsResponse $+-- describeTrailsResponse+--+-- , testLookupEventsResponse $+-- lookupEventsResponse+--+-- , testStopLoggingResponse $+-- stopLoggingResponse+--+-- , testDeleteTrailResponse $+-- deleteTrailResponse+--+-- , testUpdateTrailResponse $+-- updateTrailResponse+--+-- , testCreateTrailResponse $+-- createTrailResponse+--+-- , testGetTrailStatusResponse $+-- getTrailStatusResponse+--+-- , testStartLoggingResponse $+-- startLoggingResponse+--+-- ]+-- ]++-- Requests++testDescribeTrails :: DescribeTrails -> TestTree+testDescribeTrails = req+ "DescribeTrails"+ "fixture/DescribeTrails"++testLookupEvents :: LookupEvents -> TestTree+testLookupEvents = req+ "LookupEvents"+ "fixture/LookupEvents"++testStopLogging :: StopLogging -> TestTree+testStopLogging = req+ "StopLogging"+ "fixture/StopLogging"++testDeleteTrail :: DeleteTrail -> TestTree+testDeleteTrail = req+ "DeleteTrail"+ "fixture/DeleteTrail"++testUpdateTrail :: UpdateTrail -> TestTree+testUpdateTrail = req+ "UpdateTrail"+ "fixture/UpdateTrail"++testCreateTrail :: CreateTrail -> TestTree+testCreateTrail = req+ "CreateTrail"+ "fixture/CreateTrail"++testGetTrailStatus :: GetTrailStatus -> TestTree+testGetTrailStatus = req+ "GetTrailStatus"+ "fixture/GetTrailStatus"++testStartLogging :: StartLogging -> TestTree+testStartLogging = req+ "StartLogging"+ "fixture/StartLogging"++-- Responses++testDescribeTrailsResponse :: DescribeTrailsResponse -> TestTree+testDescribeTrailsResponse = res+ "DescribeTrailsResponse"+ "fixture/DescribeTrailsResponse"+ (Proxy :: Proxy DescribeTrails)++testLookupEventsResponse :: LookupEventsResponse -> TestTree+testLookupEventsResponse = res+ "LookupEventsResponse"+ "fixture/LookupEventsResponse"+ (Proxy :: Proxy LookupEvents)++testStopLoggingResponse :: StopLoggingResponse -> TestTree+testStopLoggingResponse = res+ "StopLoggingResponse"+ "fixture/StopLoggingResponse"+ (Proxy :: Proxy StopLogging)++testDeleteTrailResponse :: DeleteTrailResponse -> TestTree+testDeleteTrailResponse = res+ "DeleteTrailResponse"+ "fixture/DeleteTrailResponse"+ (Proxy :: Proxy DeleteTrail)++testUpdateTrailResponse :: UpdateTrailResponse -> TestTree+testUpdateTrailResponse = res+ "UpdateTrailResponse"+ "fixture/UpdateTrailResponse"+ (Proxy :: Proxy UpdateTrail)++testCreateTrailResponse :: CreateTrailResponse -> TestTree+testCreateTrailResponse = res+ "CreateTrailResponse"+ "fixture/CreateTrailResponse"+ (Proxy :: Proxy CreateTrail)++testGetTrailStatusResponse :: GetTrailStatusResponse -> TestTree+testGetTrailStatusResponse = res+ "GetTrailStatusResponse"+ "fixture/GetTrailStatusResponse"+ (Proxy :: Proxy GetTrailStatus)++testStartLoggingResponse :: StartLoggingResponse -> TestTree+testStartLoggingResponse = res+ "StartLoggingResponse"+ "fixture/StartLoggingResponse"+ (Proxy :: Proxy StartLogging)