-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon CloudWatch Logs SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth 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 <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.CloudWatchLogs</a> or <a>the AWS documentation</a>
--   to get started.
@package amazonka-cloudwatch-logs
@version 1.4.5


module Network.AWS.CloudWatchLogs.Types

-- | API version <tt>2014-03-28</tt> of the Amazon CloudWatch Logs SDK
--   configuration.
cloudWatchLogs :: Service

-- | A parameter is specified incorrectly.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The sequence token is not valid.
_InvalidSequenceTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource already exists.
_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Multiple requests to update the same resource were in conflict.
_OperationAbortedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The service cannot complete the request.
_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The event was already logged.
_DataAlreadyAcceptedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operation is not valid on the specified resource.
_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource does not exist.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the maximum number of resources that can be created.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data ExportTaskStatusCode
Cancelled :: ExportTaskStatusCode
Completed :: ExportTaskStatusCode
Failed :: ExportTaskStatusCode
Pending :: ExportTaskStatusCode
PendingCancel :: ExportTaskStatusCode
Running :: ExportTaskStatusCode
data OrderBy
LastEventTime :: OrderBy
LogStreamName :: OrderBy

-- | Represents a cross-account destination that receives subscription log
--   events.
--   
--   <i>See:</i> <a>destination</a> smart constructor.
data Destination

-- | Creates a value of <a>Destination</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dTargetARN</a> - The Amazon Resource Name (ARN) of the physical
--   target where the log events will be delivered (for example, a Kinesis
--   stream).</li>
--   <li><a>dCreationTime</a> - The creation time of the destination.</li>
--   <li><a>dArn</a> - The ARN of this destination.</li>
--   <li><a>dAccessPolicy</a> - An IAM policy document that governs which
--   AWS accounts can create subscription filters against this
--   destination.</li>
--   <li><a>dDestinationName</a> - The name of the destination.</li>
--   <li><a>dRoleARN</a> - A role for impersonation, used when delivering
--   log events to the target.</li>
--   </ul>
destination :: Destination

-- | The Amazon Resource Name (ARN) of the physical target where the log
--   events will be delivered (for example, a Kinesis stream).
dTargetARN :: Lens' Destination (Maybe Text)

-- | The creation time of the destination.
dCreationTime :: Lens' Destination (Maybe Natural)

-- | The ARN of this destination.
dArn :: Lens' Destination (Maybe Text)

-- | An IAM policy document that governs which AWS accounts can create
--   subscription filters against this destination.
dAccessPolicy :: Lens' Destination (Maybe Text)

-- | The name of the destination.
dDestinationName :: Lens' Destination (Maybe Text)

-- | A role for impersonation, used when delivering log events to the
--   target.
dRoleARN :: Lens' Destination (Maybe Text)

-- | Represents an export task.
--   
--   <i>See:</i> <a>exportTask</a> smart constructor.
data ExportTask

-- | Creates a value of <a>ExportTask</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etDestinationPrefix</a> - The prefix that was used as the start
--   of Amazon S3 key for every object exported.</li>
--   <li><a>etDestination</a> - The name of Amazon S3 bucket to which the
--   log data was exported.</li>
--   <li><a>etStatus</a> - The status of the export task.</li>
--   <li><a>etTaskName</a> - The name of the export task.</li>
--   <li><a>etTaskId</a> - The ID of the export task.</li>
--   <li><a>etTo</a> - The end time. Events with a timestamp later than
--   this time are not exported.</li>
--   <li><a>etFrom</a> - The start time. Events with a timestamp prior to
--   this time are not exported.</li>
--   <li><a>etLogGroupName</a> - The name of the log group from which logs
--   data was exported.</li>
--   <li><a>etExecutionInfo</a> - Execution info about the export
--   task.</li>
--   </ul>
exportTask :: ExportTask

-- | The prefix that was used as the start of Amazon S3 key for every
--   object exported.
etDestinationPrefix :: Lens' ExportTask (Maybe Text)

-- | The name of Amazon S3 bucket to which the log data was exported.
etDestination :: Lens' ExportTask (Maybe Text)

-- | The status of the export task.
etStatus :: Lens' ExportTask (Maybe ExportTaskStatus)

-- | The name of the export task.
etTaskName :: Lens' ExportTask (Maybe Text)

-- | The ID of the export task.
etTaskId :: Lens' ExportTask (Maybe Text)

-- | The end time. Events with a timestamp later than this time are not
--   exported.
etTo :: Lens' ExportTask (Maybe Natural)

-- | The start time. Events with a timestamp prior to this time are not
--   exported.
etFrom :: Lens' ExportTask (Maybe Natural)

-- | The name of the log group from which logs data was exported.
etLogGroupName :: Lens' ExportTask (Maybe Text)

-- | Execution info about the export task.
etExecutionInfo :: Lens' ExportTask (Maybe ExportTaskExecutionInfo)

-- | Represents the status of an export task.
--   
--   <i>See:</i> <a>exportTaskExecutionInfo</a> smart constructor.
data ExportTaskExecutionInfo

-- | Creates a value of <a>ExportTaskExecutionInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eteiCreationTime</a> - The creation time of the export
--   task.</li>
--   <li><a>eteiCompletionTime</a> - The completion time of the export
--   task.</li>
--   </ul>
exportTaskExecutionInfo :: ExportTaskExecutionInfo

-- | The creation time of the export task.
eteiCreationTime :: Lens' ExportTaskExecutionInfo (Maybe Natural)

-- | The completion time of the export task.
eteiCompletionTime :: Lens' ExportTaskExecutionInfo (Maybe Natural)

-- | Represents the status of an export task.
--   
--   <i>See:</i> <a>exportTaskStatus</a> smart constructor.
data ExportTaskStatus

-- | Creates a value of <a>ExportTaskStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etsCode</a> - The status code of the export task.</li>
--   <li><a>etsMessage</a> - The status message related to the status
--   code.</li>
--   </ul>
exportTaskStatus :: ExportTaskStatus

-- | The status code of the export task.
etsCode :: Lens' ExportTaskStatus (Maybe ExportTaskStatusCode)

-- | The status message related to the status code.
etsMessage :: Lens' ExportTaskStatus (Maybe Text)

-- | Represents a matched event.
--   
--   <i>See:</i> <a>filteredLogEvent</a> smart constructor.
data FilteredLogEvent

-- | Creates a value of <a>FilteredLogEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fleIngestionTime</a> - The time the event was ingested.</li>
--   <li><a>fleLogStreamName</a> - The name of the log stream this event
--   belongs to.</li>
--   <li><a>fleMessage</a> - The data contained in the log event.</li>
--   <li><a>fleTimestamp</a> - The time the event occurred.</li>
--   <li><a>fleEventId</a> - The ID of the event.</li>
--   </ul>
filteredLogEvent :: FilteredLogEvent

-- | The time the event was ingested.
fleIngestionTime :: Lens' FilteredLogEvent (Maybe Natural)

-- | The name of the log stream this event belongs to.
fleLogStreamName :: Lens' FilteredLogEvent (Maybe Text)

-- | The data contained in the log event.
fleMessage :: Lens' FilteredLogEvent (Maybe Text)

-- | The time the event occurred.
fleTimestamp :: Lens' FilteredLogEvent (Maybe Natural)

-- | The ID of the event.
fleEventId :: Lens' FilteredLogEvent (Maybe Text)

-- | Represents a log event, which is a record of activity that was
--   recorded by the application or resource being monitored.
--   
--   <i>See:</i> <a>inputLogEvent</a> smart constructor.
data InputLogEvent

-- | Creates a value of <a>InputLogEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ileTimestamp</a> - The time the event occurred.</li>
--   <li><a>ileMessage</a> - The raw event message.</li>
--   </ul>
inputLogEvent :: Natural -> Text -> InputLogEvent

-- | The time the event occurred.
ileTimestamp :: Lens' InputLogEvent Natural

-- | The raw event message.
ileMessage :: Lens' InputLogEvent Text

-- | Represents a log group.
--   
--   <i>See:</i> <a>logGroup</a> smart constructor.
data LogGroup

-- | Creates a value of <a>LogGroup</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lgCreationTime</a> - The creation time of the log group.</li>
--   <li><a>lgMetricFilterCount</a> - The number of metric filters.</li>
--   <li><a>lgArn</a> - The Amazon Resource Name (ARN) of the log
--   group.</li>
--   <li><a>lgLogGroupName</a> - The name of the log group.</li>
--   <li><a>lgRetentionInDays</a> - Undocumented member.</li>
--   <li><a>lgStoredBytes</a> - The number of bytes stored.</li>
--   </ul>
logGroup :: LogGroup

-- | The creation time of the log group.
lgCreationTime :: Lens' LogGroup (Maybe Natural)

-- | The number of metric filters.
lgMetricFilterCount :: Lens' LogGroup (Maybe Int)

-- | The Amazon Resource Name (ARN) of the log group.
lgArn :: Lens' LogGroup (Maybe Text)

-- | The name of the log group.
lgLogGroupName :: Lens' LogGroup (Maybe Text)

-- | Undocumented member.
lgRetentionInDays :: Lens' LogGroup (Maybe Int)

-- | The number of bytes stored.
lgStoredBytes :: Lens' LogGroup (Maybe Natural)

-- | Represents a log stream, which is a sequence of log events from a
--   single emitter of logs.
--   
--   <i>See:</i> <a>logStream</a> smart constructor.
data LogStream

-- | Creates a value of <a>LogStream</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsCreationTime</a> - The creation time of the stream.</li>
--   <li><a>lsUploadSequenceToken</a> - The sequence token.</li>
--   <li><a>lsArn</a> - The Amazon Resource Name (ARN) of the log
--   stream.</li>
--   <li><a>lsFirstEventTimestamp</a> - The time of the first event.</li>
--   <li><a>lsLogStreamName</a> - The name of the log stream.</li>
--   <li><a>lsStoredBytes</a> - The number of bytes stored.</li>
--   <li><a>lsLastIngestionTime</a> - The ingestion time.</li>
--   <li><a>lsLastEventTimestamp</a> - The time of the last event.</li>
--   </ul>
logStream :: LogStream

-- | The creation time of the stream.
lsCreationTime :: Lens' LogStream (Maybe Natural)

-- | The sequence token.
lsUploadSequenceToken :: Lens' LogStream (Maybe Text)

-- | The Amazon Resource Name (ARN) of the log stream.
lsArn :: Lens' LogStream (Maybe Text)

-- | The time of the first event.
lsFirstEventTimestamp :: Lens' LogStream (Maybe Natural)

-- | The name of the log stream.
lsLogStreamName :: Lens' LogStream (Maybe Text)

-- | The number of bytes stored.
lsStoredBytes :: Lens' LogStream (Maybe Natural)

-- | The ingestion time.
lsLastIngestionTime :: Lens' LogStream (Maybe Natural)

