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


-- | Amazon CloudWatch Events 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.CloudWatchEvents</a> or <a>the AWS
--   documentation</a> to get started.
@package amazonka-cloudwatch-events
@version 1.4.5


module Network.AWS.CloudWatchEvents.Types

-- | API version <tt>2015-10-07</tt> of the Amazon CloudWatch Events SDK
--   configuration.
cloudWatchEvents :: Service

-- | This exception occurs if there is concurrent modification on rule or
--   target.
_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The event pattern is invalid.
_InvalidEventPatternException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This exception occurs due to unexpected causes.
_InternalException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | This exception occurs if you try to create more rules or add more
--   targets to a rule than allowed by default.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data RuleState
Disabled :: RuleState
Enabled :: RuleState

-- | Contains information about the event to be used in PutEvents.
--   
--   <i>See:</i> <a>putEventsRequestEntry</a> smart constructor.
data PutEventsRequestEntry

-- | Creates a value of <a>PutEventsRequestEntry</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>pereTime</a> - Timestamp of event, per <a>RFC3339</a> . If no
--   timestamp is provided, the timestamp of the <tt>PutEvents</tt> call
--   will be used.</li>
--   <li><a>pereDetailType</a> - Free-form string used to decide what
--   fields to expect in the event detail.</li>
--   <li><a>pereResources</a> - AWS resources, identified by Amazon
--   Resource Name (ARN), which the event primarily concerns. Any number,
--   including zero, may be present.</li>
--   <li><a>pereSource</a> - The source of the event.</li>
--   <li><a>pereDetail</a> - In the JSON sense, an object containing
--   fields, which may also contain nested sub-objects. No constraints are
--   imposed on its contents.</li>
--   </ul>
putEventsRequestEntry :: PutEventsRequestEntry

-- | Timestamp of event, per <a>RFC3339</a> . If no timestamp is provided,
--   the timestamp of the <tt>PutEvents</tt> call will be used.
pereTime :: Lens' PutEventsRequestEntry (Maybe UTCTime)

-- | Free-form string used to decide what fields to expect in the event
--   detail.
pereDetailType :: Lens' PutEventsRequestEntry (Maybe Text)

-- | AWS resources, identified by Amazon Resource Name (ARN), which the
--   event primarily concerns. Any number, including zero, may be present.
pereResources :: Lens' PutEventsRequestEntry [Text]

-- | The source of the event.
pereSource :: Lens' PutEventsRequestEntry (Maybe Text)

-- | In the JSON sense, an object containing fields, which may also contain
--   nested sub-objects. No constraints are imposed on its contents.
pereDetail :: Lens' PutEventsRequestEntry (Maybe Text)

-- | A PutEventsResult contains a list of PutEventsResultEntry.
--   
--   <i>See:</i> <a>putEventsResultEntry</a> smart constructor.
data PutEventsResultEntry

-- | Creates a value of <a>PutEventsResultEntry</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>pereErrorCode</a> - The error code representing why the event
--   submission failed on this entry.</li>
--   <li><a>pereErrorMessage</a> - The error message explaining why the
--   event submission failed on this entry.</li>
--   <li><a>pereEventId</a> - The ID of the event submitted to Amazon
--   CloudWatch Events.</li>
--   </ul>
putEventsResultEntry :: PutEventsResultEntry

-- | The error code representing why the event submission failed on this
--   entry.
pereErrorCode :: Lens' PutEventsResultEntry (Maybe Text)

-- | The error message explaining why the event submission failed on this
--   entry.
pereErrorMessage :: Lens' PutEventsResultEntry (Maybe Text)

-- | The ID of the event submitted to Amazon CloudWatch Events.
pereEventId :: Lens' PutEventsResultEntry (Maybe Text)

-- | A PutTargetsResult contains a list of PutTargetsResultEntry.
--   
--   <i>See:</i> <a>putTargetsResultEntry</a> smart constructor.
data PutTargetsResultEntry

-- | Creates a value of <a>PutTargetsResultEntry</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>ptreTargetId</a> - The ID of the target submitted to Amazon
--   CloudWatch Events.</li>
--   <li><a>ptreErrorCode</a> - The error code representing why the target
--   submission failed on this entry.</li>
--   <li><a>ptreErrorMessage</a> - The error message explaining why the
--   target submission failed on this entry.</li>
--   </ul>
putTargetsResultEntry :: PutTargetsResultEntry

-- | The ID of the target submitted to Amazon CloudWatch Events.
ptreTargetId :: Lens' PutTargetsResultEntry (Maybe Text)

-- | The error code representing why the target submission failed on this
--   entry.
ptreErrorCode :: Lens' PutTargetsResultEntry (Maybe Text)

-- | The error message explaining why the target submission failed on this
--   entry.
ptreErrorMessage :: Lens' PutTargetsResultEntry (Maybe Text)

-- | The ID of the target requested to be removed from the rule by Amazon
--   CloudWatch Events.
--   
--   <i>See:</i> <a>removeTargetsResultEntry</a> smart constructor.
data RemoveTargetsResultEntry

-- | Creates a value of <a>RemoveTargetsResultEntry</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>rtreTargetId</a> - The ID of the target requested to be removed
--   by Amazon CloudWatch Events.</li>
--   <li><a>rtreErrorCode</a> - The error code representing why the target
--   removal failed on this entry.</li>
--   <li><a>rtreErrorMessage</a> - The error message explaining why the
--   target removal failed on this entry.</li>
--   </ul>
removeTargetsResultEntry :: RemoveTargetsResultEntry

