-- 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.6.0


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

-- | The method used to distribute log data to the destination, which can
--   be either random or grouped by log stream.
data Distribution
ByLogStream :: Distribution
Random :: Distribution
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 to where the log events are delivered (for example, a Kinesis
--   stream).</li>
--   <li><a>dCreationTime</a> - The creation time of the destination,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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 to where the log
--   events are delivered (for example, a Kinesis stream).
dTargetARN :: Lens' Destination (Maybe Text)

-- | The creation time of the destination, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp
--   later than this time are not exported.</li>
--   <li><a>etFrom</a> - The start time, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp
--   before 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, expressed as the number of milliseconds after Jan 1,
--   1970 00:00:00 UTC. Events with a time stamp later than this time are
--   not exported.
etTo :: Lens' ExportTask (Maybe Natural)

-- | The start time, expressed as the number of milliseconds after Jan 1,
--   1970 00:00:00 UTC. Events with a time stamp before 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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</li>
--   <li><a>eteiCompletionTime</a> - The completion time of the export
--   task, expressed as the number of milliseconds after Jan 1, 1970
--   00:00:00 UTC.</li>
--   </ul>
exportTaskExecutionInfo :: ExportTaskExecutionInfo

-- | The creation time of the export task, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
eteiCreationTime :: Lens' ExportTaskExecutionInfo (Maybe Natural)

-- | The completion time of the export task, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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, expressed as
--   the number of milliseconds after Jan 1, 1970 00:00:00 UTC.</li>
--   <li><a>fleEventId</a> - The ID of the event.</li>
--   </ul>
filteredLogEvent :: FilteredLogEvent

-- | The time the event was ingested, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC.
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, expressed as
--   the number of milliseconds fter Jan 1, 1970 00:00:00 UTC.</li>
--   <li><a>ileMessage</a> - The raw event message.</li>
--   </ul>
inputLogEvent :: Natural -> Text -> InputLogEvent

-- | The time the event occurred, expressed as the number of milliseconds
--   fter Jan 1, 1970 00:00:00 UTC.
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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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>lgKmsKeyId</a> - The Amazon Resource Name (ARN) of the CMK to
--   use when encrypting log data.</li>
--   <li><a>lgStoredBytes</a> - The number of bytes stored.</li>
--   </ul>
logGroup :: LogGroup

-- | The creation time of the log group, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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 Amazon Resource Name (ARN) of the CMK to use when encrypting log
--   data.
lgKmsKeyId :: Lens' LogGroup (Maybe Text)

-- | 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, expressed
--   as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.</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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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, expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC.</li>
--   <li><a>lsLastEventTimestamp</a> - the time of the most recent log
--   event in the log stream in CloudWatch Logs. This number is expressed
--   as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.
--   lastEventTime updates on an eventual consistency basis. It typically
--   updates in less than an hour from ingestion, but may take longer in
--   some rare situations.</li>
--   </ul>
logStream :: LogStream

-- | The creation time of the stream, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of milliseconds after Jan
--   1, 1970 00:00:00 UTC.
lsLastIngestionTime :: Lens' LogStream (Maybe Natural)

-- | the time of the most recent log event in the log stream in CloudWatch
--   Logs. This number is expressed as the number of milliseconds after Jan
--   1, 1970 00:00:00 UTC. lastEventTime updates on an eventual consistency
--   basis. It typically updates in less than an hour from ingestion, but
--   may take longer in some rare situations.
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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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 in to 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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</li>
--   <li><a>oleMessage</a> - The data contained in the log event.</li>
--   <li><a>oleTimestamp</a> - The time the event occurred, expressed as
--   the number of milliseconds after Jan 1, 1970 00:00:00 UTC.</li>
--   </ul>
outputLogEvent :: OutputLogEvent

-- | The time the event was ingested, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
oleIngestionTime :: Lens' OutputLogEvent (Maybe Natural)

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