-- | The time of the last event.
lsLastEventTimestamp :: Lens' LogStream (Maybe Natural)

-- | Metric filters express how CloudWatch Logs would extract metric
--   observations from ingested log events and transform them into metric
--   data in a CloudWatch metric.
--   
--   <i>See:</i> <a>metricFilter</a> smart constructor.
data MetricFilter

-- | Creates a value of <a>MetricFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mfCreationTime</a> - The creation time of the metric
--   filter.</li>
--   <li><a>mfFilterName</a> - The name of the metric filter.</li>
--   <li><a>mfLogGroupName</a> - The name of the log group.</li>
--   <li><a>mfFilterPattern</a> - Undocumented member.</li>
--   <li><a>mfMetricTransformations</a> - The metric transformations.</li>
--   </ul>
metricFilter :: MetricFilter

-- | The creation time of the metric filter.
mfCreationTime :: Lens' MetricFilter (Maybe Natural)

-- | The name of the metric filter.
mfFilterName :: Lens' MetricFilter (Maybe Text)

-- | The name of the log group.
mfLogGroupName :: Lens' MetricFilter (Maybe Text)

-- | Undocumented member.
mfFilterPattern :: Lens' MetricFilter (Maybe Text)

-- | The metric transformations.
mfMetricTransformations :: Lens' MetricFilter (Maybe (NonEmpty MetricTransformation))

-- | Represents a matched event.
--   
--   <i>See:</i> <a>metricFilterMatchRecord</a> smart constructor.
data MetricFilterMatchRecord

-- | Creates a value of <a>MetricFilterMatchRecord</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mfmrExtractedValues</a> - The values extracted from the event
--   data by the filter.</li>
--   <li><a>mfmrEventNumber</a> - The event number.</li>
--   <li><a>mfmrEventMessage</a> - The raw event data.</li>
--   </ul>
metricFilterMatchRecord :: MetricFilterMatchRecord

-- | The values extracted from the event data by the filter.
mfmrExtractedValues :: Lens' MetricFilterMatchRecord (HashMap Text Text)

-- | The event number.
mfmrEventNumber :: Lens' MetricFilterMatchRecord (Maybe Integer)

-- | The raw event data.
mfmrEventMessage :: Lens' MetricFilterMatchRecord (Maybe Text)

-- | Indicates how to transform ingested log events into metric data in a
--   CloudWatch metric.
--   
--   <i>See:</i> <a>metricTransformation</a> smart constructor.
data MetricTransformation

-- | Creates a value of <a>MetricTransformation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mtDefaultValue</a> - (Optional) The value to emit when a filter
--   pattern does not match a log event. This value can be null.</li>
--   <li><a>mtMetricName</a> - The name of the CloudWatch metric.</li>
--   <li><a>mtMetricNamespace</a> - The namespace of the CloudWatch
--   metric.</li>
--   <li><a>mtMetricValue</a> - The value to publish to the CloudWatch
--   metric when a filter pattern matches a log event.</li>
--   </ul>
metricTransformation :: Text -> Text -> Text -> MetricTransformation

-- | (Optional) The value to emit when a filter pattern does not match a
--   log event. This value can be null.
mtDefaultValue :: Lens' MetricTransformation (Maybe Double)

-- | The name of the CloudWatch metric.
mtMetricName :: Lens' MetricTransformation Text

-- | The namespace of the CloudWatch metric.
mtMetricNamespace :: Lens' MetricTransformation Text

-- | The value to publish to the CloudWatch metric when a filter pattern
--   matches a log event.
mtMetricValue :: Lens' MetricTransformation Text

-- | Represents a log event.
--   
--   <i>See:</i> <a>outputLogEvent</a> smart constructor.
data OutputLogEvent

-- | Creates a value of <a>OutputLogEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oleIngestionTime</a> - The time the event was ingested.</li>
--   <li><a>oleMessage</a> - The data contained in the log event.</li>
--   <li><a>oleTimestamp</a> - The time the event occurred.</li>
--   </ul>
outputLogEvent :: OutputLogEvent

-- | The time the event was ingested.
oleIngestionTime :: Lens' OutputLogEvent (Maybe Natural)

-- | The data contained in the log event.
oleMessage :: Lens' OutputLogEvent (Maybe Text)

-- | The time the event occurred.
oleTimestamp :: Lens' OutputLogEvent (Maybe Natural)

-- | Represents the rejected events.
--   
--   <i>See:</i> <a>rejectedLogEventsInfo</a> smart constructor.
data RejectedLogEventsInfo

-- | Creates a value of <a>RejectedLogEventsInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rleiTooOldLogEventEndIndex</a> - The log events that are too
--   old.</li>
--   <li><a>rleiTooNewLogEventStartIndex</a> - The log events that are too
--   new.</li>
--   <li><a>rleiExpiredLogEventEndIndex</a> - The expired log events.</li>
--   </ul>
rejectedLogEventsInfo :: RejectedLogEventsInfo

-- | The log events that are too old.
rleiTooOldLogEventEndIndex :: Lens' RejectedLogEventsInfo (Maybe Int)

-- | The log events that are too new.
rleiTooNewLogEventStartIndex :: Lens' RejectedLogEventsInfo (Maybe Int)

-- | The expired log events.
rleiExpiredLogEventEndIndex :: Lens' RejectedLogEventsInfo (Maybe Int)

-- | Represents the search status of a log stream.
--   
--   <i>See:</i> <a>searchedLogStream</a> smart constructor.
data SearchedLogStream

-- | Creates a value of <a>SearchedLogStream</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slsLogStreamName</a> - The name of the log stream.</li>
--   <li><a>slsSearchedCompletely</a> - Indicates whether all the events in
--   this log stream were searched.</li>
--   </ul>
searchedLogStream :: SearchedLogStream

-- | The name of the log stream.
slsLogStreamName :: Lens' SearchedLogStream (Maybe Text)

-- | Indicates whether all the events in this log stream were searched.
slsSearchedCompletely :: Lens' SearchedLogStream (Maybe Bool)

-- | Represents a subscription filter.
--   
--   <i>See:</i> <a>subscriptionFilter</a> smart constructor.
data SubscriptionFilter

-- | Creates a value of <a>SubscriptionFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfCreationTime</a> - The creation time of the subscription
--   filter.</li>
--   <li><a>sfFilterName</a> - The name of the subscription filter.</li>
--   <li><a>sfDestinationARN</a> - The Amazon Resource Name (ARN) of the
--   destination.</li>
--   <li><a>sfLogGroupName</a> - The name of the log group.</li>
--   <li><a>sfFilterPattern</a> - Undocumented member.</li>
--   <li><a>sfRoleARN</a> -</li>
--   </ul>
subscriptionFilter :: SubscriptionFilter

-- | The creation time of the subscription filter.
sfCreationTime :: Lens' SubscriptionFilter (Maybe Natural)

-- | The name of the subscription filter.
sfFilterName :: Lens' SubscriptionFilter (Maybe Text)

-- | The Amazon Resource Name (ARN) of the destination.
sfDestinationARN :: Lens' SubscriptionFilter (Maybe Text)

-- | The name of the log group.
sfLogGroupName :: Lens' SubscriptionFilter (Maybe Text)

-- | Undocumented member.
sfFilterPattern :: Lens' SubscriptionFilter (Maybe Text)
sfRoleARN :: Lens' SubscriptionFilter (Maybe Text)


module Network.AWS.CloudWatchLogs.Waiters


-- | Tests the filter pattern of a metric filter against a sample of log
--   event messages. You can use this operation to validate the correctness
--   of a metric filter pattern.
module Network.AWS.CloudWatchLogs.TestMetricFilter

-- | Creates a value of <a>TestMetricFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmfFilterPattern</a> - Undocumented member.</li>
--   <li><a>tmfLogEventMessages</a> - The log event messages to test.</li>
--   </ul>
testMetricFilter :: Text -> NonEmpty Text -> TestMetricFilter

-- | <i>See:</i> <a>testMetricFilter</a> smart constructor.
data TestMetricFilter

-- | Undocumented member.
tmfFilterPattern :: Lens' TestMetricFilter Text

-- | The log event messages to test.
tmfLogEventMessages :: Lens' TestMetricFilter (NonEmpty Text)

-- | Creates a value of <a>TestMetricFilterResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmfrsMatches</a> - The matched events.</li>
--   <li><a>tmfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
testMetricFilterResponse :: Int -> TestMetricFilterResponse

-- | <i>See:</i> <a>testMetricFilterResponse</a> smart constructor.
data TestMetricFilterResponse

-- | The matched events.
tmfrsMatches :: Lens' TestMetricFilterResponse [MetricFilterMatchRecord]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
tmfrsResponseStatus :: Lens' TestMetricFilterResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Data.Data.Data Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance GHC.Show.Show Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance GHC.Read.Read Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse


-- | Creates or updates a subscription filter and associates it with the
--   specified log group. Subscription filters allow you to subscribe to a
--   real-time stream of log events ingested through <tt>PutLogEvents</tt>
--   and have them delivered to a specific destination. Currently, the
--   supported destinations are:
--   
--   <ul>
--   <li>An Amazon Kinesis stream belonging to the same account as the
--   subscription filter, for same-account delivery.</li>
--   <li>A logical destination that belongs to a different account, for
--   cross-account delivery.</li>
--   <li>An Amazon Kinesis Firehose stream that belongs to the same account
--   as the subscription filter, for same-account delivery.</li>
--   <li>An AWS Lambda function that belongs to the same account as the
--   subscription filter, for same-account delivery.</li>
--   </ul>
--   
--   There can only be one subscription filter associated with a log group.
module Network.AWS.CloudWatchLogs.PutSubscriptionFilter

-- | Creates a value of <a>PutSubscriptionFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psfRoleARN</a> - The ARN of an IAM role that grants CloudWatch
--   Logs permissions to deliver ingested log events to the destination
--   stream. You don't need to provide the ARN when you are working with a
--   logical destination for cross-account delivery.</li>
--   <li><a>psfLogGroupName</a> - The name of the log group.</li>
--   <li><a>psfFilterName</a> - A name for the subscription filter.</li>
--   <li><a>psfFilterPattern</a> - A filter pattern for subscribing to a
--   filtered stream of log events.</li>
--   <li><a>psfDestinationARN</a> - The ARN of the destination to deliver
--   matching log events to. Currently, the supported destinations are: *
--   An Amazon Kinesis stream belonging to the same account as the
--   subscription filter, for same-account delivery. * A logical
--   destination (specified using an ARN) belonging to a different account,
--   for cross-account delivery. * An Amazon Kinesis Firehose stream
--   belonging to the same account as the subscription filter, for
--   same-account delivery. * An AWS Lambda function belonging to the same
--   account as the subscription filter, for same-account delivery.</li>
--   </ul>
putSubscriptionFilter :: Text -> Text -> Text -> Text -> PutSubscriptionFilter