-- | The ID of the target requested to be removed by Amazon CloudWatch
--   Events.
rtreTargetId :: Lens' RemoveTargetsResultEntry (Maybe Text)

-- | The error code representing why the target removal failed on this
--   entry.
rtreErrorCode :: Lens' RemoveTargetsResultEntry (Maybe Text)

-- | The error message explaining why the target removal failed on this
--   entry.
rtreErrorMessage :: Lens' RemoveTargetsResultEntry (Maybe Text)

-- | Contains information about a rule in Amazon CloudWatch Events. A
--   ListRulesResult contains a list of Rules.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</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>rEventPattern</a> - The event pattern of the rule.</li>
--   <li><a>rState</a> - The rule's state.</li>
--   <li><a>rARN</a> - The Amazon Resource Name (ARN) of the rule.</li>
--   <li><a>rScheduleExpression</a> - The scheduling expression. For
--   example, "cron(0 20 * * ? *)", "rate(5 minutes)".</li>
--   <li><a>rName</a> - The rule's name.</li>
--   <li><a>rDescription</a> - The description of the rule.</li>
--   <li><a>rRoleARN</a> - The Amazon Resource Name (ARN) associated with
--   the role that is used for target invocation.</li>
--   </ul>
rule :: Rule

-- | The event pattern of the rule.
rEventPattern :: Lens' Rule (Maybe Text)

-- | The rule's state.
rState :: Lens' Rule (Maybe RuleState)

-- | The Amazon Resource Name (ARN) of the rule.
rARN :: Lens' Rule (Maybe Text)

-- | The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5
--   minutes)".
rScheduleExpression :: Lens' Rule (Maybe Text)

-- | The rule's name.
rName :: Lens' Rule (Maybe Text)

-- | The description of the rule.
rDescription :: Lens' Rule (Maybe Text)

-- | The Amazon Resource Name (ARN) associated with the role that is used
--   for target invocation.
rRoleARN :: Lens' Rule (Maybe Text)

-- | Targets are the resources that can be invoked when a rule is
--   triggered. For example, AWS Lambda functions, Amazon Kinesis streams,
--   and built-in targets.
--   
--   <b>Input</b> and <b>InputPath</b> are mutually-exclusive and optional
--   parameters of a target. When a rule is triggered due to a matched
--   event, if for a target:
--   
--   <ul>
--   <li>Neither <b>Input</b> nor <b>InputPath</b> is specified, then the
--   entire event is passed to the target in JSON form. * <b>InputPath</b>
--   is specified in the form of JSONPath (e.g. <b>&gt; .detail</b> ), then
--   only the part of the event specified in the path is passed to the
--   target (e.g. only the detail part of the event is passed). *
--   <b>Input</b> is specified in the form of a valid JSON, then the
--   matched event is overridden with this constant.</li>
--   </ul>
--   
--   <i>See:</i> <a>target</a> smart constructor.
data Target

-- | Creates a value of <a>Target</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>tInput</a> - Valid JSON text passed to the target. For more
--   information about JSON text, see <a>The JavaScript Object Notation
--   (JSON) Data Interchange Format</a> .</li>
--   <li><a>tInputPath</a> - The value of the JSONPath that is used for
--   extracting part of the matched event when passing it to the target.
--   For more information about JSON paths, see <a>JSONPath</a> .</li>
--   <li><a>tId</a> - The unique target assignment ID.</li>
--   <li><a>tARN</a> - The Amazon Resource Name (ARN) associated of the
--   target.</li>
--   </ul>
target :: Text -> Text -> Target

-- | Valid JSON text passed to the target. For more information about JSON
--   text, see <a>The JavaScript Object Notation (JSON) Data Interchange
--   Format</a> .
tInput :: Lens' Target (Maybe Text)

-- | The value of the JSONPath that is used for extracting part of the
--   matched event when passing it to the target. For more information
--   about JSON paths, see <a>JSONPath</a> .
tInputPath :: Lens' Target (Maybe Text)

-- | The unique target assignment ID.
tId :: Lens' Target Text

-- | The Amazon Resource Name (ARN) associated of the target.
tARN :: Lens' Target Text


module Network.AWS.CloudWatchEvents.Waiters


-- | Tests whether an event pattern matches the provided event.
--   
--   <b>Note:</b> Most services in AWS treat : or / as the same character
--   in Amazon Resource Names (ARNs). However, CloudWatch Events uses an
--   exact match in event patterns and rules. Be sure to use the correct
--   ARN characters when creating event patterns so that they match the ARN
--   syntax in the event you want to match.
module Network.AWS.CloudWatchEvents.TestEventPattern

-- | Creates a value of <a>TestEventPattern</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>tepEventPattern</a> - The event pattern you want to test.</li>
--   <li><a>tepEvent</a> - The event in the JSON format to test against the
--   event pattern.</li>
--   </ul>
testEventPattern :: Text -> Text -> TestEventPattern

-- | Container for the parameters to the <a>TestEventPattern</a> operation.
--   
--   <i>See:</i> <a>testEventPattern</a> smart constructor.
data TestEventPattern