-- | The time the event occurred, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC.
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)

-- | A policy enabling one or more entities to put logs to a log group in
--   this account.
--   
--   <i>See:</i> <a>resourcePolicy</a> smart constructor.
data ResourcePolicy

-- | Creates a value of <a>ResourcePolicy</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>rpPolicyName</a> - The name of the resource policy.</li>
--   <li><a>rpPolicyDocument</a> - The details of the policy.</li>
--   <li><a>rpLastUpdatedTime</a> - Time stamp showing when this policy was
--   last updated, expressed as the number of milliseconds after Jan 1,
--   1970 00:00:00 UTC.</li>
--   </ul>
resourcePolicy :: ResourcePolicy

-- | The name of the resource policy.
rpPolicyName :: Lens' ResourcePolicy (Maybe Text)

-- | The details of the policy.
rpPolicyDocument :: Lens' ResourcePolicy (Maybe Text)

-- | Time stamp showing when this policy was last updated, expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC.
rpLastUpdatedTime :: Lens' ResourcePolicy (Maybe Natural)

-- | 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, expressed as the number of milliseconds after Jan 1, 1970
--   00:00:00 UTC.</li>
--   <li><a>sfFilterName</a> - The name of the subscription filter.</li>
--   <li><a>sfDistribution</a> - Undocumented member.</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, expressed as the number
--   of milliseconds after Jan 1, 1970 00:00:00 UTC.
sfCreationTime :: Lens' SubscriptionFilter (Maybe Natural)

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

-- | Undocumented member.
sfDistribution :: Lens' SubscriptionFilter (Maybe Distribution)

-- | 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)


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.TestMetricFilter.TestMetricFilterResponse
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


-- | Adds or updates the specified tags for the specified log group.
--   
--   To list the tags for a log group, use <tt>ListTagsLogGroup</tt> . To
--   remove tags, use <tt>UntagLogGroup</tt> .
--   
--   For more information about tags, see <a>Tag Log Groups in Amazon
--   CloudWatch Logs</a> in the <i>Amazon CloudWatch Logs User Guide</i> .
module Network.AWS.CloudWatchLogs.TagLogGroup

-- | Creates a value of <a>TagLogGroup</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>tlgLogGroupName</a> - The name of the log group.</li>
--   <li><a>tlgTags</a> - The key-value pairs to use for the tags.</li>
--   </ul>
tagLogGroup :: Text -> TagLogGroup

-- | <i>See:</i> <a>tagLogGroup</a> smart constructor.
data TagLogGroup

-- | The name of the log group.
tlgLogGroupName :: Lens' TagLogGroup Text

-- | The key-value pairs to use for the tags.
tlgTags :: Lens' TagLogGroup (HashMap Text Text)

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

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


-- | 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 delivery 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.
--   If you are updating an existing filter, you must specify the correct
--   name in <tt>filterName</tt> . Otherwise, the call fails because you
--   cannot associate a second filter 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>psfDistribution</a> - The method used to distribute log data to
--   the destination. By default log data is grouped by log stream, but the
--   grouping can be set to random for a more even distribution. This
--   property is only applicable when the destination is an Amazon Kinesis
--   stream.</li>
--   <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. If you
--   are updating an existing filter, you must specify the correct name in
--   <tt>filterName</tt> . Otherwise, the call fails because you cannot
--   associate a second filter with a log group. To find the name of the
--   filter currently associated with a log group, use
--   <tt>DescribeSubscriptionFilters</tt> .</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 delivery
--   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 method used to distribute log data to the destination. By default
--   log data is grouped by log stream, but the grouping can be set to
--   random for a more even distribution. This property is only applicable
--   when the destination is an Amazon Kinesis stream.
psfDistribution :: Lens' PutSubscriptionFilter (Maybe Distribution)