-- | <i>See:</i> <a>putSubscriptionFilter</a> smart constructor.
data PutSubscriptionFilter

-- | The ARN of an IAM role that grants CloudWatch Logs permissions to
--   deliver ingested log events to the destination stream. You don't need
--   to provide the ARN when you are working with a logical destination for
--   cross-account delivery.
psfRoleARN :: Lens' PutSubscriptionFilter (Maybe Text)

-- | The name of the log group.
psfLogGroupName :: Lens' PutSubscriptionFilter Text

-- | A name for the subscription filter.
psfFilterName :: Lens' PutSubscriptionFilter Text

-- | A filter pattern for subscribing to a filtered stream of log events.
psfFilterPattern :: Lens' PutSubscriptionFilter Text

-- | The ARN of the destination to deliver matching log events to.
--   Currently, the supported destinations are: * An Amazon Kinesis stream
--   belonging to the same account as the subscription filter, for
--   same-account delivery. * A logical destination (specified using an
--   ARN) belonging to a different account, for cross-account delivery. *
--   An Amazon Kinesis Firehose stream belonging to the same account as the
--   subscription filter, for same-account delivery. * An AWS Lambda
--   function belonging to the same account as the subscription filter, for
--   same-account delivery.
psfDestinationARN :: Lens' PutSubscriptionFilter Text

-- | Creates a value of <a>PutSubscriptionFilterResponse</a> with the
--   minimum fields required to make a request.
putSubscriptionFilterResponse :: PutSubscriptionFilterResponse

-- | <i>See:</i> <a>putSubscriptionFilterResponse</a> smart constructor.
data PutSubscriptionFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse


-- | Sets the retention of the specified log group. A retention policy
--   allows you to configure the number of days you want to retain log
--   events in the specified log group.
module Network.AWS.CloudWatchLogs.PutRetentionPolicy

-- | Creates a value of <a>PutRetentionPolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>prpLogGroupName</a> - The name of the log group.</li>
--   <li><a>prpRetentionInDays</a> - Undocumented member.</li>
--   </ul>
putRetentionPolicy :: Text -> Int -> PutRetentionPolicy

-- | <i>See:</i> <a>putRetentionPolicy</a> smart constructor.
data PutRetentionPolicy

-- | The name of the log group.
prpLogGroupName :: Lens' PutRetentionPolicy Text

-- | Undocumented member.
prpRetentionInDays :: Lens' PutRetentionPolicy Int

-- | Creates a value of <a>PutRetentionPolicyResponse</a> with the minimum
--   fields required to make a request.
putRetentionPolicyResponse :: PutRetentionPolicyResponse

-- | <i>See:</i> <a>putRetentionPolicyResponse</a> smart constructor.
data PutRetentionPolicyResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicy
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse


-- | Creates or updates a metric filter and associates it with the
--   specified log group. Metric filters allow you to configure rules to
--   extract metric data from log events ingested through
--   <tt>PutLogEvents</tt> .
--   
--   The maximum number of metric filters that can be associated with a log
--   group is 100.
module Network.AWS.CloudWatchLogs.PutMetricFilter

-- | Creates a value of <a>PutMetricFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pmfLogGroupName</a> - The name of the log group.</li>
--   <li><a>pmfFilterName</a> - A name for the metric filter.</li>
--   <li><a>pmfFilterPattern</a> - A filter pattern for extracting metric
--   data out of ingested log events.</li>
--   <li><a>pmfMetricTransformations</a> - A collection of information
--   needed to define how metric data gets emitted.</li>
--   </ul>
putMetricFilter :: Text -> Text -> Text -> NonEmpty MetricTransformation -> PutMetricFilter

-- | <i>See:</i> <a>putMetricFilter</a> smart constructor.
data PutMetricFilter

-- | The name of the log group.
pmfLogGroupName :: Lens' PutMetricFilter Text

-- | A name for the metric filter.
pmfFilterName :: Lens' PutMetricFilter Text

-- | A filter pattern for extracting metric data out of ingested log
--   events.
pmfFilterPattern :: Lens' PutMetricFilter Text

-- | A collection of information needed to define how metric data gets
--   emitted.
pmfMetricTransformations :: Lens' PutMetricFilter (NonEmpty MetricTransformation)

-- | Creates a value of <a>PutMetricFilterResponse</a> with the minimum
--   fields required to make a request.
putMetricFilterResponse :: PutMetricFilterResponse

-- | <i>See:</i> <a>putMetricFilterResponse</a> smart constructor.
data PutMetricFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse


-- | Uploads a batch of log events to the specified log stream.
--   
--   You must include the sequence token obtained from the response of the
--   previous call. An upload in a newly created log stream does not
--   require a sequence token. You can also get the sequence token using
--   <tt>DescribeLogStreams</tt> .
--   
--   The batch of events must satisfy the following constraints:
--   
--   <ul>
--   <li>The maximum batch size is 1,048,576 bytes, and this size is
--   calculated as the sum of all event messages in UTF-8, plus 26 bytes
--   for each log event.</li>
--   <li>None of the log events in the batch can be more than 2 hours in
--   the future.</li>
--   <li>None of the log events in the batch can be older than 14 days or
--   the retention period of the log group.</li>
--   <li>The log events in the batch must be in chronological ordered by
--   their timestamp.</li>
--   <li>The maximum number of log events in a batch is 10,000.</li>
--   <li>A batch of log events in a single PutLogEvents request cannot span
--   more than 24 hours. Otherwise, the PutLogEvents operation will
--   fail.</li>
--   </ul>
module Network.AWS.CloudWatchLogs.PutLogEvents

-- | Creates a value of <a>PutLogEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pleSequenceToken</a> - The sequence token.</li>
--   <li><a>pleLogGroupName</a> - The name of the log group.</li>
--   <li><a>pleLogStreamName</a> - The name of the log stream.</li>
--   <li><a>pleLogEvents</a> - The log events.</li>
--   </ul>
putLogEvents :: Text -> Text -> NonEmpty InputLogEvent -> PutLogEvents

-- | <i>See:</i> <a>putLogEvents</a> smart constructor.
data PutLogEvents

-- | The sequence token.
pleSequenceToken :: Lens' PutLogEvents (Maybe Text)

-- | The name of the log group.
pleLogGroupName :: Lens' PutLogEvents Text

-- | The name of the log stream.
pleLogStreamName :: Lens' PutLogEvents Text

-- | The log events.
pleLogEvents :: Lens' PutLogEvents (NonEmpty InputLogEvent)

-- | Creates a value of <a>PutLogEventsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plersRejectedLogEventsInfo</a> - The rejected events.</li>
--   <li><a>plersNextSequenceToken</a> - The next sequence token.</li>
--   <li><a>plersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putLogEventsResponse :: Int -> PutLogEventsResponse

-- | <i>See:</i> <a>putLogEventsResponse</a> smart constructor.
data PutLogEventsResponse

-- | The rejected events.
plersRejectedLogEventsInfo :: Lens' PutLogEventsResponse (Maybe RejectedLogEventsInfo)

-- | The next sequence token.
plersNextSequenceToken :: Lens' PutLogEventsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
plersResponseStatus :: Lens' PutLogEventsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse


-- | Creates or updates an access policy associated with an existing
--   destination. An access policy is an <a>IAM policy document</a> that is
--   used to authorize claims to register a subscription filter against a
--   given destination.
module Network.AWS.CloudWatchLogs.PutDestinationPolicy

-- | Creates a value of <a>PutDestinationPolicy</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdpDestinationName</a> - A name for an existing
--   destination.</li>
--   <li><a>pdpAccessPolicy</a> - An IAM policy document that authorizes
--   cross-account users to deliver their log events to the associated
--   destination.</li>
--   </ul>
putDestinationPolicy :: Text -> Text -> PutDestinationPolicy

-- | <i>See:</i> <a>putDestinationPolicy</a> smart constructor.
data PutDestinationPolicy

-- | A name for an existing destination.
pdpDestinationName :: Lens' PutDestinationPolicy Text

-- | An IAM policy document that authorizes cross-account users to deliver
--   their log events to the associated destination.
pdpAccessPolicy :: Lens' PutDestinationPolicy Text

-- | Creates a value of <a>PutDestinationPolicyResponse</a> with the
--   minimum fields required to make a request.
putDestinationPolicyResponse :: PutDestinationPolicyResponse

-- | <i>See:</i> <a>putDestinationPolicyResponse</a> smart constructor.
data PutDestinationPolicyResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicy
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse


-- | Creates or updates a destination. A destination encapsulates a
--   physical resource (such as a Kinesis stream) and enables you to
--   subscribe to a real-time stream of log events of a different account,
--   ingested using <tt>PutLogEvents</tt> . Currently, the only supported
--   physical resource is a Amazon Kinesis stream belonging to the same
--   account as the destination.
--   
--   A destination controls what is written to its Amazon Kinesis stream
--   through an access policy. By default, <tt>PutDestination</tt> does not
--   set any access policy with the destination, which means a
--   cross-account user cannot call <tt>PutSubscriptionFilter</tt> against
--   this destination. To enable this, the destination owner must call
--   <tt>PutDestinationPolicy</tt> after <tt>PutDestination</tt> .
module Network.AWS.CloudWatchLogs.PutDestination

-- | Creates a value of <a>PutDestination</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdDestinationName</a> - A name for the destination.</li>
--   <li><a>pdTargetARN</a> - The ARN of an Amazon Kinesis stream to
--   deliver matching log events to.</li>
--   <li><a>pdRoleARN</a> - The ARN of an IAM role that grants CloudWatch
--   Logs permissions to call Amazon Kinesis PutRecord on the destination
--   stream.</li>
--   </ul>
putDestination :: Text -> Text -> Text -> PutDestination

-- | <i>See:</i> <a>putDestination</a> smart constructor.
data PutDestination

-- | A name for the destination.
pdDestinationName :: Lens' PutDestination Text

-- | The ARN of an Amazon Kinesis stream to deliver matching log events to.
pdTargetARN :: Lens' PutDestination Text

-- | The ARN of an IAM role that grants CloudWatch Logs permissions to call
--   Amazon Kinesis PutRecord on the destination stream.
pdRoleARN :: Lens' PutDestination Text

-- | Creates a value of <a>PutDestinationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdrsDestination</a> - The destination.</li>
--   <li><a>pdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putDestinationResponse :: Int -> PutDestinationResponse

-- | <i>See:</i> <a>putDestinationResponse</a> smart constructor.
data PutDestinationResponse

-- | The destination.
pdrsDestination :: Lens' PutDestinationResponse (Maybe Destination)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
pdrsResponseStatus :: Lens' PutDestinationResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Data.Data.Data Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance GHC.Show.Show Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance GHC.Read.Read Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.PutDestination.PutDestination
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse


-- | Lists log events from the specified log stream. You can list all the
--   log events or filter using a time range.
--   
--   By default, this operation returns as many log events as can fit in a
--   response size of 1MB (up to 10,000 log events). If the results include
--   tokens, there are more log events available. You can get additional
--   log events by specifying one of the tokens in a subsequent call.
module Network.AWS.CloudWatchLogs.GetLogEvents