-- | The event pattern you want to test.
tepEventPattern :: Lens' TestEventPattern Text

-- | The event in the JSON format to test against the event pattern.
tepEvent :: Lens' TestEventPattern Text

-- | Creates a value of <a>TestEventPatternResponse</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>teprsResult</a> - Indicates whether the event matches the event
--   pattern.</li>
--   <li><a>teprsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
testEventPatternResponse :: Int -> TestEventPatternResponse

-- | The result of the <a>TestEventPattern</a> operation.
--   
--   <i>See:</i> <a>testEventPatternResponse</a> smart constructor.
data TestEventPatternResponse

-- | Indicates whether the event matches the event pattern.
teprsResult :: Lens' TestEventPatternResponse (Maybe Bool)

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


-- | Removes target(s) from a rule so that when the rule is triggered,
--   those targets will no longer be invoked.
--   
--   <b>Note:</b> When you remove a target, when the associated rule
--   triggers, removed targets might still continue to be invoked. Please
--   allow a short period of time for changes to take effect.
module Network.AWS.CloudWatchEvents.RemoveTargets

-- | Creates a value of <a>RemoveTargets</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>rtRule</a> - The name of the rule you want to remove targets
--   from.</li>
--   <li><a>rtIds</a> - The list of target IDs to remove from the
--   rule.</li>
--   </ul>
removeTargets :: Text -> NonEmpty Text -> RemoveTargets

-- | Container for the parameters to the <a>RemoveTargets</a> operation.
--   
--   <i>See:</i> <a>removeTargets</a> smart constructor.
data RemoveTargets

-- | The name of the rule you want to remove targets from.
rtRule :: Lens' RemoveTargets Text

-- | The list of target IDs to remove from the rule.
rtIds :: Lens' RemoveTargets (NonEmpty Text)

-- | Creates a value of <a>RemoveTargetsResponse</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>rtrsFailedEntryCount</a> - The number of failed entries.</li>
--   <li><a>rtrsFailedEntries</a> - An array of failed target entries.</li>
--   <li><a>rtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
removeTargetsResponse :: Int -> RemoveTargetsResponse

-- | The result of the <a>RemoveTargets</a> operation.
--   
--   <i>See:</i> <a>removeTargetsResponse</a> smart constructor.
data RemoveTargetsResponse

-- | The number of failed entries.
rtrsFailedEntryCount :: Lens' RemoveTargetsResponse (Maybe Int)

-- | An array of failed target entries.
rtrsFailedEntries :: Lens' RemoveTargetsResponse [RemoveTargetsResultEntry]

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


-- | Adds target(s) to a rule. Targets are the resources that can be
--   invoked when a rule is triggered. For example, AWS Lambda functions,
--   Amazon Kinesis streams, and built-in targets. Updates the target(s) if
--   they are already associated with the role. In other words, if there is
--   already a target with the given target ID, then the target associated
--   with that ID is updated.
--   
--   In order to be able to make API calls against the resources you own,
--   Amazon CloudWatch Events needs the appropriate permissions. For AWS
--   Lambda and Amazon SNS resources, CloudWatch Events relies on
--   resource-based policies. For Amazon Kinesis streams, CloudWatch Events
--   relies on IAM roles. For more information, see <a>Permissions for
--   Sending Events to Targets</a> in the <b><i>Amazon CloudWatch Developer
--   Guide</i> </b> .
--   
--   <b>Input</b> and <b>InputPath</b> are mutually-exclusive and optional
--   parameters of a target. When a rule is triggered due to a matched
--   event, if for a target:
--   
--   <ul>
--   <li>Neither <b>Input</b> nor <b>InputPath</b> is specified, then the
--   entire event is passed to the target in JSON form. * <b>InputPath</b>
--   is specified in the form of JSONPath (e.g. <b>&gt; .detail</b> ), then
--   only the part of the event specified in the path is passed to the
--   target (e.g. only the detail part of the event is passed). *
--   <b>Input</b> is specified in the form of a valid JSON, then the
--   matched event is overridden with this constant.</li>
--   </ul>
--   
--   <b>Note:</b> When you add targets to a rule, when the associated rule
--   triggers, new or updated targets might not be immediately invoked.
--   Please allow a short period of time for changes to take effect.
module Network.AWS.CloudWatchEvents.PutTargets

-- | Creates a value of <a>PutTargets</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>ptRule</a> - The name of the rule you want to add targets
--   to.</li>
--   <li><a>ptTargets</a> - List of targets you want to update or add to
--   the rule.</li>
--   </ul>
putTargets :: Text -> PutTargets

-- | Container for the parameters to the <a>PutTargets</a> operation.
--   
--   <i>See:</i> <a>putTargets</a> smart constructor.
data PutTargets

-- | The name of the rule you want to add targets to.
ptRule :: Lens' PutTargets Text

-- | List of targets you want to update or add to the rule.
ptTargets :: Lens' PutTargets [Target]

-- | Creates a value of <a>PutTargetsResponse</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>ptrsFailedEntryCount</a> - The number of failed entries.</li>
--   <li><a>ptrsFailedEntries</a> - An array of failed target entries.</li>
--   <li><a>ptrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putTargetsResponse :: Int -> PutTargetsResponse

-- | The result of the <a>PutTargets</a> operation.
--   
--   <i>See:</i> <a>putTargetsResponse</a> smart constructor.
data PutTargetsResponse