-- | 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. If you are updating an existing
--   filter, you must specify the correct name in <tt>filterName</tt> .
--   Otherwise, the call fails because you cannot associate a second filter
--   with a log group. To find the name of the filter currently associated
--   with a log group, use <tt>DescribeSubscriptionFilters</tt> .
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 delivery 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutSubscriptionFilter.PutSubscriptionFilterResponse
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


-- | Sets the retention of the specified log group. A retention policy
--   allows you to configure the number of days for which 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutRetentionPolicy.PutRetentionPolicyResponse
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


-- | Creates or updates a resource policy allowing other AWS services to
--   put log events to this account, such as Amazon Route 53. An account
--   can have up to 50 resource policies per region.
module Network.AWS.CloudWatchLogs.PutResourcePolicy

-- | Creates a value of <a>PutResourcePolicy</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>prpPolicyName</a> - Name of the new policy. This parameter is
--   required.</li>
--   <li><a>prpPolicyDocument</a> - Details of the new policy, including
--   the identity of the principal that is enabled to put logs to this
--   account. This is formatted as a JSON string. The following example
--   creates a resource policy enabling the Route 53 service to put DNS
--   query logs in to the specified log group. Replace "logArn" with the
--   ARN of your CloudWatch Logs resource, such as a log group or log
--   stream. { <a>Version</a>: "2012-10-17" <a>Statement</a>: [ {
--   <a>Sid</a>: <a>Route53LogsToCloudWatchLogs</a>, <a>Effect</a>:
--   <a>Allow</a>, <a>Principal</a>: { <a>Service</a>: [
--   "route53.amazonaws.com" ] }, <a>Action</a>:"logs:PutLogEvents",
--   <a>Resource</a>: logArn } ] }</li>
--   </ul>
putResourcePolicy :: PutResourcePolicy

-- | <i>See:</i> <a>putResourcePolicy</a> smart constructor.
data PutResourcePolicy

-- | Name of the new policy. This parameter is required.
prpPolicyName :: Lens' PutResourcePolicy (Maybe Text)

-- | Details of the new policy, including the identity of the principal
--   that is enabled to put logs to this account. This is formatted as a
--   JSON string. The following example creates a resource policy enabling
--   the Route 53 service to put DNS query logs in to the specified log
--   group. Replace "logArn" with the ARN of your CloudWatch Logs resource,
--   such as a log group or log stream. { <a>Version</a>: "2012-10-17"
--   <a>Statement</a>: [ { <a>Sid</a>: <a>Route53LogsToCloudWatchLogs</a>,
--   <a>Effect</a>: <a>Allow</a>, <a>Principal</a>: { <a>Service</a>: [
--   "route53.amazonaws.com" ] }, <a>Action</a>:"logs:PutLogEvents",
--   <a>Resource</a>: logArn } ] }
prpPolicyDocument :: Lens' PutResourcePolicy (Maybe Text)

-- | Creates a value of <a>PutResourcePolicyResponse</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>prprsResourcePolicy</a> - The new policy.</li>
--   <li><a>prprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putResourcePolicyResponse :: Int -> PutResourcePolicyResponse

-- | <i>See:</i> <a>putResourcePolicyResponse</a> smart constructor.
data PutResourcePolicyResponse

-- | The new policy.
prprsResourcePolicy :: Lens' PutResourcePolicyResponse (Maybe ResourcePolicy)

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


-- | 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 that
--   defines 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 that defines 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutMetricFilter.PutMetricFilterResponse
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