-- | Creates a value of <a>GetLogEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gleStartTime</a> - The start of the time range. Events with a
--   timestamp earlier than this time are not included.</li>
--   <li><a>gleStartFromHead</a> - If the value is true, the earliest log
--   events are returned first. If the value is false, the latest log
--   events are returned first. The default value is false.</li>
--   <li><a>gleNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>gleEndTime</a> - The end of the time range. Events with a
--   timestamp later than this time are not included.</li>
--   <li><a>gleLimit</a> - The maximum number of log events returned. If
--   you don't specify a value, the maximum is as many log events as can
--   fit in a response size of 1MB, up to 10,000 log events.</li>
--   <li><a>gleLogGroupName</a> - The name of the log group.</li>
--   <li><a>gleLogStreamName</a> - The name of the log stream.</li>
--   </ul>
getLogEvents :: Text -> Text -> GetLogEvents

-- | <i>See:</i> <a>getLogEvents</a> smart constructor.
data GetLogEvents

-- | The start of the time range. Events with a timestamp earlier than this
--   time are not included.
gleStartTime :: Lens' GetLogEvents (Maybe Natural)

-- | If the value is true, the earliest log events are returned first. If
--   the value is false, the latest log events are returned first. The
--   default value is false.
gleStartFromHead :: Lens' GetLogEvents (Maybe Bool)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
gleNextToken :: Lens' GetLogEvents (Maybe Text)

-- | The end of the time range. Events with a timestamp later than this
--   time are not included.
gleEndTime :: Lens' GetLogEvents (Maybe Natural)

-- | The maximum number of log events returned. If you don't specify a
--   value, the maximum is as many log events as can fit in a response size
--   of 1MB, up to 10,000 log events.
gleLimit :: Lens' GetLogEvents (Maybe Natural)

-- | The name of the log group.
gleLogGroupName :: Lens' GetLogEvents Text

-- | The name of the log stream.
gleLogStreamName :: Lens' GetLogEvents Text

-- | Creates a value of <a>GetLogEventsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>glersNextBackwardToken</a> - The token for the next set of
--   items in the backward direction. The token expires after 24
--   hours.</li>
--   <li><a>glersNextForwardToken</a> - The token for the next set of items
--   in the forward direction. The token expires after 24 hours.</li>
--   <li><a>glersEvents</a> - The events.</li>
--   <li><a>glersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getLogEventsResponse :: Int -> GetLogEventsResponse

-- | <i>See:</i> <a>getLogEventsResponse</a> smart constructor.
data GetLogEventsResponse

-- | The token for the next set of items in the backward direction. The
--   token expires after 24 hours.
glersNextBackwardToken :: Lens' GetLogEventsResponse (Maybe Text)

-- | The token for the next set of items in the forward direction. The
--   token expires after 24 hours.
glersNextForwardToken :: Lens' GetLogEventsResponse (Maybe Text)

-- | The events.
glersEvents :: Lens' GetLogEventsResponse [OutputLogEvent]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
glersResponseStatus :: Lens' GetLogEventsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Data.Data.Data Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance GHC.Show.Show Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance GHC.Read.Read Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse


-- | Lists log events from the specified log group. You can list all the
--   log events or filter the results using a filter pattern, a time range,
--   and the name of the log stream.
--   
--   By default, this operation returns as many log events as can fit in
--   1MB (up to 10,000 log events), or all the events found within the time
--   range that you specify. If the results include a token, then there are
--   more log events available, and you can get additional results by
--   specifying the token in a subsequent call.
--   
--   This operation returns paginated results.
module Network.AWS.CloudWatchLogs.FilterLogEvents

-- | Creates a value of <a>FilterLogEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fleStartTime</a> - The start of the time range. Events with a
--   timestamp prior to this time are not returned.</li>
--   <li><a>fleNextToken</a> - The token for the next set of events to
--   return. (You received this token from a previous call.)</li>
--   <li><a>fleLogStreamNames</a> - Optional list of log stream names.</li>
--   <li><a>fleEndTime</a> - The end of the time range. Events with a
--   timestamp later than this time are not returned.</li>
--   <li><a>fleLimit</a> - The maximum number of events to return. The
--   default is 10,000 events.</li>
--   <li><a>fleFilterPattern</a> - The filter pattern to use. If not
--   provided, all the events are matched.</li>
--   <li><a>fleInterleaved</a> - If the value is true, the operation makes
--   a best effort to provide responses that contain events from multiple
--   log streams within the log group interleaved in a single response. If
--   the value is false all the matched log events in the first log stream
--   are searched first, then those in the next log stream, and so on. The
--   default is false.</li>
--   <li><a>fleLogGroupName</a> - The name of the log group.</li>
--   </ul>
filterLogEvents :: Text -> FilterLogEvents

-- | <i>See:</i> <a>filterLogEvents</a> smart constructor.
data FilterLogEvents

-- | The start of the time range. Events with a timestamp prior to this
--   time are not returned.
fleStartTime :: Lens' FilterLogEvents (Maybe Natural)

-- | The token for the next set of events to return. (You received this
--   token from a previous call.)
fleNextToken :: Lens' FilterLogEvents (Maybe Text)

-- | Optional list of log stream names.
fleLogStreamNames :: Lens' FilterLogEvents (Maybe (NonEmpty Text))

-- | The end of the time range. Events with a timestamp later than this
--   time are not returned.
fleEndTime :: Lens' FilterLogEvents (Maybe Natural)

-- | The maximum number of events to return. The default is 10,000 events.
fleLimit :: Lens' FilterLogEvents (Maybe Natural)

-- | The filter pattern to use. If not provided, all the events are
--   matched.
fleFilterPattern :: Lens' FilterLogEvents (Maybe Text)

-- | If the value is true, the operation makes a best effort to provide
--   responses that contain events from multiple log streams within the log
--   group interleaved in a single response. If the value is false all the
--   matched log events in the first log stream are searched first, then
--   those in the next log stream, and so on. The default is false.
fleInterleaved :: Lens' FilterLogEvents (Maybe Bool)

-- | The name of the log group.
fleLogGroupName :: Lens' FilterLogEvents Text

-- | Creates a value of <a>FilterLogEventsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>flersSearchedLogStreams</a> - Indicates which log streams have
--   been searched and whether each has been searched completely.</li>
--   <li><a>flersNextToken</a> - The token to use when requesting the next
--   set of items. The token expires after 24 hours.</li>
--   <li><a>flersEvents</a> - The matched events.</li>
--   <li><a>flersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
filterLogEventsResponse :: Int -> FilterLogEventsResponse

-- | <i>See:</i> <a>filterLogEventsResponse</a> smart constructor.
data FilterLogEventsResponse

-- | Indicates which log streams have been searched and whether each has
--   been searched completely.
flersSearchedLogStreams :: Lens' FilterLogEventsResponse [SearchedLogStream]

-- | The token to use when requesting the next set of items. The token
--   expires after 24 hours.
flersNextToken :: Lens' FilterLogEventsResponse (Maybe Text)

-- | The matched events.
flersEvents :: Lens' FilterLogEventsResponse [FilteredLogEvent]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
flersResponseStatus :: Lens' FilterLogEventsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Data.Data.Data Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance GHC.Show.Show Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance GHC.Read.Read Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Network.AWS.Pager.AWSPager Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse


-- | Lists the subscription filters for the specified log group. You can
--   list all the subscription filters or filter the results by prefix. The
--   results are ASCII-sorted by filter name.
--   
--   This operation returns paginated results.
module Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters

-- | Creates a value of <a>DescribeSubscriptionFilters</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsfFilterNamePrefix</a> - The prefix to match. If you don't
--   specify a value, no prefix filter is applied.</li>
--   <li><a>dsfNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dsfLimit</a> - The maximum number of items returned. If you
--   don't specify a value, the default is up to 50 items.</li>
--   <li><a>dsfLogGroupName</a> - The name of the log group.</li>
--   </ul>
describeSubscriptionFilters :: Text -> DescribeSubscriptionFilters

-- | <i>See:</i> <a>describeSubscriptionFilters</a> smart constructor.
data DescribeSubscriptionFilters

-- | The prefix to match. If you don't specify a value, no prefix filter is
--   applied.
dsfFilterNamePrefix :: Lens' DescribeSubscriptionFilters (Maybe Text)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dsfNextToken :: Lens' DescribeSubscriptionFilters (Maybe Text)

-- | The maximum number of items returned. If you don't specify a value,
--   the default is up to 50 items.
dsfLimit :: Lens' DescribeSubscriptionFilters (Maybe Natural)

-- | The name of the log group.
dsfLogGroupName :: Lens' DescribeSubscriptionFilters Text

-- | Creates a value of <a>DescribeSubscriptionFiltersResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsfrsSubscriptionFilters</a> - The subscription filters.</li>
--   <li><a>dsfrsNextToken</a> - Undocumented member.</li>
--   <li><a>dsfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeSubscriptionFiltersResponse :: Int -> DescribeSubscriptionFiltersResponse

-- | <i>See:</i> <a>describeSubscriptionFiltersResponse</a> smart
--   constructor.
data DescribeSubscriptionFiltersResponse

-- | The subscription filters.
dsfrsSubscriptionFilters :: Lens' DescribeSubscriptionFiltersResponse [SubscriptionFilter]

-- | Undocumented member.
dsfrsNextToken :: Lens' DescribeSubscriptionFiltersResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dsfrsResponseStatus :: Lens' DescribeSubscriptionFiltersResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Network.AWS.Pager.AWSPager Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse


-- | Lists the specified metric filters. You can list all the metric
--   filters or filter the results by log name, prefix, metric name, or
--   metric namespace. The results are ASCII-sorted by filter name.
--   
--   This operation returns paginated results.
module Network.AWS.CloudWatchLogs.DescribeMetricFilters

-- | Creates a value of <a>DescribeMetricFilters</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmfFilterNamePrefix</a> - The prefix to match.</li>
--   <li><a>dmfMetricName</a> - The name of the CloudWatch metric.</li>
--   <li><a>dmfLogGroupName</a> - The name of the log group.</li>
--   <li><a>dmfNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dmfMetricNamespace</a> - The namespace of the CloudWatch
--   metric.</li>
--   <li><a>dmfLimit</a> - The maximum number of items returned. If you
--   don't specify a value, the default is up to 50 items.</li>
--   </ul>
describeMetricFilters :: DescribeMetricFilters

-- | <i>See:</i> <a>describeMetricFilters</a> smart constructor.
data DescribeMetricFilters

-- | The prefix to match.
dmfFilterNamePrefix :: Lens' DescribeMetricFilters (Maybe Text)

-- | The name of the CloudWatch metric.
dmfMetricName :: Lens' DescribeMetricFilters (Maybe Text)

