amazonka-cloudwatch-events (empty) → 1.4.0
raw patch · 49 files changed
+3517/−0 lines, 49 filesdep +amazonka-cloudwatch-eventsdep +amazonka-coredep +amazonka-testsetup-changed
Dependencies added: amazonka-cloudwatch-events, amazonka-core, amazonka-test, base, bytestring, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +59/−0
- Setup.hs +2/−0
- amazonka-cloudwatch-events.cabal +110/−0
- fixture/DeleteRule.yaml +0/−0
- fixture/DeleteRuleResponse.proto +0/−0
- fixture/DescribeRule.yaml +0/−0
- fixture/DescribeRuleResponse.proto +0/−0
- fixture/DisableRule.yaml +0/−0
- fixture/DisableRuleResponse.proto +0/−0
- fixture/EnableRule.yaml +0/−0
- fixture/EnableRuleResponse.proto +0/−0
- fixture/ListRuleNamesByTarget.yaml +0/−0
- fixture/ListRuleNamesByTargetResponse.proto +0/−0
- fixture/ListRules.yaml +0/−0
- fixture/ListRulesResponse.proto +0/−0
- fixture/ListTargetsByRule.yaml +0/−0
- fixture/ListTargetsByRuleResponse.proto +0/−0
- fixture/PutEvents.yaml +0/−0
- fixture/PutEventsResponse.proto +0/−0
- fixture/PutRule.yaml +0/−0
- fixture/PutRuleResponse.proto +0/−0
- fixture/PutTargets.yaml +0/−0
- fixture/PutTargetsResponse.proto +0/−0
- fixture/RemoveTargets.yaml +0/−0
- fixture/RemoveTargetsResponse.proto +0/−0
- fixture/TestEventPattern.yaml +0/−0
- fixture/TestEventPatternResponse.proto +0/−0
- gen/Network/AWS/CloudWatchEvents.hs +195/−0
- gen/Network/AWS/CloudWatchEvents/DeleteRule.hs +106/−0
- gen/Network/AWS/CloudWatchEvents/DescribeRule.hs +190/−0
- gen/Network/AWS/CloudWatchEvents/DisableRule.hs +106/−0
- gen/Network/AWS/CloudWatchEvents/EnableRule.hs +105/−0
- gen/Network/AWS/CloudWatchEvents/ListRuleNamesByTarget.hs +170/−0
- gen/Network/AWS/CloudWatchEvents/ListRules.hs +166/−0
- gen/Network/AWS/CloudWatchEvents/ListTargetsByRule.hs +162/−0
- gen/Network/AWS/CloudWatchEvents/PutEvents.hs +146/−0
- gen/Network/AWS/CloudWatchEvents/PutRule.hs +201/−0
- gen/Network/AWS/CloudWatchEvents/PutTargets.hs +182/−0
- gen/Network/AWS/CloudWatchEvents/RemoveTargets.hs +157/−0
- gen/Network/AWS/CloudWatchEvents/TestEventPattern.hs +148/−0
- gen/Network/AWS/CloudWatchEvents/Types.hs +139/−0
- gen/Network/AWS/CloudWatchEvents/Types/Product.hs +423/−0
- gen/Network/AWS/CloudWatchEvents/Types/Sum.hs +48/−0
- gen/Network/AWS/CloudWatchEvents/Waiters.hs +21/−0
- test/Main.hs +21/−0
- test/Test/AWS/CloudWatchEvents.hs +23/−0
- test/Test/AWS/CloudWatchEvents/Internal.hs +15/−0
- test/Test/AWS/Gen/CloudWatchEvents.hs +255/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,59 @@+# Amazon CloudWatch Events SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.4.0`+++## Description++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:++- 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.++For more information about Amazon CloudWatch Events features, see the+<http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide Amazon CloudWatch Developer Guide>.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-cloudwatch-events)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-cloudwatch-events` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-cloudwatch-events.cabal view
@@ -0,0 +1,110 @@+name: amazonka-cloudwatch-events+version: 1.4.0+synopsis: Amazon CloudWatch Events SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2016 Brendan Hay+category: Network, AWS, Cloud, Distributed Computing+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md fixture/*.yaml fixture/*.proto+description:+ 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:++ - 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.++ For more information about Amazon CloudWatch Events features, see the+ <http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide Amazon CloudWatch Developer Guide>.+ .+ The types from this library are intended to be used with+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides+ mechanisms for specifying AuthN/AuthZ information and sending requests.+ .+ Use of lenses is required for constructing and manipulating types.+ This is due to the amount of nesting of AWS types and transparency regarding+ de/serialisation into more palatable Haskell values.+ The provided lenses should be compatible with any of the major lens libraries+ such as <http://hackage.haskell.org/package/lens lens> or+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Network.AWS.CloudWatchEvents" or <https://aws.amazon.com/documentation/ the AWS Documentation>+ to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.CloudWatchEvents+ , Network.AWS.CloudWatchEvents.DeleteRule+ , Network.AWS.CloudWatchEvents.DescribeRule+ , Network.AWS.CloudWatchEvents.DisableRule+ , Network.AWS.CloudWatchEvents.EnableRule+ , Network.AWS.CloudWatchEvents.ListRuleNamesByTarget+ , Network.AWS.CloudWatchEvents.ListRules+ , Network.AWS.CloudWatchEvents.ListTargetsByRule+ , Network.AWS.CloudWatchEvents.PutEvents+ , Network.AWS.CloudWatchEvents.PutRule+ , Network.AWS.CloudWatchEvents.PutTargets+ , Network.AWS.CloudWatchEvents.RemoveTargets+ , Network.AWS.CloudWatchEvents.TestEventPattern+ , Network.AWS.CloudWatchEvents.Types+ , Network.AWS.CloudWatchEvents.Waiters++ other-modules:+ Network.AWS.CloudWatchEvents.Types.Product+ , Network.AWS.CloudWatchEvents.Types.Sum++ build-depends:+ amazonka-core == 1.4.0.*+ , base >= 4.7 && < 5++test-suite amazonka-cloudwatch-events-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs++ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.AWS.CloudWatchEvents+ , Test.AWS.Gen.CloudWatchEvents+ , Test.AWS.CloudWatchEvents.Internal++ build-depends:+ amazonka-core == 1.4.0.*+ , amazonka-test == 1.4.0.*+ , amazonka-cloudwatch-events == 1.4.0.*+ , base+ , bytestring+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/DeleteRule.yaml view
+ fixture/DeleteRuleResponse.proto view
+ fixture/DescribeRule.yaml view
+ fixture/DescribeRuleResponse.proto view
+ fixture/DisableRule.yaml view
+ fixture/DisableRuleResponse.proto view
+ fixture/EnableRule.yaml view
+ fixture/EnableRuleResponse.proto view
+ fixture/ListRuleNamesByTarget.yaml view
+ fixture/ListRuleNamesByTargetResponse.proto view
+ fixture/ListRules.yaml view
+ fixture/ListRulesResponse.proto view
+ fixture/ListTargetsByRule.yaml view
+ fixture/ListTargetsByRuleResponse.proto view
+ fixture/PutEvents.yaml view
+ fixture/PutEventsResponse.proto view
+ fixture/PutRule.yaml view
+ fixture/PutRuleResponse.proto view
+ fixture/PutTargets.yaml view
+ fixture/PutTargetsResponse.proto view
+ fixture/RemoveTargets.yaml view
+ fixture/RemoveTargetsResponse.proto view
+ fixture/TestEventPattern.yaml view
+ fixture/TestEventPatternResponse.proto view
+ gen/Network/AWS/CloudWatchEvents.hs view
@@ -0,0 +1,195 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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:+--+-- - 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.+--+-- For more information about Amazon CloudWatch Events features, see the+-- <http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide Amazon CloudWatch Developer Guide>.+module Network.AWS.CloudWatchEvents+ (+ -- * Service Configuration+ cloudWatchEvents++ -- * Errors+ -- $errors++ -- ** ConcurrentModificationException+ , _ConcurrentModificationException++ -- ** InvalidEventPatternException+ , _InvalidEventPatternException++ -- ** InternalException+ , _InternalException++ -- ** ResourceNotFoundException+ , _ResourceNotFoundException++ -- ** LimitExceededException+ , _LimitExceededException++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** RemoveTargets+ , module Network.AWS.CloudWatchEvents.RemoveTargets++ -- ** DeleteRule+ , module Network.AWS.CloudWatchEvents.DeleteRule++ -- ** ListRules+ , module Network.AWS.CloudWatchEvents.ListRules++ -- ** PutRule+ , module Network.AWS.CloudWatchEvents.PutRule++ -- ** DisableRule+ , module Network.AWS.CloudWatchEvents.DisableRule++ -- ** ListTargetsByRule+ , module Network.AWS.CloudWatchEvents.ListTargetsByRule++ -- ** DescribeRule+ , module Network.AWS.CloudWatchEvents.DescribeRule++ -- ** EnableRule+ , module Network.AWS.CloudWatchEvents.EnableRule++ -- ** ListRuleNamesByTarget+ , module Network.AWS.CloudWatchEvents.ListRuleNamesByTarget++ -- ** TestEventPattern+ , module Network.AWS.CloudWatchEvents.TestEventPattern++ -- ** PutTargets+ , module Network.AWS.CloudWatchEvents.PutTargets++ -- ** PutEvents+ , module Network.AWS.CloudWatchEvents.PutEvents++ -- * Types++ -- ** RuleState+ , RuleState (..)++ -- ** PutEventsRequestEntry+ , PutEventsRequestEntry+ , putEventsRequestEntry+ , pereTime+ , pereDetailType+ , pereResources+ , pereSource+ , pereDetail++ -- ** PutEventsResultEntry+ , PutEventsResultEntry+ , putEventsResultEntry+ , pereErrorCode+ , pereErrorMessage+ , pereEventId++ -- ** PutTargetsResultEntry+ , PutTargetsResultEntry+ , putTargetsResultEntry+ , ptreTargetId+ , ptreErrorCode+ , ptreErrorMessage++ -- ** RemoveTargetsResultEntry+ , RemoveTargetsResultEntry+ , removeTargetsResultEntry+ , rtreTargetId+ , rtreErrorCode+ , rtreErrorMessage++ -- ** Rule+ , Rule+ , rule+ , rEventPattern+ , rState+ , rARN+ , rScheduleExpression+ , rName+ , rDescription+ , rRoleARN++ -- ** Target+ , Target+ , target+ , tInput+ , tInputPath+ , tId+ , tARN+ ) where++import Network.AWS.CloudWatchEvents.DeleteRule+import Network.AWS.CloudWatchEvents.DescribeRule+import Network.AWS.CloudWatchEvents.DisableRule+import Network.AWS.CloudWatchEvents.EnableRule+import Network.AWS.CloudWatchEvents.ListRuleNamesByTarget+import Network.AWS.CloudWatchEvents.ListRules+import Network.AWS.CloudWatchEvents.ListTargetsByRule+import Network.AWS.CloudWatchEvents.PutEvents+import Network.AWS.CloudWatchEvents.PutRule+import Network.AWS.CloudWatchEvents.PutTargets+import Network.AWS.CloudWatchEvents.RemoveTargets+import Network.AWS.CloudWatchEvents.TestEventPattern+import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'CloudWatchEvents'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/CloudWatchEvents/DeleteRule.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.DeleteRule+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a rule. You must remove all targets from a rule using+-- < RemoveTargets> before you can delete the rule.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ deleteRule+ , DeleteRule+ -- * Request Lenses+ , drName++ -- * Destructuring the Response+ , deleteRuleResponse+ , DeleteRuleResponse+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < DeleteRule> operation.+--+-- /See:/ 'deleteRule' smart constructor.+newtype DeleteRule = DeleteRule'+ { _drName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drName'+deleteRule+ :: Text -- ^ 'drName'+ -> DeleteRule+deleteRule pName_ =+ DeleteRule'+ { _drName = pName_+ }++-- | The name of the rule to be deleted.+drName :: Lens' DeleteRule Text+drName = lens _drName (\ s a -> s{_drName = a});++instance AWSRequest DeleteRule where+ type Rs DeleteRule = DeleteRuleResponse+ request = postJSON cloudWatchEvents+ response = receiveNull DeleteRuleResponse'++instance Hashable DeleteRule++instance ToHeaders DeleteRule where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.DeleteRule" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteRule where+ toJSON DeleteRule'{..}+ = object (catMaybes [Just ("Name" .= _drName)])++instance ToPath DeleteRule where+ toPath = const "/"++instance ToQuery DeleteRule where+ toQuery = const mempty++-- | /See:/ 'deleteRuleResponse' smart constructor.+data DeleteRuleResponse =+ DeleteRuleResponse'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteRuleResponse' with the minimum fields required to make a request.+--+deleteRuleResponse+ :: DeleteRuleResponse+deleteRuleResponse = DeleteRuleResponse'
+ gen/Network/AWS/CloudWatchEvents/DescribeRule.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.DescribeRule+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the details of the specified rule.+module Network.AWS.CloudWatchEvents.DescribeRule+ (+ -- * Creating a Request+ describeRule+ , DescribeRule+ -- * Request Lenses+ , desName++ -- * Destructuring the Response+ , describeRuleResponse+ , DescribeRuleResponse+ -- * Response Lenses+ , drrsEventPattern+ , drrsState+ , drrsARN+ , drrsScheduleExpression+ , drrsName+ , drrsDescription+ , drrsRoleARN+ , drrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < DescribeRule> operation.+--+-- /See:/ 'describeRule' smart constructor.+newtype DescribeRule = DescribeRule'+ { _desName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'desName'+describeRule+ :: Text -- ^ 'desName'+ -> DescribeRule+describeRule pName_ =+ DescribeRule'+ { _desName = pName_+ }++-- | The name of the rule you want to describe details for.+desName :: Lens' DescribeRule Text+desName = lens _desName (\ s a -> s{_desName = a});++instance AWSRequest DescribeRule where+ type Rs DescribeRule = DescribeRuleResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ DescribeRuleResponse' <$>+ (x .?> "EventPattern") <*> (x .?> "State") <*>+ (x .?> "Arn")+ <*> (x .?> "ScheduleExpression")+ <*> (x .?> "Name")+ <*> (x .?> "Description")+ <*> (x .?> "RoleArn")+ <*> (pure (fromEnum s)))++instance Hashable DescribeRule++instance ToHeaders DescribeRule where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.DescribeRule" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeRule where+ toJSON DescribeRule'{..}+ = object (catMaybes [Just ("Name" .= _desName)])++instance ToPath DescribeRule where+ toPath = const "/"++instance ToQuery DescribeRule where+ toQuery = const mempty++-- | The result of the < DescribeRule> operation.+--+-- /See:/ 'describeRuleResponse' smart constructor.+data DescribeRuleResponse = DescribeRuleResponse'+ { _drrsEventPattern :: !(Maybe Text)+ , _drrsState :: !(Maybe RuleState)+ , _drrsARN :: !(Maybe Text)+ , _drrsScheduleExpression :: !(Maybe Text)+ , _drrsName :: !(Maybe Text)+ , _drrsDescription :: !(Maybe Text)+ , _drrsRoleARN :: !(Maybe Text)+ , _drrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeRuleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrsEventPattern'+--+-- * 'drrsState'+--+-- * 'drrsARN'+--+-- * 'drrsScheduleExpression'+--+-- * 'drrsName'+--+-- * 'drrsDescription'+--+-- * 'drrsRoleARN'+--+-- * 'drrsResponseStatus'+describeRuleResponse+ :: Int -- ^ 'drrsResponseStatus'+ -> DescribeRuleResponse+describeRuleResponse pResponseStatus_ =+ DescribeRuleResponse'+ { _drrsEventPattern = Nothing+ , _drrsState = Nothing+ , _drrsARN = Nothing+ , _drrsScheduleExpression = Nothing+ , _drrsName = Nothing+ , _drrsDescription = Nothing+ , _drrsRoleARN = Nothing+ , _drrsResponseStatus = pResponseStatus_+ }++-- | The event pattern.+drrsEventPattern :: Lens' DescribeRuleResponse (Maybe Text)+drrsEventPattern = lens _drrsEventPattern (\ s a -> s{_drrsEventPattern = a});++-- | Specifies whether the rule is enabled or disabled.+drrsState :: Lens' DescribeRuleResponse (Maybe RuleState)+drrsState = lens _drrsState (\ s a -> s{_drrsState = a});++-- | The Amazon Resource Name (ARN) associated with the rule.+drrsARN :: Lens' DescribeRuleResponse (Maybe Text)+drrsARN = lens _drrsARN (\ s a -> s{_drrsARN = a});++-- | The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5+-- minutes)\".+drrsScheduleExpression :: Lens' DescribeRuleResponse (Maybe Text)+drrsScheduleExpression = lens _drrsScheduleExpression (\ s a -> s{_drrsScheduleExpression = a});++-- | The rule\'s name.+drrsName :: Lens' DescribeRuleResponse (Maybe Text)+drrsName = lens _drrsName (\ s a -> s{_drrsName = a});++-- | The rule\'s description.+drrsDescription :: Lens' DescribeRuleResponse (Maybe Text)+drrsDescription = lens _drrsDescription (\ s a -> s{_drrsDescription = a});++-- | The Amazon Resource Name (ARN) of the IAM role associated with the rule.+drrsRoleARN :: Lens' DescribeRuleResponse (Maybe Text)+drrsRoleARN = lens _drrsRoleARN (\ s a -> s{_drrsRoleARN = a});++-- | The response status code.+drrsResponseStatus :: Lens' DescribeRuleResponse Int+drrsResponseStatus = lens _drrsResponseStatus (\ s a -> s{_drrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/DisableRule.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.DisableRule+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disables a rule. A disabled rule won\'t match any events, and won\'t+-- self-trigger if it has a schedule expression.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ disableRule+ , DisableRule+ -- * Request Lenses+ , dName++ -- * Destructuring the Response+ , disableRuleResponse+ , DisableRuleResponse+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < DisableRule> operation.+--+-- /See:/ 'disableRule' smart constructor.+newtype DisableRule = DisableRule'+ { _dName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dName'+disableRule+ :: Text -- ^ 'dName'+ -> DisableRule+disableRule pName_ =+ DisableRule'+ { _dName = pName_+ }++-- | The name of the rule you want to disable.+dName :: Lens' DisableRule Text+dName = lens _dName (\ s a -> s{_dName = a});++instance AWSRequest DisableRule where+ type Rs DisableRule = DisableRuleResponse+ request = postJSON cloudWatchEvents+ response = receiveNull DisableRuleResponse'++instance Hashable DisableRule++instance ToHeaders DisableRule where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.DisableRule" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DisableRule where+ toJSON DisableRule'{..}+ = object (catMaybes [Just ("Name" .= _dName)])++instance ToPath DisableRule where+ toPath = const "/"++instance ToQuery DisableRule where+ toQuery = const mempty++-- | /See:/ 'disableRuleResponse' smart constructor.+data DisableRuleResponse =+ DisableRuleResponse'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableRuleResponse' with the minimum fields required to make a request.+--+disableRuleResponse+ :: DisableRuleResponse+disableRuleResponse = DisableRuleResponse'
+ gen/Network/AWS/CloudWatchEvents/EnableRule.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.EnableRule+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables a rule. If the rule does not exist, the operation fails.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ enableRule+ , EnableRule+ -- * Request Lenses+ , erName++ -- * Destructuring the Response+ , enableRuleResponse+ , EnableRuleResponse+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < EnableRule> operation.+--+-- /See:/ 'enableRule' smart constructor.+newtype EnableRule = EnableRule'+ { _erName :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'erName'+enableRule+ :: Text -- ^ 'erName'+ -> EnableRule+enableRule pName_ =+ EnableRule'+ { _erName = pName_+ }++-- | The name of the rule that you want to enable.+erName :: Lens' EnableRule Text+erName = lens _erName (\ s a -> s{_erName = a});++instance AWSRequest EnableRule where+ type Rs EnableRule = EnableRuleResponse+ request = postJSON cloudWatchEvents+ response = receiveNull EnableRuleResponse'++instance Hashable EnableRule++instance ToHeaders EnableRule where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.EnableRule" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON EnableRule where+ toJSON EnableRule'{..}+ = object (catMaybes [Just ("Name" .= _erName)])++instance ToPath EnableRule where+ toPath = const "/"++instance ToQuery EnableRule where+ toQuery = const mempty++-- | /See:/ 'enableRuleResponse' smart constructor.+data EnableRuleResponse =+ EnableRuleResponse'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableRuleResponse' with the minimum fields required to make a request.+--+enableRuleResponse+ :: EnableRuleResponse+enableRuleResponse = EnableRuleResponse'
+ gen/Network/AWS/CloudWatchEvents/ListRuleNamesByTarget.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.ListRuleNamesByTarget+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+ (+ -- * Creating a Request+ listRuleNamesByTarget+ , ListRuleNamesByTarget+ -- * Request Lenses+ , lrnbtNextToken+ , lrnbtLimit+ , lrnbtTargetARN++ -- * Destructuring the Response+ , listRuleNamesByTargetResponse+ , ListRuleNamesByTargetResponse+ -- * Response Lenses+ , lrnbtrsRuleNames+ , lrnbtrsNextToken+ , lrnbtrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < ListRuleNamesByTarget> operation.+--+-- /See:/ 'listRuleNamesByTarget' smart constructor.+data ListRuleNamesByTarget = ListRuleNamesByTarget'+ { _lrnbtNextToken :: !(Maybe Text)+ , _lrnbtLimit :: !(Maybe Nat)+ , _lrnbtTargetARN :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListRuleNamesByTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrnbtNextToken'+--+-- * 'lrnbtLimit'+--+-- * 'lrnbtTargetARN'+listRuleNamesByTarget+ :: Text -- ^ 'lrnbtTargetARN'+ -> ListRuleNamesByTarget+listRuleNamesByTarget pTargetARN_ =+ ListRuleNamesByTarget'+ { _lrnbtNextToken = Nothing+ , _lrnbtLimit = Nothing+ , _lrnbtTargetARN = pTargetARN_+ }++-- | The token returned by a previous call to indicate that there is more+-- data available.+lrnbtNextToken :: Lens' ListRuleNamesByTarget (Maybe Text)+lrnbtNextToken = lens _lrnbtNextToken (\ s a -> s{_lrnbtNextToken = a});++-- | The maximum number of results to return.+lrnbtLimit :: Lens' ListRuleNamesByTarget (Maybe Natural)+lrnbtLimit = lens _lrnbtLimit (\ s a -> s{_lrnbtLimit = a}) . mapping _Nat;++-- | The Amazon Resource Name (ARN) of the target resource that you want to+-- list the rules for.+lrnbtTargetARN :: Lens' ListRuleNamesByTarget Text+lrnbtTargetARN = lens _lrnbtTargetARN (\ s a -> s{_lrnbtTargetARN = a});++instance AWSRequest ListRuleNamesByTarget where+ type Rs ListRuleNamesByTarget =+ ListRuleNamesByTargetResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ ListRuleNamesByTargetResponse' <$>+ (x .?> "RuleNames" .!@ mempty) <*>+ (x .?> "NextToken")+ <*> (pure (fromEnum s)))++instance Hashable ListRuleNamesByTarget++instance ToHeaders ListRuleNamesByTarget where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.ListRuleNamesByTarget" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListRuleNamesByTarget where+ toJSON ListRuleNamesByTarget'{..}+ = object+ (catMaybes+ [("NextToken" .=) <$> _lrnbtNextToken,+ ("Limit" .=) <$> _lrnbtLimit,+ Just ("TargetArn" .= _lrnbtTargetARN)])++instance ToPath ListRuleNamesByTarget where+ toPath = const "/"++instance ToQuery ListRuleNamesByTarget where+ toQuery = const mempty++-- | The result of the < ListRuleNamesByTarget> operation.+--+-- /See:/ 'listRuleNamesByTargetResponse' smart constructor.+data ListRuleNamesByTargetResponse = ListRuleNamesByTargetResponse'+ { _lrnbtrsRuleNames :: !(Maybe [Text])+ , _lrnbtrsNextToken :: !(Maybe Text)+ , _lrnbtrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListRuleNamesByTargetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrnbtrsRuleNames'+--+-- * 'lrnbtrsNextToken'+--+-- * 'lrnbtrsResponseStatus'+listRuleNamesByTargetResponse+ :: Int -- ^ 'lrnbtrsResponseStatus'+ -> ListRuleNamesByTargetResponse+listRuleNamesByTargetResponse pResponseStatus_ =+ ListRuleNamesByTargetResponse'+ { _lrnbtrsRuleNames = Nothing+ , _lrnbtrsNextToken = Nothing+ , _lrnbtrsResponseStatus = pResponseStatus_+ }++-- | List of rules names that can invoke the given target.+lrnbtrsRuleNames :: Lens' ListRuleNamesByTargetResponse [Text]+lrnbtrsRuleNames = lens _lrnbtrsRuleNames (\ s a -> s{_lrnbtrsRuleNames = a}) . _Default . _Coerce;++-- | Indicates that there are additional results to retrieve.+lrnbtrsNextToken :: Lens' ListRuleNamesByTargetResponse (Maybe Text)+lrnbtrsNextToken = lens _lrnbtrsNextToken (\ s a -> s{_lrnbtrsNextToken = a});++-- | The response status code.+lrnbtrsResponseStatus :: Lens' ListRuleNamesByTargetResponse Int+lrnbtrsResponseStatus = lens _lrnbtrsResponseStatus (\ s a -> s{_lrnbtrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/ListRules.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.ListRules+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+ (+ -- * Creating a Request+ listRules+ , ListRules+ -- * Request Lenses+ , lrNextToken+ , lrNamePrefix+ , lrLimit++ -- * Destructuring the Response+ , listRulesResponse+ , ListRulesResponse+ -- * Response Lenses+ , lrrsRules+ , lrrsNextToken+ , lrrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < ListRules> operation.+--+-- /See:/ 'listRules' smart constructor.+data ListRules = ListRules'+ { _lrNextToken :: !(Maybe Text)+ , _lrNamePrefix :: !(Maybe Text)+ , _lrLimit :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListRules' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrNextToken'+--+-- * 'lrNamePrefix'+--+-- * 'lrLimit'+listRules+ :: ListRules+listRules =+ ListRules'+ { _lrNextToken = Nothing+ , _lrNamePrefix = Nothing+ , _lrLimit = Nothing+ }++-- | The token returned by a previous call to indicate that there is more+-- data available.+lrNextToken :: Lens' ListRules (Maybe Text)+lrNextToken = lens _lrNextToken (\ s a -> s{_lrNextToken = a});++-- | The prefix matching the rule name.+lrNamePrefix :: Lens' ListRules (Maybe Text)+lrNamePrefix = lens _lrNamePrefix (\ s a -> s{_lrNamePrefix = a});++-- | The maximum number of results to return.+lrLimit :: Lens' ListRules (Maybe Natural)+lrLimit = lens _lrLimit (\ s a -> s{_lrLimit = a}) . mapping _Nat;++instance AWSRequest ListRules where+ type Rs ListRules = ListRulesResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ ListRulesResponse' <$>+ (x .?> "Rules" .!@ mempty) <*> (x .?> "NextToken")+ <*> (pure (fromEnum s)))++instance Hashable ListRules++instance ToHeaders ListRules where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.ListRules" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListRules where+ toJSON ListRules'{..}+ = object+ (catMaybes+ [("NextToken" .=) <$> _lrNextToken,+ ("NamePrefix" .=) <$> _lrNamePrefix,+ ("Limit" .=) <$> _lrLimit])++instance ToPath ListRules where+ toPath = const "/"++instance ToQuery ListRules where+ toQuery = const mempty++-- | The result of the < ListRules> operation.+--+-- /See:/ 'listRulesResponse' smart constructor.+data ListRulesResponse = ListRulesResponse'+ { _lrrsRules :: !(Maybe [Rule])+ , _lrrsNextToken :: !(Maybe Text)+ , _lrrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListRulesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrrsRules'+--+-- * 'lrrsNextToken'+--+-- * 'lrrsResponseStatus'+listRulesResponse+ :: Int -- ^ 'lrrsResponseStatus'+ -> ListRulesResponse+listRulesResponse pResponseStatus_ =+ ListRulesResponse'+ { _lrrsRules = Nothing+ , _lrrsNextToken = Nothing+ , _lrrsResponseStatus = pResponseStatus_+ }++-- | List of rules matching the specified criteria.+lrrsRules :: Lens' ListRulesResponse [Rule]+lrrsRules = lens _lrrsRules (\ s a -> s{_lrrsRules = a}) . _Default . _Coerce;++-- | Indicates that there are additional results to retrieve.+lrrsNextToken :: Lens' ListRulesResponse (Maybe Text)+lrrsNextToken = lens _lrrsNextToken (\ s a -> s{_lrrsNextToken = a});++-- | The response status code.+lrrsResponseStatus :: Lens' ListRulesResponse Int+lrrsResponseStatus = lens _lrrsResponseStatus (\ s a -> s{_lrrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/ListTargetsByRule.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.ListTargetsByRule+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists of targets assigned to the rule.+module Network.AWS.CloudWatchEvents.ListTargetsByRule+ (+ -- * Creating a Request+ listTargetsByRule+ , ListTargetsByRule+ -- * Request Lenses+ , ltbrNextToken+ , ltbrLimit+ , ltbrRule++ -- * Destructuring the Response+ , listTargetsByRuleResponse+ , ListTargetsByRuleResponse+ -- * Response Lenses+ , ltbrrsNextToken+ , ltbrrsTargets+ , ltbrrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < ListTargetsByRule> operation.+--+-- /See:/ 'listTargetsByRule' smart constructor.+data ListTargetsByRule = ListTargetsByRule'+ { _ltbrNextToken :: !(Maybe Text)+ , _ltbrLimit :: !(Maybe Nat)+ , _ltbrRule :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTargetsByRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltbrNextToken'+--+-- * 'ltbrLimit'+--+-- * 'ltbrRule'+listTargetsByRule+ :: Text -- ^ 'ltbrRule'+ -> ListTargetsByRule+listTargetsByRule pRule_ =+ ListTargetsByRule'+ { _ltbrNextToken = Nothing+ , _ltbrLimit = Nothing+ , _ltbrRule = pRule_+ }++-- | The token returned by a previous call to indicate that there is more+-- data available.+ltbrNextToken :: Lens' ListTargetsByRule (Maybe Text)+ltbrNextToken = lens _ltbrNextToken (\ s a -> s{_ltbrNextToken = a});++-- | The maximum number of results to return.+ltbrLimit :: Lens' ListTargetsByRule (Maybe Natural)+ltbrLimit = lens _ltbrLimit (\ s a -> s{_ltbrLimit = a}) . mapping _Nat;++-- | The name of the rule whose targets you want to list.+ltbrRule :: Lens' ListTargetsByRule Text+ltbrRule = lens _ltbrRule (\ s a -> s{_ltbrRule = a});++instance AWSRequest ListTargetsByRule where+ type Rs ListTargetsByRule = ListTargetsByRuleResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ ListTargetsByRuleResponse' <$>+ (x .?> "NextToken") <*> (x .?> "Targets" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable ListTargetsByRule++instance ToHeaders ListTargetsByRule where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.ListTargetsByRule" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListTargetsByRule where+ toJSON ListTargetsByRule'{..}+ = object+ (catMaybes+ [("NextToken" .=) <$> _ltbrNextToken,+ ("Limit" .=) <$> _ltbrLimit,+ Just ("Rule" .= _ltbrRule)])++instance ToPath ListTargetsByRule where+ toPath = const "/"++instance ToQuery ListTargetsByRule where+ toQuery = const mempty++-- | The result of the < ListTargetsByRule> operation.+--+-- /See:/ 'listTargetsByRuleResponse' smart constructor.+data ListTargetsByRuleResponse = ListTargetsByRuleResponse'+ { _ltbrrsNextToken :: !(Maybe Text)+ , _ltbrrsTargets :: !(Maybe [Target])+ , _ltbrrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListTargetsByRuleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltbrrsNextToken'+--+-- * 'ltbrrsTargets'+--+-- * 'ltbrrsResponseStatus'+listTargetsByRuleResponse+ :: Int -- ^ 'ltbrrsResponseStatus'+ -> ListTargetsByRuleResponse+listTargetsByRuleResponse pResponseStatus_ =+ ListTargetsByRuleResponse'+ { _ltbrrsNextToken = Nothing+ , _ltbrrsTargets = Nothing+ , _ltbrrsResponseStatus = pResponseStatus_+ }++-- | Indicates that there are additional results to retrieve.+ltbrrsNextToken :: Lens' ListTargetsByRuleResponse (Maybe Text)+ltbrrsNextToken = lens _ltbrrsNextToken (\ s a -> s{_ltbrrsNextToken = a});++-- | Lists the targets assigned to the rule.+ltbrrsTargets :: Lens' ListTargetsByRuleResponse [Target]+ltbrrsTargets = lens _ltbrrsTargets (\ s a -> s{_ltbrrsTargets = a}) . _Default . _Coerce;++-- | The response status code.+ltbrrsResponseStatus :: Lens' ListTargetsByRuleResponse Int+ltbrrsResponseStatus = lens _ltbrrsResponseStatus (\ s a -> s{_ltbrrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/PutEvents.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.PutEvents+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends custom events to Amazon CloudWatch Events so that they can be+-- matched to rules.+module Network.AWS.CloudWatchEvents.PutEvents+ (+ -- * Creating a Request+ putEvents+ , PutEvents+ -- * Request Lenses+ , peEntries++ -- * Destructuring the Response+ , putEventsResponse+ , PutEventsResponse+ -- * Response Lenses+ , persFailedEntryCount+ , persEntries+ , persResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < PutEvents> operation.+--+-- /See:/ 'putEvents' smart constructor.+newtype PutEvents = PutEvents'+ { _peEntries :: List1 PutEventsRequestEntry+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutEvents' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'peEntries'+putEvents+ :: NonEmpty PutEventsRequestEntry -- ^ 'peEntries'+ -> PutEvents+putEvents pEntries_ =+ PutEvents'+ { _peEntries = _List1 # pEntries_+ }++-- | 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)+peEntries = lens _peEntries (\ s a -> s{_peEntries = a}) . _List1;++instance AWSRequest PutEvents where+ type Rs PutEvents = PutEventsResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ PutEventsResponse' <$>+ (x .?> "FailedEntryCount") <*>+ (x .?> "Entries" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable PutEvents++instance ToHeaders PutEvents where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.PutEvents" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutEvents where+ toJSON PutEvents'{..}+ = object (catMaybes [Just ("Entries" .= _peEntries)])++instance ToPath PutEvents where+ toPath = const "/"++instance ToQuery PutEvents where+ toQuery = const mempty++-- | The result of the < PutEvents> operation.+--+-- /See:/ 'putEventsResponse' smart constructor.+data PutEventsResponse = PutEventsResponse'+ { _persFailedEntryCount :: !(Maybe Int)+ , _persEntries :: !(Maybe [PutEventsResultEntry])+ , _persResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutEventsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'persFailedEntryCount'+--+-- * 'persEntries'+--+-- * 'persResponseStatus'+putEventsResponse+ :: Int -- ^ 'persResponseStatus'+ -> PutEventsResponse+putEventsResponse pResponseStatus_ =+ PutEventsResponse'+ { _persFailedEntryCount = Nothing+ , _persEntries = Nothing+ , _persResponseStatus = pResponseStatus_+ }++-- | The number of failed entries.+persFailedEntryCount :: Lens' PutEventsResponse (Maybe Int)+persFailedEntryCount = lens _persFailedEntryCount (\ s a -> s{_persFailedEntryCount = 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.+persEntries :: Lens' PutEventsResponse [PutEventsResultEntry]+persEntries = lens _persEntries (\ s a -> s{_persEntries = a}) . _Default . _Coerce;++-- | The response status code.+persResponseStatus :: Lens' PutEventsResponse Int+persResponseStatus = lens _persResponseStatus (\ s a -> s{_persResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/PutRule.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.PutRule+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates or updates a rule. Rules are enabled by default, or based on+-- value of the State parameter. You can disable a rule using+-- < DisableRule>.+--+-- __Note:__ 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.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ putRule+ , PutRule+ -- * Request Lenses+ , prEventPattern+ , prState+ , prScheduleExpression+ , prDescription+ , prRoleARN+ , prName++ -- * Destructuring the Response+ , putRuleResponse+ , PutRuleResponse+ -- * Response Lenses+ , prrsRuleARN+ , prrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < PutRule> operation.+--+-- /See:/ 'putRule' smart constructor.+data PutRule = PutRule'+ { _prEventPattern :: !(Maybe Text)+ , _prState :: !(Maybe RuleState)+ , _prScheduleExpression :: !(Maybe Text)+ , _prDescription :: !(Maybe Text)+ , _prRoleARN :: !(Maybe Text)+ , _prName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prEventPattern'+--+-- * 'prState'+--+-- * 'prScheduleExpression'+--+-- * 'prDescription'+--+-- * 'prRoleARN'+--+-- * 'prName'+putRule+ :: Text -- ^ 'prName'+ -> PutRule+putRule pName_ =+ PutRule'+ { _prEventPattern = Nothing+ , _prState = Nothing+ , _prScheduleExpression = Nothing+ , _prDescription = Nothing+ , _prRoleARN = Nothing+ , _prName = pName_+ }++-- | The event pattern.+prEventPattern :: Lens' PutRule (Maybe Text)+prEventPattern = lens _prEventPattern (\ s a -> s{_prEventPattern = a});++-- | Indicates whether the rule is enabled or disabled.+prState :: Lens' PutRule (Maybe RuleState)+prState = lens _prState (\ s a -> s{_prState = a});++-- | The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5+-- minutes)\".+prScheduleExpression :: Lens' PutRule (Maybe Text)+prScheduleExpression = lens _prScheduleExpression (\ s a -> s{_prScheduleExpression = a});++-- | A description of the rule.+prDescription :: Lens' PutRule (Maybe Text)+prDescription = lens _prDescription (\ s a -> s{_prDescription = a});++-- | The Amazon Resource Name (ARN) of the IAM role associated with the rule.+prRoleARN :: Lens' PutRule (Maybe Text)+prRoleARN = lens _prRoleARN (\ s a -> s{_prRoleARN = a});++-- | The name of the rule that you are creating or updating.+prName :: Lens' PutRule Text+prName = lens _prName (\ s a -> s{_prName = a});++instance AWSRequest PutRule where+ type Rs PutRule = PutRuleResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ PutRuleResponse' <$>+ (x .?> "RuleArn") <*> (pure (fromEnum s)))++instance Hashable PutRule++instance ToHeaders PutRule where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.PutRule" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutRule where+ toJSON PutRule'{..}+ = object+ (catMaybes+ [("EventPattern" .=) <$> _prEventPattern,+ ("State" .=) <$> _prState,+ ("ScheduleExpression" .=) <$> _prScheduleExpression,+ ("Description" .=) <$> _prDescription,+ ("RoleArn" .=) <$> _prRoleARN,+ Just ("Name" .= _prName)])++instance ToPath PutRule where+ toPath = const "/"++instance ToQuery PutRule where+ toQuery = const mempty++-- | The result of the < PutRule> operation.+--+-- /See:/ 'putRuleResponse' smart constructor.+data PutRuleResponse = PutRuleResponse'+ { _prrsRuleARN :: !(Maybe Text)+ , _prrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutRuleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prrsRuleARN'+--+-- * 'prrsResponseStatus'+putRuleResponse+ :: Int -- ^ 'prrsResponseStatus'+ -> PutRuleResponse+putRuleResponse pResponseStatus_ =+ PutRuleResponse'+ { _prrsRuleARN = Nothing+ , _prrsResponseStatus = pResponseStatus_+ }++-- | The Amazon Resource Name (ARN) that identifies the rule.+prrsRuleARN :: Lens' PutRuleResponse (Maybe Text)+prrsRuleARN = lens _prrsRuleARN (\ s a -> s{_prrsRuleARN = a});++-- | The response status code.+prrsResponseStatus :: Lens' PutRuleResponse Int+prrsResponseStatus = lens _prrsResponseStatus (\ s a -> s{_prrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/PutTargets.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.PutTargets+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- 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+-- <http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/EventsTargetPermissions.html Permissions for Sending Events to Targets>+-- in the __/Amazon CloudWatch Developer Guide/__.+--+-- __Input__ and __InputPath__ are mutually-exclusive and optional+-- parameters of a target. When a rule is triggered due to a matched event,+-- if for a target:+--+-- - Neither __Input__ nor __InputPath__ is specified, then the entire+-- event is passed to the target in JSON form.+-- - __InputPath__ is specified in the form of JSONPath (e.g.+-- __$.detail__), 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).+-- - __Input__ is specified in the form of a valid JSON, then the matched+-- event is overridden with this constant.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ putTargets+ , PutTargets+ -- * Request Lenses+ , ptRule+ , ptTargets++ -- * Destructuring the Response+ , putTargetsResponse+ , PutTargetsResponse+ -- * Response Lenses+ , ptrsFailedEntryCount+ , ptrsFailedEntries+ , ptrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < PutTargets> operation.+--+-- /See:/ 'putTargets' smart constructor.+data PutTargets = PutTargets'+ { _ptRule :: !Text+ , _ptTargets :: ![Target]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutTargets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptRule'+--+-- * 'ptTargets'+putTargets+ :: Text -- ^ 'ptRule'+ -> PutTargets+putTargets pRule_ =+ PutTargets'+ { _ptRule = pRule_+ , _ptTargets = mempty+ }++-- | The name of the rule you want to add targets to.+ptRule :: Lens' PutTargets Text+ptRule = lens _ptRule (\ s a -> s{_ptRule = a});++-- | List of targets you want to update or add to the rule.+ptTargets :: Lens' PutTargets [Target]+ptTargets = lens _ptTargets (\ s a -> s{_ptTargets = a}) . _Coerce;++instance AWSRequest PutTargets where+ type Rs PutTargets = PutTargetsResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ PutTargetsResponse' <$>+ (x .?> "FailedEntryCount") <*>+ (x .?> "FailedEntries" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable PutTargets++instance ToHeaders PutTargets where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.PutTargets" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutTargets where+ toJSON PutTargets'{..}+ = object+ (catMaybes+ [Just ("Rule" .= _ptRule),+ Just ("Targets" .= _ptTargets)])++instance ToPath PutTargets where+ toPath = const "/"++instance ToQuery PutTargets where+ toQuery = const mempty++-- | The result of the < PutTargets> operation.+--+-- /See:/ 'putTargetsResponse' smart constructor.+data PutTargetsResponse = PutTargetsResponse'+ { _ptrsFailedEntryCount :: !(Maybe Int)+ , _ptrsFailedEntries :: !(Maybe [PutTargetsResultEntry])+ , _ptrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutTargetsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptrsFailedEntryCount'+--+-- * 'ptrsFailedEntries'+--+-- * 'ptrsResponseStatus'+putTargetsResponse+ :: Int -- ^ 'ptrsResponseStatus'+ -> PutTargetsResponse+putTargetsResponse pResponseStatus_ =+ PutTargetsResponse'+ { _ptrsFailedEntryCount = Nothing+ , _ptrsFailedEntries = Nothing+ , _ptrsResponseStatus = pResponseStatus_+ }++-- | The number of failed entries.+ptrsFailedEntryCount :: Lens' PutTargetsResponse (Maybe Int)+ptrsFailedEntryCount = lens _ptrsFailedEntryCount (\ s a -> s{_ptrsFailedEntryCount = a});++-- | An array of failed target entries.+ptrsFailedEntries :: Lens' PutTargetsResponse [PutTargetsResultEntry]+ptrsFailedEntries = lens _ptrsFailedEntries (\ s a -> s{_ptrsFailedEntries = a}) . _Default . _Coerce;++-- | The response status code.+ptrsResponseStatus :: Lens' PutTargetsResponse Int+ptrsResponseStatus = lens _ptrsResponseStatus (\ s a -> s{_ptrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/RemoveTargets.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.RemoveTargets+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes target(s) from a rule so that when the rule is triggered, those+-- targets will no longer be invoked.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ removeTargets+ , RemoveTargets+ -- * Request Lenses+ , rtRule+ , rtIds++ -- * Destructuring the Response+ , removeTargetsResponse+ , RemoveTargetsResponse+ -- * Response Lenses+ , rtrsFailedEntryCount+ , rtrsFailedEntries+ , rtrsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < RemoveTargets> operation.+--+-- /See:/ 'removeTargets' smart constructor.+data RemoveTargets = RemoveTargets'+ { _rtRule :: !Text+ , _rtIds :: !(List1 Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemoveTargets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtRule'+--+-- * 'rtIds'+removeTargets+ :: Text -- ^ 'rtRule'+ -> NonEmpty Text -- ^ 'rtIds'+ -> RemoveTargets+removeTargets pRule_ pIds_ =+ RemoveTargets'+ { _rtRule = pRule_+ , _rtIds = _List1 # pIds_+ }++-- | The name of the rule you want to remove targets from.+rtRule :: Lens' RemoveTargets Text+rtRule = lens _rtRule (\ s a -> s{_rtRule = a});++-- | The list of target IDs to remove from the rule.+rtIds :: Lens' RemoveTargets (NonEmpty Text)+rtIds = lens _rtIds (\ s a -> s{_rtIds = a}) . _List1;++instance AWSRequest RemoveTargets where+ type Rs RemoveTargets = RemoveTargetsResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ RemoveTargetsResponse' <$>+ (x .?> "FailedEntryCount") <*>+ (x .?> "FailedEntries" .!@ mempty)+ <*> (pure (fromEnum s)))++instance Hashable RemoveTargets++instance ToHeaders RemoveTargets where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.RemoveTargets" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON RemoveTargets where+ toJSON RemoveTargets'{..}+ = object+ (catMaybes+ [Just ("Rule" .= _rtRule), Just ("Ids" .= _rtIds)])++instance ToPath RemoveTargets where+ toPath = const "/"++instance ToQuery RemoveTargets where+ toQuery = const mempty++-- | The result of the < RemoveTargets> operation.+--+-- /See:/ 'removeTargetsResponse' smart constructor.+data RemoveTargetsResponse = RemoveTargetsResponse'+ { _rtrsFailedEntryCount :: !(Maybe Int)+ , _rtrsFailedEntries :: !(Maybe [RemoveTargetsResultEntry])+ , _rtrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemoveTargetsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtrsFailedEntryCount'+--+-- * 'rtrsFailedEntries'+--+-- * 'rtrsResponseStatus'+removeTargetsResponse+ :: Int -- ^ 'rtrsResponseStatus'+ -> RemoveTargetsResponse+removeTargetsResponse pResponseStatus_ =+ RemoveTargetsResponse'+ { _rtrsFailedEntryCount = Nothing+ , _rtrsFailedEntries = Nothing+ , _rtrsResponseStatus = pResponseStatus_+ }++-- | The number of failed entries.+rtrsFailedEntryCount :: Lens' RemoveTargetsResponse (Maybe Int)+rtrsFailedEntryCount = lens _rtrsFailedEntryCount (\ s a -> s{_rtrsFailedEntryCount = a});++-- | An array of failed target entries.+rtrsFailedEntries :: Lens' RemoveTargetsResponse [RemoveTargetsResultEntry]+rtrsFailedEntries = lens _rtrsFailedEntries (\ s a -> s{_rtrsFailedEntries = a}) . _Default . _Coerce;++-- | The response status code.+rtrsResponseStatus :: Lens' RemoveTargetsResponse Int+rtrsResponseStatus = lens _rtrsResponseStatus (\ s a -> s{_rtrsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/TestEventPattern.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.TestEventPattern+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Tests whether an event pattern matches the provided event.+--+-- __Note:__ 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+ (+ -- * Creating a Request+ testEventPattern+ , TestEventPattern+ -- * Request Lenses+ , tepEventPattern+ , tepEvent++ -- * Destructuring the Response+ , testEventPatternResponse+ , TestEventPatternResponse+ -- * Response Lenses+ , teprsResult+ , teprsResponseStatus+ ) where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Container for the parameters to the < TestEventPattern> operation.+--+-- /See:/ 'testEventPattern' smart constructor.+data TestEventPattern = TestEventPattern'+ { _tepEventPattern :: !Text+ , _tepEvent :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestEventPattern' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tepEventPattern'+--+-- * 'tepEvent'+testEventPattern+ :: Text -- ^ 'tepEventPattern'+ -> Text -- ^ 'tepEvent'+ -> TestEventPattern+testEventPattern pEventPattern_ pEvent_ =+ TestEventPattern'+ { _tepEventPattern = pEventPattern_+ , _tepEvent = pEvent_+ }++-- | The event pattern you want to test.+tepEventPattern :: Lens' TestEventPattern Text+tepEventPattern = lens _tepEventPattern (\ s a -> s{_tepEventPattern = a});++-- | The event in the JSON format to test against the event pattern.+tepEvent :: Lens' TestEventPattern Text+tepEvent = lens _tepEvent (\ s a -> s{_tepEvent = a});++instance AWSRequest TestEventPattern where+ type Rs TestEventPattern = TestEventPatternResponse+ request = postJSON cloudWatchEvents+ response+ = receiveJSON+ (\ s h x ->+ TestEventPatternResponse' <$>+ (x .?> "Result") <*> (pure (fromEnum s)))++instance Hashable TestEventPattern++instance ToHeaders TestEventPattern where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSEvents.TestEventPattern" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON TestEventPattern where+ toJSON TestEventPattern'{..}+ = object+ (catMaybes+ [Just ("EventPattern" .= _tepEventPattern),+ Just ("Event" .= _tepEvent)])++instance ToPath TestEventPattern where+ toPath = const "/"++instance ToQuery TestEventPattern where+ toQuery = const mempty++-- | The result of the < TestEventPattern> operation.+--+-- /See:/ 'testEventPatternResponse' smart constructor.+data TestEventPatternResponse = TestEventPatternResponse'+ { _teprsResult :: !(Maybe Bool)+ , _teprsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestEventPatternResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'teprsResult'+--+-- * 'teprsResponseStatus'+testEventPatternResponse+ :: Int -- ^ 'teprsResponseStatus'+ -> TestEventPatternResponse+testEventPatternResponse pResponseStatus_ =+ TestEventPatternResponse'+ { _teprsResult = Nothing+ , _teprsResponseStatus = pResponseStatus_+ }++-- | Indicates whether the event matches the event pattern.+teprsResult :: Lens' TestEventPatternResponse (Maybe Bool)+teprsResult = lens _teprsResult (\ s a -> s{_teprsResult = a});++-- | The response status code.+teprsResponseStatus :: Lens' TestEventPatternResponse Int+teprsResponseStatus = lens _teprsResponseStatus (\ s a -> s{_teprsResponseStatus = a});
+ gen/Network/AWS/CloudWatchEvents/Types.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.Types+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudWatchEvents.Types+ (+ -- * Service Configuration+ cloudWatchEvents++ -- * Errors+ , _ConcurrentModificationException+ , _InvalidEventPatternException+ , _InternalException+ , _ResourceNotFoundException+ , _LimitExceededException++ -- * RuleState+ , RuleState (..)++ -- * PutEventsRequestEntry+ , PutEventsRequestEntry+ , putEventsRequestEntry+ , pereTime+ , pereDetailType+ , pereResources+ , pereSource+ , pereDetail++ -- * PutEventsResultEntry+ , PutEventsResultEntry+ , putEventsResultEntry+ , pereErrorCode+ , pereErrorMessage+ , pereEventId++ -- * PutTargetsResultEntry+ , PutTargetsResultEntry+ , putTargetsResultEntry+ , ptreTargetId+ , ptreErrorCode+ , ptreErrorMessage++ -- * RemoveTargetsResultEntry+ , RemoveTargetsResultEntry+ , removeTargetsResultEntry+ , rtreTargetId+ , rtreErrorCode+ , rtreErrorMessage++ -- * Rule+ , Rule+ , rule+ , rEventPattern+ , rState+ , rARN+ , rScheduleExpression+ , rName+ , rDescription+ , rRoleARN++ -- * Target+ , Target+ , target+ , tInput+ , tInputPath+ , tId+ , tARN+ ) where++import Network.AWS.CloudWatchEvents.Types.Product+import Network.AWS.CloudWatchEvents.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | API version '2015-10-07' of the Amazon CloudWatch Events SDK configuration.+cloudWatchEvents :: Service+cloudWatchEvents =+ Service+ { _svcAbbrev = "CloudWatchEvents"+ , _svcSigner = v4+ , _svcPrefix = "events"+ , _svcVersion = "2015-10-07"+ , _svcEndpoint = defaultEndpoint cloudWatchEvents+ , _svcTimeout = Just 70+ , _svcCheck = statusSuccess+ , _svcError = parseJSONError+ , _svcRetry = retry+ }+ where+ retry =+ Exponential+ { _retryBase = 5.0e-2+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ }+ check e+ | has (hasStatus 429) e = Just "too_many_requests"+ | has (hasCode "ThrottlingException" . hasStatus 400) e =+ Just "throttling_exception"+ | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+ | has (hasStatus 503) e = Just "service_unavailable"+ | has (hasStatus 500) e = Just "general_server_error"+ | has (hasStatus 509) e = Just "limit_exceeded"+ | otherwise = Nothing++-- | This exception occurs if there is concurrent modification on rule or+-- target.+_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError+_ConcurrentModificationException =+ _ServiceError . hasCode "ConcurrentModificationException"++-- | The event pattern is invalid.+_InvalidEventPatternException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidEventPatternException =+ _ServiceError . hasCode "InvalidEventPatternException"++-- | This exception occurs due to unexpected causes.+_InternalException :: AsError a => Getting (First ServiceError) a ServiceError+_InternalException = _ServiceError . hasCode "InternalException"++-- | The rule does not exist.+_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceNotFoundException =+ _ServiceError . hasCode "ResourceNotFoundException"++-- | 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+_LimitExceededException = _ServiceError . hasCode "LimitExceededException"
+ gen/Network/AWS/CloudWatchEvents/Types/Product.hs view
@@ -0,0 +1,423 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.Types.Product+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudWatchEvents.Types.Product where++import Network.AWS.CloudWatchEvents.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Contains information about the event to be used in PutEvents.+--+-- /See:/ 'putEventsRequestEntry' smart constructor.+data PutEventsRequestEntry = PutEventsRequestEntry'+ { _pereTime :: !(Maybe POSIX)+ , _pereDetailType :: !(Maybe Text)+ , _pereResources :: !(Maybe [Text])+ , _pereSource :: !(Maybe Text)+ , _pereDetail :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutEventsRequestEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pereTime'+--+-- * 'pereDetailType'+--+-- * 'pereResources'+--+-- * 'pereSource'+--+-- * 'pereDetail'+putEventsRequestEntry+ :: PutEventsRequestEntry+putEventsRequestEntry =+ PutEventsRequestEntry'+ { _pereTime = Nothing+ , _pereDetailType = Nothing+ , _pereResources = Nothing+ , _pereSource = Nothing+ , _pereDetail = Nothing+ }++-- | Timestamp of event, per+-- <https://www.rfc-editor.org/rfc/rfc3339.txt RFC3339>. If no timestamp is+-- provided, the timestamp of the < PutEvents> call will be used.+pereTime :: Lens' PutEventsRequestEntry (Maybe UTCTime)+pereTime = lens _pereTime (\ s a -> s{_pereTime = a}) . mapping _Time;++-- | Free-form string used to decide what fields to expect in the event+-- detail.+pereDetailType :: Lens' PutEventsRequestEntry (Maybe Text)+pereDetailType = lens _pereDetailType (\ s a -> s{_pereDetailType = a});++-- | AWS resources, identified by Amazon Resource Name (ARN), which the event+-- primarily concerns. Any number, including zero, may be present.+pereResources :: Lens' PutEventsRequestEntry [Text]+pereResources = lens _pereResources (\ s a -> s{_pereResources = a}) . _Default . _Coerce;++-- | The source of the event.+pereSource :: Lens' PutEventsRequestEntry (Maybe Text)+pereSource = lens _pereSource (\ s a -> s{_pereSource = a});++-- | 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)+pereDetail = lens _pereDetail (\ s a -> s{_pereDetail = a});++instance Hashable PutEventsRequestEntry++instance ToJSON PutEventsRequestEntry where+ toJSON PutEventsRequestEntry'{..}+ = object+ (catMaybes+ [("Time" .=) <$> _pereTime,+ ("DetailType" .=) <$> _pereDetailType,+ ("Resources" .=) <$> _pereResources,+ ("Source" .=) <$> _pereSource,+ ("Detail" .=) <$> _pereDetail])++-- | A PutEventsResult contains a list of PutEventsResultEntry.+--+-- /See:/ 'putEventsResultEntry' smart constructor.+data PutEventsResultEntry = PutEventsResultEntry'+ { _pereErrorCode :: !(Maybe Text)+ , _pereErrorMessage :: !(Maybe Text)+ , _pereEventId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutEventsResultEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pereErrorCode'+--+-- * 'pereErrorMessage'+--+-- * 'pereEventId'+putEventsResultEntry+ :: PutEventsResultEntry+putEventsResultEntry =+ PutEventsResultEntry'+ { _pereErrorCode = Nothing+ , _pereErrorMessage = Nothing+ , _pereEventId = Nothing+ }++-- | The error code representing why the event submission failed on this+-- entry.+pereErrorCode :: Lens' PutEventsResultEntry (Maybe Text)+pereErrorCode = lens _pereErrorCode (\ s a -> s{_pereErrorCode = a});++-- | The error message explaining why the event submission failed on this+-- entry.+pereErrorMessage :: Lens' PutEventsResultEntry (Maybe Text)+pereErrorMessage = lens _pereErrorMessage (\ s a -> s{_pereErrorMessage = a});++-- | The ID of the event submitted to Amazon CloudWatch Events.+pereEventId :: Lens' PutEventsResultEntry (Maybe Text)+pereEventId = lens _pereEventId (\ s a -> s{_pereEventId = a});++instance FromJSON PutEventsResultEntry where+ parseJSON+ = withObject "PutEventsResultEntry"+ (\ x ->+ PutEventsResultEntry' <$>+ (x .:? "ErrorCode") <*> (x .:? "ErrorMessage") <*>+ (x .:? "EventId"))++instance Hashable PutEventsResultEntry++-- | A PutTargetsResult contains a list of PutTargetsResultEntry.+--+-- /See:/ 'putTargetsResultEntry' smart constructor.+data PutTargetsResultEntry = PutTargetsResultEntry'+ { _ptreTargetId :: !(Maybe Text)+ , _ptreErrorCode :: !(Maybe Text)+ , _ptreErrorMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutTargetsResultEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptreTargetId'+--+-- * 'ptreErrorCode'+--+-- * 'ptreErrorMessage'+putTargetsResultEntry+ :: PutTargetsResultEntry+putTargetsResultEntry =+ PutTargetsResultEntry'+ { _ptreTargetId = Nothing+ , _ptreErrorCode = Nothing+ , _ptreErrorMessage = Nothing+ }++-- | The ID of the target submitted to Amazon CloudWatch Events.+ptreTargetId :: Lens' PutTargetsResultEntry (Maybe Text)+ptreTargetId = lens _ptreTargetId (\ s a -> s{_ptreTargetId = a});++-- | The error code representing why the target submission failed on this+-- entry.+ptreErrorCode :: Lens' PutTargetsResultEntry (Maybe Text)+ptreErrorCode = lens _ptreErrorCode (\ s a -> s{_ptreErrorCode = a});++-- | The error message explaining why the target submission failed on this+-- entry.+ptreErrorMessage :: Lens' PutTargetsResultEntry (Maybe Text)+ptreErrorMessage = lens _ptreErrorMessage (\ s a -> s{_ptreErrorMessage = a});++instance FromJSON PutTargetsResultEntry where+ parseJSON+ = withObject "PutTargetsResultEntry"+ (\ x ->+ PutTargetsResultEntry' <$>+ (x .:? "TargetId") <*> (x .:? "ErrorCode") <*>+ (x .:? "ErrorMessage"))++instance Hashable PutTargetsResultEntry++-- | The ID of the target requested to be removed from the rule by Amazon+-- CloudWatch Events.+--+-- /See:/ 'removeTargetsResultEntry' smart constructor.+data RemoveTargetsResultEntry = RemoveTargetsResultEntry'+ { _rtreTargetId :: !(Maybe Text)+ , _rtreErrorCode :: !(Maybe Text)+ , _rtreErrorMessage :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RemoveTargetsResultEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtreTargetId'+--+-- * 'rtreErrorCode'+--+-- * 'rtreErrorMessage'+removeTargetsResultEntry+ :: RemoveTargetsResultEntry+removeTargetsResultEntry =+ RemoveTargetsResultEntry'+ { _rtreTargetId = Nothing+ , _rtreErrorCode = Nothing+ , _rtreErrorMessage = Nothing+ }++-- | The ID of the target requested to be removed by Amazon CloudWatch+-- Events.+rtreTargetId :: Lens' RemoveTargetsResultEntry (Maybe Text)+rtreTargetId = lens _rtreTargetId (\ s a -> s{_rtreTargetId = a});++-- | The error code representing why the target removal failed on this entry.+rtreErrorCode :: Lens' RemoveTargetsResultEntry (Maybe Text)+rtreErrorCode = lens _rtreErrorCode (\ s a -> s{_rtreErrorCode = a});++-- | The error message explaining why the target removal failed on this+-- entry.+rtreErrorMessage :: Lens' RemoveTargetsResultEntry (Maybe Text)+rtreErrorMessage = lens _rtreErrorMessage (\ s a -> s{_rtreErrorMessage = a});++instance FromJSON RemoveTargetsResultEntry where+ parseJSON+ = withObject "RemoveTargetsResultEntry"+ (\ x ->+ RemoveTargetsResultEntry' <$>+ (x .:? "TargetId") <*> (x .:? "ErrorCode") <*>+ (x .:? "ErrorMessage"))++instance Hashable RemoveTargetsResultEntry++-- | Contains information about a rule in Amazon CloudWatch Events. A+-- ListRulesResult contains a list of Rules.+--+-- /See:/ 'rule' smart constructor.+data Rule = Rule'+ { _rEventPattern :: !(Maybe Text)+ , _rState :: !(Maybe RuleState)+ , _rARN :: !(Maybe Text)+ , _rScheduleExpression :: !(Maybe Text)+ , _rName :: !(Maybe Text)+ , _rDescription :: !(Maybe Text)+ , _rRoleARN :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Rule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rEventPattern'+--+-- * 'rState'+--+-- * 'rARN'+--+-- * 'rScheduleExpression'+--+-- * 'rName'+--+-- * 'rDescription'+--+-- * 'rRoleARN'+rule+ :: Rule+rule =+ Rule'+ { _rEventPattern = Nothing+ , _rState = Nothing+ , _rARN = Nothing+ , _rScheduleExpression = Nothing+ , _rName = Nothing+ , _rDescription = Nothing+ , _rRoleARN = Nothing+ }++-- | The event pattern of the rule.+rEventPattern :: Lens' Rule (Maybe Text)+rEventPattern = lens _rEventPattern (\ s a -> s{_rEventPattern = a});++-- | The rule\'s state.+rState :: Lens' Rule (Maybe RuleState)+rState = lens _rState (\ s a -> s{_rState = a});++-- | The Amazon Resource Name (ARN) of the rule.+rARN :: Lens' Rule (Maybe Text)+rARN = lens _rARN (\ s a -> s{_rARN = a});++-- | The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5+-- minutes)\".+rScheduleExpression :: Lens' Rule (Maybe Text)+rScheduleExpression = lens _rScheduleExpression (\ s a -> s{_rScheduleExpression = a});++-- | The rule\'s name.+rName :: Lens' Rule (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a});++-- | The description of the rule.+rDescription :: Lens' Rule (Maybe Text)+rDescription = lens _rDescription (\ s a -> s{_rDescription = a});++-- | The Amazon Resource Name (ARN) associated with the role that is used for+-- target invocation.+rRoleARN :: Lens' Rule (Maybe Text)+rRoleARN = lens _rRoleARN (\ s a -> s{_rRoleARN = a});++instance FromJSON Rule where+ parseJSON+ = withObject "Rule"+ (\ x ->+ Rule' <$>+ (x .:? "EventPattern") <*> (x .:? "State") <*>+ (x .:? "Arn")+ <*> (x .:? "ScheduleExpression")+ <*> (x .:? "Name")+ <*> (x .:? "Description")+ <*> (x .:? "RoleArn"))++instance Hashable 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.+--+-- __Input__ and __InputPath__ are mutually-exclusive and optional+-- parameters of a target. When a rule is triggered due to a matched event,+-- if for a target:+--+-- - Neither __Input__ nor __InputPath__ is specified, then the entire+-- event is passed to the target in JSON form.+-- - __InputPath__ is specified in the form of JSONPath (e.g.+-- __$.detail__), 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).+-- - __Input__ is specified in the form of a valid JSON, then the matched+-- event is overridden with this constant.+--+-- /See:/ 'target' smart constructor.+data Target = Target'+ { _tInput :: !(Maybe Text)+ , _tInputPath :: !(Maybe Text)+ , _tId :: !Text+ , _tARN :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Target' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tInput'+--+-- * 'tInputPath'+--+-- * 'tId'+--+-- * 'tARN'+target+ :: Text -- ^ 'tId'+ -> Text -- ^ 'tARN'+ -> Target+target pId_ pARN_ =+ Target'+ { _tInput = Nothing+ , _tInputPath = Nothing+ , _tId = pId_+ , _tARN = pARN_+ }++-- | Valid JSON text passed to the target. For more information about JSON+-- text, see+-- <http://www.rfc-editor.org/rfc/rfc7159.txt The JavaScript Object Notation (JSON) Data Interchange Format>.+tInput :: Lens' Target (Maybe Text)+tInput = lens _tInput (\ s a -> s{_tInput = 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 <http://goessner.net/articles/JsonPath/ JSONPath>.+tInputPath :: Lens' Target (Maybe Text)+tInputPath = lens _tInputPath (\ s a -> s{_tInputPath = a});++-- | The unique target assignment ID.+tId :: Lens' Target Text+tId = lens _tId (\ s a -> s{_tId = a});++-- | The Amazon Resource Name (ARN) associated of the target.+tARN :: Lens' Target Text+tARN = lens _tARN (\ s a -> s{_tARN = a});++instance FromJSON Target where+ parseJSON+ = withObject "Target"+ (\ x ->+ Target' <$>+ (x .:? "Input") <*> (x .:? "InputPath") <*>+ (x .: "Id")+ <*> (x .: "Arn"))++instance Hashable Target++instance ToJSON Target where+ toJSON Target'{..}+ = object+ (catMaybes+ [("Input" .=) <$> _tInput,+ ("InputPath" .=) <$> _tInputPath,+ Just ("Id" .= _tId), Just ("Arn" .= _tARN)])
+ gen/Network/AWS/CloudWatchEvents/Types/Sum.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.Types.Sum+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudWatchEvents.Types.Sum where++import Network.AWS.Prelude++data RuleState+ = Disabled+ | Enabled+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText RuleState where+ parser = takeLowerText >>= \case+ "disabled" -> pure Disabled+ "enabled" -> pure Enabled+ e -> fromTextError $ "Failure parsing RuleState from value: '" <> e+ <> "'. Accepted values: DISABLED, ENABLED"++instance ToText RuleState where+ toText = \case+ Disabled -> "DISABLED"+ Enabled -> "ENABLED"++instance Hashable RuleState+instance ToByteString RuleState+instance ToQuery RuleState+instance ToHeader RuleState++instance ToJSON RuleState where+ toJSON = toJSONText++instance FromJSON RuleState where+ parseJSON = parseJSONText "RuleState"
+ gen/Network/AWS/CloudWatchEvents/Waiters.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.CloudWatchEvents.Waiters+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudWatchEvents.Waiters where++import Network.AWS.CloudWatchEvents.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.CloudWatchEvents+import Test.AWS.CloudWatchEvents.Internal++main :: IO ()+main = defaultMain $ testGroup "CloudWatchEvents"+ [ testGroup "tests" tests+ , testGroup "fixtures" fixtures+ ]
+ test/Test/AWS/CloudWatchEvents.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell #-}++-- |+-- Module : Test.AWS.CloudWatchEvents+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.CloudWatchEvents+ ( tests+ , fixtures+ ) where++import Test.AWS.Prelude++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/CloudWatchEvents/Internal.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Test.AWS.CloudWatchEvents.Internal+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)+--++module Test.AWS.CloudWatchEvents.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/CloudWatchEvents.hs view
@@ -0,0 +1,255 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.AWS.Gen.CloudWatchEvents+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.CloudWatchEvents where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.CloudWatchEvents+import Test.AWS.CloudWatchEvents.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ testRemoveTargets $+-- removeTargets+--+-- , testDeleteRule $+-- deleteRule+--+-- , testListRules $+-- listRules+--+-- , testPutRule $+-- putRule+--+-- , testDisableRule $+-- disableRule+--+-- , testListTargetsByRule $+-- listTargetsByRule+--+-- , testDescribeRule $+-- describeRule+--+-- , testEnableRule $+-- enableRule+--+-- , testListRuleNamesByTarget $+-- listRuleNamesByTarget+--+-- , testTestEventPattern $+-- testEventPattern+--+-- , testPutTargets $+-- putTargets+--+-- , testPutEvents $+-- putEvents+--+-- ]++-- , testGroup "response"+-- [ testRemoveTargetsResponse $+-- removeTargetsResponse+--+-- , testDeleteRuleResponse $+-- deleteRuleResponse+--+-- , testListRulesResponse $+-- listRulesResponse+--+-- , testPutRuleResponse $+-- putRuleResponse+--+-- , testDisableRuleResponse $+-- disableRuleResponse+--+-- , testListTargetsByRuleResponse $+-- listTargetsByRuleResponse+--+-- , testDescribeRuleResponse $+-- describeRuleResponse+--+-- , testEnableRuleResponse $+-- enableRuleResponse+--+-- , testListRuleNamesByTargetResponse $+-- listRuleNamesByTargetResponse+--+-- , testTestEventPatternResponse $+-- testEventPatternResponse+--+-- , testPutTargetsResponse $+-- putTargetsResponse+--+-- , testPutEventsResponse $+-- putEventsResponse+--+-- ]+-- ]++-- Requests++testRemoveTargets :: RemoveTargets -> TestTree+testRemoveTargets = req+ "RemoveTargets"+ "fixture/RemoveTargets.yaml"++testDeleteRule :: DeleteRule -> TestTree+testDeleteRule = req+ "DeleteRule"+ "fixture/DeleteRule.yaml"++testListRules :: ListRules -> TestTree+testListRules = req+ "ListRules"+ "fixture/ListRules.yaml"++testPutRule :: PutRule -> TestTree+testPutRule = req+ "PutRule"+ "fixture/PutRule.yaml"++testDisableRule :: DisableRule -> TestTree+testDisableRule = req+ "DisableRule"+ "fixture/DisableRule.yaml"++testListTargetsByRule :: ListTargetsByRule -> TestTree+testListTargetsByRule = req+ "ListTargetsByRule"+ "fixture/ListTargetsByRule.yaml"++testDescribeRule :: DescribeRule -> TestTree+testDescribeRule = req+ "DescribeRule"+ "fixture/DescribeRule.yaml"++testEnableRule :: EnableRule -> TestTree+testEnableRule = req+ "EnableRule"+ "fixture/EnableRule.yaml"++testListRuleNamesByTarget :: ListRuleNamesByTarget -> TestTree+testListRuleNamesByTarget = req+ "ListRuleNamesByTarget"+ "fixture/ListRuleNamesByTarget.yaml"++testTestEventPattern :: TestEventPattern -> TestTree+testTestEventPattern = req+ "TestEventPattern"+ "fixture/TestEventPattern.yaml"++testPutTargets :: PutTargets -> TestTree+testPutTargets = req+ "PutTargets"+ "fixture/PutTargets.yaml"++testPutEvents :: PutEvents -> TestTree+testPutEvents = req+ "PutEvents"+ "fixture/PutEvents.yaml"++-- Responses++testRemoveTargetsResponse :: RemoveTargetsResponse -> TestTree+testRemoveTargetsResponse = res+ "RemoveTargetsResponse"+ "fixture/RemoveTargetsResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy RemoveTargets)++testDeleteRuleResponse :: DeleteRuleResponse -> TestTree+testDeleteRuleResponse = res+ "DeleteRuleResponse"+ "fixture/DeleteRuleResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy DeleteRule)++testListRulesResponse :: ListRulesResponse -> TestTree+testListRulesResponse = res+ "ListRulesResponse"+ "fixture/ListRulesResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy ListRules)++testPutRuleResponse :: PutRuleResponse -> TestTree+testPutRuleResponse = res+ "PutRuleResponse"+ "fixture/PutRuleResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy PutRule)++testDisableRuleResponse :: DisableRuleResponse -> TestTree+testDisableRuleResponse = res+ "DisableRuleResponse"+ "fixture/DisableRuleResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy DisableRule)++testListTargetsByRuleResponse :: ListTargetsByRuleResponse -> TestTree+testListTargetsByRuleResponse = res+ "ListTargetsByRuleResponse"+ "fixture/ListTargetsByRuleResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy ListTargetsByRule)++testDescribeRuleResponse :: DescribeRuleResponse -> TestTree+testDescribeRuleResponse = res+ "DescribeRuleResponse"+ "fixture/DescribeRuleResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy DescribeRule)++testEnableRuleResponse :: EnableRuleResponse -> TestTree+testEnableRuleResponse = res+ "EnableRuleResponse"+ "fixture/EnableRuleResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy EnableRule)++testListRuleNamesByTargetResponse :: ListRuleNamesByTargetResponse -> TestTree+testListRuleNamesByTargetResponse = res+ "ListRuleNamesByTargetResponse"+ "fixture/ListRuleNamesByTargetResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy ListRuleNamesByTarget)++testTestEventPatternResponse :: TestEventPatternResponse -> TestTree+testTestEventPatternResponse = res+ "TestEventPatternResponse"+ "fixture/TestEventPatternResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy TestEventPattern)++testPutTargetsResponse :: PutTargetsResponse -> TestTree+testPutTargetsResponse = res+ "PutTargetsResponse"+ "fixture/PutTargetsResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy PutTargets)++testPutEventsResponse :: PutEventsResponse -> TestTree+testPutEventsResponse = res+ "PutEventsResponse"+ "fixture/PutEventsResponse.proto"+ cloudWatchEvents+ (Proxy :: Proxy PutEvents)