-- | 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> . If you call <tt>PutLogEvents</tt> twice
--   within a narrow time period using the same value for
--   <tt>sequenceToken</tt> , both calls may be successful, or one may be
--   rejected.
--   
--   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 time stamp (the time the event occurred, expressed as the number
--   of milliseconds after Jan 1, 1970 00:00:00 UTC).</li>
--   <li>The maximum number of log events in a batch is 10,000.</li>
--   <li>A batch of log events in a single request cannot span more than 24
--   hours. Otherwise, the operation fails.</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 obtained from the
--   response of the previous <tt>PutLogEvents</tt> 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> . If you
--   call <tt>PutLogEvents</tt> twice within a narrow time period using the
--   same value for <tt>sequenceToken</tt> , both calls may be successful,
--   or one may be rejected.</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 obtained from the response of the previous
--   <tt>PutLogEvents</tt> 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> . If you call <tt>PutLogEvents</tt>
--   twice within a narrow time period using the same value for
--   <tt>sequenceToken</tt> , both calls may be successful, or one may be
--   rejected.
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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutLogEvents.PutLogEventsResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutDestinationPolicy.PutDestinationPolicyResponse
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


-- | Creates or updates a destination. A destination encapsulates a
--   physical resource (such as an Amazon Kinesis stream) and enables you
--   to subscribe to a real-time stream of log events for a different
--   account, ingested using <tt>PutLogEvents</tt> . Currently, the only
--   supported physical resource is a Kinesis stream belonging to the same
--   account as the destination.
--   
--   Through an access policy, a destination controls what is written to
--   its Kinesis stream. 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 which
--   to deliver matching log events.</li>
--   <li><a>pdRoleARN</a> - The ARN of an IAM role that grants CloudWatch
--   Logs permissions to call the Amazon Kinesis PutRecord operation 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 which to deliver matching log
--   events.
pdTargetARN :: Lens' PutDestination Text

-- | The ARN of an IAM role that grants CloudWatch Logs permissions to call
--   the Amazon Kinesis PutRecord operation 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.PutDestination.PutDestinationResponse
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


-- | Lists the tags for the specified log group.
module Network.AWS.CloudWatchLogs.ListTagsLogGroup

-- | Creates a value of <a>ListTagsLogGroup</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>ltlgLogGroupName</a> - The name of the log group.</li>
--   </ul>
listTagsLogGroup :: Text -> ListTagsLogGroup

-- | <i>See:</i> <a>listTagsLogGroup</a> smart constructor.
data ListTagsLogGroup

-- | The name of the log group.
ltlgLogGroupName :: Lens' ListTagsLogGroup Text

-- | Creates a value of <a>ListTagsLogGroupResponse</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>ltlgrsTags</a> - The tags for the log group.</li>
--   <li><a>ltlgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTagsLogGroupResponse :: Int -> ListTagsLogGroupResponse

-- | <i>See:</i> <a>listTagsLogGroupResponse</a> smart constructor.
data ListTagsLogGroupResponse

-- | The tags for the log group.
ltlgrsTags :: Lens' ListTagsLogGroupResponse (HashMap Text Text)

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


-- | 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). 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, expressed as
--   the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with
--   a time stamp 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, expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a
--   time stamp 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 1 MB, 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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC. Events with a time stamp 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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC. Events with a time stamp 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 1 MB, 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.GetLogEvents.GetLogEventsResponse
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