-- | The name of the log group.
dmfLogGroupName :: Lens' DescribeMetricFilters (Maybe Text)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dmfNextToken :: Lens' DescribeMetricFilters (Maybe Text)

-- | The namespace of the CloudWatch metric.
dmfMetricNamespace :: Lens' DescribeMetricFilters (Maybe Text)

-- | The maximum number of items returned. If you don't specify a value,
--   the default is up to 50 items.
dmfLimit :: Lens' DescribeMetricFilters (Maybe Natural)

-- | Creates a value of <a>DescribeMetricFiltersResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmfrsNextToken</a> - Undocumented member.</li>
--   <li><a>dmfrsMetricFilters</a> - The metric filters.</li>
--   <li><a>dmfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeMetricFiltersResponse :: Int -> DescribeMetricFiltersResponse

-- | <i>See:</i> <a>describeMetricFiltersResponse</a> smart constructor.
data DescribeMetricFiltersResponse

-- | Undocumented member.
dmfrsNextToken :: Lens' DescribeMetricFiltersResponse (Maybe Text)

-- | The metric filters.
dmfrsMetricFilters :: Lens' DescribeMetricFiltersResponse [MetricFilter]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dmfrsResponseStatus :: Lens' DescribeMetricFiltersResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Network.AWS.Pager.AWSPager Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse


-- | Lists the log streams for the specified log group. You can list all
--   the log streams or filter the results by prefix. You can also control
--   how the results are ordered.
--   
--   This operation has a limit of five transactions per second, after
--   which transactions are throttled.
--   
--   This operation returns paginated results.
module Network.AWS.CloudWatchLogs.DescribeLogStreams

-- | Creates a value of <a>DescribeLogStreams</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlssOrderBy</a> - If the value is <tt>LogStreamName</tt> , the
--   results are ordered by log stream name. If the value is
--   <tt>LastEventTime</tt> , the results are ordered by the event time.
--   The default value is <tt>LogStreamName</tt> . If you order the results
--   by event time, you cannot specify the <tt>logStreamNamePrefix</tt>
--   parameter.</li>
--   <li><a>dlssDescending</a> - If the value is true, results are returned
--   in descending order. If the value is to false, results are returned in
--   ascending order. The default value is false.</li>
--   <li><a>dlssNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dlssLogStreamNamePrefix</a> - The prefix to match. You cannot
--   specify this parameter if <tt>orderBy</tt> is <tt>LastEventTime</tt>
--   .</li>
--   <li><a>dlssLimit</a> - The maximum number of items returned. If you
--   don't specify a value, the default is up to 50 items.</li>
--   <li><a>dlssLogGroupName</a> - The name of the log group.</li>
--   </ul>
describeLogStreams :: Text -> DescribeLogStreams

-- | <i>See:</i> <a>describeLogStreams</a> smart constructor.
data DescribeLogStreams

-- | If the value is <tt>LogStreamName</tt> , the results are ordered by
--   log stream name. If the value is <tt>LastEventTime</tt> , the results
--   are ordered by the event time. The default value is
--   <tt>LogStreamName</tt> . If you order the results by event time, you
--   cannot specify the <tt>logStreamNamePrefix</tt> parameter.
dlssOrderBy :: Lens' DescribeLogStreams (Maybe OrderBy)

-- | If the value is true, results are returned in descending order. If the
--   value is to false, results are returned in ascending order. The
--   default value is false.
dlssDescending :: Lens' DescribeLogStreams (Maybe Bool)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dlssNextToken :: Lens' DescribeLogStreams (Maybe Text)

-- | The prefix to match. You cannot specify this parameter if
--   <tt>orderBy</tt> is <tt>LastEventTime</tt> .
dlssLogStreamNamePrefix :: Lens' DescribeLogStreams (Maybe Text)

-- | The maximum number of items returned. If you don't specify a value,
--   the default is up to 50 items.
dlssLimit :: Lens' DescribeLogStreams (Maybe Natural)

-- | The name of the log group.
dlssLogGroupName :: Lens' DescribeLogStreams Text

-- | Creates a value of <a>DescribeLogStreamsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlsrsNextToken</a> - Undocumented member.</li>
--   <li><a>dlsrsLogStreams</a> - The log streams.</li>
--   <li><a>dlsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeLogStreamsResponse :: Int -> DescribeLogStreamsResponse

-- | <i>See:</i> <a>describeLogStreamsResponse</a> smart constructor.
data DescribeLogStreamsResponse

-- | Undocumented member.
dlsrsNextToken :: Lens' DescribeLogStreamsResponse (Maybe Text)

-- | The log streams.
dlsrsLogStreams :: Lens' DescribeLogStreamsResponse [LogStream]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dlsrsResponseStatus :: Lens' DescribeLogStreamsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Network.AWS.Pager.AWSPager Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse


-- | Lists the specified log groups. You can list all your log groups or
--   filter the results by prefix. The results are ASCII-sorted by log
--   group name.
--   
--   This operation returns paginated results.
module Network.AWS.CloudWatchLogs.DescribeLogGroups

-- | Creates a value of <a>DescribeLogGroups</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlgLogGroupNamePrefix</a> - The prefix to match.</li>
--   <li><a>dlgNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>dlgLimit</a> - The maximum number of items returned. If you
--   don't specify a value, the default is up to 50 items.</li>
--   </ul>
describeLogGroups :: DescribeLogGroups

-- | <i>See:</i> <a>describeLogGroups</a> smart constructor.
data DescribeLogGroups

-- | The prefix to match.
dlgLogGroupNamePrefix :: Lens' DescribeLogGroups (Maybe Text)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
dlgNextToken :: Lens' DescribeLogGroups (Maybe Text)

-- | The maximum number of items returned. If you don't specify a value,
--   the default is up to 50 items.
dlgLimit :: Lens' DescribeLogGroups (Maybe Natural)

-- | Creates a value of <a>DescribeLogGroupsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlgrsLogGroups</a> - The log groups.</li>
--   <li><a>dlgrsNextToken</a> - Undocumented member.</li>
--   <li><a>dlgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeLogGroupsResponse :: Int -> DescribeLogGroupsResponse

-- | <i>See:</i> <a>describeLogGroupsResponse</a> smart constructor.
data DescribeLogGroupsResponse

-- | The log groups.
dlgrsLogGroups :: Lens' DescribeLogGroupsResponse [LogGroup]

-- | Undocumented member.
dlgrsNextToken :: Lens' DescribeLogGroupsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dlgrsResponseStatus :: Lens' DescribeLogGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Network.AWS.Pager.AWSPager Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse


-- | Lists the specified export tasks. You can list all your export tasks
--   or filter the results based on task ID or task status.
module Network.AWS.CloudWatchLogs.DescribeExportTasks

-- | Creates a value of <a>DescribeExportTasks</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>detTaskId</a> - The ID of the export task. Specifying a task ID
--   filters the results to zero or one export tasks.</li>
--   <li><a>detNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>detLimit</a> - The maximum number of items returned. If you
--   don't specify a value, the default is up to 50 items.</li>
--   <li><a>detStatusCode</a> - The status code of the export task.
--   Specifying a status code filters the results to zero or more export
--   tasks.</li>
--   </ul>
describeExportTasks :: DescribeExportTasks

-- | <i>See:</i> <a>describeExportTasks</a> smart constructor.
data DescribeExportTasks

-- | The ID of the export task. Specifying a task ID filters the results to
--   zero or one export tasks.
detTaskId :: Lens' DescribeExportTasks (Maybe Text)

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
detNextToken :: Lens' DescribeExportTasks (Maybe Text)

-- | The maximum number of items returned. If you don't specify a value,
--   the default is up to 50 items.
detLimit :: Lens' DescribeExportTasks (Maybe Natural)

-- | The status code of the export task. Specifying a status code filters
--   the results to zero or more export tasks.
detStatusCode :: Lens' DescribeExportTasks (Maybe ExportTaskStatusCode)

-- | Creates a value of <a>DescribeExportTasksResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>detrsNextToken</a> - Undocumented member.</li>
--   <li><a>detrsExportTasks</a> - The export tasks.</li>
--   <li><a>detrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeExportTasksResponse :: Int -> DescribeExportTasksResponse

-- | <i>See:</i> <a>describeExportTasksResponse</a> smart constructor.
data DescribeExportTasksResponse

-- | Undocumented member.
detrsNextToken :: Lens' DescribeExportTasksResponse (Maybe Text)

-- | The export tasks.
detrsExportTasks :: Lens' DescribeExportTasksResponse [ExportTask]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
detrsResponseStatus :: Lens' DescribeExportTasksResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasks
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse


-- | Lists all your destinations. The results are ASCII-sorted by
--   destination name.
--   
--   This operation returns paginated results.
module Network.AWS.CloudWatchLogs.DescribeDestinations

-- | Creates a value of <a>DescribeDestinations</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddNextToken</a> - The token for the next set of items to
--   return. (You received this token from a previous call.)</li>
--   <li><a>ddLimit</a> - The maximum number of items returned. If you
--   don't specify a value, the default is up to 50 items.</li>
--   <li><a>ddDestinationNamePrefix</a> - The prefix to match. If you don't
--   specify a value, no prefix filter is applied.</li>
--   </ul>
describeDestinations :: DescribeDestinations

-- | <i>See:</i> <a>describeDestinations</a> smart constructor.
data DescribeDestinations

-- | The token for the next set of items to return. (You received this
--   token from a previous call.)
ddNextToken :: Lens' DescribeDestinations (Maybe Text)

-- | The maximum number of items returned. If you don't specify a value,
--   the default is up to 50 items.
ddLimit :: Lens' DescribeDestinations (Maybe Natural)

-- | The prefix to match. If you don't specify a value, no prefix filter is
--   applied.
ddDestinationNamePrefix :: Lens' DescribeDestinations (Maybe Text)

-- | Creates a value of <a>DescribeDestinationsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddrsNextToken</a> - Undocumented member.</li>
--   <li><a>ddrsDestinations</a> - The destinations.</li>
--   <li><a>ddrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDestinationsResponse :: Int -> DescribeDestinationsResponse

-- | <i>See:</i> <a>describeDestinationsResponse</a> smart constructor.
data DescribeDestinationsResponse

-- | Undocumented member.
ddrsNextToken :: Lens' DescribeDestinationsResponse (Maybe Text)

-- | The destinations.
ddrsDestinations :: Lens' DescribeDestinationsResponse [Destination]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddrsResponseStatus :: Lens' DescribeDestinationsResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Data.Data.Data Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Network.AWS.Pager.AWSPager Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse


-- | Deletes the specified subscription filter.
module Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter

-- | Creates a value of <a>DeleteSubscriptionFilter</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dLogGroupName</a> - The name of the log group.</li>
--   <li><a>dFilterName</a> - The name of the subscription filter.</li>
--   </ul>
deleteSubscriptionFilter :: Text -> Text -> DeleteSubscriptionFilter