-- | The number of failed entries.
ptrsFailedEntryCount :: Lens' PutTargetsResponse (Maybe Int)

-- | An array of failed target entries.
ptrsFailedEntries :: Lens' PutTargetsResponse [PutTargetsResultEntry]

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


-- | Creates or updates a rule. Rules are enabled by default, or based on
--   value of the State parameter. You can disable a rule using
--   <tt>DisableRule</tt> .
--   
--   <b>Note:</b> When you create or update a rule, incoming events might
--   not immediately start matching to new or updated rules. Please allow a
--   short period of time for changes to take effect.
--   
--   A rule must contain at least an EventPattern or ScheduleExpression.
--   Rules with EventPatterns are triggered when a matching event is
--   observed. Rules with ScheduleExpressions self-trigger based on the
--   given schedule. A rule can have both an EventPattern and a
--   ScheduleExpression, in which case the rule will trigger on matching
--   events as well as on a schedule.
--   
--   <b>Note:</b> Most services in AWS treat : or / as the same character
--   in Amazon Resource Names (ARNs). However, CloudWatch Events uses an
--   exact match in event patterns and rules. Be sure to use the correct
--   ARN characters when creating event patterns so that they match the ARN
--   syntax in the event you want to match.
module Network.AWS.CloudWatchEvents.PutRule

-- | Creates a value of <a>PutRule</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>prEventPattern</a> - The event pattern.</li>
--   <li><a>prState</a> - Indicates whether the rule is enabled or
--   disabled.</li>
--   <li><a>prScheduleExpression</a> - The scheduling expression. For
--   example, "cron(0 20 * * ? *)", "rate(5 minutes)".</li>
--   <li><a>prDescription</a> - A description of the rule.</li>
--   <li><a>prRoleARN</a> - The Amazon Resource Name (ARN) of the IAM role
--   associated with the rule.</li>
--   <li><a>prName</a> - The name of the rule that you are creating or
--   updating.</li>
--   </ul>
putRule :: Text -> PutRule

-- | Container for the parameters to the <a>PutRule</a> operation.
--   
--   <i>See:</i> <a>putRule</a> smart constructor.
data PutRule

-- | The event pattern.
prEventPattern :: Lens' PutRule (Maybe Text)

-- | Indicates whether the rule is enabled or disabled.
prState :: Lens' PutRule (Maybe RuleState)

-- | The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5
--   minutes)".
prScheduleExpression :: Lens' PutRule (Maybe Text)

-- | A description of the rule.
prDescription :: Lens' PutRule (Maybe Text)

-- | The Amazon Resource Name (ARN) of the IAM role associated with the
--   rule.
prRoleARN :: Lens' PutRule (Maybe Text)

-- | The name of the rule that you are creating or updating.
prName :: Lens' PutRule Text

-- | Creates a value of <a>PutRuleResponse</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>prrsRuleARN</a> - The Amazon Resource Name (ARN) that
--   identifies the rule.</li>
--   <li><a>prrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putRuleResponse :: Int -> PutRuleResponse

-- | The result of the <a>PutRule</a> operation.
--   
--   <i>See:</i> <a>putRuleResponse</a> smart constructor.
data PutRuleResponse

-- | The Amazon Resource Name (ARN) that identifies the rule.
prrsRuleARN :: Lens' PutRuleResponse (Maybe Text)

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


-- | Sends custom events to Amazon CloudWatch Events so that they can be
--   matched to rules.
module Network.AWS.CloudWatchEvents.PutEvents

-- | Creates a value of <a>PutEvents</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>peEntries</a> - The entry that defines an event in your system.
--   You can specify several parameters for the entry such as the source
--   and type of the event, resources associated with the event, and so
--   on.</li>
--   </ul>
putEvents :: NonEmpty PutEventsRequestEntry -> PutEvents

-- | Container for the parameters to the <a>PutEvents</a> operation.
--   
--   <i>See:</i> <a>putEvents</a> smart constructor.
data PutEvents

-- | The entry that defines an event in your system. You can specify
--   several parameters for the entry such as the source and type of the
--   event, resources associated with the event, and so on.
peEntries :: Lens' PutEvents (NonEmpty PutEventsRequestEntry)

-- | Creates a value of <a>PutEventsResponse</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>persFailedEntryCount</a> - The number of failed entries.</li>
--   <li><a>persEntries</a> - A list of successfully and unsuccessfully
--   ingested events results. If the ingestion was successful, the entry
--   will have the event ID in it. If not, then the ErrorCode and
--   ErrorMessage can be used to identify the problem with the entry.</li>
--   <li><a>persResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putEventsResponse :: Int -> PutEventsResponse

-- | The result of the <a>PutEvents</a> operation.
--   
--   <i>See:</i> <a>putEventsResponse</a> smart constructor.
data PutEventsResponse

-- | The number of failed entries.
persFailedEntryCount :: Lens' PutEventsResponse (Maybe Int)

-- | A list of successfully and unsuccessfully ingested events results. If
--   the ingestion was successful, the entry will have the event ID in it.
--   If not, then the ErrorCode and ErrorMessage can be used to identify
--   the problem with the entry.
persEntries :: Lens' PutEventsResponse [PutEventsResultEntry]

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


-- | Lists of targets assigned to the rule.
module Network.AWS.CloudWatchEvents.ListTargetsByRule