-- | 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 1
--   MB (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, expressed as
--   the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with
--   a time stamp before 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, expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a
--   time stamp 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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC. Events with a time stamp before 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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC. Events with a time stamp 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.Types.AWSRequest Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEvents
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.FilterLogEvents.FilterLogEventsResponse
instance Network.AWS.Pager.AWSPager 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


-- | Disassociates the associated AWS Key Management Service (AWS KMS)
--   customer master key (CMK) from the specified log group.
--   
--   After the AWS KMS CMK is disassociated from the log group, AWS
--   CloudWatch Logs stops encrypting newly ingested data for the log
--   group. All previously ingested data remains encrypted, and AWS
--   CloudWatch Logs requires permissions for the CMK whenever the
--   encrypted data is requested.
--   
--   Note that it can take up to 5 minutes for this operation to take
--   effect.
module Network.AWS.CloudWatchLogs.DisassociateKMSKey

-- | Creates a value of <a>DisassociateKMSKey</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>dkkLogGroupName</a> - The name of the log group.</li>
--   </ul>
disassociateKMSKey :: Text -> DisassociateKMSKey

-- | <i>See:</i> <a>disassociateKMSKey</a> smart constructor.
data DisassociateKMSKey

-- | The name of the log group.
dkkLogGroupName :: Lens' DisassociateKMSKey Text

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

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


-- | 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.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFilters
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters.DescribeSubscriptionFiltersResponse
instance Network.AWS.Pager.AWSPager 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


-- | Lists the resource policies in this account.
module Network.AWS.CloudWatchLogs.DescribeResourcePolicies

-- | Creates a value of <a>DescribeResourcePolicies</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>drpNextToken</a> - Undocumented member.</li>
--   <li><a>drpLimit</a> - The maximum number of resource policies to be
--   displayed with one call of this API.</li>
--   </ul>
describeResourcePolicies :: DescribeResourcePolicies

-- | <i>See:</i> <a>describeResourcePolicies</a> smart constructor.
data DescribeResourcePolicies

-- | Undocumented member.
drpNextToken :: Lens' DescribeResourcePolicies (Maybe Text)

-- | The maximum number of resource policies to be displayed with one call
--   of this API.
drpLimit :: Lens' DescribeResourcePolicies (Maybe Natural)

-- | Creates a value of <a>DescribeResourcePoliciesResponse</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>drprsResourcePolicies</a> - The resource policies that exist in
--   this account.</li>
--   <li><a>drprsNextToken</a> - Undocumented member.</li>
--   <li><a>drprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeResourcePoliciesResponse :: Int -> DescribeResourcePoliciesResponse

-- | <i>See:</i> <a>describeResourcePoliciesResponse</a> smart constructor.
data DescribeResourcePoliciesResponse

-- | The resource policies that exist in this account.
drprsResourcePolicies :: Lens' DescribeResourcePoliciesResponse [ResourcePolicy]

-- | Undocumented member.
drprsNextToken :: Lens' DescribeResourcePoliciesResponse (Maybe Text)

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


-- | 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> - Undocumented member.</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)

-- | Undocumented member.
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.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFilters
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeMetricFilters.DescribeMetricFiltersResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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. lastEventTimestamp represents the time of the most recent
--   log event in the log stream in CloudWatch Logs. This number is
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC. lastEventTimeStamp updates on an eventual consistency basis. It
--   typically updates in less than an hour from ingestion, but may take
--   longer in some rare situations.</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. iIf
--   <tt>orderBy</tt> is <tt>LastEventTime</tt> ,you cannot specify this
--   parameter.</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.
--   lastEventTimestamp represents the time of the most recent log event in
--   the log stream in CloudWatch Logs. This number is expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC.
--   lastEventTimeStamp updates on an eventual consistency basis. It
--   typically updates in less than an hour from ingestion, but may take
--   longer in some rare situations.
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. iIf <tt>orderBy</tt> is <tt>LastEventTime</tt>
--   ,you cannot specify this parameter.
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.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreams
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeLogStreams.DescribeLogStreamsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroups
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeLogGroups.DescribeLogGroupsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeExportTasks.DescribeExportTasksResponse
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


-- | 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.Types.AWSRequest Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinations
instance Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DescribeDestinations.DescribeDestinationsResponse
instance Network.AWS.Pager.AWSPager 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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter.DeleteSubscriptionFilterResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteRetentionPolicy.DeleteRetentionPolicyResponse
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


-- | Deletes a resource policy from this account. This revokes the access
--   of the identities in that policy to put log events to this account.
module Network.AWS.CloudWatchLogs.DeleteResourcePolicy

-- | Creates a value of <a>DeleteResourcePolicy</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>drpPolicyName</a> - The name of the policy to be revoked. This
--   parameter is required.</li>
--   </ul>
deleteResourcePolicy :: DeleteResourcePolicy