-- | <i>See:</i> <a>deleteSubscriptionFilter</a> smart constructor.
data DeleteSubscriptionFilter

-- | The name of the log group.
dLogGroupName :: Lens' DeleteSubscriptionFilter Text

-- | The name of the subscription filter.
dFilterName :: Lens' DeleteSubscriptionFilter Text

-- | Creates a value of <a>DeleteSubscriptionFilterResponse</a> with the
--   minimum fields required to make a request.
deleteSubscriptionFilterResponse :: DeleteSubscriptionFilterResponse

-- | <i>See:</i> <a>deleteSubscriptionFilterResponse</a> smart constructor.
data DeleteSubscriptionFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse


-- | Deletes the specified retention policy.
--   
--   Log events do not expire if they belong to log groups without a
--   retention policy.
module Network.AWS.CloudWatchLogs.DeleteRetentionPolicy

-- | Creates a value of <a>DeleteRetentionPolicy</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drpLogGroupName</a> - The name of the log group.</li>
--   </ul>
deleteRetentionPolicy :: Text -> DeleteRetentionPolicy

-- | <i>See:</i> <a>deleteRetentionPolicy</a> smart constructor.
data DeleteRetentionPolicy

-- | The name of the log group.
drpLogGroupName :: Lens' DeleteRetentionPolicy Text

-- | Creates a value of <a>DeleteRetentionPolicyResponse</a> with the
--   minimum fields required to make a request.
deleteRetentionPolicyResponse :: DeleteRetentionPolicyResponse

-- | <i>See:</i> <a>deleteRetentionPolicyResponse</a> smart constructor.
data DeleteRetentionPolicyResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicy
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse


-- | Deletes the specified metric filter.
module Network.AWS.CloudWatchLogs.DeleteMetricFilter

-- | Creates a value of <a>DeleteMetricFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delLogGroupName</a> - The name of the log group.</li>
--   <li><a>delFilterName</a> - The name of the metric filter.</li>
--   </ul>
deleteMetricFilter :: Text -> Text -> DeleteMetricFilter

-- | <i>See:</i> <a>deleteMetricFilter</a> smart constructor.
data DeleteMetricFilter

-- | The name of the log group.
delLogGroupName :: Lens' DeleteMetricFilter Text

-- | The name of the metric filter.
delFilterName :: Lens' DeleteMetricFilter Text

-- | Creates a value of <a>DeleteMetricFilterResponse</a> with the minimum
--   fields required to make a request.
deleteMetricFilterResponse :: DeleteMetricFilterResponse

-- | <i>See:</i> <a>deleteMetricFilterResponse</a> smart constructor.
data DeleteMetricFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilter
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse


-- | Deletes the specified log stream and permanently deletes all the
--   archived log events associated with the log stream.
module Network.AWS.CloudWatchLogs.DeleteLogStream

-- | Creates a value of <a>DeleteLogStream</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlsLogGroupName</a> - The name of the log group.</li>
--   <li><a>dlsLogStreamName</a> - The name of the log stream.</li>
--   </ul>
deleteLogStream :: Text -> Text -> DeleteLogStream

-- | <i>See:</i> <a>deleteLogStream</a> smart constructor.
data DeleteLogStream

-- | The name of the log group.
dlsLogGroupName :: Lens' DeleteLogStream Text

-- | The name of the log stream.
dlsLogStreamName :: Lens' DeleteLogStream Text

-- | Creates a value of <a>DeleteLogStreamResponse</a> with the minimum
--   fields required to make a request.
deleteLogStreamResponse :: DeleteLogStreamResponse

-- | <i>See:</i> <a>deleteLogStreamResponse</a> smart constructor.
data DeleteLogStreamResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStream
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse


-- | Deletes the specified log group and permanently deletes all the
--   archived log events associated with the log group.
module Network.AWS.CloudWatchLogs.DeleteLogGroup

-- | Creates a value of <a>DeleteLogGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlgLogGroupName</a> - The name of the log group.</li>
--   </ul>
deleteLogGroup :: Text -> DeleteLogGroup

-- | <i>See:</i> <a>deleteLogGroup</a> smart constructor.
data DeleteLogGroup

-- | The name of the log group.
dlgLogGroupName :: Lens' DeleteLogGroup Text

-- | Creates a value of <a>DeleteLogGroupResponse</a> with the minimum
--   fields required to make a request.
deleteLogGroupResponse :: DeleteLogGroupResponse

-- | <i>See:</i> <a>deleteLogGroupResponse</a> smart constructor.
data DeleteLogGroupResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroup
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse


-- | Deletes the specified destination, and eventually disables all the
--   subscription filters that publish to it. This operation does not
--   delete the physical resource encapsulated by the destination.
module Network.AWS.CloudWatchLogs.DeleteDestination

-- | Creates a value of <a>DeleteDestination</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddDestinationName</a> - The name of the destination.</li>
--   </ul>
deleteDestination :: Text -> DeleteDestination

-- | <i>See:</i> <a>deleteDestination</a> smart constructor.
data DeleteDestination

-- | The name of the destination.
ddDestinationName :: Lens' DeleteDestination Text

-- | Creates a value of <a>DeleteDestinationResponse</a> with the minimum
--   fields required to make a request.
deleteDestinationResponse :: DeleteDestinationResponse

-- | <i>See:</i> <a>deleteDestinationResponse</a> smart constructor.
data DeleteDestinationResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Data.Data.Data Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance GHC.Show.Show Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance GHC.Read.Read Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestination
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse


-- | Creates a log stream for the specified log group.
--   
--   There is no limit on the number of log streams that you can create for
--   a log group.
--   
--   You must use the following guidelines when naming a log stream:
--   
--   <ul>
--   <li>Log stream names must be unique within the log group.</li>
--   <li>Log stream names can be between 1 and 512 characters long.</li>
--   <li>The <tt>:</tt> (colon) and <a>*</a> (asterisk) characters are not
--   allowed.</li>
--   </ul>
module Network.AWS.CloudWatchLogs.CreateLogStream

-- | Creates a value of <a>CreateLogStream</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clsLogGroupName</a> - The name of the log group.</li>
--   <li><a>clsLogStreamName</a> - The name of the log stream.</li>
--   </ul>
createLogStream :: Text -> Text -> CreateLogStream

-- | <i>See:</i> <a>createLogStream</a> smart constructor.
data CreateLogStream

-- | The name of the log group.
clsLogGroupName :: Lens' CreateLogStream Text

-- | The name of the log stream.
clsLogStreamName :: Lens' CreateLogStream Text

-- | Creates a value of <a>CreateLogStreamResponse</a> with the minimum
--   fields required to make a request.
createLogStreamResponse :: CreateLogStreamResponse

-- | <i>See:</i> <a>createLogStreamResponse</a> smart constructor.
data CreateLogStreamResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Data.Data.Data Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStream
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse


-- | Creates a log group with the specified name.
--   
--   You can create up to 5000 log groups per account.
--   
--   You must use the following guidelines when naming a log group:
--   
--   <ul>
--   <li>Log group names must be unique within a region for an AWS
--   account.</li>
--   <li>Log group names can be between 1 and 512 characters long.</li>
--   <li>Log group names consist of the following characters: a-z, A-Z,
--   0-9, '_' (underscore), <a>-</a> (hyphen), <a>/</a> (forward slash),
--   and <a>.</a> (period).</li>
--   </ul>
module Network.AWS.CloudWatchLogs.CreateLogGroup

-- | Creates a value of <a>CreateLogGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>clgLogGroupName</a> - The name of the log group.</li>
--   </ul>
createLogGroup :: Text -> CreateLogGroup

-- | <i>See:</i> <a>createLogGroup</a> smart constructor.
data CreateLogGroup

-- | The name of the log group.
clgLogGroupName :: Lens' CreateLogGroup Text

-- | Creates a value of <a>CreateLogGroupResponse</a> with the minimum
--   fields required to make a request.
createLogGroupResponse :: CreateLogGroupResponse

-- | <i>See:</i> <a>createLogGroupResponse</a> smart constructor.
data CreateLogGroupResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Data.Data.Data Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroup
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse


-- | Creates an export task, which allows you to efficiently export data
--   from a log group to an Amazon S3 bucket.
--   
--   This is an asynchronous call. If all the required information is
--   provided, this operation initiates an export task and responds with
--   the ID of the task. After the task has started, you can use
--   <tt>DescribeExportTasks</tt> to get the status of the export task.
--   Each account can only have one active (<tt>RUNNING</tt> or
--   <tt>PENDING</tt> ) export task at a time. To cancel an export task,
--   use <tt>CancelExportTask</tt> .
--   
--   You can export logs from multiple log groups or multiple time ranges
--   to the same S3 bucket. To separate out log data for each export task,
--   you can specify a prefix that will be used as the Amazon S3 key prefix
--   for all exported objects.
module Network.AWS.CloudWatchLogs.CreateExportTask

-- | Creates a value of <a>CreateExportTask</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cetDestinationPrefix</a> - The prefix used as the start of the
--   key for every object exported. If you don't specify a value, the
--   default is <tt>exportedlogs</tt> .</li>
--   <li><a>cetTaskName</a> - The name of the export task.</li>
--   <li><a>cetLogStreamNamePrefix</a> - Export only log streams that match
--   the provided prefix. If you don't specify a value, no prefix filter is
--   applied.</li>
--   <li><a>cetLogGroupName</a> - The name of the log group.</li>
--   <li><a>cetFrom</a> - The start time of the range for the request,
--   expressed as the number of milliseconds since Jan 1, 1970 00:00:00
--   UTC. Events with a timestamp earlier than this time are not
--   exported.</li>
--   <li><a>cetTo</a> - The end time of the range for the request,
--   expressed as the number of milliseconds since Jan 1, 1970 00:00:00
--   UTC. Events with a timestamp later than this time are not
--   exported.</li>
--   <li><a>cetDestination</a> - The name of S3 bucket for the exported log
--   data. The bucket must be in the same AWS region.</li>
--   </ul>
createExportTask :: Text -> Natural -> Natural -> Text -> CreateExportTask

-- | <i>See:</i> <a>createExportTask</a> smart constructor.
data CreateExportTask

-- | The prefix used as the start of the key for every object exported. If
--   you don't specify a value, the default is <tt>exportedlogs</tt> .
cetDestinationPrefix :: Lens' CreateExportTask (Maybe Text)

-- | The name of the export task.
cetTaskName :: Lens' CreateExportTask (Maybe Text)

-- | Export only log streams that match the provided prefix. If you don't
--   specify a value, no prefix filter is applied.
cetLogStreamNamePrefix :: Lens' CreateExportTask (Maybe Text)

-- | The name of the log group.
cetLogGroupName :: Lens' CreateExportTask Text

-- | The start time of the range for the request, expressed as the number
--   of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a
--   timestamp earlier than this time are not exported.
cetFrom :: Lens' CreateExportTask Natural