-- | Creates a value of <a>ListTargetsByRule</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>ltbrNextToken</a> - The token returned by a previous call to
--   indicate that there is more data available.</li>
--   <li><a>ltbrLimit</a> - The maximum number of results to return.</li>
--   <li><a>ltbrRule</a> - The name of the rule whose targets you want to
--   list.</li>
--   </ul>
listTargetsByRule :: Text -> ListTargetsByRule

-- | Container for the parameters to the <a>ListTargetsByRule</a>
--   operation.
--   
--   <i>See:</i> <a>listTargetsByRule</a> smart constructor.
data ListTargetsByRule

-- | The token returned by a previous call to indicate that there is more
--   data available.
ltbrNextToken :: Lens' ListTargetsByRule (Maybe Text)

-- | The maximum number of results to return.
ltbrLimit :: Lens' ListTargetsByRule (Maybe Natural)

-- | The name of the rule whose targets you want to list.
ltbrRule :: Lens' ListTargetsByRule Text

-- | Creates a value of <a>ListTargetsByRuleResponse</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>ltbrrsNextToken</a> - Indicates that there are additional
--   results to retrieve.</li>
--   <li><a>ltbrrsTargets</a> - Lists the targets assigned to the
--   rule.</li>
--   <li><a>ltbrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTargetsByRuleResponse :: Int -> ListTargetsByRuleResponse

-- | The result of the <a>ListTargetsByRule</a> operation.
--   
--   <i>See:</i> <a>listTargetsByRuleResponse</a> smart constructor.
data ListTargetsByRuleResponse

-- | Indicates that there are additional results to retrieve.
ltbrrsNextToken :: Lens' ListTargetsByRuleResponse (Maybe Text)

-- | Lists the targets assigned to the rule.
ltbrrsTargets :: Lens' ListTargetsByRuleResponse [Target]

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


-- | Lists the Amazon CloudWatch Events rules in your account. You can
--   either list all the rules or you can provide a prefix to match to the
--   rule names. If you have more rules in your account than the given
--   limit, the results will be paginated. In that case, use the next token
--   returned in the response and repeat ListRules until the NextToken in
--   the response is returned as null.
module Network.AWS.CloudWatchEvents.ListRules

-- | Creates a value of <a>ListRules</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>lrNextToken</a> - The token returned by a previous call to
--   indicate that there is more data available.</li>
--   <li><a>lrNamePrefix</a> - The prefix matching the rule name.</li>
--   <li><a>lrLimit</a> - The maximum number of results to return.</li>
--   </ul>
listRules :: ListRules

-- | Container for the parameters to the <a>ListRules</a> operation.
--   
--   <i>See:</i> <a>listRules</a> smart constructor.
data ListRules

-- | The token returned by a previous call to indicate that there is more
--   data available.
lrNextToken :: Lens' ListRules (Maybe Text)

-- | The prefix matching the rule name.
lrNamePrefix :: Lens' ListRules (Maybe Text)

-- | The maximum number of results to return.
lrLimit :: Lens' ListRules (Maybe Natural)

-- | Creates a value of <a>ListRulesResponse</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>lrrsRules</a> - List of rules matching the specified
--   criteria.</li>
--   <li><a>lrrsNextToken</a> - Indicates that there are additional results
--   to retrieve.</li>
--   <li><a>lrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listRulesResponse :: Int -> ListRulesResponse

-- | The result of the <a>ListRules</a> operation.
--   
--   <i>See:</i> <a>listRulesResponse</a> smart constructor.
data ListRulesResponse

-- | List of rules matching the specified criteria.
lrrsRules :: Lens' ListRulesResponse [Rule]

-- | Indicates that there are additional results to retrieve.
lrrsNextToken :: Lens' ListRulesResponse (Maybe Text)

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


-- | Lists the names of the rules that the given target is put to. You can
--   see which of the rules in Amazon CloudWatch Events can invoke a
--   specific target in your account. If you have more rules in your
--   account than the given limit, the results will be paginated. In that
--   case, use the next token returned in the response and repeat
--   ListRulesByTarget until the NextToken in the response is returned as
--   null.
module Network.AWS.CloudWatchEvents.ListRuleNamesByTarget

-- | Creates a value of <a>ListRuleNamesByTarget</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>lrnbtNextToken</a> - The token returned by a previous call to
--   indicate that there is more data available.</li>
--   <li><a>lrnbtLimit</a> - The maximum number of results to return.</li>
--   <li><a>lrnbtTargetARN</a> - The Amazon Resource Name (ARN) of the
--   target resource that you want to list the rules for.</li>
--   </ul>
listRuleNamesByTarget :: Text -> ListRuleNamesByTarget

-- | Container for the parameters to the <a>ListRuleNamesByTarget</a>
--   operation.
--   
--   <i>See:</i> <a>listRuleNamesByTarget</a> smart constructor.
data ListRuleNamesByTarget

-- | The token returned by a previous call to indicate that there is more
--   data available.
lrnbtNextToken :: Lens' ListRuleNamesByTarget (Maybe Text)

-- | The maximum number of results to return.
lrnbtLimit :: Lens' ListRuleNamesByTarget (Maybe Natural)

-- | The Amazon Resource Name (ARN) of the target resource that you want to
--   list the rules for.
lrnbtTargetARN :: Lens' ListRuleNamesByTarget Text