-- | <i>See:</i> <a>deleteResourcePolicy</a> smart constructor.
data DeleteResourcePolicy

-- | The name of the policy to be revoked. This parameter is required.
drpPolicyName :: Lens' DeleteResourcePolicy (Maybe Text)

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

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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteMetricFilter.DeleteMetricFilterResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteLogStream.DeleteLogStreamResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteLogGroup.DeleteLogGroupResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.DeleteDestination.DeleteDestinationResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateLogStream.CreateLogStreamResponse
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


-- | 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>
--   
--   If you associate a AWS Key Management Service (AWS KMS) customer
--   master key (CMK) with the log group, ingested data is encrypted using
--   the CMK. This association is stored as long as the data encrypted with
--   the CMK is still within Amazon CloudWatch Logs. This enables Amazon
--   CloudWatch Logs to decrypt this data whenever it is requested.
--   
--   If you attempt to associate a CMK with the log group but the CMK does
--   not exist or the CMK is disabled, you will receive an
--   <tt>InvalidParameterException</tt> error.
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>clgKmsKeyId</a> - The Amazon Resource Name (ARN) of the CMK to
--   use when encrypting log data. For more information, see <a>Amazon
--   Resource Names - AWS Key Management Service (AWS KMS)</a> .</li>
--   <li><a>clgTags</a> - The key-value pairs to use for the tags.</li>
--   <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 Amazon Resource Name (ARN) of the CMK to use when encrypting log
--   data. For more information, see <a>Amazon Resource Names - AWS Key
--   Management Service (AWS KMS)</a> .
clgKmsKeyId :: Lens' CreateLogGroup (Maybe Text)

-- | The key-value pairs to use for the tags.
clgTags :: Lens' CreateLogGroup (HashMap Text Text)

-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateLogGroup.CreateLogGroupResponse
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


-- | 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 to 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 after Jan 1, 1970 00:00:00
--   UTC. Events with a time stamp 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 after Jan 1, 1970 00:00:00
--   UTC. Events with a time stamp 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 after Jan 1, 1970 00:00:00 UTC. Events with a time
--   stamp 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 after Jan 1, 1970 00:00:00 UTC. Events with a time stamp
--   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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CreateExportTask.CreateExportTaskResponse
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


-- | 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 Control.DeepSeq.NFData Network.AWS.CloudWatchLogs.CancelExportTask.CancelExportTaskResponse
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


-- | Associates the specified AWS Key Management Service (AWS KMS) customer
--   master key (CMK) with the specified log group.
--   
--   Associating an AWS KMS CMK with a log group overrides any existing
--   associations between the log group and a CMK. After a CMK is
--   associated with a log group, all newly ingested data for the log group
--   is encrypted using the CMK. This association is stored as long as the
--   data encrypted with the CMK is still within Amazon CloudWatch Logs.
--   This enables Amazon CloudWatch Logs to decrypt this data whenever it
--   is requested.
--   
--   Note that it can take up to 5 minutes for this operation to take
--   effect.
--   
--   If you attempt to associate a CMK with a log group but the CMK does
--   not exist or the CMK is disabled, you will receive an
--   <tt>InvalidParameterException</tt> error.
module Network.AWS.CloudWatchLogs.AssociateKMSKey

-- | Creates a value of <a>AssociateKMSKey</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>akkLogGroupName</a> - The name of the log group.</li>
--   <li><a>akkKmsKeyId</a> - The Amazon Resource Name (ARN) of the CMK to
--   use when encrypting log data. For more information, see <a>Amazon
--   Resource Names - AWS Key Management Service (AWS KMS)</a> .</li>
--   </ul>
associateKMSKey :: Text -> Text -> AssociateKMSKey

-- | <i>See:</i> <a>associateKMSKey</a> smart constructor.
data AssociateKMSKey

-- | The name of the log group.
akkLogGroupName :: Lens' AssociateKMSKey Text