-- | The end time of the range for the request, expressed as the number of
--   milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp
--   later than this time are not exported.
cetTo :: Lens' CreateExportTask Natural

-- | The name of S3 bucket for the exported log data. The bucket must be in
--   the same AWS region.
cetDestination :: Lens' CreateExportTask Text

-- | Creates a value of <a>CreateExportTaskResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cetrsTaskId</a> - The ID of the export task.</li>
--   <li><a>cetrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createExportTaskResponse :: Int -> CreateExportTaskResponse

-- | <i>See:</i> <a>createExportTaskResponse</a> smart constructor.
data CreateExportTaskResponse

-- | The ID of the export task.
cetrsTaskId :: Lens' CreateExportTaskResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cetrsResponseStatus :: Lens' CreateExportTaskResponse Int
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Data.Data.Data Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTask
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse


-- | Cancels the specified export task.
--   
--   The task must be in the <tt>PENDING</tt> or <tt>RUNNING</tt> state.
module Network.AWS.CloudWatchLogs.CancelExportTask

-- | Creates a value of <a>CancelExportTask</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cetTaskId</a> - The ID of the export task.</li>
--   </ul>
cancelExportTask :: Text -> CancelExportTask

-- | <i>See:</i> <a>cancelExportTask</a> smart constructor.
data CancelExportTask

-- | The ID of the export task.
cetTaskId :: Lens' CancelExportTask Text

-- | Creates a value of <a>CancelExportTaskResponse</a> with the minimum
--   fields required to make a request.
cancelExportTaskResponse :: CancelExportTaskResponse

-- | <i>See:</i> <a>cancelExportTaskResponse</a> smart constructor.
data CancelExportTaskResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse
instance Data.Data.Data Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse
instance GHC.Generics.Generic Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Data.Data.Data Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance GHC.Show.Show Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance GHC.Read.Read Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance GHC.Classes.Eq Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Network.AWS.Types.AWSRequest Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Data.Hashable.Class.Hashable Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTask
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse


-- | You can use Amazon CloudWatch Logs to monitor, store, and access your
--   log files from EC2 instances, Amazon CloudTrail, or other sources. You
--   can then retrieve the associated log data from CloudWatch Logs using
--   the Amazon CloudWatch console, the CloudWatch Logs commands in the AWS
--   CLI, the CloudWatch Logs API, or the CloudWatch Logs SDK.
--   
--   You can use CloudWatch Logs to:
--   
--   <ul>
--   <li><b>Monitor Logs from Amazon EC2 Instances in Real-time</b> : You
--   can use CloudWatch Logs to monitor applications and systems using log
--   data. For example, CloudWatch Logs can track the number of errors that
--   occur in your application logs and send you a notification whenever
--   the rate of errors exceeds a threshold you specify. CloudWatch Logs
--   uses your log data for monitoring; so, no code changes are required.
--   For example, you can monitor application logs for specific literal
--   terms (such as <a>NullReferenceException</a>) or count the number of
--   occurrences of a literal term at a particular position in log data
--   (such as "404" status codes in an Apache access log). When the term
--   you are searching for is found, CloudWatch Logs reports the data to a
--   Amazon CloudWatch metric that you specify.</li>
--   <li><b>Monitor Amazon CloudTrail Logged Events</b> : You can create
--   alarms in Amazon CloudWatch and receive notifications of particular
--   API activity as captured by CloudTrail and use the notification to
--   perform troubleshooting.</li>
--   <li><b>Archive Log Data</b> : You can use CloudWatch Logs to store
--   your log data in highly durable storage. You can change the log
--   retention setting so that any log events older than this setting are
--   automatically deleted. The CloudWatch Logs agent makes it easy to
--   quickly send both rotated and non-rotated log data off of a host and
--   into the log service. You can then access the raw log data when you
--   need it.</li>
--   </ul>
module Network.AWS.CloudWatchLogs

-- | API version <tt>2014-03-28</tt> of the Amazon CloudWatch Logs SDK
--   configuration.
cloudWatchLogs :: Service

-- | A parameter is specified incorrectly.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The sequence token is not valid.
_InvalidSequenceTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource already exists.
_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Multiple requests to update the same resource were in conflict.
_OperationAbortedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The service cannot complete the request.
_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The event was already logged.
_DataAlreadyAcceptedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operation is not valid on the specified resource.
_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource does not exist.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the maximum number of resources that can be created.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data ExportTaskStatusCode
Cancelled :: ExportTaskStatusCode
Completed :: ExportTaskStatusCode
Failed :: ExportTaskStatusCode
Pending :: ExportTaskStatusCode
PendingCancel :: ExportTaskStatusCode
Running :: ExportTaskStatusCode
data OrderBy
LastEventTime :: OrderBy
LogStreamName :: OrderBy

-- | Represents a cross-account destination that receives subscription log
--   events.
--   
--   <i>See:</i> <a>destination</a> smart constructor.
data Destination

-- | Creates a value of <a>Destination</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dTargetARN</a> - The Amazon Resource Name (ARN) of the physical
--   target where the log events will be delivered (for example, a Kinesis
--   stream).</li>
--   <li><a>dCreationTime</a> - The creation time of the destination.</li>
--   <li><a>dArn</a> - The ARN of this destination.</li>
--   <li><a>dAccessPolicy</a> - An IAM policy document that governs which
--   AWS accounts can create subscription filters against this
--   destination.</li>
--   <li><a>dDestinationName</a> - The name of the destination.</li>
--   <li><a>dRoleARN</a> - A role for impersonation, used when delivering
--   log events to the target.</li>
--   </ul>
destination :: Destination

-- | The Amazon Resource Name (ARN) of the physical target where the log
--   events will be delivered (for example, a Kinesis stream).
dTargetARN :: Lens' Destination (Maybe Text)

-- | The creation time of the destination.
dCreationTime :: Lens' Destination (Maybe Natural)

-- | The ARN of this destination.
dArn :: Lens' Destination (Maybe Text)

-- | An IAM policy document that governs which AWS accounts can create
--   subscription filters against this destination.
dAccessPolicy :: Lens' Destination (Maybe Text)

-- | The name of the destination.
dDestinationName :: Lens' Destination (Maybe Text)

-- | A role for impersonation, used when delivering log events to the
--   target.
dRoleARN :: Lens' Destination (Maybe Text)

-- | Represents an export task.
--   
--   <i>See:</i> <a>exportTask</a> smart constructor.
data ExportTask

-- | Creates a value of <a>ExportTask</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etDestinationPrefix</a> - The prefix that was used as the start
--   of Amazon S3 key for every object exported.</li>
--   <li><a>etDestination</a> - The name of Amazon S3 bucket to which the
--   log data was exported.</li>
--   <li><a>etStatus</a> - The status of the export task.</li>
--   <li><a>etTaskName</a> - The name of the export task.</li>
--   <li><a>etTaskId</a> - The ID of the export task.</li>
--   <li><a>etTo</a> - The end time. Events with a timestamp later than
--   this time are not exported.</li>
--   <li><a>etFrom</a> - The start time. Events with a timestamp prior to
--   this time are not exported.</li>
--   <li><a>etLogGroupName</a> - The name of the log group from which logs
--   data was exported.</li>
--   <li><a>etExecutionInfo</a> - Execution info about the export
--   task.</li>
--   </ul>
exportTask :: ExportTask

-- | The prefix that was used as the start of Amazon S3 key for every
--   object exported.
etDestinationPrefix :: Lens' ExportTask (Maybe Text)

-- | The name of Amazon S3 bucket to which the log data was exported.
etDestination :: Lens' ExportTask (Maybe Text)

-- | The status of the export task.
etStatus :: Lens' ExportTask (Maybe ExportTaskStatus)

-- | The name of the export task.
etTaskName :: Lens' ExportTask (Maybe Text)

-- | The ID of the export task.
etTaskId :: Lens' ExportTask (Maybe Text)

-- | The end time. Events with a timestamp later than this time are not
--   exported.
etTo :: Lens' ExportTask (Maybe Natural)

-- | The start time. Events with a timestamp prior to this time are not
--   exported.
etFrom :: Lens' ExportTask (Maybe Natural)

-- | The name of the log group from which logs data was exported.
etLogGroupName :: Lens' ExportTask (Maybe Text)

-- | Execution info about the export task.
etExecutionInfo :: Lens' ExportTask (Maybe ExportTaskExecutionInfo)

-- | Represents the status of an export task.
--   
--   <i>See:</i> <a>exportTaskExecutionInfo</a> smart constructor.
data ExportTaskExecutionInfo

-- | Creates a value of <a>ExportTaskExecutionInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eteiCreationTime</a> - The creation time of the export
--   task.</li>
--   <li><a>eteiCompletionTime</a> - The completion time of the export
--   task.</li>
--   </ul>
exportTaskExecutionInfo :: ExportTaskExecutionInfo

-- | The creation time of the export task.
eteiCreationTime :: Lens' ExportTaskExecutionInfo (Maybe Natural)

-- | The completion time of the export task.
eteiCompletionTime :: Lens' ExportTaskExecutionInfo (Maybe Natural)

-- | Represents the status of an export task.
--   
--   <i>See:</i> <a>exportTaskStatus</a> smart constructor.
data ExportTaskStatus

-- | Creates a value of <a>ExportTaskStatus</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etsCode</a> - The status code of the export task.</li>
--   <li><a>etsMessage</a> - The status message related to the status
--   code.</li>
--   </ul>
exportTaskStatus :: ExportTaskStatus

-- | The status code of the export task.
etsCode :: Lens' ExportTaskStatus (Maybe ExportTaskStatusCode)

-- | The status message related to the status code.
etsMessage :: Lens' ExportTaskStatus (Maybe Text)

-- | Represents a matched event.
--   
--   <i>See:</i> <a>filteredLogEvent</a> smart constructor.
data FilteredLogEvent

-- | Creates a value of <a>FilteredLogEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fleIngestionTime</a> - The time the event was ingested.</li>
--   <li><a>fleLogStreamName</a> - The name of the log stream this event
--   belongs to.</li>
--   <li><a>fleMessage</a> - The data contained in the log event.</li>
--   <li><a>fleTimestamp</a> - The time the event occurred.</li>
--   <li><a>fleEventId</a> - The ID of the event.</li>
--   </ul>
filteredLogEvent :: FilteredLogEvent

-- | The time the event was ingested.
fleIngestionTime :: Lens' FilteredLogEvent (Maybe Natural)

-- | The name of the log stream this event belongs to.
fleLogStreamName :: Lens' FilteredLogEvent (Maybe Text)

-- | The data contained in the log event.
fleMessage :: Lens' FilteredLogEvent (Maybe Text)

-- | The time the event occurred.
fleTimestamp :: Lens' FilteredLogEvent (Maybe Natural)

-- | The ID of the event.
fleEventId :: Lens' FilteredLogEvent (Maybe Text)