-- | Creates a value of <a>ListRuleNamesByTargetResponse</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>lrnbtrsRuleNames</a> - List of rules names that can invoke the
--   given target.</li>
--   <li><a>lrnbtrsNextToken</a> - Indicates that there are additional
--   results to retrieve.</li>
--   <li><a>lrnbtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listRuleNamesByTargetResponse :: Int -> ListRuleNamesByTargetResponse

-- | The result of the <a>ListRuleNamesByTarget</a> operation.
--   
--   <i>See:</i> <a>listRuleNamesByTargetResponse</a> smart constructor.
data ListRuleNamesByTargetResponse

-- | List of rules names that can invoke the given target.
lrnbtrsRuleNames :: Lens' ListRuleNamesByTargetResponse [Text]

-- | Indicates that there are additional results to retrieve.
lrnbtrsNextToken :: Lens' ListRuleNamesByTargetResponse (Maybe Text)

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


-- | Enables a rule. If the rule does not exist, the operation fails.
--   
--   <b>Note:</b> When you enable a rule, incoming events might not
--   immediately start matching to a newly enabled rule. Please allow a
--   short period of time for changes to take effect.
module Network.AWS.CloudWatchEvents.EnableRule

-- | Creates a value of <a>EnableRule</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>erName</a> - The name of the rule that you want to enable.</li>
--   </ul>
enableRule :: Text -> EnableRule

-- | Container for the parameters to the <a>EnableRule</a> operation.
--   
--   <i>See:</i> <a>enableRule</a> smart constructor.
data EnableRule

-- | The name of the rule that you want to enable.
erName :: Lens' EnableRule Text

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

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


-- | Disables a rule. A disabled rule won't match any events, and won't
--   self-trigger if it has a schedule expression.
--   
--   <b>Note:</b> When you disable a rule, incoming events might still
--   continue to match to the disabled rule. Please allow a short period of
--   time for changes to take effect.
module Network.AWS.CloudWatchEvents.DisableRule

-- | Creates a value of <a>DisableRule</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>dName</a> - The name of the rule you want to disable.</li>
--   </ul>
disableRule :: Text -> DisableRule

-- | Container for the parameters to the <a>DisableRule</a> operation.
--   
--   <i>See:</i> <a>disableRule</a> smart constructor.
data DisableRule

-- | The name of the rule you want to disable.
dName :: Lens' DisableRule Text

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

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


-- | Describes the details of the specified rule.
module Network.AWS.CloudWatchEvents.DescribeRule

-- | Creates a value of <a>DescribeRule</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>desName</a> - The name of the rule you want to describe details
--   for.</li>
--   </ul>
describeRule :: Text -> DescribeRule

-- | Container for the parameters to the <a>DescribeRule</a> operation.
--   
--   <i>See:</i> <a>describeRule</a> smart constructor.
data DescribeRule

-- | The name of the rule you want to describe details for.
desName :: Lens' DescribeRule Text

-- | Creates a value of <a>DescribeRuleResponse</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>drrsEventPattern</a> - The event pattern.</li>
--   <li><a>drrsState</a> - Specifies whether the rule is enabled or
--   disabled.</li>
--   <li><a>drrsARN</a> - The Amazon Resource Name (ARN) associated with
--   the rule.</li>
--   <li><a>drrsScheduleExpression</a> - The scheduling expression. For
--   example, "cron(0 20 * * ? *)", "rate(5 minutes)".</li>
--   <li><a>drrsName</a> - The rule's name.</li>
--   <li><a>drrsDescription</a> - The rule's description.</li>
--   <li><a>drrsRoleARN</a> - The Amazon Resource Name (ARN) of the IAM
--   role associated with the rule.</li>
--   <li><a>drrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeRuleResponse :: Int -> DescribeRuleResponse

-- | The result of the <a>DescribeRule</a> operation.
--   
--   <i>See:</i> <a>describeRuleResponse</a> smart constructor.
data DescribeRuleResponse

-- | The event pattern.
drrsEventPattern :: Lens' DescribeRuleResponse (Maybe Text)

-- | Specifies whether the rule is enabled or disabled.
drrsState :: Lens' DescribeRuleResponse (Maybe RuleState)

-- | The Amazon Resource Name (ARN) associated with the rule.
drrsARN :: Lens' DescribeRuleResponse (Maybe Text)

-- | The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5
--   minutes)".
drrsScheduleExpression :: Lens' DescribeRuleResponse (Maybe Text)

-- | The rule's name.
drrsName :: Lens' DescribeRuleResponse (Maybe Text)

-- | The rule's description.
drrsDescription :: Lens' DescribeRuleResponse (Maybe Text)

-- | The Amazon Resource Name (ARN) of the IAM role associated with the
--   rule.
drrsRoleARN :: Lens' DescribeRuleResponse (Maybe Text)

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


-- | Deletes a rule. You must remove all targets from a rule using
--   <tt>RemoveTargets</tt> before you can delete the rule.
--   
--   <b>Note:</b> When you delete a rule, incoming events might still
--   continue to match to the deleted rule. Please allow a short period of
--   time for changes to take effect.
module Network.AWS.CloudWatchEvents.DeleteRule

-- | Creates a value of <a>DeleteRule</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>drName</a> - The name of the rule to be deleted.</li>
--   </ul>
deleteRule :: Text -> DeleteRule