-- | The Amazon Resource Name (ARN) of the CMK to use when encrypting log
--   data. For more information, see <a>Amazon Resource Names - AWS Key
--   Management Service (AWS KMS)</a> .
akkKmsKeyId :: Lens' AssociateKMSKey Text

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

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


-- | Removes the specified tags from the specified log group.
--   
--   To list the tags for a log group, use <tt>ListTagsLogGroup</tt> . To
--   add tags, use <a>UntagLogGroup</a> .
module Network.AWS.CloudWatchLogs.UntagLogGroup

-- | Creates a value of <a>UntagLogGroup</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>ulgLogGroupName</a> - The name of the log group.</li>
--   <li><a>ulgTags</a> - The tag keys. The corresponding tags are removed
--   from the log group.</li>
--   </ul>
untagLogGroup :: Text -> NonEmpty Text -> UntagLogGroup

-- | <i>See:</i> <a>untagLogGroup</a> smart constructor.
data UntagLogGroup

-- | The name of the log group.
ulgLogGroupName :: Lens' UntagLogGroup Text

-- | The tag keys. The corresponding tags are removed from the log group.
ulgTags :: Lens' UntagLogGroup (NonEmpty Text)

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

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


module Network.AWS.CloudWatchLogs.Waiters


-- | You can use Amazon CloudWatch Logs to monitor, store, and access your
--   log files from Amazon EC2 instances, AWS CloudTrail, or other sources.
--   You can then retrieve the associated log data from CloudWatch Logs
--   using the CloudWatch console, CloudWatch Logs commands in the AWS CLI,
--   CloudWatch Logs API, or CloudWatch Logs SDK.
--   
--   You can use CloudWatch Logs to:
--   
--   <ul>
--   <li><b>Monitor logs from 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 that 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
--   CloudWatch metric that you specify.</li>
--   <li><b>Monitor AWS CloudTrail logged events</b> : You can create
--   alarms in 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

-- | The method used to distribute log data to the destination, which can
--   be either random or grouped by log stream.
data Distribution
ByLogStream :: Distribution
Random :: Distribution
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 to where the log events are delivered (for example, a Kinesis
--   stream).</li>
--   <li><a>dCreationTime</a> - The creation time of the destination,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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 to where the log
--   events are delivered (for example, a Kinesis stream).
dTargetARN :: Lens' Destination (Maybe Text)

-- | The creation time of the destination, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp
--   later than this time are not exported.</li>
--   <li><a>etFrom</a> - The start time, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp
--   before 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, expressed as the number of milliseconds after Jan 1,
--   1970 00:00:00 UTC. Events with a time stamp later than this time are
--   not exported.
etTo :: Lens' ExportTask (Maybe Natural)

-- | The start time, expressed as the number of milliseconds after Jan 1,
--   1970 00:00:00 UTC. Events with a time stamp before 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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</li>
--   <li><a>eteiCompletionTime</a> - The completion time of the export
--   task, expressed as the number of milliseconds after Jan 1, 1970
--   00:00:00 UTC.</li>
--   </ul>
exportTaskExecutionInfo :: ExportTaskExecutionInfo

-- | The creation time of the export task, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
eteiCreationTime :: Lens' ExportTaskExecutionInfo (Maybe Natural)

-- | The completion time of the export task, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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, expressed as
--   the number of milliseconds after Jan 1, 1970 00:00:00 UTC.</li>
--   <li><a>fleEventId</a> - The ID of the event.</li>
--   </ul>
filteredLogEvent :: FilteredLogEvent

-- | The time the event was ingested, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC.
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, expressed as
--   the number of milliseconds fter Jan 1, 1970 00:00:00 UTC.</li>
--   <li><a>ileMessage</a> - The raw event message.</li>
--   </ul>
inputLogEvent :: Natural -> Text -> InputLogEvent