-- | Represents a log event, which is a record of activity that was
--   recorded by the application or resource being monitored.
--   
--   <i>See:</i> <a>inputLogEvent</a> smart constructor.
data InputLogEvent

-- | Creates a value of <a>InputLogEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ileTimestamp</a> - The time the event occurred.</li>
--   <li><a>ileMessage</a> - The raw event message.</li>
--   </ul>
inputLogEvent :: Natural -> Text -> InputLogEvent

-- | The time the event occurred.
ileTimestamp :: Lens' InputLogEvent Natural

-- | The raw event message.
ileMessage :: Lens' InputLogEvent Text

-- | Represents a log group.
--   
--   <i>See:</i> <a>logGroup</a> smart constructor.
data LogGroup

-- | Creates a value of <a>LogGroup</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lgCreationTime</a> - The creation time of the log group.</li>
--   <li><a>lgMetricFilterCount</a> - The number of metric filters.</li>
--   <li><a>lgArn</a> - The Amazon Resource Name (ARN) of the log
--   group.</li>
--   <li><a>lgLogGroupName</a> - The name of the log group.</li>
--   <li><a>lgRetentionInDays</a> - Undocumented member.</li>
--   <li><a>lgStoredBytes</a> - The number of bytes stored.</li>
--   </ul>
logGroup :: LogGroup

-- | The creation time of the log group.
lgCreationTime :: Lens' LogGroup (Maybe Natural)

-- | The number of metric filters.
lgMetricFilterCount :: Lens' LogGroup (Maybe Int)

-- | The Amazon Resource Name (ARN) of the log group.
lgArn :: Lens' LogGroup (Maybe Text)

-- | The name of the log group.
lgLogGroupName :: Lens' LogGroup (Maybe Text)

-- | Undocumented member.
lgRetentionInDays :: Lens' LogGroup (Maybe Int)

-- | The number of bytes stored.
lgStoredBytes :: Lens' LogGroup (Maybe Natural)

-- | Represents a log stream, which is a sequence of log events from a
--   single emitter of logs.
--   
--   <i>See:</i> <a>logStream</a> smart constructor.
data LogStream

-- | Creates a value of <a>LogStream</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsCreationTime</a> - The creation time of the stream.</li>
--   <li><a>lsUploadSequenceToken</a> - The sequence token.</li>
--   <li><a>lsArn</a> - The Amazon Resource Name (ARN) of the log
--   stream.</li>
--   <li><a>lsFirstEventTimestamp</a> - The time of the first event.</li>
--   <li><a>lsLogStreamName</a> - The name of the log stream.</li>
--   <li><a>lsStoredBytes</a> - The number of bytes stored.</li>
--   <li><a>lsLastIngestionTime</a> - The ingestion time.</li>
--   <li><a>lsLastEventTimestamp</a> - The time of the last event.</li>
--   </ul>
logStream :: LogStream

-- | The creation time of the stream.
lsCreationTime :: Lens' LogStream (Maybe Natural)

-- | The sequence token.
lsUploadSequenceToken :: Lens' LogStream (Maybe Text)

-- | The Amazon Resource Name (ARN) of the log stream.
lsArn :: Lens' LogStream (Maybe Text)

-- | The time of the first event.
lsFirstEventTimestamp :: Lens' LogStream (Maybe Natural)

-- | The name of the log stream.
lsLogStreamName :: Lens' LogStream (Maybe Text)

-- | The number of bytes stored.
lsStoredBytes :: Lens' LogStream (Maybe Natural)

-- | The ingestion time.
lsLastIngestionTime :: Lens' LogStream (Maybe Natural)

-- | The time of the last event.
lsLastEventTimestamp :: Lens' LogStream (Maybe Natural)

-- | Metric filters express how CloudWatch Logs would extract metric
--   observations from ingested log events and transform them into metric
--   data in a CloudWatch metric.
--   
--   <i>See:</i> <a>metricFilter</a> smart constructor.
data MetricFilter

-- | Creates a value of <a>MetricFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mfCreationTime</a> - The creation time of the metric
--   filter.</li>
--   <li><a>mfFilterName</a> - The name of the metric filter.</li>
--   <li><a>mfLogGroupName</a> - The name of the log group.</li>
--   <li><a>mfFilterPattern</a> - Undocumented member.</li>
--   <li><a>mfMetricTransformations</a> - The metric transformations.</li>
--   </ul>
metricFilter :: MetricFilter

-- | The creation time of the metric filter.
mfCreationTime :: Lens' MetricFilter (Maybe Natural)

-- | The name of the metric filter.
mfFilterName :: Lens' MetricFilter (Maybe Text)

-- | The name of the log group.
mfLogGroupName :: Lens' MetricFilter (Maybe Text)

-- | Undocumented member.
mfFilterPattern :: Lens' MetricFilter (Maybe Text)

-- | The metric transformations.
mfMetricTransformations :: Lens' MetricFilter (Maybe (NonEmpty MetricTransformation))

-- | Represents a matched event.
--   
--   <i>See:</i> <a>metricFilterMatchRecord</a> smart constructor.
data MetricFilterMatchRecord

-- | Creates a value of <a>MetricFilterMatchRecord</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mfmrExtractedValues</a> - The values extracted from the event
--   data by the filter.</li>
--   <li><a>mfmrEventNumber</a> - The event number.</li>
--   <li><a>mfmrEventMessage</a> - The raw event data.</li>
--   </ul>
metricFilterMatchRecord :: MetricFilterMatchRecord

-- | The values extracted from the event data by the filter.
mfmrExtractedValues :: Lens' MetricFilterMatchRecord (HashMap Text Text)

-- | The event number.
mfmrEventNumber :: Lens' MetricFilterMatchRecord (Maybe Integer)

-- | The raw event data.
mfmrEventMessage :: Lens' MetricFilterMatchRecord (Maybe Text)

-- | Indicates how to transform ingested log events into metric data in a
--   CloudWatch metric.
--   
--   <i>See:</i> <a>metricTransformation</a> smart constructor.
data MetricTransformation

-- | Creates a value of <a>MetricTransformation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mtDefaultValue</a> - (Optional) The value to emit when a filter
--   pattern does not match a log event. This value can be null.</li>
--   <li><a>mtMetricName</a> - The name of the CloudWatch metric.</li>
--   <li><a>mtMetricNamespace</a> - The namespace of the CloudWatch
--   metric.</li>
--   <li><a>mtMetricValue</a> - The value to publish to the CloudWatch
--   metric when a filter pattern matches a log event.</li>
--   </ul>
metricTransformation :: Text -> Text -> Text -> MetricTransformation

-- | (Optional) The value to emit when a filter pattern does not match a
--   log event. This value can be null.
mtDefaultValue :: Lens' MetricTransformation (Maybe Double)

-- | The name of the CloudWatch metric.
mtMetricName :: Lens' MetricTransformation Text

-- | The namespace of the CloudWatch metric.
mtMetricNamespace :: Lens' MetricTransformation Text

-- | The value to publish to the CloudWatch metric when a filter pattern
--   matches a log event.
mtMetricValue :: Lens' MetricTransformation Text

-- | Represents a log event.
--   
--   <i>See:</i> <a>outputLogEvent</a> smart constructor.
data OutputLogEvent

-- | Creates a value of <a>OutputLogEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oleIngestionTime</a> - The time the event was ingested.</li>
--   <li><a>oleMessage</a> - The data contained in the log event.</li>
--   <li><a>oleTimestamp</a> - The time the event occurred.</li>
--   </ul>
outputLogEvent :: OutputLogEvent

-- | The time the event was ingested.
oleIngestionTime :: Lens' OutputLogEvent (Maybe Natural)

-- | The data contained in the log event.
oleMessage :: Lens' OutputLogEvent (Maybe Text)

-- | The time the event occurred.
oleTimestamp :: Lens' OutputLogEvent (Maybe Natural)

-- | Represents the rejected events.
--   
--   <i>See:</i> <a>rejectedLogEventsInfo</a> smart constructor.
data RejectedLogEventsInfo

-- | Creates a value of <a>RejectedLogEventsInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rleiTooOldLogEventEndIndex</a> - The log events that are too
--   old.</li>
--   <li><a>rleiTooNewLogEventStartIndex</a> - The log events that are too
--   new.</li>
--   <li><a>rleiExpiredLogEventEndIndex</a> - The expired log events.</li>
--   </ul>
rejectedLogEventsInfo :: RejectedLogEventsInfo

-- | The log events that are too old.
rleiTooOldLogEventEndIndex :: Lens' RejectedLogEventsInfo (Maybe Int)

-- | The log events that are too new.
rleiTooNewLogEventStartIndex :: Lens' RejectedLogEventsInfo (Maybe Int)

-- | The expired log events.
rleiExpiredLogEventEndIndex :: Lens' RejectedLogEventsInfo (Maybe Int)

-- | Represents the search status of a log stream.
--   
--   <i>See:</i> <a>searchedLogStream</a> smart constructor.
data SearchedLogStream

-- | Creates a value of <a>SearchedLogStream</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slsLogStreamName</a> - The name of the log stream.</li>
--   <li><a>slsSearchedCompletely</a> - Indicates whether all the events in
--   this log stream were searched.</li>
--   </ul>
searchedLogStream :: SearchedLogStream

-- | The name of the log stream.
slsLogStreamName :: Lens' SearchedLogStream (Maybe Text)

-- | Indicates whether all the events in this log stream were searched.
slsSearchedCompletely :: Lens' SearchedLogStream (Maybe Bool)

-- | Represents a subscription filter.
--   
--   <i>See:</i> <a>subscriptionFilter</a> smart constructor.
data SubscriptionFilter

-- | Creates a value of <a>SubscriptionFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sfCreationTime</a> - The creation time of the subscription
--   filter.</li>
--   <li><a>sfFilterName</a> - The name of the subscription filter.</li>
--   <li><a>sfDestinationARN</a> - The Amazon Resource Name (ARN) of the
--   destination.</li>
--   <li><a>sfLogGroupName</a> - The name of the log group.</li>
--   <li><a>sfFilterPattern</a> - Undocumented member.</li>
--   <li><a>sfRoleARN</a> -</li>
--   </ul>
subscriptionFilter :: SubscriptionFilter

-- | The creation time of the subscription filter.
sfCreationTime :: Lens' SubscriptionFilter (Maybe Natural)

-- | The name of the subscription filter.
sfFilterName :: Lens' SubscriptionFilter (Maybe Text)

-- | The Amazon Resource Name (ARN) of the destination.
sfDestinationARN :: Lens' SubscriptionFilter (Maybe Text)

-- | The name of the log group.
sfLogGroupName :: Lens' SubscriptionFilter (Maybe Text)

-- | Undocumented member.
sfFilterPattern :: Lens' SubscriptionFilter (Maybe Text)
sfRoleARN :: Lens' SubscriptionFilter (Maybe Text)