-- | Container for the parameters to the <a>DeleteRule</a> operation.
--   
--   <i>See:</i> <a>deleteRule</a> smart constructor.
data DeleteRule

-- | The name of the rule to be deleted.
drName :: Lens' DeleteRule Text

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

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


-- | Amazon CloudWatch Events helps you to respond to state changes in your
--   AWS resources. When your resources change state they automatically
--   send events into an event stream. You can create rules that match
--   selected events in the stream and route them to targets to take
--   action. You can also use rules to take action on a pre-determined
--   schedule. For example, you can configure rules to:
--   
--   <ul>
--   <li>Automatically invoke an AWS Lambda function to update DNS entries
--   when an event notifies you that Amazon EC2 instance enters the running
--   state. * Direct specific API records from CloudTrail to an Amazon
--   Kinesis stream for detailed analysis of potential security or
--   availability risks. * Periodically invoke a built-in target to create
--   a snapshot of an Amazon EBS volume.</li>
--   </ul>
--   
--   For more information about Amazon CloudWatch Events features, see the
--   <a>Amazon CloudWatch Developer Guide</a> .
module Network.AWS.CloudWatchEvents

-- | API version <tt>2015-10-07</tt> of the Amazon CloudWatch Events SDK
--   configuration.
cloudWatchEvents :: Service

-- | This exception occurs if there is concurrent modification on rule or
--   target.
_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The event pattern is invalid.
_InvalidEventPatternException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This exception occurs due to unexpected causes.
_InternalException :: AsError a => Getting (First ServiceError) a ServiceError

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

-- | This exception occurs if you try to create more rules or add more
--   targets to a rule than allowed by default.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data RuleState
Disabled :: RuleState
Enabled :: RuleState

-- | Contains information about the event to be used in PutEvents.
--   
--   <i>See:</i> <a>putEventsRequestEntry</a> smart constructor.
data PutEventsRequestEntry

-- | Creates a value of <a>PutEventsRequestEntry</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>pereTime</a> - Timestamp of event, per <a>RFC3339</a> . If no
--   timestamp is provided, the timestamp of the <tt>PutEvents</tt> call
--   will be used.</li>
--   <li><a>pereDetailType</a> - Free-form string used to decide what
--   fields to expect in the event detail.</li>
--   <li><a>pereResources</a> - AWS resources, identified by Amazon
--   Resource Name (ARN), which the event primarily concerns. Any number,
--   including zero, may be present.</li>
--   <li><a>pereSource</a> - The source of the event.</li>
--   <li><a>pereDetail</a> - In the JSON sense, an object containing
--   fields, which may also contain nested sub-objects. No constraints are
--   imposed on its contents.</li>
--   </ul>
putEventsRequestEntry :: PutEventsRequestEntry

-- | Timestamp of event, per <a>RFC3339</a> . If no timestamp is provided,
--   the timestamp of the <tt>PutEvents</tt> call will be used.
pereTime :: Lens' PutEventsRequestEntry (Maybe UTCTime)

-- | Free-form string used to decide what fields to expect in the event
--   detail.
pereDetailType :: Lens' PutEventsRequestEntry (Maybe Text)

-- | AWS resources, identified by Amazon Resource Name (ARN), which the
--   event primarily concerns. Any number, including zero, may be present.
pereResources :: Lens' PutEventsRequestEntry [Text]

-- | The source of the event.
pereSource :: Lens' PutEventsRequestEntry (Maybe Text)

-- | In the JSON sense, an object containing fields, which may also contain
--   nested sub-objects. No constraints are imposed on its contents.
pereDetail :: Lens' PutEventsRequestEntry (Maybe Text)

-- | A PutEventsResult contains a list of PutEventsResultEntry.
--   
--   <i>See:</i> <a>putEventsResultEntry</a> smart constructor.
data PutEventsResultEntry

-- | Creates a value of <a>PutEventsResultEntry</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>pereErrorCode</a> - The error code representing why the event
--   submission failed on this entry.</li>
--   <li><a>pereErrorMessage</a> - The error message explaining why the
--   event submission failed on this entry.</li>
--   <li><a>pereEventId</a> - The ID of the event submitted to Amazon
--   CloudWatch Events.</li>
--   </ul>
putEventsResultEntry :: PutEventsResultEntry

-- | The error code representing why the event submission failed on this
--   entry.
pereErrorCode :: Lens' PutEventsResultEntry (Maybe Text)

-- | The error message explaining why the event submission failed on this
--   entry.
pereErrorMessage :: Lens' PutEventsResultEntry (Maybe Text)

-- | The ID of the event submitted to Amazon CloudWatch Events.
pereEventId :: Lens' PutEventsResultEntry (Maybe Text)

-- | A PutTargetsResult contains a list of PutTargetsResultEntry.
--   
--   <i>See:</i> <a>putTargetsResultEntry</a> smart constructor.
data PutTargetsResultEntry

-- | Creates a value of <a>PutTargetsResultEntry</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>ptreTargetId</a> - The ID of the target submitted to Amazon
--   CloudWatch Events.</li>
--   <li><a>ptreErrorCode</a> - The error code representing why the target
--   submission failed on this entry.</li>
--   <li><a>ptreErrorMessage</a> - The error message explaining why the
--   target submission failed on this entry.</li>
--   </ul>
putTargetsResultEntry :: PutTargetsResultEntry