-- | The time the event occurred, expressed as the number of milliseconds
--   fter Jan 1, 1970 00:00:00 UTC.
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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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>lgKmsKeyId</a> - The Amazon Resource Name (ARN) of the CMK to
--   use when encrypting log data.</li>
--   <li><a>lgStoredBytes</a> - The number of bytes stored.</li>
--   </ul>
logGroup :: LogGroup

-- | The creation time of the log group, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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 Amazon Resource Name (ARN) of the CMK to use when encrypting log
--   data.
lgKmsKeyId :: Lens' LogGroup (Maybe Text)

-- | 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, expressed
--   as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.</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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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, expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC.</li>
--   <li><a>lsLastEventTimestamp</a> - the time of the most recent log
--   event in the log stream in CloudWatch Logs. This number is expressed
--   as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.
--   lastEventTime updates on an eventual consistency basis. It typically
--   updates in less than an hour from ingestion, but may take longer in
--   some rare situations.</li>
--   </ul>
logStream :: LogStream

-- | The creation time of the stream, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC.
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, expressed as the number of milliseconds after Jan
--   1, 1970 00:00:00 UTC.
lsLastIngestionTime :: Lens' LogStream (Maybe Natural)

-- | the time of the most recent log event in the log stream in CloudWatch
--   Logs. This number is expressed as the number of milliseconds after Jan
--   1, 1970 00:00:00 UTC. lastEventTime updates on an eventual consistency
--   basis. It typically updates in less than an hour from ingestion, but
--   may take longer in some rare situations.
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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</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, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
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 in to 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,
--   expressed as the number of milliseconds after Jan 1, 1970 00:00:00
--   UTC.</li>
--   <li><a>oleMessage</a> - The data contained in the log event.</li>
--   <li><a>oleTimestamp</a> - The time the event occurred, expressed as
--   the number of milliseconds after Jan 1, 1970 00:00:00 UTC.</li>
--   </ul>
outputLogEvent :: OutputLogEvent

-- | The time the event was ingested, expressed as the number of
--   milliseconds after Jan 1, 1970 00:00:00 UTC.
oleIngestionTime :: Lens' OutputLogEvent (Maybe Natural)

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

-- | The time the event occurred, expressed as the number of milliseconds
--   after Jan 1, 1970 00:00:00 UTC.
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)

-- | A policy enabling one or more entities to put logs to a log group in
--   this account.
--   
--   <i>See:</i> <a>resourcePolicy</a> smart constructor.
data ResourcePolicy

-- | Creates a value of <a>ResourcePolicy</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>rpPolicyName</a> - The name of the resource policy.</li>
--   <li><a>rpPolicyDocument</a> - The details of the policy.</li>
--   <li><a>rpLastUpdatedTime</a> - Time stamp showing when this policy was
--   last updated, expressed as the number of milliseconds after Jan 1,
--   1970 00:00:00 UTC.</li>
--   </ul>
resourcePolicy :: ResourcePolicy

-- | The name of the resource policy.
rpPolicyName :: Lens' ResourcePolicy (Maybe Text)

-- | The details of the policy.
rpPolicyDocument :: Lens' ResourcePolicy (Maybe Text)

-- | Time stamp showing when this policy was last updated, expressed as the
--   number of milliseconds after Jan 1, 1970 00:00:00 UTC.
rpLastUpdatedTime :: Lens' ResourcePolicy (Maybe Natural)

-- | 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, expressed as the number of milliseconds after Jan 1, 1970
--   00:00:00 UTC.</li>
--   <li><a>sfFilterName</a> - The name of the subscription filter.</li>
--   <li><a>sfDistribution</a> - Undocumented member.</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, expressed as the number
--   of milliseconds after Jan 1, 1970 00:00:00 UTC.
sfCreationTime :: Lens' SubscriptionFilter (Maybe Natural)

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

-- | Undocumented member.
sfDistribution :: Lens' SubscriptionFilter (Maybe Distribution)

-- | 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)