-- | The ID of the target submitted to Amazon CloudWatch Events.
ptreTargetId :: Lens' PutTargetsResultEntry (Maybe Text)

-- | The error code representing why the target submission failed on this
--   entry.
ptreErrorCode :: Lens' PutTargetsResultEntry (Maybe Text)

-- | The error message explaining why the target submission failed on this
--   entry.
ptreErrorMessage :: Lens' PutTargetsResultEntry (Maybe Text)

-- | The ID of the target requested to be removed from the rule by Amazon
--   CloudWatch Events.
--   
--   <i>See:</i> <a>removeTargetsResultEntry</a> smart constructor.
data RemoveTargetsResultEntry

-- | Creates a value of <a>RemoveTargetsResultEntry</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>rtreTargetId</a> - The ID of the target requested to be removed
--   by Amazon CloudWatch Events.</li>
--   <li><a>rtreErrorCode</a> - The error code representing why the target
--   removal failed on this entry.</li>
--   <li><a>rtreErrorMessage</a> - The error message explaining why the
--   target removal failed on this entry.</li>
--   </ul>
removeTargetsResultEntry :: RemoveTargetsResultEntry

-- | The ID of the target requested to be removed by Amazon CloudWatch
--   Events.
rtreTargetId :: Lens' RemoveTargetsResultEntry (Maybe Text)

-- | The error code representing why the target removal failed on this
--   entry.
rtreErrorCode :: Lens' RemoveTargetsResultEntry (Maybe Text)

-- | The error message explaining why the target removal failed on this
--   entry.
rtreErrorMessage :: Lens' RemoveTargetsResultEntry (Maybe Text)

-- | Contains information about a rule in Amazon CloudWatch Events. A
--   ListRulesResult contains a list of Rules.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</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>rEventPattern</a> - The event pattern of the rule.</li>
--   <li><a>rState</a> - The rule's state.</li>
--   <li><a>rARN</a> - The Amazon Resource Name (ARN) of the rule.</li>
--   <li><a>rScheduleExpression</a> - The scheduling expression. For
--   example, "cron(0 20 * * ? *)", "rate(5 minutes)".</li>
--   <li><a>rName</a> - The rule's name.</li>
--   <li><a>rDescription</a> - The description of the rule.</li>
--   <li><a>rRoleARN</a> - The Amazon Resource Name (ARN) associated with
--   the role that is used for target invocation.</li>
--   </ul>
rule :: Rule

-- | The event pattern of the rule.
rEventPattern :: Lens' Rule (Maybe Text)

-- | The rule's state.
rState :: Lens' Rule (Maybe RuleState)

-- | The Amazon Resource Name (ARN) of the rule.
rARN :: Lens' Rule (Maybe Text)

-- | The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5
--   minutes)".
rScheduleExpression :: Lens' Rule (Maybe Text)

-- | The rule's name.
rName :: Lens' Rule (Maybe Text)

-- | The description of the rule.
rDescription :: Lens' Rule (Maybe Text)

-- | The Amazon Resource Name (ARN) associated with the role that is used
--   for target invocation.
rRoleARN :: Lens' Rule (Maybe Text)

-- | Targets are the resources that can be invoked when a rule is
--   triggered. For example, AWS Lambda functions, Amazon Kinesis streams,
--   and built-in targets.
--   
--   <b>Input</b> and <b>InputPath</b> are mutually-exclusive and optional
--   parameters of a target. When a rule is triggered due to a matched
--   event, if for a target:
--   
--   <ul>
--   <li>Neither <b>Input</b> nor <b>InputPath</b> is specified, then the
--   entire event is passed to the target in JSON form. * <b>InputPath</b>
--   is specified in the form of JSONPath (e.g. <b>&gt; .detail</b> ), then
--   only the part of the event specified in the path is passed to the
--   target (e.g. only the detail part of the event is passed). *
--   <b>Input</b> is specified in the form of a valid JSON, then the
--   matched event is overridden with this constant.</li>
--   </ul>
--   
--   <i>See:</i> <a>target</a> smart constructor.
data Target

-- | Creates a value of <a>Target</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>tInput</a> - Valid JSON text passed to the target. For more
--   information about JSON text, see <a>The JavaScript Object Notation
--   (JSON) Data Interchange Format</a> .</li>
--   <li><a>tInputPath</a> - The value of the JSONPath that is used for
--   extracting part of the matched event when passing it to the target.
--   For more information about JSON paths, see <a>JSONPath</a> .</li>
--   <li><a>tId</a> - The unique target assignment ID.</li>
--   <li><a>tARN</a> - The Amazon Resource Name (ARN) associated of the
--   target.</li>
--   </ul>
target :: Text -> Text -> Target

-- | Valid JSON text passed to the target. For more information about JSON
--   text, see <a>The JavaScript Object Notation (JSON) Data Interchange
--   Format</a> .
tInput :: Lens' Target (Maybe Text)

-- | The value of the JSONPath that is used for extracting part of the
--   matched event when passing it to the target. For more information
--   about JSON paths, see <a>JSONPath</a> .
tInputPath :: Lens' Target (Maybe Text)

-- | The unique target assignment ID.
tId :: Lens' Target Text

-- | The Amazon Resource Name (ARN) associated of the target.
tARN :: Lens' Target Text
