amazonka-iotevents (empty) → 2.0
raw patch · 161 files changed
+16897/−0 lines, 161 filesdep +amazonka-coredep +amazonka-ioteventsdep +amazonka-test
Dependencies added: amazonka-core, amazonka-iotevents, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-iotevents.cabal +180/−0
- fixture/CreateAlarmModel.yaml +10/−0
- fixture/CreateAlarmModelResponse.proto +0/−0
- fixture/CreateDetectorModel.yaml +10/−0
- fixture/CreateDetectorModelResponse.proto +0/−0
- fixture/CreateInput.yaml +10/−0
- fixture/CreateInputResponse.proto +0/−0
- fixture/DeleteAlarmModel.yaml +10/−0
- fixture/DeleteAlarmModelResponse.proto +0/−0
- fixture/DeleteDetectorModel.yaml +10/−0
- fixture/DeleteDetectorModelResponse.proto +0/−0
- fixture/DeleteInput.yaml +10/−0
- fixture/DeleteInputResponse.proto +0/−0
- fixture/DescribeAlarmModel.yaml +10/−0
- fixture/DescribeAlarmModelResponse.proto +0/−0
- fixture/DescribeDetectorModel.yaml +10/−0
- fixture/DescribeDetectorModelAnalysis.yaml +10/−0
- fixture/DescribeDetectorModelAnalysisResponse.proto +0/−0
- fixture/DescribeDetectorModelResponse.proto +0/−0
- fixture/DescribeInput.yaml +10/−0
- fixture/DescribeInputResponse.proto +0/−0
- fixture/DescribeLoggingOptions.yaml +10/−0
- fixture/DescribeLoggingOptionsResponse.proto +0/−0
- fixture/GetDetectorModelAnalysisResults.yaml +10/−0
- fixture/GetDetectorModelAnalysisResultsResponse.proto +0/−0
- fixture/ListAlarmModelVersions.yaml +10/−0
- fixture/ListAlarmModelVersionsResponse.proto +0/−0
- fixture/ListAlarmModels.yaml +10/−0
- fixture/ListAlarmModelsResponse.proto +0/−0
- fixture/ListDetectorModelVersions.yaml +10/−0
- fixture/ListDetectorModelVersionsResponse.proto +0/−0
- fixture/ListDetectorModels.yaml +10/−0
- fixture/ListDetectorModelsResponse.proto +0/−0
- fixture/ListInputRoutings.yaml +10/−0
- fixture/ListInputRoutingsResponse.proto +0/−0
- fixture/ListInputs.yaml +10/−0
- fixture/ListInputsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutLoggingOptions.yaml +10/−0
- fixture/PutLoggingOptionsResponse.proto +0/−0
- fixture/StartDetectorModelAnalysis.yaml +10/−0
- fixture/StartDetectorModelAnalysisResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAlarmModel.yaml +10/−0
- fixture/UpdateAlarmModelResponse.proto +0/−0
- fixture/UpdateDetectorModel.yaml +10/−0
- fixture/UpdateDetectorModelResponse.proto +0/−0
- fixture/UpdateInput.yaml +10/−0
- fixture/UpdateInputResponse.proto +0/−0
- gen/Amazonka/IoTEvents.hs +548/−0
- gen/Amazonka/IoTEvents/CreateAlarmModel.hs +427/−0
- gen/Amazonka/IoTEvents/CreateDetectorModel.hs +274/−0
- gen/Amazonka/IoTEvents/CreateInput.hs +202/−0
- gen/Amazonka/IoTEvents/DeleteAlarmModel.hs +144/−0
- gen/Amazonka/IoTEvents/DeleteDetectorModel.hs +144/−0
- gen/Amazonka/IoTEvents/DeleteInput.hs +132/−0
- gen/Amazonka/IoTEvents/DescribeAlarmModel.hs +406/−0
- gen/Amazonka/IoTEvents/DescribeDetectorModel.hs +171/−0
- gen/Amazonka/IoTEvents/DescribeDetectorModelAnalysis.hs +194/−0
- gen/Amazonka/IoTEvents/DescribeInput.hs +149/−0
- gen/Amazonka/IoTEvents/DescribeLoggingOptions.hs +136/−0
- gen/Amazonka/IoTEvents/GetDetectorModelAnalysisResults.hs +226/−0
- gen/Amazonka/IoTEvents/Lens.hs +614/−0
- gen/Amazonka/IoTEvents/ListAlarmModelVersions.hs +209/−0
- gen/Amazonka/IoTEvents/ListAlarmModels.hs +186/−0
- gen/Amazonka/IoTEvents/ListDetectorModelVersions.hs +209/−0
- gen/Amazonka/IoTEvents/ListDetectorModels.hs +186/−0
- gen/Amazonka/IoTEvents/ListInputRoutings.hs +206/−0
- gen/Amazonka/IoTEvents/ListInputs.hs +180/−0
- gen/Amazonka/IoTEvents/ListTagsForResource.hs +151/−0
- gen/Amazonka/IoTEvents/PutLoggingOptions.hs +133/−0
- gen/Amazonka/IoTEvents/StartDetectorModelAnalysis.hs +170/−0
- gen/Amazonka/IoTEvents/TagResource.hs +156/−0
- gen/Amazonka/IoTEvents/Types.hs +709/−0
- gen/Amazonka/IoTEvents/Types/AcknowledgeFlow.hs +91/−0
- gen/Amazonka/IoTEvents/Types/Action.hs +316/−0
- gen/Amazonka/IoTEvents/Types/AlarmAction.hs +186/−0
- gen/Amazonka/IoTEvents/Types/AlarmCapabilities.hs +101/−0
- gen/Amazonka/IoTEvents/Types/AlarmEventActions.hs +79/−0
- gen/Amazonka/IoTEvents/Types/AlarmModelSummary.hs +97/−0
- gen/Amazonka/IoTEvents/Types/AlarmModelVersionStatus.hs +81/−0
- gen/Amazonka/IoTEvents/Types/AlarmModelVersionSummary.hs +215/−0
- gen/Amazonka/IoTEvents/Types/AlarmNotification.hs +85/−0
- gen/Amazonka/IoTEvents/Types/AlarmRule.hs +78/−0
- gen/Amazonka/IoTEvents/Types/AnalysisResult.hs +239/−0
- gen/Amazonka/IoTEvents/Types/AnalysisResultLevel.hs +76/−0
- gen/Amazonka/IoTEvents/Types/AnalysisResultLocation.hs +72/−0
- gen/Amazonka/IoTEvents/Types/AnalysisStatus.hs +76/−0
- gen/Amazonka/IoTEvents/Types/AssetPropertyTimestamp.hs +134/−0
- gen/Amazonka/IoTEvents/Types/AssetPropertyValue.hs +133/−0
- gen/Amazonka/IoTEvents/Types/AssetPropertyVariant.hs +171/−0
- gen/Amazonka/IoTEvents/Types/Attribute.hs +101/−0
- gen/Amazonka/IoTEvents/Types/ClearTimerAction.hs +77/−0
- gen/Amazonka/IoTEvents/Types/ComparisonOperator.hs +91/−0
- gen/Amazonka/IoTEvents/Types/DetectorDebugOption.hs +100/−0
- gen/Amazonka/IoTEvents/Types/DetectorModel.hs +87/−0
- gen/Amazonka/IoTEvents/Types/DetectorModelConfiguration.hs +213/−0
- gen/Amazonka/IoTEvents/Types/DetectorModelDefinition.hs +102/−0
- gen/Amazonka/IoTEvents/Types/DetectorModelSummary.hs +97/−0
- gen/Amazonka/IoTEvents/Types/DetectorModelVersionStatus.hs +96/−0
- gen/Amazonka/IoTEvents/Types/DetectorModelVersionSummary.hs +165/−0
- gen/Amazonka/IoTEvents/Types/DynamoDBAction.hs +374/−0
- gen/Amazonka/IoTEvents/Types/DynamoDBv2Action.hs +140/−0
- gen/Amazonka/IoTEvents/Types/EmailConfiguration.hs +136/−0
- gen/Amazonka/IoTEvents/Types/EmailContent.hs +97/−0
- gen/Amazonka/IoTEvents/Types/EmailRecipients.hs +77/−0
- gen/Amazonka/IoTEvents/Types/EvaluationMethod.hs +71/−0
- gen/Amazonka/IoTEvents/Types/Event.hs +119/−0
- gen/Amazonka/IoTEvents/Types/FirehoseAction.hs +123/−0
- gen/Amazonka/IoTEvents/Types/InitializationConfiguration.hs +94/−0
- gen/Amazonka/IoTEvents/Types/Input.hs +86/−0
- gen/Amazonka/IoTEvents/Types/InputConfiguration.hs +149/−0
- gen/Amazonka/IoTEvents/Types/InputDefinition.hs +96/−0
- gen/Amazonka/IoTEvents/Types/InputIdentifier.hs +88/−0
- gen/Amazonka/IoTEvents/Types/InputStatus.hs +81/−0
- gen/Amazonka/IoTEvents/Types/InputSummary.hs +133/−0
- gen/Amazonka/IoTEvents/Types/IotEventsAction.hs +100/−0
- gen/Amazonka/IoTEvents/Types/IotEventsInputIdentifier.hs +69/−0
- gen/Amazonka/IoTEvents/Types/IotSiteWiseAction.hs +174/−0
- gen/Amazonka/IoTEvents/Types/IotSiteWiseAssetModelPropertyIdentifier.hs +102/−0
- gen/Amazonka/IoTEvents/Types/IotSiteWiseInputIdentifier.hs +74/−0
- gen/Amazonka/IoTEvents/Types/IotTopicPublishAction.hs +106/−0
- gen/Amazonka/IoTEvents/Types/LambdaAction.hs +100/−0
- gen/Amazonka/IoTEvents/Types/LoggingLevel.hs +76/−0
- gen/Amazonka/IoTEvents/Types/LoggingOptions.hs +135/−0
- gen/Amazonka/IoTEvents/Types/NotificationAction.hs +121/−0
- gen/Amazonka/IoTEvents/Types/NotificationTargetActions.hs +81/−0
- gen/Amazonka/IoTEvents/Types/OnEnterLifecycle.hs +80/−0
- gen/Amazonka/IoTEvents/Types/OnExitLifecycle.hs +80/−0
- gen/Amazonka/IoTEvents/Types/OnInputLifecycle.hs +102/−0
- gen/Amazonka/IoTEvents/Types/Payload.hs +120/−0
- gen/Amazonka/IoTEvents/Types/PayloadType.hs +71/−0
- gen/Amazonka/IoTEvents/Types/RecipientDetail.hs +76/−0
- gen/Amazonka/IoTEvents/Types/ResetTimerAction.hs +79/−0
- gen/Amazonka/IoTEvents/Types/RoutedResource.hs +89/−0
- gen/Amazonka/IoTEvents/Types/SMSConfiguration.hs +123/−0
- gen/Amazonka/IoTEvents/Types/SNSTopicPublishAction.hs +99/−0
- gen/Amazonka/IoTEvents/Types/SSOIdentity.hs +98/−0
- gen/Amazonka/IoTEvents/Types/SetTimerAction.hs +128/−0
- gen/Amazonka/IoTEvents/Types/SetVariableAction.hs +97/−0
- gen/Amazonka/IoTEvents/Types/SimpleRule.hs +125/−0
- gen/Amazonka/IoTEvents/Types/SqsAction.hs +116/−0
- gen/Amazonka/IoTEvents/Types/State.hs +133/−0
- gen/Amazonka/IoTEvents/Types/Tag.hs +93/−0
- gen/Amazonka/IoTEvents/Types/TransitionEvent.hs +133/−0
- gen/Amazonka/IoTEvents/UntagResource.hs +154/−0
- gen/Amazonka/IoTEvents/UpdateAlarmModel.hs +371/−0
- gen/Amazonka/IoTEvents/UpdateDetectorModel.hs +234/−0
- gen/Amazonka/IoTEvents/UpdateInput.hs +189/−0
- gen/Amazonka/IoTEvents/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/IoTEvents.hs +558/−0
- test/Test/Amazonka/IoTEvents.hs +20/−0
- test/Test/Amazonka/IoTEvents/Internal.hs +8/−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,44 @@+# Amazon IoT Events SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-07-27@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-iotevents)+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, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.IoTEvents](http://hackage.haskell.org/package/amazonka-iotevents/docs/Amazonka-IoTEvents.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## 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-iotevents` 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.
+ amazonka-iotevents.cabal view
@@ -0,0 +1,180 @@+cabal-version: 2.2+name: amazonka-iotevents+version: 2.0+synopsis: Amazon IoT Events SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2018-07-27@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ 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, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.IoTEvents.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.IoTEvents" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-iotevents++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.IoTEvents+ Amazonka.IoTEvents.CreateAlarmModel+ Amazonka.IoTEvents.CreateDetectorModel+ Amazonka.IoTEvents.CreateInput+ Amazonka.IoTEvents.DeleteAlarmModel+ Amazonka.IoTEvents.DeleteDetectorModel+ Amazonka.IoTEvents.DeleteInput+ Amazonka.IoTEvents.DescribeAlarmModel+ Amazonka.IoTEvents.DescribeDetectorModel+ Amazonka.IoTEvents.DescribeDetectorModelAnalysis+ Amazonka.IoTEvents.DescribeInput+ Amazonka.IoTEvents.DescribeLoggingOptions+ Amazonka.IoTEvents.GetDetectorModelAnalysisResults+ Amazonka.IoTEvents.Lens+ Amazonka.IoTEvents.ListAlarmModels+ Amazonka.IoTEvents.ListAlarmModelVersions+ Amazonka.IoTEvents.ListDetectorModels+ Amazonka.IoTEvents.ListDetectorModelVersions+ Amazonka.IoTEvents.ListInputRoutings+ Amazonka.IoTEvents.ListInputs+ Amazonka.IoTEvents.ListTagsForResource+ Amazonka.IoTEvents.PutLoggingOptions+ Amazonka.IoTEvents.StartDetectorModelAnalysis+ Amazonka.IoTEvents.TagResource+ Amazonka.IoTEvents.Types+ Amazonka.IoTEvents.Types.AcknowledgeFlow+ Amazonka.IoTEvents.Types.Action+ Amazonka.IoTEvents.Types.AlarmAction+ Amazonka.IoTEvents.Types.AlarmCapabilities+ Amazonka.IoTEvents.Types.AlarmEventActions+ Amazonka.IoTEvents.Types.AlarmModelSummary+ Amazonka.IoTEvents.Types.AlarmModelVersionStatus+ Amazonka.IoTEvents.Types.AlarmModelVersionSummary+ Amazonka.IoTEvents.Types.AlarmNotification+ Amazonka.IoTEvents.Types.AlarmRule+ Amazonka.IoTEvents.Types.AnalysisResult+ Amazonka.IoTEvents.Types.AnalysisResultLevel+ Amazonka.IoTEvents.Types.AnalysisResultLocation+ Amazonka.IoTEvents.Types.AnalysisStatus+ Amazonka.IoTEvents.Types.AssetPropertyTimestamp+ Amazonka.IoTEvents.Types.AssetPropertyValue+ Amazonka.IoTEvents.Types.AssetPropertyVariant+ Amazonka.IoTEvents.Types.Attribute+ Amazonka.IoTEvents.Types.ClearTimerAction+ Amazonka.IoTEvents.Types.ComparisonOperator+ Amazonka.IoTEvents.Types.DetectorDebugOption+ Amazonka.IoTEvents.Types.DetectorModel+ Amazonka.IoTEvents.Types.DetectorModelConfiguration+ Amazonka.IoTEvents.Types.DetectorModelDefinition+ Amazonka.IoTEvents.Types.DetectorModelSummary+ Amazonka.IoTEvents.Types.DetectorModelVersionStatus+ Amazonka.IoTEvents.Types.DetectorModelVersionSummary+ Amazonka.IoTEvents.Types.DynamoDBAction+ Amazonka.IoTEvents.Types.DynamoDBv2Action+ Amazonka.IoTEvents.Types.EmailConfiguration+ Amazonka.IoTEvents.Types.EmailContent+ Amazonka.IoTEvents.Types.EmailRecipients+ Amazonka.IoTEvents.Types.EvaluationMethod+ Amazonka.IoTEvents.Types.Event+ Amazonka.IoTEvents.Types.FirehoseAction+ Amazonka.IoTEvents.Types.InitializationConfiguration+ Amazonka.IoTEvents.Types.Input+ Amazonka.IoTEvents.Types.InputConfiguration+ Amazonka.IoTEvents.Types.InputDefinition+ Amazonka.IoTEvents.Types.InputIdentifier+ Amazonka.IoTEvents.Types.InputStatus+ Amazonka.IoTEvents.Types.InputSummary+ Amazonka.IoTEvents.Types.IotEventsAction+ Amazonka.IoTEvents.Types.IotEventsInputIdentifier+ Amazonka.IoTEvents.Types.IotSiteWiseAction+ Amazonka.IoTEvents.Types.IotSiteWiseAssetModelPropertyIdentifier+ Amazonka.IoTEvents.Types.IotSiteWiseInputIdentifier+ Amazonka.IoTEvents.Types.IotTopicPublishAction+ Amazonka.IoTEvents.Types.LambdaAction+ Amazonka.IoTEvents.Types.LoggingLevel+ Amazonka.IoTEvents.Types.LoggingOptions+ Amazonka.IoTEvents.Types.NotificationAction+ Amazonka.IoTEvents.Types.NotificationTargetActions+ Amazonka.IoTEvents.Types.OnEnterLifecycle+ Amazonka.IoTEvents.Types.OnExitLifecycle+ Amazonka.IoTEvents.Types.OnInputLifecycle+ Amazonka.IoTEvents.Types.Payload+ Amazonka.IoTEvents.Types.PayloadType+ Amazonka.IoTEvents.Types.RecipientDetail+ Amazonka.IoTEvents.Types.ResetTimerAction+ Amazonka.IoTEvents.Types.RoutedResource+ Amazonka.IoTEvents.Types.SetTimerAction+ Amazonka.IoTEvents.Types.SetVariableAction+ Amazonka.IoTEvents.Types.SimpleRule+ Amazonka.IoTEvents.Types.SMSConfiguration+ Amazonka.IoTEvents.Types.SNSTopicPublishAction+ Amazonka.IoTEvents.Types.SqsAction+ Amazonka.IoTEvents.Types.SSOIdentity+ Amazonka.IoTEvents.Types.State+ Amazonka.IoTEvents.Types.Tag+ Amazonka.IoTEvents.Types.TransitionEvent+ Amazonka.IoTEvents.UntagResource+ Amazonka.IoTEvents.UpdateAlarmModel+ Amazonka.IoTEvents.UpdateDetectorModel+ Amazonka.IoTEvents.UpdateInput+ Amazonka.IoTEvents.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-iotevents-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.Amazonka.Gen.IoTEvents+ Test.Amazonka.IoTEvents+ Test.Amazonka.IoTEvents.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-iotevents+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateAlarmModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateAlarmModelResponse.proto view
+ fixture/CreateDetectorModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDetectorModelResponse.proto view
+ fixture/CreateInput.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateInputResponse.proto view
+ fixture/DeleteAlarmModel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteAlarmModelResponse.proto view
+ fixture/DeleteDetectorModel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDetectorModelResponse.proto view
+ fixture/DeleteInput.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteInputResponse.proto view
+ fixture/DescribeAlarmModel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeAlarmModelResponse.proto view
+ fixture/DescribeDetectorModel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeDetectorModelAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeDetectorModelAnalysisResponse.proto view
+ fixture/DescribeDetectorModelResponse.proto view
+ fixture/DescribeInput.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeInputResponse.proto view
+ fixture/DescribeLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeLoggingOptionsResponse.proto view
+ fixture/GetDetectorModelAnalysisResults.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDetectorModelAnalysisResultsResponse.proto view
+ fixture/ListAlarmModelVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAlarmModelVersionsResponse.proto view
+ fixture/ListAlarmModels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListAlarmModelsResponse.proto view
+ fixture/ListDetectorModelVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDetectorModelVersionsResponse.proto view
+ fixture/ListDetectorModels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDetectorModelsResponse.proto view
+ fixture/ListInputRoutings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListInputRoutingsResponse.proto view
+ fixture/ListInputs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListInputsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/PutLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/PutLoggingOptionsResponse.proto view
+ fixture/StartDetectorModelAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartDetectorModelAnalysisResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAlarmModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateAlarmModelResponse.proto view
+ fixture/UpdateDetectorModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDetectorModelResponse.proto view
+ fixture/UpdateInput.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotevents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotevents.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateInputResponse.proto view
+ gen/Amazonka/IoTEvents.hs view
@@ -0,0 +1,548 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.IoTEvents+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-07-27@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS IoT Events monitors your equipment or device fleets for failures or+-- changes in operation, and triggers actions when such events occur. You+-- can use AWS IoT Events API operations to create, read, update, and+-- delete inputs and detector models, and to list their versions.+module Amazonka.IoTEvents+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** InternalFailureException+ _InternalFailureException,++ -- ** InvalidRequestException+ _InvalidRequestException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** ResourceAlreadyExistsException+ _ResourceAlreadyExistsException,++ -- ** ResourceInUseException+ _ResourceInUseException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceUnavailableException+ _ServiceUnavailableException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** UnsupportedOperationException+ _UnsupportedOperationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateAlarmModel+ CreateAlarmModel (CreateAlarmModel'),+ newCreateAlarmModel,+ CreateAlarmModelResponse (CreateAlarmModelResponse'),+ newCreateAlarmModelResponse,++ -- ** CreateDetectorModel+ CreateDetectorModel (CreateDetectorModel'),+ newCreateDetectorModel,+ CreateDetectorModelResponse (CreateDetectorModelResponse'),+ newCreateDetectorModelResponse,++ -- ** CreateInput+ CreateInput (CreateInput'),+ newCreateInput,+ CreateInputResponse (CreateInputResponse'),+ newCreateInputResponse,++ -- ** DeleteAlarmModel+ DeleteAlarmModel (DeleteAlarmModel'),+ newDeleteAlarmModel,+ DeleteAlarmModelResponse (DeleteAlarmModelResponse'),+ newDeleteAlarmModelResponse,++ -- ** DeleteDetectorModel+ DeleteDetectorModel (DeleteDetectorModel'),+ newDeleteDetectorModel,+ DeleteDetectorModelResponse (DeleteDetectorModelResponse'),+ newDeleteDetectorModelResponse,++ -- ** DeleteInput+ DeleteInput (DeleteInput'),+ newDeleteInput,+ DeleteInputResponse (DeleteInputResponse'),+ newDeleteInputResponse,++ -- ** DescribeAlarmModel+ DescribeAlarmModel (DescribeAlarmModel'),+ newDescribeAlarmModel,+ DescribeAlarmModelResponse (DescribeAlarmModelResponse'),+ newDescribeAlarmModelResponse,++ -- ** DescribeDetectorModel+ DescribeDetectorModel (DescribeDetectorModel'),+ newDescribeDetectorModel,+ DescribeDetectorModelResponse (DescribeDetectorModelResponse'),+ newDescribeDetectorModelResponse,++ -- ** DescribeDetectorModelAnalysis+ DescribeDetectorModelAnalysis (DescribeDetectorModelAnalysis'),+ newDescribeDetectorModelAnalysis,+ DescribeDetectorModelAnalysisResponse (DescribeDetectorModelAnalysisResponse'),+ newDescribeDetectorModelAnalysisResponse,++ -- ** DescribeInput+ DescribeInput (DescribeInput'),+ newDescribeInput,+ DescribeInputResponse (DescribeInputResponse'),+ newDescribeInputResponse,++ -- ** DescribeLoggingOptions+ DescribeLoggingOptions (DescribeLoggingOptions'),+ newDescribeLoggingOptions,+ DescribeLoggingOptionsResponse (DescribeLoggingOptionsResponse'),+ newDescribeLoggingOptionsResponse,++ -- ** GetDetectorModelAnalysisResults+ GetDetectorModelAnalysisResults (GetDetectorModelAnalysisResults'),+ newGetDetectorModelAnalysisResults,+ GetDetectorModelAnalysisResultsResponse (GetDetectorModelAnalysisResultsResponse'),+ newGetDetectorModelAnalysisResultsResponse,++ -- ** ListAlarmModelVersions+ ListAlarmModelVersions (ListAlarmModelVersions'),+ newListAlarmModelVersions,+ ListAlarmModelVersionsResponse (ListAlarmModelVersionsResponse'),+ newListAlarmModelVersionsResponse,++ -- ** ListAlarmModels+ ListAlarmModels (ListAlarmModels'),+ newListAlarmModels,+ ListAlarmModelsResponse (ListAlarmModelsResponse'),+ newListAlarmModelsResponse,++ -- ** ListDetectorModelVersions+ ListDetectorModelVersions (ListDetectorModelVersions'),+ newListDetectorModelVersions,+ ListDetectorModelVersionsResponse (ListDetectorModelVersionsResponse'),+ newListDetectorModelVersionsResponse,++ -- ** ListDetectorModels+ ListDetectorModels (ListDetectorModels'),+ newListDetectorModels,+ ListDetectorModelsResponse (ListDetectorModelsResponse'),+ newListDetectorModelsResponse,++ -- ** ListInputRoutings+ ListInputRoutings (ListInputRoutings'),+ newListInputRoutings,+ ListInputRoutingsResponse (ListInputRoutingsResponse'),+ newListInputRoutingsResponse,++ -- ** ListInputs+ ListInputs (ListInputs'),+ newListInputs,+ ListInputsResponse (ListInputsResponse'),+ newListInputsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutLoggingOptions+ PutLoggingOptions (PutLoggingOptions'),+ newPutLoggingOptions,+ PutLoggingOptionsResponse (PutLoggingOptionsResponse'),+ newPutLoggingOptionsResponse,++ -- ** StartDetectorModelAnalysis+ StartDetectorModelAnalysis (StartDetectorModelAnalysis'),+ newStartDetectorModelAnalysis,+ StartDetectorModelAnalysisResponse (StartDetectorModelAnalysisResponse'),+ newStartDetectorModelAnalysisResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAlarmModel+ UpdateAlarmModel (UpdateAlarmModel'),+ newUpdateAlarmModel,+ UpdateAlarmModelResponse (UpdateAlarmModelResponse'),+ newUpdateAlarmModelResponse,++ -- ** UpdateDetectorModel+ UpdateDetectorModel (UpdateDetectorModel'),+ newUpdateDetectorModel,+ UpdateDetectorModelResponse (UpdateDetectorModelResponse'),+ newUpdateDetectorModelResponse,++ -- ** UpdateInput+ UpdateInput (UpdateInput'),+ newUpdateInput,+ UpdateInputResponse (UpdateInputResponse'),+ newUpdateInputResponse,++ -- * Types++ -- ** AlarmModelVersionStatus+ AlarmModelVersionStatus (..),++ -- ** AnalysisResultLevel+ AnalysisResultLevel (..),++ -- ** AnalysisStatus+ AnalysisStatus (..),++ -- ** ComparisonOperator+ ComparisonOperator (..),++ -- ** DetectorModelVersionStatus+ DetectorModelVersionStatus (..),++ -- ** EvaluationMethod+ EvaluationMethod (..),++ -- ** InputStatus+ InputStatus (..),++ -- ** LoggingLevel+ LoggingLevel (..),++ -- ** PayloadType+ PayloadType (..),++ -- ** AcknowledgeFlow+ AcknowledgeFlow (AcknowledgeFlow'),+ newAcknowledgeFlow,++ -- ** Action+ Action (Action'),+ newAction,++ -- ** AlarmAction+ AlarmAction (AlarmAction'),+ newAlarmAction,++ -- ** AlarmCapabilities+ AlarmCapabilities (AlarmCapabilities'),+ newAlarmCapabilities,++ -- ** AlarmEventActions+ AlarmEventActions (AlarmEventActions'),+ newAlarmEventActions,++ -- ** AlarmModelSummary+ AlarmModelSummary (AlarmModelSummary'),+ newAlarmModelSummary,++ -- ** AlarmModelVersionSummary+ AlarmModelVersionSummary (AlarmModelVersionSummary'),+ newAlarmModelVersionSummary,++ -- ** AlarmNotification+ AlarmNotification (AlarmNotification'),+ newAlarmNotification,++ -- ** AlarmRule+ AlarmRule (AlarmRule'),+ newAlarmRule,++ -- ** AnalysisResult+ AnalysisResult (AnalysisResult'),+ newAnalysisResult,++ -- ** AnalysisResultLocation+ AnalysisResultLocation (AnalysisResultLocation'),+ newAnalysisResultLocation,++ -- ** AssetPropertyTimestamp+ AssetPropertyTimestamp (AssetPropertyTimestamp'),+ newAssetPropertyTimestamp,++ -- ** AssetPropertyValue+ AssetPropertyValue (AssetPropertyValue'),+ newAssetPropertyValue,++ -- ** AssetPropertyVariant+ AssetPropertyVariant (AssetPropertyVariant'),+ newAssetPropertyVariant,++ -- ** Attribute+ Attribute (Attribute'),+ newAttribute,++ -- ** ClearTimerAction+ ClearTimerAction (ClearTimerAction'),+ newClearTimerAction,++ -- ** DetectorDebugOption+ DetectorDebugOption (DetectorDebugOption'),+ newDetectorDebugOption,++ -- ** DetectorModel+ DetectorModel (DetectorModel'),+ newDetectorModel,++ -- ** DetectorModelConfiguration+ DetectorModelConfiguration (DetectorModelConfiguration'),+ newDetectorModelConfiguration,++ -- ** DetectorModelDefinition+ DetectorModelDefinition (DetectorModelDefinition'),+ newDetectorModelDefinition,++ -- ** DetectorModelSummary+ DetectorModelSummary (DetectorModelSummary'),+ newDetectorModelSummary,++ -- ** DetectorModelVersionSummary+ DetectorModelVersionSummary (DetectorModelVersionSummary'),+ newDetectorModelVersionSummary,++ -- ** DynamoDBAction+ DynamoDBAction (DynamoDBAction'),+ newDynamoDBAction,++ -- ** DynamoDBv2Action+ DynamoDBv2Action (DynamoDBv2Action'),+ newDynamoDBv2Action,++ -- ** EmailConfiguration+ EmailConfiguration (EmailConfiguration'),+ newEmailConfiguration,++ -- ** EmailContent+ EmailContent (EmailContent'),+ newEmailContent,++ -- ** EmailRecipients+ EmailRecipients (EmailRecipients'),+ newEmailRecipients,++ -- ** Event+ Event (Event'),+ newEvent,++ -- ** FirehoseAction+ FirehoseAction (FirehoseAction'),+ newFirehoseAction,++ -- ** InitializationConfiguration+ InitializationConfiguration (InitializationConfiguration'),+ newInitializationConfiguration,++ -- ** Input+ Input (Input'),+ newInput,++ -- ** InputConfiguration+ InputConfiguration (InputConfiguration'),+ newInputConfiguration,++ -- ** InputDefinition+ InputDefinition (InputDefinition'),+ newInputDefinition,++ -- ** InputIdentifier+ InputIdentifier (InputIdentifier'),+ newInputIdentifier,++ -- ** InputSummary+ InputSummary (InputSummary'),+ newInputSummary,++ -- ** IotEventsAction+ IotEventsAction (IotEventsAction'),+ newIotEventsAction,++ -- ** IotEventsInputIdentifier+ IotEventsInputIdentifier (IotEventsInputIdentifier'),+ newIotEventsInputIdentifier,++ -- ** IotSiteWiseAction+ IotSiteWiseAction (IotSiteWiseAction'),+ newIotSiteWiseAction,++ -- ** IotSiteWiseAssetModelPropertyIdentifier+ IotSiteWiseAssetModelPropertyIdentifier (IotSiteWiseAssetModelPropertyIdentifier'),+ newIotSiteWiseAssetModelPropertyIdentifier,++ -- ** IotSiteWiseInputIdentifier+ IotSiteWiseInputIdentifier (IotSiteWiseInputIdentifier'),+ newIotSiteWiseInputIdentifier,++ -- ** IotTopicPublishAction+ IotTopicPublishAction (IotTopicPublishAction'),+ newIotTopicPublishAction,++ -- ** LambdaAction+ LambdaAction (LambdaAction'),+ newLambdaAction,++ -- ** LoggingOptions+ LoggingOptions (LoggingOptions'),+ newLoggingOptions,++ -- ** NotificationAction+ NotificationAction (NotificationAction'),+ newNotificationAction,++ -- ** NotificationTargetActions+ NotificationTargetActions (NotificationTargetActions'),+ newNotificationTargetActions,++ -- ** OnEnterLifecycle+ OnEnterLifecycle (OnEnterLifecycle'),+ newOnEnterLifecycle,++ -- ** OnExitLifecycle+ OnExitLifecycle (OnExitLifecycle'),+ newOnExitLifecycle,++ -- ** OnInputLifecycle+ OnInputLifecycle (OnInputLifecycle'),+ newOnInputLifecycle,++ -- ** Payload+ Payload (Payload'),+ newPayload,++ -- ** RecipientDetail+ RecipientDetail (RecipientDetail'),+ newRecipientDetail,++ -- ** ResetTimerAction+ ResetTimerAction (ResetTimerAction'),+ newResetTimerAction,++ -- ** RoutedResource+ RoutedResource (RoutedResource'),+ newRoutedResource,++ -- ** SMSConfiguration+ SMSConfiguration (SMSConfiguration'),+ newSMSConfiguration,++ -- ** SNSTopicPublishAction+ SNSTopicPublishAction (SNSTopicPublishAction'),+ newSNSTopicPublishAction,++ -- ** SSOIdentity+ SSOIdentity (SSOIdentity'),+ newSSOIdentity,++ -- ** SetTimerAction+ SetTimerAction (SetTimerAction'),+ newSetTimerAction,++ -- ** SetVariableAction+ SetVariableAction (SetVariableAction'),+ newSetVariableAction,++ -- ** SimpleRule+ SimpleRule (SimpleRule'),+ newSimpleRule,++ -- ** SqsAction+ SqsAction (SqsAction'),+ newSqsAction,++ -- ** State+ State (State'),+ newState,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** TransitionEvent+ TransitionEvent (TransitionEvent'),+ newTransitionEvent,+ )+where++import Amazonka.IoTEvents.CreateAlarmModel+import Amazonka.IoTEvents.CreateDetectorModel+import Amazonka.IoTEvents.CreateInput+import Amazonka.IoTEvents.DeleteAlarmModel+import Amazonka.IoTEvents.DeleteDetectorModel+import Amazonka.IoTEvents.DeleteInput+import Amazonka.IoTEvents.DescribeAlarmModel+import Amazonka.IoTEvents.DescribeDetectorModel+import Amazonka.IoTEvents.DescribeDetectorModelAnalysis+import Amazonka.IoTEvents.DescribeInput+import Amazonka.IoTEvents.DescribeLoggingOptions+import Amazonka.IoTEvents.GetDetectorModelAnalysisResults+import Amazonka.IoTEvents.Lens+import Amazonka.IoTEvents.ListAlarmModelVersions+import Amazonka.IoTEvents.ListAlarmModels+import Amazonka.IoTEvents.ListDetectorModelVersions+import Amazonka.IoTEvents.ListDetectorModels+import Amazonka.IoTEvents.ListInputRoutings+import Amazonka.IoTEvents.ListInputs+import Amazonka.IoTEvents.ListTagsForResource+import Amazonka.IoTEvents.PutLoggingOptions+import Amazonka.IoTEvents.StartDetectorModelAnalysis+import Amazonka.IoTEvents.TagResource+import Amazonka.IoTEvents.Types+import Amazonka.IoTEvents.UntagResource+import Amazonka.IoTEvents.UpdateAlarmModel+import Amazonka.IoTEvents.UpdateDetectorModel+import Amazonka.IoTEvents.UpdateInput+import Amazonka.IoTEvents.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 'IoTEvents'.++-- $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/Amazonka/IoTEvents/CreateAlarmModel.hs view
@@ -0,0 +1,427 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.CreateAlarmModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an alarm model to monitor an AWS IoT Events input attribute. You+-- can use the alarm to get notified when the value is outside a specified+-- range. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html Create an alarm model>+-- in the /AWS IoT Events Developer Guide/.+module Amazonka.IoTEvents.CreateAlarmModel+ ( -- * Creating a Request+ CreateAlarmModel (..),+ newCreateAlarmModel,++ -- * Request Lenses+ createAlarmModel_alarmCapabilities,+ createAlarmModel_alarmEventActions,+ createAlarmModel_alarmModelDescription,+ createAlarmModel_alarmNotification,+ createAlarmModel_key,+ createAlarmModel_severity,+ createAlarmModel_tags,+ createAlarmModel_alarmModelName,+ createAlarmModel_roleArn,+ createAlarmModel_alarmRule,++ -- * Destructuring the Response+ CreateAlarmModelResponse (..),+ newCreateAlarmModelResponse,++ -- * Response Lenses+ createAlarmModelResponse_alarmModelArn,+ createAlarmModelResponse_alarmModelVersion,+ createAlarmModelResponse_creationTime,+ createAlarmModelResponse_lastUpdateTime,+ createAlarmModelResponse_status,+ createAlarmModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAlarmModel' smart constructor.+data CreateAlarmModel = CreateAlarmModel'+ { -- | Contains the configuration information of alarm state changes.+ alarmCapabilities :: Prelude.Maybe AlarmCapabilities,+ -- | Contains information about one or more alarm actions.+ alarmEventActions :: Prelude.Maybe AlarmEventActions,+ -- | A description that tells you what the alarm model detects.+ alarmModelDescription :: Prelude.Maybe Prelude.Text,+ -- | Contains information about one or more notification actions.+ alarmNotification :: Prelude.Maybe AlarmNotification,+ -- | An input attribute used as a key to create an alarm. AWS IoT Events+ -- routes+ -- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>+ -- associated with this key to the alarm.+ key :: Prelude.Maybe Prelude.Text,+ -- | A non-negative integer that reflects the severity level of the alarm.+ severity :: Prelude.Maybe Prelude.Natural,+ -- | A list of key-value pairs that contain metadata for the alarm model. The+ -- tags help you manage the alarm model. For more information, see+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html Tagging your AWS IoT Events resources>+ -- in the /AWS IoT Events Developer Guide/.+ --+ -- You can create up to 50 tags for one alarm model.+ tags :: Prelude.Maybe [Tag],+ -- | A unique name that helps you identify the alarm model. You can\'t change+ -- this name after you create the alarm model.+ alarmModelName :: Prelude.Text,+ -- | The ARN of the IAM role that allows the alarm to perform actions and+ -- access AWS resources. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ roleArn :: Prelude.Text,+ -- | Defines when your alarm is invoked.+ alarmRule :: AlarmRule+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAlarmModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmCapabilities', 'createAlarmModel_alarmCapabilities' - Contains the configuration information of alarm state changes.+--+-- 'alarmEventActions', 'createAlarmModel_alarmEventActions' - Contains information about one or more alarm actions.+--+-- 'alarmModelDescription', 'createAlarmModel_alarmModelDescription' - A description that tells you what the alarm model detects.+--+-- 'alarmNotification', 'createAlarmModel_alarmNotification' - Contains information about one or more notification actions.+--+-- 'key', 'createAlarmModel_key' - An input attribute used as a key to create an alarm. AWS IoT Events+-- routes+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>+-- associated with this key to the alarm.+--+-- 'severity', 'createAlarmModel_severity' - A non-negative integer that reflects the severity level of the alarm.+--+-- 'tags', 'createAlarmModel_tags' - A list of key-value pairs that contain metadata for the alarm model. The+-- tags help you manage the alarm model. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html Tagging your AWS IoT Events resources>+-- in the /AWS IoT Events Developer Guide/.+--+-- You can create up to 50 tags for one alarm model.+--+-- 'alarmModelName', 'createAlarmModel_alarmModelName' - A unique name that helps you identify the alarm model. You can\'t change+-- this name after you create the alarm model.+--+-- 'roleArn', 'createAlarmModel_roleArn' - The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'alarmRule', 'createAlarmModel_alarmRule' - Defines when your alarm is invoked.+newCreateAlarmModel ::+ -- | 'alarmModelName'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'alarmRule'+ AlarmRule ->+ CreateAlarmModel+newCreateAlarmModel+ pAlarmModelName_+ pRoleArn_+ pAlarmRule_ =+ CreateAlarmModel'+ { alarmCapabilities =+ Prelude.Nothing,+ alarmEventActions = Prelude.Nothing,+ alarmModelDescription = Prelude.Nothing,+ alarmNotification = Prelude.Nothing,+ key = Prelude.Nothing,+ severity = Prelude.Nothing,+ tags = Prelude.Nothing,+ alarmModelName = pAlarmModelName_,+ roleArn = pRoleArn_,+ alarmRule = pAlarmRule_+ }++-- | Contains the configuration information of alarm state changes.+createAlarmModel_alarmCapabilities :: Lens.Lens' CreateAlarmModel (Prelude.Maybe AlarmCapabilities)+createAlarmModel_alarmCapabilities = Lens.lens (\CreateAlarmModel' {alarmCapabilities} -> alarmCapabilities) (\s@CreateAlarmModel' {} a -> s {alarmCapabilities = a} :: CreateAlarmModel)++-- | Contains information about one or more alarm actions.+createAlarmModel_alarmEventActions :: Lens.Lens' CreateAlarmModel (Prelude.Maybe AlarmEventActions)+createAlarmModel_alarmEventActions = Lens.lens (\CreateAlarmModel' {alarmEventActions} -> alarmEventActions) (\s@CreateAlarmModel' {} a -> s {alarmEventActions = a} :: CreateAlarmModel)++-- | A description that tells you what the alarm model detects.+createAlarmModel_alarmModelDescription :: Lens.Lens' CreateAlarmModel (Prelude.Maybe Prelude.Text)+createAlarmModel_alarmModelDescription = Lens.lens (\CreateAlarmModel' {alarmModelDescription} -> alarmModelDescription) (\s@CreateAlarmModel' {} a -> s {alarmModelDescription = a} :: CreateAlarmModel)++-- | Contains information about one or more notification actions.+createAlarmModel_alarmNotification :: Lens.Lens' CreateAlarmModel (Prelude.Maybe AlarmNotification)+createAlarmModel_alarmNotification = Lens.lens (\CreateAlarmModel' {alarmNotification} -> alarmNotification) (\s@CreateAlarmModel' {} a -> s {alarmNotification = a} :: CreateAlarmModel)++-- | An input attribute used as a key to create an alarm. AWS IoT Events+-- routes+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>+-- associated with this key to the alarm.+createAlarmModel_key :: Lens.Lens' CreateAlarmModel (Prelude.Maybe Prelude.Text)+createAlarmModel_key = Lens.lens (\CreateAlarmModel' {key} -> key) (\s@CreateAlarmModel' {} a -> s {key = a} :: CreateAlarmModel)++-- | A non-negative integer that reflects the severity level of the alarm.+createAlarmModel_severity :: Lens.Lens' CreateAlarmModel (Prelude.Maybe Prelude.Natural)+createAlarmModel_severity = Lens.lens (\CreateAlarmModel' {severity} -> severity) (\s@CreateAlarmModel' {} a -> s {severity = a} :: CreateAlarmModel)++-- | A list of key-value pairs that contain metadata for the alarm model. The+-- tags help you manage the alarm model. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html Tagging your AWS IoT Events resources>+-- in the /AWS IoT Events Developer Guide/.+--+-- You can create up to 50 tags for one alarm model.+createAlarmModel_tags :: Lens.Lens' CreateAlarmModel (Prelude.Maybe [Tag])+createAlarmModel_tags = Lens.lens (\CreateAlarmModel' {tags} -> tags) (\s@CreateAlarmModel' {} a -> s {tags = a} :: CreateAlarmModel) Prelude.. Lens.mapping Lens.coerced++-- | A unique name that helps you identify the alarm model. You can\'t change+-- this name after you create the alarm model.+createAlarmModel_alarmModelName :: Lens.Lens' CreateAlarmModel Prelude.Text+createAlarmModel_alarmModelName = Lens.lens (\CreateAlarmModel' {alarmModelName} -> alarmModelName) (\s@CreateAlarmModel' {} a -> s {alarmModelName = a} :: CreateAlarmModel)++-- | The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+createAlarmModel_roleArn :: Lens.Lens' CreateAlarmModel Prelude.Text+createAlarmModel_roleArn = Lens.lens (\CreateAlarmModel' {roleArn} -> roleArn) (\s@CreateAlarmModel' {} a -> s {roleArn = a} :: CreateAlarmModel)++-- | Defines when your alarm is invoked.+createAlarmModel_alarmRule :: Lens.Lens' CreateAlarmModel AlarmRule+createAlarmModel_alarmRule = Lens.lens (\CreateAlarmModel' {alarmRule} -> alarmRule) (\s@CreateAlarmModel' {} a -> s {alarmRule = a} :: CreateAlarmModel)++instance Core.AWSRequest CreateAlarmModel where+ type+ AWSResponse CreateAlarmModel =+ CreateAlarmModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAlarmModelResponse'+ Prelude.<$> (x Data..?> "alarmModelArn")+ Prelude.<*> (x Data..?> "alarmModelVersion")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "lastUpdateTime")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAlarmModel where+ hashWithSalt _salt CreateAlarmModel' {..} =+ _salt+ `Prelude.hashWithSalt` alarmCapabilities+ `Prelude.hashWithSalt` alarmEventActions+ `Prelude.hashWithSalt` alarmModelDescription+ `Prelude.hashWithSalt` alarmNotification+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` severity+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` alarmModelName+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` alarmRule++instance Prelude.NFData CreateAlarmModel where+ rnf CreateAlarmModel' {..} =+ Prelude.rnf alarmCapabilities+ `Prelude.seq` Prelude.rnf alarmEventActions+ `Prelude.seq` Prelude.rnf alarmModelDescription+ `Prelude.seq` Prelude.rnf alarmNotification+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf severity+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf alarmModelName+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf alarmRule++instance Data.ToHeaders CreateAlarmModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateAlarmModel where+ toJSON CreateAlarmModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alarmCapabilities" Data..=)+ Prelude.<$> alarmCapabilities,+ ("alarmEventActions" Data..=)+ Prelude.<$> alarmEventActions,+ ("alarmModelDescription" Data..=)+ Prelude.<$> alarmModelDescription,+ ("alarmNotification" Data..=)+ Prelude.<$> alarmNotification,+ ("key" Data..=) Prelude.<$> key,+ ("severity" Data..=) Prelude.<$> severity,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("alarmModelName" Data..= alarmModelName),+ Prelude.Just ("roleArn" Data..= roleArn),+ Prelude.Just ("alarmRule" Data..= alarmRule)+ ]+ )++instance Data.ToPath CreateAlarmModel where+ toPath = Prelude.const "/alarm-models"++instance Data.ToQuery CreateAlarmModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAlarmModelResponse' smart constructor.+data CreateAlarmModelResponse = CreateAlarmModelResponse'+ { -- | The ARN of the alarm model. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ alarmModelArn :: Prelude.Maybe Prelude.Text,+ -- | The version of the alarm model.+ alarmModelVersion :: Prelude.Maybe Prelude.Text,+ -- | The time the alarm model was created, in the Unix epoch format.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time the alarm model was last updated, in the Unix epoch format.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The status of the alarm model. The status can be one of the following+ -- values:+ --+ -- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+ -- data.+ --+ -- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+ -- Activating an alarm model can take up to a few minutes.+ --+ -- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+ -- evaluate data. Check your alarm model information and update the+ -- alarm model.+ --+ -- - @FAILED@ - You couldn\'t create or update the alarm model. Check+ -- your alarm model information and try again.+ status :: Prelude.Maybe AlarmModelVersionStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAlarmModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelArn', 'createAlarmModelResponse_alarmModelArn' - The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'alarmModelVersion', 'createAlarmModelResponse_alarmModelVersion' - The version of the alarm model.+--+-- 'creationTime', 'createAlarmModelResponse_creationTime' - The time the alarm model was created, in the Unix epoch format.+--+-- 'lastUpdateTime', 'createAlarmModelResponse_lastUpdateTime' - The time the alarm model was last updated, in the Unix epoch format.+--+-- 'status', 'createAlarmModelResponse_status' - The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+--+-- 'httpStatus', 'createAlarmModelResponse_httpStatus' - The response's http status code.+newCreateAlarmModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAlarmModelResponse+newCreateAlarmModelResponse pHttpStatus_ =+ CreateAlarmModelResponse'+ { alarmModelArn =+ Prelude.Nothing,+ alarmModelVersion = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+createAlarmModelResponse_alarmModelArn :: Lens.Lens' CreateAlarmModelResponse (Prelude.Maybe Prelude.Text)+createAlarmModelResponse_alarmModelArn = Lens.lens (\CreateAlarmModelResponse' {alarmModelArn} -> alarmModelArn) (\s@CreateAlarmModelResponse' {} a -> s {alarmModelArn = a} :: CreateAlarmModelResponse)++-- | The version of the alarm model.+createAlarmModelResponse_alarmModelVersion :: Lens.Lens' CreateAlarmModelResponse (Prelude.Maybe Prelude.Text)+createAlarmModelResponse_alarmModelVersion = Lens.lens (\CreateAlarmModelResponse' {alarmModelVersion} -> alarmModelVersion) (\s@CreateAlarmModelResponse' {} a -> s {alarmModelVersion = a} :: CreateAlarmModelResponse)++-- | The time the alarm model was created, in the Unix epoch format.+createAlarmModelResponse_creationTime :: Lens.Lens' CreateAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)+createAlarmModelResponse_creationTime = Lens.lens (\CreateAlarmModelResponse' {creationTime} -> creationTime) (\s@CreateAlarmModelResponse' {} a -> s {creationTime = a} :: CreateAlarmModelResponse) Prelude.. Lens.mapping Data._Time++-- | The time the alarm model was last updated, in the Unix epoch format.+createAlarmModelResponse_lastUpdateTime :: Lens.Lens' CreateAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)+createAlarmModelResponse_lastUpdateTime = Lens.lens (\CreateAlarmModelResponse' {lastUpdateTime} -> lastUpdateTime) (\s@CreateAlarmModelResponse' {} a -> s {lastUpdateTime = a} :: CreateAlarmModelResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+createAlarmModelResponse_status :: Lens.Lens' CreateAlarmModelResponse (Prelude.Maybe AlarmModelVersionStatus)+createAlarmModelResponse_status = Lens.lens (\CreateAlarmModelResponse' {status} -> status) (\s@CreateAlarmModelResponse' {} a -> s {status = a} :: CreateAlarmModelResponse)++-- | The response's http status code.+createAlarmModelResponse_httpStatus :: Lens.Lens' CreateAlarmModelResponse Prelude.Int+createAlarmModelResponse_httpStatus = Lens.lens (\CreateAlarmModelResponse' {httpStatus} -> httpStatus) (\s@CreateAlarmModelResponse' {} a -> s {httpStatus = a} :: CreateAlarmModelResponse)++instance Prelude.NFData CreateAlarmModelResponse where+ rnf CreateAlarmModelResponse' {..} =+ Prelude.rnf alarmModelArn+ `Prelude.seq` Prelude.rnf alarmModelVersion+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/CreateDetectorModel.hs view
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.CreateDetectorModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a detector model.+module Amazonka.IoTEvents.CreateDetectorModel+ ( -- * Creating a Request+ CreateDetectorModel (..),+ newCreateDetectorModel,++ -- * Request Lenses+ createDetectorModel_detectorModelDescription,+ createDetectorModel_evaluationMethod,+ createDetectorModel_key,+ createDetectorModel_tags,+ createDetectorModel_detectorModelName,+ createDetectorModel_detectorModelDefinition,+ createDetectorModel_roleArn,++ -- * Destructuring the Response+ CreateDetectorModelResponse (..),+ newCreateDetectorModelResponse,++ -- * Response Lenses+ createDetectorModelResponse_detectorModelConfiguration,+ createDetectorModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDetectorModel' smart constructor.+data CreateDetectorModel = CreateDetectorModel'+ { -- | A brief description of the detector model.+ detectorModelDescription :: Prelude.Maybe Prelude.Text,+ -- | Information about the order in which events are evaluated and how+ -- actions are executed.+ evaluationMethod :: Prelude.Maybe EvaluationMethod,+ -- | The input attribute key used to identify a device or system to create a+ -- detector (an instance of the detector model) and then to route each+ -- input received to the appropriate detector (instance). This parameter+ -- uses a JSON-path expression in the message payload of each input to+ -- specify the attribute-value pair that is used to identify the device+ -- associated with the input.+ key :: Prelude.Maybe Prelude.Text,+ -- | Metadata that can be used to manage the detector model.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the detector model.+ detectorModelName :: Prelude.Text,+ -- | Information that defines how the detectors operate.+ detectorModelDefinition :: DetectorModelDefinition,+ -- | The ARN of the role that grants permission to AWS IoT Events to perform+ -- its operations.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDetectorModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelDescription', 'createDetectorModel_detectorModelDescription' - A brief description of the detector model.+--+-- 'evaluationMethod', 'createDetectorModel_evaluationMethod' - Information about the order in which events are evaluated and how+-- actions are executed.+--+-- 'key', 'createDetectorModel_key' - The input attribute key used to identify a device or system to create a+-- detector (an instance of the detector model) and then to route each+-- input received to the appropriate detector (instance). This parameter+-- uses a JSON-path expression in the message payload of each input to+-- specify the attribute-value pair that is used to identify the device+-- associated with the input.+--+-- 'tags', 'createDetectorModel_tags' - Metadata that can be used to manage the detector model.+--+-- 'detectorModelName', 'createDetectorModel_detectorModelName' - The name of the detector model.+--+-- 'detectorModelDefinition', 'createDetectorModel_detectorModelDefinition' - Information that defines how the detectors operate.+--+-- 'roleArn', 'createDetectorModel_roleArn' - The ARN of the role that grants permission to AWS IoT Events to perform+-- its operations.+newCreateDetectorModel ::+ -- | 'detectorModelName'+ Prelude.Text ->+ -- | 'detectorModelDefinition'+ DetectorModelDefinition ->+ -- | 'roleArn'+ Prelude.Text ->+ CreateDetectorModel+newCreateDetectorModel+ pDetectorModelName_+ pDetectorModelDefinition_+ pRoleArn_ =+ CreateDetectorModel'+ { detectorModelDescription =+ Prelude.Nothing,+ evaluationMethod = Prelude.Nothing,+ key = Prelude.Nothing,+ tags = Prelude.Nothing,+ detectorModelName = pDetectorModelName_,+ detectorModelDefinition = pDetectorModelDefinition_,+ roleArn = pRoleArn_+ }++-- | A brief description of the detector model.+createDetectorModel_detectorModelDescription :: Lens.Lens' CreateDetectorModel (Prelude.Maybe Prelude.Text)+createDetectorModel_detectorModelDescription = Lens.lens (\CreateDetectorModel' {detectorModelDescription} -> detectorModelDescription) (\s@CreateDetectorModel' {} a -> s {detectorModelDescription = a} :: CreateDetectorModel)++-- | Information about the order in which events are evaluated and how+-- actions are executed.+createDetectorModel_evaluationMethod :: Lens.Lens' CreateDetectorModel (Prelude.Maybe EvaluationMethod)+createDetectorModel_evaluationMethod = Lens.lens (\CreateDetectorModel' {evaluationMethod} -> evaluationMethod) (\s@CreateDetectorModel' {} a -> s {evaluationMethod = a} :: CreateDetectorModel)++-- | The input attribute key used to identify a device or system to create a+-- detector (an instance of the detector model) and then to route each+-- input received to the appropriate detector (instance). This parameter+-- uses a JSON-path expression in the message payload of each input to+-- specify the attribute-value pair that is used to identify the device+-- associated with the input.+createDetectorModel_key :: Lens.Lens' CreateDetectorModel (Prelude.Maybe Prelude.Text)+createDetectorModel_key = Lens.lens (\CreateDetectorModel' {key} -> key) (\s@CreateDetectorModel' {} a -> s {key = a} :: CreateDetectorModel)++-- | Metadata that can be used to manage the detector model.+createDetectorModel_tags :: Lens.Lens' CreateDetectorModel (Prelude.Maybe [Tag])+createDetectorModel_tags = Lens.lens (\CreateDetectorModel' {tags} -> tags) (\s@CreateDetectorModel' {} a -> s {tags = a} :: CreateDetectorModel) Prelude.. Lens.mapping Lens.coerced++-- | The name of the detector model.+createDetectorModel_detectorModelName :: Lens.Lens' CreateDetectorModel Prelude.Text+createDetectorModel_detectorModelName = Lens.lens (\CreateDetectorModel' {detectorModelName} -> detectorModelName) (\s@CreateDetectorModel' {} a -> s {detectorModelName = a} :: CreateDetectorModel)++-- | Information that defines how the detectors operate.+createDetectorModel_detectorModelDefinition :: Lens.Lens' CreateDetectorModel DetectorModelDefinition+createDetectorModel_detectorModelDefinition = Lens.lens (\CreateDetectorModel' {detectorModelDefinition} -> detectorModelDefinition) (\s@CreateDetectorModel' {} a -> s {detectorModelDefinition = a} :: CreateDetectorModel)++-- | The ARN of the role that grants permission to AWS IoT Events to perform+-- its operations.+createDetectorModel_roleArn :: Lens.Lens' CreateDetectorModel Prelude.Text+createDetectorModel_roleArn = Lens.lens (\CreateDetectorModel' {roleArn} -> roleArn) (\s@CreateDetectorModel' {} a -> s {roleArn = a} :: CreateDetectorModel)++instance Core.AWSRequest CreateDetectorModel where+ type+ AWSResponse CreateDetectorModel =+ CreateDetectorModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDetectorModelResponse'+ Prelude.<$> (x Data..?> "detectorModelConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDetectorModel where+ hashWithSalt _salt CreateDetectorModel' {..} =+ _salt+ `Prelude.hashWithSalt` detectorModelDescription+ `Prelude.hashWithSalt` evaluationMethod+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` detectorModelName+ `Prelude.hashWithSalt` detectorModelDefinition+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData CreateDetectorModel where+ rnf CreateDetectorModel' {..} =+ Prelude.rnf detectorModelDescription+ `Prelude.seq` Prelude.rnf evaluationMethod+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf detectorModelName+ `Prelude.seq` Prelude.rnf detectorModelDefinition+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders CreateDetectorModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateDetectorModel where+ toJSON CreateDetectorModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("detectorModelDescription" Data..=)+ Prelude.<$> detectorModelDescription,+ ("evaluationMethod" Data..=)+ Prelude.<$> evaluationMethod,+ ("key" Data..=) Prelude.<$> key,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("detectorModelName" Data..= detectorModelName),+ Prelude.Just+ ( "detectorModelDefinition"+ Data..= detectorModelDefinition+ ),+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )++instance Data.ToPath CreateDetectorModel where+ toPath = Prelude.const "/detector-models"++instance Data.ToQuery CreateDetectorModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDetectorModelResponse' smart constructor.+data CreateDetectorModelResponse = CreateDetectorModelResponse'+ { -- | Information about how the detector model is configured.+ detectorModelConfiguration :: Prelude.Maybe DetectorModelConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDetectorModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelConfiguration', 'createDetectorModelResponse_detectorModelConfiguration' - Information about how the detector model is configured.+--+-- 'httpStatus', 'createDetectorModelResponse_httpStatus' - The response's http status code.+newCreateDetectorModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDetectorModelResponse+newCreateDetectorModelResponse pHttpStatus_ =+ CreateDetectorModelResponse'+ { detectorModelConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about how the detector model is configured.+createDetectorModelResponse_detectorModelConfiguration :: Lens.Lens' CreateDetectorModelResponse (Prelude.Maybe DetectorModelConfiguration)+createDetectorModelResponse_detectorModelConfiguration = Lens.lens (\CreateDetectorModelResponse' {detectorModelConfiguration} -> detectorModelConfiguration) (\s@CreateDetectorModelResponse' {} a -> s {detectorModelConfiguration = a} :: CreateDetectorModelResponse)++-- | The response's http status code.+createDetectorModelResponse_httpStatus :: Lens.Lens' CreateDetectorModelResponse Prelude.Int+createDetectorModelResponse_httpStatus = Lens.lens (\CreateDetectorModelResponse' {httpStatus} -> httpStatus) (\s@CreateDetectorModelResponse' {} a -> s {httpStatus = a} :: CreateDetectorModelResponse)++instance Prelude.NFData CreateDetectorModelResponse where+ rnf CreateDetectorModelResponse' {..} =+ Prelude.rnf detectorModelConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/CreateInput.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.CreateInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an input.+module Amazonka.IoTEvents.CreateInput+ ( -- * Creating a Request+ CreateInput (..),+ newCreateInput,++ -- * Request Lenses+ createInput_inputDescription,+ createInput_tags,+ createInput_inputName,+ createInput_inputDefinition,++ -- * Destructuring the Response+ CreateInputResponse (..),+ newCreateInputResponse,++ -- * Response Lenses+ createInputResponse_inputConfiguration,+ createInputResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateInput' smart constructor.+data CreateInput = CreateInput'+ { -- | A brief description of the input.+ inputDescription :: Prelude.Maybe Prelude.Text,+ -- | Metadata that can be used to manage the input.+ tags :: Prelude.Maybe [Tag],+ -- | The name you want to give to the input.+ inputName :: Prelude.Text,+ -- | The definition of the input.+ inputDefinition :: InputDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputDescription', 'createInput_inputDescription' - A brief description of the input.+--+-- 'tags', 'createInput_tags' - Metadata that can be used to manage the input.+--+-- 'inputName', 'createInput_inputName' - The name you want to give to the input.+--+-- 'inputDefinition', 'createInput_inputDefinition' - The definition of the input.+newCreateInput ::+ -- | 'inputName'+ Prelude.Text ->+ -- | 'inputDefinition'+ InputDefinition ->+ CreateInput+newCreateInput pInputName_ pInputDefinition_ =+ CreateInput'+ { inputDescription = Prelude.Nothing,+ tags = Prelude.Nothing,+ inputName = pInputName_,+ inputDefinition = pInputDefinition_+ }++-- | A brief description of the input.+createInput_inputDescription :: Lens.Lens' CreateInput (Prelude.Maybe Prelude.Text)+createInput_inputDescription = Lens.lens (\CreateInput' {inputDescription} -> inputDescription) (\s@CreateInput' {} a -> s {inputDescription = a} :: CreateInput)++-- | Metadata that can be used to manage the input.+createInput_tags :: Lens.Lens' CreateInput (Prelude.Maybe [Tag])+createInput_tags = Lens.lens (\CreateInput' {tags} -> tags) (\s@CreateInput' {} a -> s {tags = a} :: CreateInput) Prelude.. Lens.mapping Lens.coerced++-- | The name you want to give to the input.+createInput_inputName :: Lens.Lens' CreateInput Prelude.Text+createInput_inputName = Lens.lens (\CreateInput' {inputName} -> inputName) (\s@CreateInput' {} a -> s {inputName = a} :: CreateInput)++-- | The definition of the input.+createInput_inputDefinition :: Lens.Lens' CreateInput InputDefinition+createInput_inputDefinition = Lens.lens (\CreateInput' {inputDefinition} -> inputDefinition) (\s@CreateInput' {} a -> s {inputDefinition = a} :: CreateInput)++instance Core.AWSRequest CreateInput where+ type AWSResponse CreateInput = CreateInputResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateInputResponse'+ Prelude.<$> (x Data..?> "inputConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateInput where+ hashWithSalt _salt CreateInput' {..} =+ _salt+ `Prelude.hashWithSalt` inputDescription+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` inputName+ `Prelude.hashWithSalt` inputDefinition++instance Prelude.NFData CreateInput where+ rnf CreateInput' {..} =+ Prelude.rnf inputDescription+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf inputName+ `Prelude.seq` Prelude.rnf inputDefinition++instance Data.ToHeaders CreateInput where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateInput where+ toJSON CreateInput' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("inputDescription" Data..=)+ Prelude.<$> inputDescription,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("inputName" Data..= inputName),+ Prelude.Just+ ("inputDefinition" Data..= inputDefinition)+ ]+ )++instance Data.ToPath CreateInput where+ toPath = Prelude.const "/inputs"++instance Data.ToQuery CreateInput where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateInputResponse' smart constructor.+data CreateInputResponse = CreateInputResponse'+ { -- | Information about the configuration of the input.+ inputConfiguration :: Prelude.Maybe InputConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateInputResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputConfiguration', 'createInputResponse_inputConfiguration' - Information about the configuration of the input.+--+-- 'httpStatus', 'createInputResponse_httpStatus' - The response's http status code.+newCreateInputResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateInputResponse+newCreateInputResponse pHttpStatus_ =+ CreateInputResponse'+ { inputConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the configuration of the input.+createInputResponse_inputConfiguration :: Lens.Lens' CreateInputResponse (Prelude.Maybe InputConfiguration)+createInputResponse_inputConfiguration = Lens.lens (\CreateInputResponse' {inputConfiguration} -> inputConfiguration) (\s@CreateInputResponse' {} a -> s {inputConfiguration = a} :: CreateInputResponse)++-- | The response's http status code.+createInputResponse_httpStatus :: Lens.Lens' CreateInputResponse Prelude.Int+createInputResponse_httpStatus = Lens.lens (\CreateInputResponse' {httpStatus} -> httpStatus) (\s@CreateInputResponse' {} a -> s {httpStatus = a} :: CreateInputResponse)++instance Prelude.NFData CreateInputResponse where+ rnf CreateInputResponse' {..} =+ Prelude.rnf inputConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DeleteAlarmModel.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DeleteAlarmModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an alarm model. Any alarm instances that were created based on+-- this alarm model are also deleted. This action can\'t be undone.+module Amazonka.IoTEvents.DeleteAlarmModel+ ( -- * Creating a Request+ DeleteAlarmModel (..),+ newDeleteAlarmModel,++ -- * Request Lenses+ deleteAlarmModel_alarmModelName,++ -- * Destructuring the Response+ DeleteAlarmModelResponse (..),+ newDeleteAlarmModelResponse,++ -- * Response Lenses+ deleteAlarmModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAlarmModel' smart constructor.+data DeleteAlarmModel = DeleteAlarmModel'+ { -- | The name of the alarm model.+ alarmModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAlarmModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelName', 'deleteAlarmModel_alarmModelName' - The name of the alarm model.+newDeleteAlarmModel ::+ -- | 'alarmModelName'+ Prelude.Text ->+ DeleteAlarmModel+newDeleteAlarmModel pAlarmModelName_ =+ DeleteAlarmModel'+ { alarmModelName =+ pAlarmModelName_+ }++-- | The name of the alarm model.+deleteAlarmModel_alarmModelName :: Lens.Lens' DeleteAlarmModel Prelude.Text+deleteAlarmModel_alarmModelName = Lens.lens (\DeleteAlarmModel' {alarmModelName} -> alarmModelName) (\s@DeleteAlarmModel' {} a -> s {alarmModelName = a} :: DeleteAlarmModel)++instance Core.AWSRequest DeleteAlarmModel where+ type+ AWSResponse DeleteAlarmModel =+ DeleteAlarmModelResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAlarmModelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAlarmModel where+ hashWithSalt _salt DeleteAlarmModel' {..} =+ _salt `Prelude.hashWithSalt` alarmModelName++instance Prelude.NFData DeleteAlarmModel where+ rnf DeleteAlarmModel' {..} =+ Prelude.rnf alarmModelName++instance Data.ToHeaders DeleteAlarmModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteAlarmModel where+ toPath DeleteAlarmModel' {..} =+ Prelude.mconcat+ ["/alarm-models/", Data.toBS alarmModelName]++instance Data.ToQuery DeleteAlarmModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAlarmModelResponse' smart constructor.+data DeleteAlarmModelResponse = DeleteAlarmModelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAlarmModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAlarmModelResponse_httpStatus' - The response's http status code.+newDeleteAlarmModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAlarmModelResponse+newDeleteAlarmModelResponse pHttpStatus_ =+ DeleteAlarmModelResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAlarmModelResponse_httpStatus :: Lens.Lens' DeleteAlarmModelResponse Prelude.Int+deleteAlarmModelResponse_httpStatus = Lens.lens (\DeleteAlarmModelResponse' {httpStatus} -> httpStatus) (\s@DeleteAlarmModelResponse' {} a -> s {httpStatus = a} :: DeleteAlarmModelResponse)++instance Prelude.NFData DeleteAlarmModelResponse where+ rnf DeleteAlarmModelResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DeleteDetectorModel.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DeleteDetectorModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a detector model. Any active instances of the detector model are+-- also deleted.+module Amazonka.IoTEvents.DeleteDetectorModel+ ( -- * Creating a Request+ DeleteDetectorModel (..),+ newDeleteDetectorModel,++ -- * Request Lenses+ deleteDetectorModel_detectorModelName,++ -- * Destructuring the Response+ DeleteDetectorModelResponse (..),+ newDeleteDetectorModelResponse,++ -- * Response Lenses+ deleteDetectorModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDetectorModel' smart constructor.+data DeleteDetectorModel = DeleteDetectorModel'+ { -- | The name of the detector model to be deleted.+ detectorModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDetectorModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelName', 'deleteDetectorModel_detectorModelName' - The name of the detector model to be deleted.+newDeleteDetectorModel ::+ -- | 'detectorModelName'+ Prelude.Text ->+ DeleteDetectorModel+newDeleteDetectorModel pDetectorModelName_ =+ DeleteDetectorModel'+ { detectorModelName =+ pDetectorModelName_+ }++-- | The name of the detector model to be deleted.+deleteDetectorModel_detectorModelName :: Lens.Lens' DeleteDetectorModel Prelude.Text+deleteDetectorModel_detectorModelName = Lens.lens (\DeleteDetectorModel' {detectorModelName} -> detectorModelName) (\s@DeleteDetectorModel' {} a -> s {detectorModelName = a} :: DeleteDetectorModel)++instance Core.AWSRequest DeleteDetectorModel where+ type+ AWSResponse DeleteDetectorModel =+ DeleteDetectorModelResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDetectorModelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDetectorModel where+ hashWithSalt _salt DeleteDetectorModel' {..} =+ _salt `Prelude.hashWithSalt` detectorModelName++instance Prelude.NFData DeleteDetectorModel where+ rnf DeleteDetectorModel' {..} =+ Prelude.rnf detectorModelName++instance Data.ToHeaders DeleteDetectorModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDetectorModel where+ toPath DeleteDetectorModel' {..} =+ Prelude.mconcat+ ["/detector-models/", Data.toBS detectorModelName]++instance Data.ToQuery DeleteDetectorModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDetectorModelResponse' smart constructor.+data DeleteDetectorModelResponse = DeleteDetectorModelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDetectorModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDetectorModelResponse_httpStatus' - The response's http status code.+newDeleteDetectorModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDetectorModelResponse+newDeleteDetectorModelResponse pHttpStatus_ =+ DeleteDetectorModelResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteDetectorModelResponse_httpStatus :: Lens.Lens' DeleteDetectorModelResponse Prelude.Int+deleteDetectorModelResponse_httpStatus = Lens.lens (\DeleteDetectorModelResponse' {httpStatus} -> httpStatus) (\s@DeleteDetectorModelResponse' {} a -> s {httpStatus = a} :: DeleteDetectorModelResponse)++instance Prelude.NFData DeleteDetectorModelResponse where+ rnf DeleteDetectorModelResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DeleteInput.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DeleteInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an input.+module Amazonka.IoTEvents.DeleteInput+ ( -- * Creating a Request+ DeleteInput (..),+ newDeleteInput,++ -- * Request Lenses+ deleteInput_inputName,++ -- * Destructuring the Response+ DeleteInputResponse (..),+ newDeleteInputResponse,++ -- * Response Lenses+ deleteInputResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteInput' smart constructor.+data DeleteInput = DeleteInput'+ { -- | The name of the input to delete.+ inputName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputName', 'deleteInput_inputName' - The name of the input to delete.+newDeleteInput ::+ -- | 'inputName'+ Prelude.Text ->+ DeleteInput+newDeleteInput pInputName_ =+ DeleteInput' {inputName = pInputName_}++-- | The name of the input to delete.+deleteInput_inputName :: Lens.Lens' DeleteInput Prelude.Text+deleteInput_inputName = Lens.lens (\DeleteInput' {inputName} -> inputName) (\s@DeleteInput' {} a -> s {inputName = a} :: DeleteInput)++instance Core.AWSRequest DeleteInput where+ type AWSResponse DeleteInput = DeleteInputResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteInputResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteInput where+ hashWithSalt _salt DeleteInput' {..} =+ _salt `Prelude.hashWithSalt` inputName++instance Prelude.NFData DeleteInput where+ rnf DeleteInput' {..} = Prelude.rnf inputName++instance Data.ToHeaders DeleteInput where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteInput where+ toPath DeleteInput' {..} =+ Prelude.mconcat ["/inputs/", Data.toBS inputName]++instance Data.ToQuery DeleteInput where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteInputResponse' smart constructor.+data DeleteInputResponse = DeleteInputResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteInputResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteInputResponse_httpStatus' - The response's http status code.+newDeleteInputResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteInputResponse+newDeleteInputResponse pHttpStatus_ =+ DeleteInputResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteInputResponse_httpStatus :: Lens.Lens' DeleteInputResponse Prelude.Int+deleteInputResponse_httpStatus = Lens.lens (\DeleteInputResponse' {httpStatus} -> httpStatus) (\s@DeleteInputResponse' {} a -> s {httpStatus = a} :: DeleteInputResponse)++instance Prelude.NFData DeleteInputResponse where+ rnf DeleteInputResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DescribeAlarmModel.hs view
@@ -0,0 +1,406 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DescribeAlarmModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about an alarm model. If you don\'t specify a+-- value for the @alarmModelVersion@ parameter, the latest version is+-- returned.+module Amazonka.IoTEvents.DescribeAlarmModel+ ( -- * Creating a Request+ DescribeAlarmModel (..),+ newDescribeAlarmModel,++ -- * Request Lenses+ describeAlarmModel_alarmModelVersion,+ describeAlarmModel_alarmModelName,++ -- * Destructuring the Response+ DescribeAlarmModelResponse (..),+ newDescribeAlarmModelResponse,++ -- * Response Lenses+ describeAlarmModelResponse_alarmCapabilities,+ describeAlarmModelResponse_alarmEventActions,+ describeAlarmModelResponse_alarmModelArn,+ describeAlarmModelResponse_alarmModelDescription,+ describeAlarmModelResponse_alarmModelName,+ describeAlarmModelResponse_alarmModelVersion,+ describeAlarmModelResponse_alarmNotification,+ describeAlarmModelResponse_alarmRule,+ describeAlarmModelResponse_creationTime,+ describeAlarmModelResponse_key,+ describeAlarmModelResponse_lastUpdateTime,+ describeAlarmModelResponse_roleArn,+ describeAlarmModelResponse_severity,+ describeAlarmModelResponse_status,+ describeAlarmModelResponse_statusMessage,+ describeAlarmModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAlarmModel' smart constructor.+data DescribeAlarmModel = DescribeAlarmModel'+ { -- | The version of the alarm model.+ alarmModelVersion :: Prelude.Maybe Prelude.Text,+ -- | The name of the alarm model.+ alarmModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAlarmModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelVersion', 'describeAlarmModel_alarmModelVersion' - The version of the alarm model.+--+-- 'alarmModelName', 'describeAlarmModel_alarmModelName' - The name of the alarm model.+newDescribeAlarmModel ::+ -- | 'alarmModelName'+ Prelude.Text ->+ DescribeAlarmModel+newDescribeAlarmModel pAlarmModelName_ =+ DescribeAlarmModel'+ { alarmModelVersion =+ Prelude.Nothing,+ alarmModelName = pAlarmModelName_+ }++-- | The version of the alarm model.+describeAlarmModel_alarmModelVersion :: Lens.Lens' DescribeAlarmModel (Prelude.Maybe Prelude.Text)+describeAlarmModel_alarmModelVersion = Lens.lens (\DescribeAlarmModel' {alarmModelVersion} -> alarmModelVersion) (\s@DescribeAlarmModel' {} a -> s {alarmModelVersion = a} :: DescribeAlarmModel)++-- | The name of the alarm model.+describeAlarmModel_alarmModelName :: Lens.Lens' DescribeAlarmModel Prelude.Text+describeAlarmModel_alarmModelName = Lens.lens (\DescribeAlarmModel' {alarmModelName} -> alarmModelName) (\s@DescribeAlarmModel' {} a -> s {alarmModelName = a} :: DescribeAlarmModel)++instance Core.AWSRequest DescribeAlarmModel where+ type+ AWSResponse DescribeAlarmModel =+ DescribeAlarmModelResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAlarmModelResponse'+ Prelude.<$> (x Data..?> "alarmCapabilities")+ Prelude.<*> (x Data..?> "alarmEventActions")+ Prelude.<*> (x Data..?> "alarmModelArn")+ Prelude.<*> (x Data..?> "alarmModelDescription")+ Prelude.<*> (x Data..?> "alarmModelName")+ Prelude.<*> (x Data..?> "alarmModelVersion")+ Prelude.<*> (x Data..?> "alarmNotification")+ Prelude.<*> (x Data..?> "alarmRule")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "key")+ Prelude.<*> (x Data..?> "lastUpdateTime")+ Prelude.<*> (x Data..?> "roleArn")+ Prelude.<*> (x Data..?> "severity")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (x Data..?> "statusMessage")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeAlarmModel where+ hashWithSalt _salt DescribeAlarmModel' {..} =+ _salt+ `Prelude.hashWithSalt` alarmModelVersion+ `Prelude.hashWithSalt` alarmModelName++instance Prelude.NFData DescribeAlarmModel where+ rnf DescribeAlarmModel' {..} =+ Prelude.rnf alarmModelVersion+ `Prelude.seq` Prelude.rnf alarmModelName++instance Data.ToHeaders DescribeAlarmModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeAlarmModel where+ toPath DescribeAlarmModel' {..} =+ Prelude.mconcat+ ["/alarm-models/", Data.toBS alarmModelName]++instance Data.ToQuery DescribeAlarmModel where+ toQuery DescribeAlarmModel' {..} =+ Prelude.mconcat+ ["version" Data.=: alarmModelVersion]++-- | /See:/ 'newDescribeAlarmModelResponse' smart constructor.+data DescribeAlarmModelResponse = DescribeAlarmModelResponse'+ { -- | Contains the configuration information of alarm state changes.+ alarmCapabilities :: Prelude.Maybe AlarmCapabilities,+ -- | Contains information about one or more alarm actions.+ alarmEventActions :: Prelude.Maybe AlarmEventActions,+ -- | The ARN of the alarm model. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ alarmModelArn :: Prelude.Maybe Prelude.Text,+ -- | The description of the alarm model.+ alarmModelDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the alarm model.+ alarmModelName :: Prelude.Maybe Prelude.Text,+ -- | The version of the alarm model.+ alarmModelVersion :: Prelude.Maybe Prelude.Text,+ -- | Contains information about one or more notification actions.+ alarmNotification :: Prelude.Maybe AlarmNotification,+ -- | Defines when your alarm is invoked.+ alarmRule :: Prelude.Maybe AlarmRule,+ -- | The time the alarm model was created, in the Unix epoch format.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | An input attribute used as a key to create an alarm. AWS IoT Events+ -- routes+ -- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>+ -- associated with this key to the alarm.+ key :: Prelude.Maybe Prelude.Text,+ -- | The time the alarm model was last updated, in the Unix epoch format.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the IAM role that allows the alarm to perform actions and+ -- access AWS resources. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | A non-negative integer that reflects the severity level of the alarm.+ severity :: Prelude.Maybe Prelude.Natural,+ -- | The status of the alarm model. The status can be one of the following+ -- values:+ --+ -- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+ -- data.+ --+ -- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+ -- Activating an alarm model can take up to a few minutes.+ --+ -- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+ -- evaluate data. Check your alarm model information and update the+ -- alarm model.+ --+ -- - @FAILED@ - You couldn\'t create or update the alarm model. Check+ -- your alarm model information and try again.+ status :: Prelude.Maybe AlarmModelVersionStatus,+ -- | Contains information about the status of the alarm model.+ statusMessage :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAlarmModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmCapabilities', 'describeAlarmModelResponse_alarmCapabilities' - Contains the configuration information of alarm state changes.+--+-- 'alarmEventActions', 'describeAlarmModelResponse_alarmEventActions' - Contains information about one or more alarm actions.+--+-- 'alarmModelArn', 'describeAlarmModelResponse_alarmModelArn' - The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'alarmModelDescription', 'describeAlarmModelResponse_alarmModelDescription' - The description of the alarm model.+--+-- 'alarmModelName', 'describeAlarmModelResponse_alarmModelName' - The name of the alarm model.+--+-- 'alarmModelVersion', 'describeAlarmModelResponse_alarmModelVersion' - The version of the alarm model.+--+-- 'alarmNotification', 'describeAlarmModelResponse_alarmNotification' - Contains information about one or more notification actions.+--+-- 'alarmRule', 'describeAlarmModelResponse_alarmRule' - Defines when your alarm is invoked.+--+-- 'creationTime', 'describeAlarmModelResponse_creationTime' - The time the alarm model was created, in the Unix epoch format.+--+-- 'key', 'describeAlarmModelResponse_key' - An input attribute used as a key to create an alarm. AWS IoT Events+-- routes+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>+-- associated with this key to the alarm.+--+-- 'lastUpdateTime', 'describeAlarmModelResponse_lastUpdateTime' - The time the alarm model was last updated, in the Unix epoch format.+--+-- 'roleArn', 'describeAlarmModelResponse_roleArn' - The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'severity', 'describeAlarmModelResponse_severity' - A non-negative integer that reflects the severity level of the alarm.+--+-- 'status', 'describeAlarmModelResponse_status' - The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+--+-- 'statusMessage', 'describeAlarmModelResponse_statusMessage' - Contains information about the status of the alarm model.+--+-- 'httpStatus', 'describeAlarmModelResponse_httpStatus' - The response's http status code.+newDescribeAlarmModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeAlarmModelResponse+newDescribeAlarmModelResponse pHttpStatus_ =+ DescribeAlarmModelResponse'+ { alarmCapabilities =+ Prelude.Nothing,+ alarmEventActions = Prelude.Nothing,+ alarmModelArn = Prelude.Nothing,+ alarmModelDescription = Prelude.Nothing,+ alarmModelName = Prelude.Nothing,+ alarmModelVersion = Prelude.Nothing,+ alarmNotification = Prelude.Nothing,+ alarmRule = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ key = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ severity = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains the configuration information of alarm state changes.+describeAlarmModelResponse_alarmCapabilities :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmCapabilities)+describeAlarmModelResponse_alarmCapabilities = Lens.lens (\DescribeAlarmModelResponse' {alarmCapabilities} -> alarmCapabilities) (\s@DescribeAlarmModelResponse' {} a -> s {alarmCapabilities = a} :: DescribeAlarmModelResponse)++-- | Contains information about one or more alarm actions.+describeAlarmModelResponse_alarmEventActions :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmEventActions)+describeAlarmModelResponse_alarmEventActions = Lens.lens (\DescribeAlarmModelResponse' {alarmEventActions} -> alarmEventActions) (\s@DescribeAlarmModelResponse' {} a -> s {alarmEventActions = a} :: DescribeAlarmModelResponse)++-- | The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+describeAlarmModelResponse_alarmModelArn :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_alarmModelArn = Lens.lens (\DescribeAlarmModelResponse' {alarmModelArn} -> alarmModelArn) (\s@DescribeAlarmModelResponse' {} a -> s {alarmModelArn = a} :: DescribeAlarmModelResponse)++-- | The description of the alarm model.+describeAlarmModelResponse_alarmModelDescription :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_alarmModelDescription = Lens.lens (\DescribeAlarmModelResponse' {alarmModelDescription} -> alarmModelDescription) (\s@DescribeAlarmModelResponse' {} a -> s {alarmModelDescription = a} :: DescribeAlarmModelResponse)++-- | The name of the alarm model.+describeAlarmModelResponse_alarmModelName :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_alarmModelName = Lens.lens (\DescribeAlarmModelResponse' {alarmModelName} -> alarmModelName) (\s@DescribeAlarmModelResponse' {} a -> s {alarmModelName = a} :: DescribeAlarmModelResponse)++-- | The version of the alarm model.+describeAlarmModelResponse_alarmModelVersion :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_alarmModelVersion = Lens.lens (\DescribeAlarmModelResponse' {alarmModelVersion} -> alarmModelVersion) (\s@DescribeAlarmModelResponse' {} a -> s {alarmModelVersion = a} :: DescribeAlarmModelResponse)++-- | Contains information about one or more notification actions.+describeAlarmModelResponse_alarmNotification :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmNotification)+describeAlarmModelResponse_alarmNotification = Lens.lens (\DescribeAlarmModelResponse' {alarmNotification} -> alarmNotification) (\s@DescribeAlarmModelResponse' {} a -> s {alarmNotification = a} :: DescribeAlarmModelResponse)++-- | Defines when your alarm is invoked.+describeAlarmModelResponse_alarmRule :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmRule)+describeAlarmModelResponse_alarmRule = Lens.lens (\DescribeAlarmModelResponse' {alarmRule} -> alarmRule) (\s@DescribeAlarmModelResponse' {} a -> s {alarmRule = a} :: DescribeAlarmModelResponse)++-- | The time the alarm model was created, in the Unix epoch format.+describeAlarmModelResponse_creationTime :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)+describeAlarmModelResponse_creationTime = Lens.lens (\DescribeAlarmModelResponse' {creationTime} -> creationTime) (\s@DescribeAlarmModelResponse' {} a -> s {creationTime = a} :: DescribeAlarmModelResponse) Prelude.. Lens.mapping Data._Time++-- | An input attribute used as a key to create an alarm. AWS IoT Events+-- routes+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html inputs>+-- associated with this key to the alarm.+describeAlarmModelResponse_key :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_key = Lens.lens (\DescribeAlarmModelResponse' {key} -> key) (\s@DescribeAlarmModelResponse' {} a -> s {key = a} :: DescribeAlarmModelResponse)++-- | The time the alarm model was last updated, in the Unix epoch format.+describeAlarmModelResponse_lastUpdateTime :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)+describeAlarmModelResponse_lastUpdateTime = Lens.lens (\DescribeAlarmModelResponse' {lastUpdateTime} -> lastUpdateTime) (\s@DescribeAlarmModelResponse' {} a -> s {lastUpdateTime = a} :: DescribeAlarmModelResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+describeAlarmModelResponse_roleArn :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_roleArn = Lens.lens (\DescribeAlarmModelResponse' {roleArn} -> roleArn) (\s@DescribeAlarmModelResponse' {} a -> s {roleArn = a} :: DescribeAlarmModelResponse)++-- | A non-negative integer that reflects the severity level of the alarm.+describeAlarmModelResponse_severity :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Natural)+describeAlarmModelResponse_severity = Lens.lens (\DescribeAlarmModelResponse' {severity} -> severity) (\s@DescribeAlarmModelResponse' {} a -> s {severity = a} :: DescribeAlarmModelResponse)++-- | The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+describeAlarmModelResponse_status :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe AlarmModelVersionStatus)+describeAlarmModelResponse_status = Lens.lens (\DescribeAlarmModelResponse' {status} -> status) (\s@DescribeAlarmModelResponse' {} a -> s {status = a} :: DescribeAlarmModelResponse)++-- | Contains information about the status of the alarm model.+describeAlarmModelResponse_statusMessage :: Lens.Lens' DescribeAlarmModelResponse (Prelude.Maybe Prelude.Text)+describeAlarmModelResponse_statusMessage = Lens.lens (\DescribeAlarmModelResponse' {statusMessage} -> statusMessage) (\s@DescribeAlarmModelResponse' {} a -> s {statusMessage = a} :: DescribeAlarmModelResponse)++-- | The response's http status code.+describeAlarmModelResponse_httpStatus :: Lens.Lens' DescribeAlarmModelResponse Prelude.Int+describeAlarmModelResponse_httpStatus = Lens.lens (\DescribeAlarmModelResponse' {httpStatus} -> httpStatus) (\s@DescribeAlarmModelResponse' {} a -> s {httpStatus = a} :: DescribeAlarmModelResponse)++instance Prelude.NFData DescribeAlarmModelResponse where+ rnf DescribeAlarmModelResponse' {..} =+ Prelude.rnf alarmCapabilities+ `Prelude.seq` Prelude.rnf alarmEventActions+ `Prelude.seq` Prelude.rnf alarmModelArn+ `Prelude.seq` Prelude.rnf alarmModelDescription+ `Prelude.seq` Prelude.rnf alarmModelName+ `Prelude.seq` Prelude.rnf alarmModelVersion+ `Prelude.seq` Prelude.rnf alarmNotification+ `Prelude.seq` Prelude.rnf alarmRule+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf severity+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DescribeDetectorModel.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DescribeDetectorModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a detector model. If the @version@ parameter is not specified,+-- information about the latest version is returned.+module Amazonka.IoTEvents.DescribeDetectorModel+ ( -- * Creating a Request+ DescribeDetectorModel (..),+ newDescribeDetectorModel,++ -- * Request Lenses+ describeDetectorModel_detectorModelVersion,+ describeDetectorModel_detectorModelName,++ -- * Destructuring the Response+ DescribeDetectorModelResponse (..),+ newDescribeDetectorModelResponse,++ -- * Response Lenses+ describeDetectorModelResponse_detectorModel,+ describeDetectorModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDetectorModel' smart constructor.+data DescribeDetectorModel = DescribeDetectorModel'+ { -- | The version of the detector model.+ detectorModelVersion :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector model.+ detectorModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDetectorModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelVersion', 'describeDetectorModel_detectorModelVersion' - The version of the detector model.+--+-- 'detectorModelName', 'describeDetectorModel_detectorModelName' - The name of the detector model.+newDescribeDetectorModel ::+ -- | 'detectorModelName'+ Prelude.Text ->+ DescribeDetectorModel+newDescribeDetectorModel pDetectorModelName_ =+ DescribeDetectorModel'+ { detectorModelVersion =+ Prelude.Nothing,+ detectorModelName = pDetectorModelName_+ }++-- | The version of the detector model.+describeDetectorModel_detectorModelVersion :: Lens.Lens' DescribeDetectorModel (Prelude.Maybe Prelude.Text)+describeDetectorModel_detectorModelVersion = Lens.lens (\DescribeDetectorModel' {detectorModelVersion} -> detectorModelVersion) (\s@DescribeDetectorModel' {} a -> s {detectorModelVersion = a} :: DescribeDetectorModel)++-- | The name of the detector model.+describeDetectorModel_detectorModelName :: Lens.Lens' DescribeDetectorModel Prelude.Text+describeDetectorModel_detectorModelName = Lens.lens (\DescribeDetectorModel' {detectorModelName} -> detectorModelName) (\s@DescribeDetectorModel' {} a -> s {detectorModelName = a} :: DescribeDetectorModel)++instance Core.AWSRequest DescribeDetectorModel where+ type+ AWSResponse DescribeDetectorModel =+ DescribeDetectorModelResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDetectorModelResponse'+ Prelude.<$> (x Data..?> "detectorModel")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeDetectorModel where+ hashWithSalt _salt DescribeDetectorModel' {..} =+ _salt+ `Prelude.hashWithSalt` detectorModelVersion+ `Prelude.hashWithSalt` detectorModelName++instance Prelude.NFData DescribeDetectorModel where+ rnf DescribeDetectorModel' {..} =+ Prelude.rnf detectorModelVersion+ `Prelude.seq` Prelude.rnf detectorModelName++instance Data.ToHeaders DescribeDetectorModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDetectorModel where+ toPath DescribeDetectorModel' {..} =+ Prelude.mconcat+ ["/detector-models/", Data.toBS detectorModelName]++instance Data.ToQuery DescribeDetectorModel where+ toQuery DescribeDetectorModel' {..} =+ Prelude.mconcat+ ["version" Data.=: detectorModelVersion]++-- | /See:/ 'newDescribeDetectorModelResponse' smart constructor.+data DescribeDetectorModelResponse = DescribeDetectorModelResponse'+ { -- | Information about the detector model.+ detectorModel :: Prelude.Maybe DetectorModel,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDetectorModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModel', 'describeDetectorModelResponse_detectorModel' - Information about the detector model.+--+-- 'httpStatus', 'describeDetectorModelResponse_httpStatus' - The response's http status code.+newDescribeDetectorModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDetectorModelResponse+newDescribeDetectorModelResponse pHttpStatus_ =+ DescribeDetectorModelResponse'+ { detectorModel =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the detector model.+describeDetectorModelResponse_detectorModel :: Lens.Lens' DescribeDetectorModelResponse (Prelude.Maybe DetectorModel)+describeDetectorModelResponse_detectorModel = Lens.lens (\DescribeDetectorModelResponse' {detectorModel} -> detectorModel) (\s@DescribeDetectorModelResponse' {} a -> s {detectorModel = a} :: DescribeDetectorModelResponse)++-- | The response's http status code.+describeDetectorModelResponse_httpStatus :: Lens.Lens' DescribeDetectorModelResponse Prelude.Int+describeDetectorModelResponse_httpStatus = Lens.lens (\DescribeDetectorModelResponse' {httpStatus} -> httpStatus) (\s@DescribeDetectorModelResponse' {} a -> s {httpStatus = a} :: DescribeDetectorModelResponse)++instance Prelude.NFData DescribeDetectorModelResponse where+ rnf DescribeDetectorModelResponse' {..} =+ Prelude.rnf detectorModel+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DescribeDetectorModelAnalysis.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DescribeDetectorModelAnalysis+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves runtime information about a detector model analysis.+--+-- After AWS IoT Events starts analyzing your detector model, you have up+-- to 24 hours to retrieve the analysis results.+module Amazonka.IoTEvents.DescribeDetectorModelAnalysis+ ( -- * Creating a Request+ DescribeDetectorModelAnalysis (..),+ newDescribeDetectorModelAnalysis,++ -- * Request Lenses+ describeDetectorModelAnalysis_analysisId,++ -- * Destructuring the Response+ DescribeDetectorModelAnalysisResponse (..),+ newDescribeDetectorModelAnalysisResponse,++ -- * Response Lenses+ describeDetectorModelAnalysisResponse_status,+ describeDetectorModelAnalysisResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDetectorModelAnalysis' smart constructor.+data DescribeDetectorModelAnalysis = DescribeDetectorModelAnalysis'+ { -- | The ID of the analysis result that you want to retrieve.+ analysisId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDetectorModelAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'describeDetectorModelAnalysis_analysisId' - The ID of the analysis result that you want to retrieve.+newDescribeDetectorModelAnalysis ::+ -- | 'analysisId'+ Prelude.Text ->+ DescribeDetectorModelAnalysis+newDescribeDetectorModelAnalysis pAnalysisId_ =+ DescribeDetectorModelAnalysis'+ { analysisId =+ pAnalysisId_+ }++-- | The ID of the analysis result that you want to retrieve.+describeDetectorModelAnalysis_analysisId :: Lens.Lens' DescribeDetectorModelAnalysis Prelude.Text+describeDetectorModelAnalysis_analysisId = Lens.lens (\DescribeDetectorModelAnalysis' {analysisId} -> analysisId) (\s@DescribeDetectorModelAnalysis' {} a -> s {analysisId = a} :: DescribeDetectorModelAnalysis)++instance+ Core.AWSRequest+ DescribeDetectorModelAnalysis+ where+ type+ AWSResponse DescribeDetectorModelAnalysis =+ DescribeDetectorModelAnalysisResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDetectorModelAnalysisResponse'+ Prelude.<$> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeDetectorModelAnalysis+ where+ hashWithSalt _salt DescribeDetectorModelAnalysis' {..} =+ _salt `Prelude.hashWithSalt` analysisId++instance Prelude.NFData DescribeDetectorModelAnalysis where+ rnf DescribeDetectorModelAnalysis' {..} =+ Prelude.rnf analysisId++instance Data.ToHeaders DescribeDetectorModelAnalysis where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeDetectorModelAnalysis where+ toPath DescribeDetectorModelAnalysis' {..} =+ Prelude.mconcat+ ["/analysis/detector-models/", Data.toBS analysisId]++instance Data.ToQuery DescribeDetectorModelAnalysis where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDetectorModelAnalysisResponse' smart constructor.+data DescribeDetectorModelAnalysisResponse = DescribeDetectorModelAnalysisResponse'+ { -- | The status of the analysis activity. The status can be one of the+ -- following values:+ --+ -- - @RUNNING@ - AWS IoT Events is analyzing your detector model. This+ -- process can take several minutes to complete.+ --+ -- - @COMPLETE@ - AWS IoT Events finished analyzing your detector model.+ --+ -- - @FAILED@ - AWS IoT Events couldn\'t analyze your detector model. Try+ -- again later.+ status :: Prelude.Maybe AnalysisStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDetectorModelAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'describeDetectorModelAnalysisResponse_status' - The status of the analysis activity. The status can be one of the+-- following values:+--+-- - @RUNNING@ - AWS IoT Events is analyzing your detector model. This+-- process can take several minutes to complete.+--+-- - @COMPLETE@ - AWS IoT Events finished analyzing your detector model.+--+-- - @FAILED@ - AWS IoT Events couldn\'t analyze your detector model. Try+-- again later.+--+-- 'httpStatus', 'describeDetectorModelAnalysisResponse_httpStatus' - The response's http status code.+newDescribeDetectorModelAnalysisResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDetectorModelAnalysisResponse+newDescribeDetectorModelAnalysisResponse pHttpStatus_ =+ DescribeDetectorModelAnalysisResponse'+ { status =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The status of the analysis activity. The status can be one of the+-- following values:+--+-- - @RUNNING@ - AWS IoT Events is analyzing your detector model. This+-- process can take several minutes to complete.+--+-- - @COMPLETE@ - AWS IoT Events finished analyzing your detector model.+--+-- - @FAILED@ - AWS IoT Events couldn\'t analyze your detector model. Try+-- again later.+describeDetectorModelAnalysisResponse_status :: Lens.Lens' DescribeDetectorModelAnalysisResponse (Prelude.Maybe AnalysisStatus)+describeDetectorModelAnalysisResponse_status = Lens.lens (\DescribeDetectorModelAnalysisResponse' {status} -> status) (\s@DescribeDetectorModelAnalysisResponse' {} a -> s {status = a} :: DescribeDetectorModelAnalysisResponse)++-- | The response's http status code.+describeDetectorModelAnalysisResponse_httpStatus :: Lens.Lens' DescribeDetectorModelAnalysisResponse Prelude.Int+describeDetectorModelAnalysisResponse_httpStatus = Lens.lens (\DescribeDetectorModelAnalysisResponse' {httpStatus} -> httpStatus) (\s@DescribeDetectorModelAnalysisResponse' {} a -> s {httpStatus = a} :: DescribeDetectorModelAnalysisResponse)++instance+ Prelude.NFData+ DescribeDetectorModelAnalysisResponse+ where+ rnf DescribeDetectorModelAnalysisResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DescribeInput.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DescribeInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an input.+module Amazonka.IoTEvents.DescribeInput+ ( -- * Creating a Request+ DescribeInput (..),+ newDescribeInput,++ -- * Request Lenses+ describeInput_inputName,++ -- * Destructuring the Response+ DescribeInputResponse (..),+ newDescribeInputResponse,++ -- * Response Lenses+ describeInputResponse_input,+ describeInputResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeInput' smart constructor.+data DescribeInput = DescribeInput'+ { -- | The name of the input.+ inputName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputName', 'describeInput_inputName' - The name of the input.+newDescribeInput ::+ -- | 'inputName'+ Prelude.Text ->+ DescribeInput+newDescribeInput pInputName_ =+ DescribeInput' {inputName = pInputName_}++-- | The name of the input.+describeInput_inputName :: Lens.Lens' DescribeInput Prelude.Text+describeInput_inputName = Lens.lens (\DescribeInput' {inputName} -> inputName) (\s@DescribeInput' {} a -> s {inputName = a} :: DescribeInput)++instance Core.AWSRequest DescribeInput where+ type+ AWSResponse DescribeInput =+ DescribeInputResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeInputResponse'+ Prelude.<$> (x Data..?> "input")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeInput where+ hashWithSalt _salt DescribeInput' {..} =+ _salt `Prelude.hashWithSalt` inputName++instance Prelude.NFData DescribeInput where+ rnf DescribeInput' {..} = Prelude.rnf inputName++instance Data.ToHeaders DescribeInput where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeInput where+ toPath DescribeInput' {..} =+ Prelude.mconcat ["/inputs/", Data.toBS inputName]++instance Data.ToQuery DescribeInput where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeInputResponse' smart constructor.+data DescribeInputResponse = DescribeInputResponse'+ { -- | Information about the input.+ input :: Prelude.Maybe Input,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeInputResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'input', 'describeInputResponse_input' - Information about the input.+--+-- 'httpStatus', 'describeInputResponse_httpStatus' - The response's http status code.+newDescribeInputResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeInputResponse+newDescribeInputResponse pHttpStatus_ =+ DescribeInputResponse'+ { input = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the input.+describeInputResponse_input :: Lens.Lens' DescribeInputResponse (Prelude.Maybe Input)+describeInputResponse_input = Lens.lens (\DescribeInputResponse' {input} -> input) (\s@DescribeInputResponse' {} a -> s {input = a} :: DescribeInputResponse)++-- | The response's http status code.+describeInputResponse_httpStatus :: Lens.Lens' DescribeInputResponse Prelude.Int+describeInputResponse_httpStatus = Lens.lens (\DescribeInputResponse' {httpStatus} -> httpStatus) (\s@DescribeInputResponse' {} a -> s {httpStatus = a} :: DescribeInputResponse)++instance Prelude.NFData DescribeInputResponse where+ rnf DescribeInputResponse' {..} =+ Prelude.rnf input+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/DescribeLoggingOptions.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.DescribeLoggingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the current settings of the AWS IoT Events logging options.+module Amazonka.IoTEvents.DescribeLoggingOptions+ ( -- * Creating a Request+ DescribeLoggingOptions (..),+ newDescribeLoggingOptions,++ -- * Destructuring the Response+ DescribeLoggingOptionsResponse (..),+ newDescribeLoggingOptionsResponse,++ -- * Response Lenses+ describeLoggingOptionsResponse_loggingOptions,+ describeLoggingOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLoggingOptions' smart constructor.+data DescribeLoggingOptions = DescribeLoggingOptions'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDescribeLoggingOptions ::+ DescribeLoggingOptions+newDescribeLoggingOptions = DescribeLoggingOptions'++instance Core.AWSRequest DescribeLoggingOptions where+ type+ AWSResponse DescribeLoggingOptions =+ DescribeLoggingOptionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLoggingOptionsResponse'+ Prelude.<$> (x Data..?> "loggingOptions")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLoggingOptions where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DescribeLoggingOptions where+ rnf _ = ()++instance Data.ToHeaders DescribeLoggingOptions where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DescribeLoggingOptions where+ toPath = Prelude.const "/logging"++instance Data.ToQuery DescribeLoggingOptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLoggingOptionsResponse' smart constructor.+data DescribeLoggingOptionsResponse = DescribeLoggingOptionsResponse'+ { -- | The current settings of the AWS IoT Events logging options.+ loggingOptions :: Prelude.Maybe LoggingOptions,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLoggingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingOptions', 'describeLoggingOptionsResponse_loggingOptions' - The current settings of the AWS IoT Events logging options.+--+-- 'httpStatus', 'describeLoggingOptionsResponse_httpStatus' - The response's http status code.+newDescribeLoggingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLoggingOptionsResponse+newDescribeLoggingOptionsResponse pHttpStatus_ =+ DescribeLoggingOptionsResponse'+ { loggingOptions =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The current settings of the AWS IoT Events logging options.+describeLoggingOptionsResponse_loggingOptions :: Lens.Lens' DescribeLoggingOptionsResponse (Prelude.Maybe LoggingOptions)+describeLoggingOptionsResponse_loggingOptions = Lens.lens (\DescribeLoggingOptionsResponse' {loggingOptions} -> loggingOptions) (\s@DescribeLoggingOptionsResponse' {} a -> s {loggingOptions = a} :: DescribeLoggingOptionsResponse)++-- | The response's http status code.+describeLoggingOptionsResponse_httpStatus :: Lens.Lens' DescribeLoggingOptionsResponse Prelude.Int+describeLoggingOptionsResponse_httpStatus = Lens.lens (\DescribeLoggingOptionsResponse' {httpStatus} -> httpStatus) (\s@DescribeLoggingOptionsResponse' {} a -> s {httpStatus = a} :: DescribeLoggingOptionsResponse)++instance+ Prelude.NFData+ DescribeLoggingOptionsResponse+ where+ rnf DescribeLoggingOptionsResponse' {..} =+ Prelude.rnf loggingOptions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/GetDetectorModelAnalysisResults.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.GetDetectorModelAnalysisResults+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves one or more analysis results of the detector model.+--+-- After AWS IoT Events starts analyzing your detector model, you have up+-- to 24 hours to retrieve the analysis results.+module Amazonka.IoTEvents.GetDetectorModelAnalysisResults+ ( -- * Creating a Request+ GetDetectorModelAnalysisResults (..),+ newGetDetectorModelAnalysisResults,++ -- * Request Lenses+ getDetectorModelAnalysisResults_maxResults,+ getDetectorModelAnalysisResults_nextToken,+ getDetectorModelAnalysisResults_analysisId,++ -- * Destructuring the Response+ GetDetectorModelAnalysisResultsResponse (..),+ newGetDetectorModelAnalysisResultsResponse,++ -- * Response Lenses+ getDetectorModelAnalysisResultsResponse_analysisResults,+ getDetectorModelAnalysisResultsResponse_nextToken,+ getDetectorModelAnalysisResultsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDetectorModelAnalysisResults' smart constructor.+data GetDetectorModelAnalysisResults = GetDetectorModelAnalysisResults'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the analysis result that you want to retrieve.+ analysisId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDetectorModelAnalysisResults' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'getDetectorModelAnalysisResults_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'getDetectorModelAnalysisResults_nextToken' - The token that you can use to return the next set of results.+--+-- 'analysisId', 'getDetectorModelAnalysisResults_analysisId' - The ID of the analysis result that you want to retrieve.+newGetDetectorModelAnalysisResults ::+ -- | 'analysisId'+ Prelude.Text ->+ GetDetectorModelAnalysisResults+newGetDetectorModelAnalysisResults pAnalysisId_ =+ GetDetectorModelAnalysisResults'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ analysisId = pAnalysisId_+ }++-- | The maximum number of results to be returned per request.+getDetectorModelAnalysisResults_maxResults :: Lens.Lens' GetDetectorModelAnalysisResults (Prelude.Maybe Prelude.Int)+getDetectorModelAnalysisResults_maxResults = Lens.lens (\GetDetectorModelAnalysisResults' {maxResults} -> maxResults) (\s@GetDetectorModelAnalysisResults' {} a -> s {maxResults = a} :: GetDetectorModelAnalysisResults)++-- | The token that you can use to return the next set of results.+getDetectorModelAnalysisResults_nextToken :: Lens.Lens' GetDetectorModelAnalysisResults (Prelude.Maybe Prelude.Text)+getDetectorModelAnalysisResults_nextToken = Lens.lens (\GetDetectorModelAnalysisResults' {nextToken} -> nextToken) (\s@GetDetectorModelAnalysisResults' {} a -> s {nextToken = a} :: GetDetectorModelAnalysisResults)++-- | The ID of the analysis result that you want to retrieve.+getDetectorModelAnalysisResults_analysisId :: Lens.Lens' GetDetectorModelAnalysisResults Prelude.Text+getDetectorModelAnalysisResults_analysisId = Lens.lens (\GetDetectorModelAnalysisResults' {analysisId} -> analysisId) (\s@GetDetectorModelAnalysisResults' {} a -> s {analysisId = a} :: GetDetectorModelAnalysisResults)++instance+ Core.AWSRequest+ GetDetectorModelAnalysisResults+ where+ type+ AWSResponse GetDetectorModelAnalysisResults =+ GetDetectorModelAnalysisResultsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDetectorModelAnalysisResultsResponse'+ Prelude.<$> ( x+ Data..?> "analysisResults"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetDetectorModelAnalysisResults+ where+ hashWithSalt+ _salt+ GetDetectorModelAnalysisResults' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` analysisId++instance+ Prelude.NFData+ GetDetectorModelAnalysisResults+ where+ rnf GetDetectorModelAnalysisResults' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf analysisId++instance+ Data.ToHeaders+ GetDetectorModelAnalysisResults+ where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetDetectorModelAnalysisResults where+ toPath GetDetectorModelAnalysisResults' {..} =+ Prelude.mconcat+ [ "/analysis/detector-models/",+ Data.toBS analysisId,+ "/results"+ ]++instance Data.ToQuery GetDetectorModelAnalysisResults where+ toQuery GetDetectorModelAnalysisResults' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetDetectorModelAnalysisResultsResponse' smart constructor.+data GetDetectorModelAnalysisResultsResponse = GetDetectorModelAnalysisResultsResponse'+ { -- | Contains information about one or more analysis results.+ analysisResults :: Prelude.Maybe [AnalysisResult],+ -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDetectorModelAnalysisResultsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisResults', 'getDetectorModelAnalysisResultsResponse_analysisResults' - Contains information about one or more analysis results.+--+-- 'nextToken', 'getDetectorModelAnalysisResultsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'httpStatus', 'getDetectorModelAnalysisResultsResponse_httpStatus' - The response's http status code.+newGetDetectorModelAnalysisResultsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDetectorModelAnalysisResultsResponse+newGetDetectorModelAnalysisResultsResponse+ pHttpStatus_ =+ GetDetectorModelAnalysisResultsResponse'+ { analysisResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains information about one or more analysis results.+getDetectorModelAnalysisResultsResponse_analysisResults :: Lens.Lens' GetDetectorModelAnalysisResultsResponse (Prelude.Maybe [AnalysisResult])+getDetectorModelAnalysisResultsResponse_analysisResults = Lens.lens (\GetDetectorModelAnalysisResultsResponse' {analysisResults} -> analysisResults) (\s@GetDetectorModelAnalysisResultsResponse' {} a -> s {analysisResults = a} :: GetDetectorModelAnalysisResultsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+getDetectorModelAnalysisResultsResponse_nextToken :: Lens.Lens' GetDetectorModelAnalysisResultsResponse (Prelude.Maybe Prelude.Text)+getDetectorModelAnalysisResultsResponse_nextToken = Lens.lens (\GetDetectorModelAnalysisResultsResponse' {nextToken} -> nextToken) (\s@GetDetectorModelAnalysisResultsResponse' {} a -> s {nextToken = a} :: GetDetectorModelAnalysisResultsResponse)++-- | The response's http status code.+getDetectorModelAnalysisResultsResponse_httpStatus :: Lens.Lens' GetDetectorModelAnalysisResultsResponse Prelude.Int+getDetectorModelAnalysisResultsResponse_httpStatus = Lens.lens (\GetDetectorModelAnalysisResultsResponse' {httpStatus} -> httpStatus) (\s@GetDetectorModelAnalysisResultsResponse' {} a -> s {httpStatus = a} :: GetDetectorModelAnalysisResultsResponse)++instance+ Prelude.NFData+ GetDetectorModelAnalysisResultsResponse+ where+ rnf GetDetectorModelAnalysisResultsResponse' {..} =+ Prelude.rnf analysisResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/Lens.hs view
@@ -0,0 +1,614 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Lens+ ( -- * Operations++ -- ** CreateAlarmModel+ createAlarmModel_alarmCapabilities,+ createAlarmModel_alarmEventActions,+ createAlarmModel_alarmModelDescription,+ createAlarmModel_alarmNotification,+ createAlarmModel_key,+ createAlarmModel_severity,+ createAlarmModel_tags,+ createAlarmModel_alarmModelName,+ createAlarmModel_roleArn,+ createAlarmModel_alarmRule,+ createAlarmModelResponse_alarmModelArn,+ createAlarmModelResponse_alarmModelVersion,+ createAlarmModelResponse_creationTime,+ createAlarmModelResponse_lastUpdateTime,+ createAlarmModelResponse_status,+ createAlarmModelResponse_httpStatus,++ -- ** CreateDetectorModel+ createDetectorModel_detectorModelDescription,+ createDetectorModel_evaluationMethod,+ createDetectorModel_key,+ createDetectorModel_tags,+ createDetectorModel_detectorModelName,+ createDetectorModel_detectorModelDefinition,+ createDetectorModel_roleArn,+ createDetectorModelResponse_detectorModelConfiguration,+ createDetectorModelResponse_httpStatus,++ -- ** CreateInput+ createInput_inputDescription,+ createInput_tags,+ createInput_inputName,+ createInput_inputDefinition,+ createInputResponse_inputConfiguration,+ createInputResponse_httpStatus,++ -- ** DeleteAlarmModel+ deleteAlarmModel_alarmModelName,+ deleteAlarmModelResponse_httpStatus,++ -- ** DeleteDetectorModel+ deleteDetectorModel_detectorModelName,+ deleteDetectorModelResponse_httpStatus,++ -- ** DeleteInput+ deleteInput_inputName,+ deleteInputResponse_httpStatus,++ -- ** DescribeAlarmModel+ describeAlarmModel_alarmModelVersion,+ describeAlarmModel_alarmModelName,+ describeAlarmModelResponse_alarmCapabilities,+ describeAlarmModelResponse_alarmEventActions,+ describeAlarmModelResponse_alarmModelArn,+ describeAlarmModelResponse_alarmModelDescription,+ describeAlarmModelResponse_alarmModelName,+ describeAlarmModelResponse_alarmModelVersion,+ describeAlarmModelResponse_alarmNotification,+ describeAlarmModelResponse_alarmRule,+ describeAlarmModelResponse_creationTime,+ describeAlarmModelResponse_key,+ describeAlarmModelResponse_lastUpdateTime,+ describeAlarmModelResponse_roleArn,+ describeAlarmModelResponse_severity,+ describeAlarmModelResponse_status,+ describeAlarmModelResponse_statusMessage,+ describeAlarmModelResponse_httpStatus,++ -- ** DescribeDetectorModel+ describeDetectorModel_detectorModelVersion,+ describeDetectorModel_detectorModelName,+ describeDetectorModelResponse_detectorModel,+ describeDetectorModelResponse_httpStatus,++ -- ** DescribeDetectorModelAnalysis+ describeDetectorModelAnalysis_analysisId,+ describeDetectorModelAnalysisResponse_status,+ describeDetectorModelAnalysisResponse_httpStatus,++ -- ** DescribeInput+ describeInput_inputName,+ describeInputResponse_input,+ describeInputResponse_httpStatus,++ -- ** DescribeLoggingOptions+ describeLoggingOptionsResponse_loggingOptions,+ describeLoggingOptionsResponse_httpStatus,++ -- ** GetDetectorModelAnalysisResults+ getDetectorModelAnalysisResults_maxResults,+ getDetectorModelAnalysisResults_nextToken,+ getDetectorModelAnalysisResults_analysisId,+ getDetectorModelAnalysisResultsResponse_analysisResults,+ getDetectorModelAnalysisResultsResponse_nextToken,+ getDetectorModelAnalysisResultsResponse_httpStatus,++ -- ** ListAlarmModelVersions+ listAlarmModelVersions_maxResults,+ listAlarmModelVersions_nextToken,+ listAlarmModelVersions_alarmModelName,+ listAlarmModelVersionsResponse_alarmModelVersionSummaries,+ listAlarmModelVersionsResponse_nextToken,+ listAlarmModelVersionsResponse_httpStatus,++ -- ** ListAlarmModels+ listAlarmModels_maxResults,+ listAlarmModels_nextToken,+ listAlarmModelsResponse_alarmModelSummaries,+ listAlarmModelsResponse_nextToken,+ listAlarmModelsResponse_httpStatus,++ -- ** ListDetectorModelVersions+ listDetectorModelVersions_maxResults,+ listDetectorModelVersions_nextToken,+ listDetectorModelVersions_detectorModelName,+ listDetectorModelVersionsResponse_detectorModelVersionSummaries,+ listDetectorModelVersionsResponse_nextToken,+ listDetectorModelVersionsResponse_httpStatus,++ -- ** ListDetectorModels+ listDetectorModels_maxResults,+ listDetectorModels_nextToken,+ listDetectorModelsResponse_detectorModelSummaries,+ listDetectorModelsResponse_nextToken,+ listDetectorModelsResponse_httpStatus,++ -- ** ListInputRoutings+ listInputRoutings_maxResults,+ listInputRoutings_nextToken,+ listInputRoutings_inputIdentifier,+ listInputRoutingsResponse_nextToken,+ listInputRoutingsResponse_routedResources,+ listInputRoutingsResponse_httpStatus,++ -- ** ListInputs+ listInputs_maxResults,+ listInputs_nextToken,+ listInputsResponse_inputSummaries,+ listInputsResponse_nextToken,+ listInputsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** PutLoggingOptions+ putLoggingOptions_loggingOptions,++ -- ** StartDetectorModelAnalysis+ startDetectorModelAnalysis_detectorModelDefinition,+ startDetectorModelAnalysisResponse_analysisId,+ startDetectorModelAnalysisResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateAlarmModel+ updateAlarmModel_alarmCapabilities,+ updateAlarmModel_alarmEventActions,+ updateAlarmModel_alarmModelDescription,+ updateAlarmModel_alarmNotification,+ updateAlarmModel_severity,+ updateAlarmModel_alarmModelName,+ updateAlarmModel_roleArn,+ updateAlarmModel_alarmRule,+ updateAlarmModelResponse_alarmModelArn,+ updateAlarmModelResponse_alarmModelVersion,+ updateAlarmModelResponse_creationTime,+ updateAlarmModelResponse_lastUpdateTime,+ updateAlarmModelResponse_status,+ updateAlarmModelResponse_httpStatus,++ -- ** UpdateDetectorModel+ updateDetectorModel_detectorModelDescription,+ updateDetectorModel_evaluationMethod,+ updateDetectorModel_detectorModelName,+ updateDetectorModel_detectorModelDefinition,+ updateDetectorModel_roleArn,+ updateDetectorModelResponse_detectorModelConfiguration,+ updateDetectorModelResponse_httpStatus,++ -- ** UpdateInput+ updateInput_inputDescription,+ updateInput_inputName,+ updateInput_inputDefinition,+ updateInputResponse_inputConfiguration,+ updateInputResponse_httpStatus,++ -- * Types++ -- ** AcknowledgeFlow+ acknowledgeFlow_enabled,++ -- ** Action+ action_clearTimer,+ action_dynamoDB,+ action_dynamoDBv2,+ action_firehose,+ action_iotEvents,+ action_iotSiteWise,+ action_iotTopicPublish,+ action_lambda,+ action_resetTimer,+ action_setTimer,+ action_setVariable,+ action_sns,+ action_sqs,++ -- ** AlarmAction+ alarmAction_dynamoDB,+ alarmAction_dynamoDBv2,+ alarmAction_firehose,+ alarmAction_iotEvents,+ alarmAction_iotSiteWise,+ alarmAction_iotTopicPublish,+ alarmAction_lambda,+ alarmAction_sns,+ alarmAction_sqs,++ -- ** AlarmCapabilities+ alarmCapabilities_acknowledgeFlow,+ alarmCapabilities_initializationConfiguration,++ -- ** AlarmEventActions+ alarmEventActions_alarmActions,++ -- ** AlarmModelSummary+ alarmModelSummary_alarmModelDescription,+ alarmModelSummary_alarmModelName,+ alarmModelSummary_creationTime,++ -- ** AlarmModelVersionSummary+ alarmModelVersionSummary_alarmModelArn,+ alarmModelVersionSummary_alarmModelName,+ alarmModelVersionSummary_alarmModelVersion,+ alarmModelVersionSummary_creationTime,+ alarmModelVersionSummary_lastUpdateTime,+ alarmModelVersionSummary_roleArn,+ alarmModelVersionSummary_status,+ alarmModelVersionSummary_statusMessage,++ -- ** AlarmNotification+ alarmNotification_notificationActions,++ -- ** AlarmRule+ alarmRule_simpleRule,++ -- ** AnalysisResult+ analysisResult_level,+ analysisResult_locations,+ analysisResult_message,+ analysisResult_type,++ -- ** AnalysisResultLocation+ analysisResultLocation_path,++ -- ** AssetPropertyTimestamp+ assetPropertyTimestamp_offsetInNanos,+ assetPropertyTimestamp_timeInSeconds,++ -- ** AssetPropertyValue+ assetPropertyValue_quality,+ assetPropertyValue_timestamp,+ assetPropertyValue_value,++ -- ** AssetPropertyVariant+ assetPropertyVariant_booleanValue,+ assetPropertyVariant_doubleValue,+ assetPropertyVariant_integerValue,+ assetPropertyVariant_stringValue,++ -- ** Attribute+ attribute_jsonPath,++ -- ** ClearTimerAction+ clearTimerAction_timerName,++ -- ** DetectorDebugOption+ detectorDebugOption_keyValue,+ detectorDebugOption_detectorModelName,++ -- ** DetectorModel+ detectorModel_detectorModelConfiguration,+ detectorModel_detectorModelDefinition,++ -- ** DetectorModelConfiguration+ detectorModelConfiguration_creationTime,+ detectorModelConfiguration_detectorModelArn,+ detectorModelConfiguration_detectorModelDescription,+ detectorModelConfiguration_detectorModelName,+ detectorModelConfiguration_detectorModelVersion,+ detectorModelConfiguration_evaluationMethod,+ detectorModelConfiguration_key,+ detectorModelConfiguration_lastUpdateTime,+ detectorModelConfiguration_roleArn,+ detectorModelConfiguration_status,++ -- ** DetectorModelDefinition+ detectorModelDefinition_states,+ detectorModelDefinition_initialStateName,++ -- ** DetectorModelSummary+ detectorModelSummary_creationTime,+ detectorModelSummary_detectorModelDescription,+ detectorModelSummary_detectorModelName,++ -- ** DetectorModelVersionSummary+ detectorModelVersionSummary_creationTime,+ detectorModelVersionSummary_detectorModelArn,+ detectorModelVersionSummary_detectorModelName,+ detectorModelVersionSummary_detectorModelVersion,+ detectorModelVersionSummary_evaluationMethod,+ detectorModelVersionSummary_lastUpdateTime,+ detectorModelVersionSummary_roleArn,+ detectorModelVersionSummary_status,++ -- ** DynamoDBAction+ dynamoDBAction_hashKeyType,+ dynamoDBAction_operation,+ dynamoDBAction_payload,+ dynamoDBAction_payloadField,+ dynamoDBAction_rangeKeyField,+ dynamoDBAction_rangeKeyType,+ dynamoDBAction_rangeKeyValue,+ dynamoDBAction_hashKeyField,+ dynamoDBAction_hashKeyValue,+ dynamoDBAction_tableName,++ -- ** DynamoDBv2Action+ dynamoDBv2Action_payload,+ dynamoDBv2Action_tableName,++ -- ** EmailConfiguration+ emailConfiguration_content,+ emailConfiguration_from,+ emailConfiguration_recipients,++ -- ** EmailContent+ emailContent_additionalMessage,+ emailContent_subject,++ -- ** EmailRecipients+ emailRecipients_to,++ -- ** Event+ event_actions,+ event_condition,+ event_eventName,++ -- ** FirehoseAction+ firehoseAction_payload,+ firehoseAction_separator,+ firehoseAction_deliveryStreamName,++ -- ** InitializationConfiguration+ initializationConfiguration_disabledOnInitialization,++ -- ** Input+ input_inputConfiguration,+ input_inputDefinition,++ -- ** InputConfiguration+ inputConfiguration_inputDescription,+ inputConfiguration_inputName,+ inputConfiguration_inputArn,+ inputConfiguration_creationTime,+ inputConfiguration_lastUpdateTime,+ inputConfiguration_status,++ -- ** InputDefinition+ inputDefinition_attributes,++ -- ** InputIdentifier+ inputIdentifier_iotEventsInputIdentifier,+ inputIdentifier_iotSiteWiseInputIdentifier,++ -- ** InputSummary+ inputSummary_creationTime,+ inputSummary_inputArn,+ inputSummary_inputDescription,+ inputSummary_inputName,+ inputSummary_lastUpdateTime,+ inputSummary_status,++ -- ** IotEventsAction+ iotEventsAction_payload,+ iotEventsAction_inputName,++ -- ** IotEventsInputIdentifier+ iotEventsInputIdentifier_inputName,++ -- ** IotSiteWiseAction+ iotSiteWiseAction_assetId,+ iotSiteWiseAction_entryId,+ iotSiteWiseAction_propertyAlias,+ iotSiteWiseAction_propertyId,+ iotSiteWiseAction_propertyValue,++ -- ** IotSiteWiseAssetModelPropertyIdentifier+ iotSiteWiseAssetModelPropertyIdentifier_assetModelId,+ iotSiteWiseAssetModelPropertyIdentifier_propertyId,++ -- ** IotSiteWiseInputIdentifier+ iotSiteWiseInputIdentifier_iotSiteWiseAssetModelPropertyIdentifier,++ -- ** IotTopicPublishAction+ iotTopicPublishAction_payload,+ iotTopicPublishAction_mqttTopic,++ -- ** LambdaAction+ lambdaAction_payload,+ lambdaAction_functionArn,++ -- ** LoggingOptions+ loggingOptions_detectorDebugOptions,+ loggingOptions_roleArn,+ loggingOptions_level,+ loggingOptions_enabled,++ -- ** NotificationAction+ notificationAction_emailConfigurations,+ notificationAction_smsConfigurations,+ notificationAction_action,++ -- ** NotificationTargetActions+ notificationTargetActions_lambdaAction,++ -- ** OnEnterLifecycle+ onEnterLifecycle_events,++ -- ** OnExitLifecycle+ onExitLifecycle_events,++ -- ** OnInputLifecycle+ onInputLifecycle_events,+ onInputLifecycle_transitionEvents,++ -- ** Payload+ payload_contentExpression,+ payload_type,++ -- ** RecipientDetail+ recipientDetail_ssoIdentity,++ -- ** ResetTimerAction+ resetTimerAction_timerName,++ -- ** RoutedResource+ routedResource_arn,+ routedResource_name,++ -- ** SMSConfiguration+ sMSConfiguration_additionalMessage,+ sMSConfiguration_senderId,+ sMSConfiguration_recipients,++ -- ** SNSTopicPublishAction+ sNSTopicPublishAction_payload,+ sNSTopicPublishAction_targetArn,++ -- ** SSOIdentity+ sSOIdentity_userId,+ sSOIdentity_identityStoreId,++ -- ** SetTimerAction+ setTimerAction_durationExpression,+ setTimerAction_seconds,+ setTimerAction_timerName,++ -- ** SetVariableAction+ setVariableAction_variableName,+ setVariableAction_value,++ -- ** SimpleRule+ simpleRule_inputProperty,+ simpleRule_comparisonOperator,+ simpleRule_threshold,++ -- ** SqsAction+ sqsAction_payload,+ sqsAction_useBase64,+ sqsAction_queueUrl,++ -- ** State+ state_onEnter,+ state_onExit,+ state_onInput,+ state_stateName,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** TransitionEvent+ transitionEvent_actions,+ transitionEvent_eventName,+ transitionEvent_condition,+ transitionEvent_nextState,+ )+where++import Amazonka.IoTEvents.CreateAlarmModel+import Amazonka.IoTEvents.CreateDetectorModel+import Amazonka.IoTEvents.CreateInput+import Amazonka.IoTEvents.DeleteAlarmModel+import Amazonka.IoTEvents.DeleteDetectorModel+import Amazonka.IoTEvents.DeleteInput+import Amazonka.IoTEvents.DescribeAlarmModel+import Amazonka.IoTEvents.DescribeDetectorModel+import Amazonka.IoTEvents.DescribeDetectorModelAnalysis+import Amazonka.IoTEvents.DescribeInput+import Amazonka.IoTEvents.DescribeLoggingOptions+import Amazonka.IoTEvents.GetDetectorModelAnalysisResults+import Amazonka.IoTEvents.ListAlarmModelVersions+import Amazonka.IoTEvents.ListAlarmModels+import Amazonka.IoTEvents.ListDetectorModelVersions+import Amazonka.IoTEvents.ListDetectorModels+import Amazonka.IoTEvents.ListInputRoutings+import Amazonka.IoTEvents.ListInputs+import Amazonka.IoTEvents.ListTagsForResource+import Amazonka.IoTEvents.PutLoggingOptions+import Amazonka.IoTEvents.StartDetectorModelAnalysis+import Amazonka.IoTEvents.TagResource+import Amazonka.IoTEvents.Types.AcknowledgeFlow+import Amazonka.IoTEvents.Types.Action+import Amazonka.IoTEvents.Types.AlarmAction+import Amazonka.IoTEvents.Types.AlarmCapabilities+import Amazonka.IoTEvents.Types.AlarmEventActions+import Amazonka.IoTEvents.Types.AlarmModelSummary+import Amazonka.IoTEvents.Types.AlarmModelVersionSummary+import Amazonka.IoTEvents.Types.AlarmNotification+import Amazonka.IoTEvents.Types.AlarmRule+import Amazonka.IoTEvents.Types.AnalysisResult+import Amazonka.IoTEvents.Types.AnalysisResultLocation+import Amazonka.IoTEvents.Types.AssetPropertyTimestamp+import Amazonka.IoTEvents.Types.AssetPropertyValue+import Amazonka.IoTEvents.Types.AssetPropertyVariant+import Amazonka.IoTEvents.Types.Attribute+import Amazonka.IoTEvents.Types.ClearTimerAction+import Amazonka.IoTEvents.Types.DetectorDebugOption+import Amazonka.IoTEvents.Types.DetectorModel+import Amazonka.IoTEvents.Types.DetectorModelConfiguration+import Amazonka.IoTEvents.Types.DetectorModelDefinition+import Amazonka.IoTEvents.Types.DetectorModelSummary+import Amazonka.IoTEvents.Types.DetectorModelVersionSummary+import Amazonka.IoTEvents.Types.DynamoDBAction+import Amazonka.IoTEvents.Types.DynamoDBv2Action+import Amazonka.IoTEvents.Types.EmailConfiguration+import Amazonka.IoTEvents.Types.EmailContent+import Amazonka.IoTEvents.Types.EmailRecipients+import Amazonka.IoTEvents.Types.Event+import Amazonka.IoTEvents.Types.FirehoseAction+import Amazonka.IoTEvents.Types.InitializationConfiguration+import Amazonka.IoTEvents.Types.Input+import Amazonka.IoTEvents.Types.InputConfiguration+import Amazonka.IoTEvents.Types.InputDefinition+import Amazonka.IoTEvents.Types.InputIdentifier+import Amazonka.IoTEvents.Types.InputSummary+import Amazonka.IoTEvents.Types.IotEventsAction+import Amazonka.IoTEvents.Types.IotEventsInputIdentifier+import Amazonka.IoTEvents.Types.IotSiteWiseAction+import Amazonka.IoTEvents.Types.IotSiteWiseAssetModelPropertyIdentifier+import Amazonka.IoTEvents.Types.IotSiteWiseInputIdentifier+import Amazonka.IoTEvents.Types.IotTopicPublishAction+import Amazonka.IoTEvents.Types.LambdaAction+import Amazonka.IoTEvents.Types.LoggingOptions+import Amazonka.IoTEvents.Types.NotificationAction+import Amazonka.IoTEvents.Types.NotificationTargetActions+import Amazonka.IoTEvents.Types.OnEnterLifecycle+import Amazonka.IoTEvents.Types.OnExitLifecycle+import Amazonka.IoTEvents.Types.OnInputLifecycle+import Amazonka.IoTEvents.Types.Payload+import Amazonka.IoTEvents.Types.RecipientDetail+import Amazonka.IoTEvents.Types.ResetTimerAction+import Amazonka.IoTEvents.Types.RoutedResource+import Amazonka.IoTEvents.Types.SMSConfiguration+import Amazonka.IoTEvents.Types.SNSTopicPublishAction+import Amazonka.IoTEvents.Types.SSOIdentity+import Amazonka.IoTEvents.Types.SetTimerAction+import Amazonka.IoTEvents.Types.SetVariableAction+import Amazonka.IoTEvents.Types.SimpleRule+import Amazonka.IoTEvents.Types.SqsAction+import Amazonka.IoTEvents.Types.State+import Amazonka.IoTEvents.Types.Tag+import Amazonka.IoTEvents.Types.TransitionEvent+import Amazonka.IoTEvents.UntagResource+import Amazonka.IoTEvents.UpdateAlarmModel+import Amazonka.IoTEvents.UpdateDetectorModel+import Amazonka.IoTEvents.UpdateInput
+ gen/Amazonka/IoTEvents/ListAlarmModelVersions.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListAlarmModelVersions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the versions of an alarm model. The operation returns only the+-- metadata associated with each alarm model version.+module Amazonka.IoTEvents.ListAlarmModelVersions+ ( -- * Creating a Request+ ListAlarmModelVersions (..),+ newListAlarmModelVersions,++ -- * Request Lenses+ listAlarmModelVersions_maxResults,+ listAlarmModelVersions_nextToken,+ listAlarmModelVersions_alarmModelName,++ -- * Destructuring the Response+ ListAlarmModelVersionsResponse (..),+ newListAlarmModelVersionsResponse,++ -- * Response Lenses+ listAlarmModelVersionsResponse_alarmModelVersionSummaries,+ listAlarmModelVersionsResponse_nextToken,+ listAlarmModelVersionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAlarmModelVersions' smart constructor.+data ListAlarmModelVersions = ListAlarmModelVersions'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the alarm model.+ alarmModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlarmModelVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAlarmModelVersions_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listAlarmModelVersions_nextToken' - The token that you can use to return the next set of results.+--+-- 'alarmModelName', 'listAlarmModelVersions_alarmModelName' - The name of the alarm model.+newListAlarmModelVersions ::+ -- | 'alarmModelName'+ Prelude.Text ->+ ListAlarmModelVersions+newListAlarmModelVersions pAlarmModelName_ =+ ListAlarmModelVersions'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ alarmModelName = pAlarmModelName_+ }++-- | The maximum number of results to be returned per request.+listAlarmModelVersions_maxResults :: Lens.Lens' ListAlarmModelVersions (Prelude.Maybe Prelude.Natural)+listAlarmModelVersions_maxResults = Lens.lens (\ListAlarmModelVersions' {maxResults} -> maxResults) (\s@ListAlarmModelVersions' {} a -> s {maxResults = a} :: ListAlarmModelVersions)++-- | The token that you can use to return the next set of results.+listAlarmModelVersions_nextToken :: Lens.Lens' ListAlarmModelVersions (Prelude.Maybe Prelude.Text)+listAlarmModelVersions_nextToken = Lens.lens (\ListAlarmModelVersions' {nextToken} -> nextToken) (\s@ListAlarmModelVersions' {} a -> s {nextToken = a} :: ListAlarmModelVersions)++-- | The name of the alarm model.+listAlarmModelVersions_alarmModelName :: Lens.Lens' ListAlarmModelVersions Prelude.Text+listAlarmModelVersions_alarmModelName = Lens.lens (\ListAlarmModelVersions' {alarmModelName} -> alarmModelName) (\s@ListAlarmModelVersions' {} a -> s {alarmModelName = a} :: ListAlarmModelVersions)++instance Core.AWSRequest ListAlarmModelVersions where+ type+ AWSResponse ListAlarmModelVersions =+ ListAlarmModelVersionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAlarmModelVersionsResponse'+ Prelude.<$> ( x+ Data..?> "alarmModelVersionSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAlarmModelVersions where+ hashWithSalt _salt ListAlarmModelVersions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` alarmModelName++instance Prelude.NFData ListAlarmModelVersions where+ rnf ListAlarmModelVersions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf alarmModelName++instance Data.ToHeaders ListAlarmModelVersions where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAlarmModelVersions where+ toPath ListAlarmModelVersions' {..} =+ Prelude.mconcat+ [ "/alarm-models/",+ Data.toBS alarmModelName,+ "/versions"+ ]++instance Data.ToQuery ListAlarmModelVersions where+ toQuery ListAlarmModelVersions' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAlarmModelVersionsResponse' smart constructor.+data ListAlarmModelVersionsResponse = ListAlarmModelVersionsResponse'+ { -- | A list that summarizes each alarm model version.+ alarmModelVersionSummaries :: Prelude.Maybe [AlarmModelVersionSummary],+ -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlarmModelVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelVersionSummaries', 'listAlarmModelVersionsResponse_alarmModelVersionSummaries' - A list that summarizes each alarm model version.+--+-- 'nextToken', 'listAlarmModelVersionsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'httpStatus', 'listAlarmModelVersionsResponse_httpStatus' - The response's http status code.+newListAlarmModelVersionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAlarmModelVersionsResponse+newListAlarmModelVersionsResponse pHttpStatus_ =+ ListAlarmModelVersionsResponse'+ { alarmModelVersionSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list that summarizes each alarm model version.+listAlarmModelVersionsResponse_alarmModelVersionSummaries :: Lens.Lens' ListAlarmModelVersionsResponse (Prelude.Maybe [AlarmModelVersionSummary])+listAlarmModelVersionsResponse_alarmModelVersionSummaries = Lens.lens (\ListAlarmModelVersionsResponse' {alarmModelVersionSummaries} -> alarmModelVersionSummaries) (\s@ListAlarmModelVersionsResponse' {} a -> s {alarmModelVersionSummaries = a} :: ListAlarmModelVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+listAlarmModelVersionsResponse_nextToken :: Lens.Lens' ListAlarmModelVersionsResponse (Prelude.Maybe Prelude.Text)+listAlarmModelVersionsResponse_nextToken = Lens.lens (\ListAlarmModelVersionsResponse' {nextToken} -> nextToken) (\s@ListAlarmModelVersionsResponse' {} a -> s {nextToken = a} :: ListAlarmModelVersionsResponse)++-- | The response's http status code.+listAlarmModelVersionsResponse_httpStatus :: Lens.Lens' ListAlarmModelVersionsResponse Prelude.Int+listAlarmModelVersionsResponse_httpStatus = Lens.lens (\ListAlarmModelVersionsResponse' {httpStatus} -> httpStatus) (\s@ListAlarmModelVersionsResponse' {} a -> s {httpStatus = a} :: ListAlarmModelVersionsResponse)++instance+ Prelude.NFData+ ListAlarmModelVersionsResponse+ where+ rnf ListAlarmModelVersionsResponse' {..} =+ Prelude.rnf alarmModelVersionSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/ListAlarmModels.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListAlarmModels+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the alarm models that you created. The operation returns only the+-- metadata associated with each alarm model.+module Amazonka.IoTEvents.ListAlarmModels+ ( -- * Creating a Request+ ListAlarmModels (..),+ newListAlarmModels,++ -- * Request Lenses+ listAlarmModels_maxResults,+ listAlarmModels_nextToken,++ -- * Destructuring the Response+ ListAlarmModelsResponse (..),+ newListAlarmModelsResponse,++ -- * Response Lenses+ listAlarmModelsResponse_alarmModelSummaries,+ listAlarmModelsResponse_nextToken,+ listAlarmModelsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAlarmModels' smart constructor.+data ListAlarmModels = ListAlarmModels'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlarmModels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listAlarmModels_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listAlarmModels_nextToken' - The token that you can use to return the next set of results.+newListAlarmModels ::+ ListAlarmModels+newListAlarmModels =+ ListAlarmModels'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to be returned per request.+listAlarmModels_maxResults :: Lens.Lens' ListAlarmModels (Prelude.Maybe Prelude.Natural)+listAlarmModels_maxResults = Lens.lens (\ListAlarmModels' {maxResults} -> maxResults) (\s@ListAlarmModels' {} a -> s {maxResults = a} :: ListAlarmModels)++-- | The token that you can use to return the next set of results.+listAlarmModels_nextToken :: Lens.Lens' ListAlarmModels (Prelude.Maybe Prelude.Text)+listAlarmModels_nextToken = Lens.lens (\ListAlarmModels' {nextToken} -> nextToken) (\s@ListAlarmModels' {} a -> s {nextToken = a} :: ListAlarmModels)++instance Core.AWSRequest ListAlarmModels where+ type+ AWSResponse ListAlarmModels =+ ListAlarmModelsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAlarmModelsResponse'+ Prelude.<$> ( x+ Data..?> "alarmModelSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAlarmModels where+ hashWithSalt _salt ListAlarmModels' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAlarmModels where+ rnf ListAlarmModels' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAlarmModels where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListAlarmModels where+ toPath = Prelude.const "/alarm-models"++instance Data.ToQuery ListAlarmModels where+ toQuery ListAlarmModels' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAlarmModelsResponse' smart constructor.+data ListAlarmModelsResponse = ListAlarmModelsResponse'+ { -- | A list that summarizes each alarm model.+ alarmModelSummaries :: Prelude.Maybe [AlarmModelSummary],+ -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlarmModelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelSummaries', 'listAlarmModelsResponse_alarmModelSummaries' - A list that summarizes each alarm model.+--+-- 'nextToken', 'listAlarmModelsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'httpStatus', 'listAlarmModelsResponse_httpStatus' - The response's http status code.+newListAlarmModelsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAlarmModelsResponse+newListAlarmModelsResponse pHttpStatus_ =+ ListAlarmModelsResponse'+ { alarmModelSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list that summarizes each alarm model.+listAlarmModelsResponse_alarmModelSummaries :: Lens.Lens' ListAlarmModelsResponse (Prelude.Maybe [AlarmModelSummary])+listAlarmModelsResponse_alarmModelSummaries = Lens.lens (\ListAlarmModelsResponse' {alarmModelSummaries} -> alarmModelSummaries) (\s@ListAlarmModelsResponse' {} a -> s {alarmModelSummaries = a} :: ListAlarmModelsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+listAlarmModelsResponse_nextToken :: Lens.Lens' ListAlarmModelsResponse (Prelude.Maybe Prelude.Text)+listAlarmModelsResponse_nextToken = Lens.lens (\ListAlarmModelsResponse' {nextToken} -> nextToken) (\s@ListAlarmModelsResponse' {} a -> s {nextToken = a} :: ListAlarmModelsResponse)++-- | The response's http status code.+listAlarmModelsResponse_httpStatus :: Lens.Lens' ListAlarmModelsResponse Prelude.Int+listAlarmModelsResponse_httpStatus = Lens.lens (\ListAlarmModelsResponse' {httpStatus} -> httpStatus) (\s@ListAlarmModelsResponse' {} a -> s {httpStatus = a} :: ListAlarmModelsResponse)++instance Prelude.NFData ListAlarmModelsResponse where+ rnf ListAlarmModelsResponse' {..} =+ Prelude.rnf alarmModelSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/ListDetectorModelVersions.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListDetectorModelVersions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the versions of a detector model. Only the metadata associated+-- with each detector model version is returned.+module Amazonka.IoTEvents.ListDetectorModelVersions+ ( -- * Creating a Request+ ListDetectorModelVersions (..),+ newListDetectorModelVersions,++ -- * Request Lenses+ listDetectorModelVersions_maxResults,+ listDetectorModelVersions_nextToken,+ listDetectorModelVersions_detectorModelName,++ -- * Destructuring the Response+ ListDetectorModelVersionsResponse (..),+ newListDetectorModelVersionsResponse,++ -- * Response Lenses+ listDetectorModelVersionsResponse_detectorModelVersionSummaries,+ listDetectorModelVersionsResponse_nextToken,+ listDetectorModelVersionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDetectorModelVersions' smart constructor.+data ListDetectorModelVersions = ListDetectorModelVersions'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector model whose versions are returned.+ detectorModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDetectorModelVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDetectorModelVersions_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listDetectorModelVersions_nextToken' - The token that you can use to return the next set of results.+--+-- 'detectorModelName', 'listDetectorModelVersions_detectorModelName' - The name of the detector model whose versions are returned.+newListDetectorModelVersions ::+ -- | 'detectorModelName'+ Prelude.Text ->+ ListDetectorModelVersions+newListDetectorModelVersions pDetectorModelName_ =+ ListDetectorModelVersions'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ detectorModelName = pDetectorModelName_+ }++-- | The maximum number of results to be returned per request.+listDetectorModelVersions_maxResults :: Lens.Lens' ListDetectorModelVersions (Prelude.Maybe Prelude.Natural)+listDetectorModelVersions_maxResults = Lens.lens (\ListDetectorModelVersions' {maxResults} -> maxResults) (\s@ListDetectorModelVersions' {} a -> s {maxResults = a} :: ListDetectorModelVersions)++-- | The token that you can use to return the next set of results.+listDetectorModelVersions_nextToken :: Lens.Lens' ListDetectorModelVersions (Prelude.Maybe Prelude.Text)+listDetectorModelVersions_nextToken = Lens.lens (\ListDetectorModelVersions' {nextToken} -> nextToken) (\s@ListDetectorModelVersions' {} a -> s {nextToken = a} :: ListDetectorModelVersions)++-- | The name of the detector model whose versions are returned.+listDetectorModelVersions_detectorModelName :: Lens.Lens' ListDetectorModelVersions Prelude.Text+listDetectorModelVersions_detectorModelName = Lens.lens (\ListDetectorModelVersions' {detectorModelName} -> detectorModelName) (\s@ListDetectorModelVersions' {} a -> s {detectorModelName = a} :: ListDetectorModelVersions)++instance Core.AWSRequest ListDetectorModelVersions where+ type+ AWSResponse ListDetectorModelVersions =+ ListDetectorModelVersionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDetectorModelVersionsResponse'+ Prelude.<$> ( x+ Data..?> "detectorModelVersionSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDetectorModelVersions where+ hashWithSalt _salt ListDetectorModelVersions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` detectorModelName++instance Prelude.NFData ListDetectorModelVersions where+ rnf ListDetectorModelVersions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf detectorModelName++instance Data.ToHeaders ListDetectorModelVersions where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListDetectorModelVersions where+ toPath ListDetectorModelVersions' {..} =+ Prelude.mconcat+ [ "/detector-models/",+ Data.toBS detectorModelName,+ "/versions"+ ]++instance Data.ToQuery ListDetectorModelVersions where+ toQuery ListDetectorModelVersions' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListDetectorModelVersionsResponse' smart constructor.+data ListDetectorModelVersionsResponse = ListDetectorModelVersionsResponse'+ { -- | Summary information about the detector model versions.+ detectorModelVersionSummaries :: Prelude.Maybe [DetectorModelVersionSummary],+ -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDetectorModelVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelVersionSummaries', 'listDetectorModelVersionsResponse_detectorModelVersionSummaries' - Summary information about the detector model versions.+--+-- 'nextToken', 'listDetectorModelVersionsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'httpStatus', 'listDetectorModelVersionsResponse_httpStatus' - The response's http status code.+newListDetectorModelVersionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDetectorModelVersionsResponse+newListDetectorModelVersionsResponse pHttpStatus_ =+ ListDetectorModelVersionsResponse'+ { detectorModelVersionSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Summary information about the detector model versions.+listDetectorModelVersionsResponse_detectorModelVersionSummaries :: Lens.Lens' ListDetectorModelVersionsResponse (Prelude.Maybe [DetectorModelVersionSummary])+listDetectorModelVersionsResponse_detectorModelVersionSummaries = Lens.lens (\ListDetectorModelVersionsResponse' {detectorModelVersionSummaries} -> detectorModelVersionSummaries) (\s@ListDetectorModelVersionsResponse' {} a -> s {detectorModelVersionSummaries = a} :: ListDetectorModelVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+listDetectorModelVersionsResponse_nextToken :: Lens.Lens' ListDetectorModelVersionsResponse (Prelude.Maybe Prelude.Text)+listDetectorModelVersionsResponse_nextToken = Lens.lens (\ListDetectorModelVersionsResponse' {nextToken} -> nextToken) (\s@ListDetectorModelVersionsResponse' {} a -> s {nextToken = a} :: ListDetectorModelVersionsResponse)++-- | The response's http status code.+listDetectorModelVersionsResponse_httpStatus :: Lens.Lens' ListDetectorModelVersionsResponse Prelude.Int+listDetectorModelVersionsResponse_httpStatus = Lens.lens (\ListDetectorModelVersionsResponse' {httpStatus} -> httpStatus) (\s@ListDetectorModelVersionsResponse' {} a -> s {httpStatus = a} :: ListDetectorModelVersionsResponse)++instance+ Prelude.NFData+ ListDetectorModelVersionsResponse+ where+ rnf ListDetectorModelVersionsResponse' {..} =+ Prelude.rnf detectorModelVersionSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/ListDetectorModels.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListDetectorModels+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the detector models you have created. Only the metadata associated+-- with each detector model is returned.+module Amazonka.IoTEvents.ListDetectorModels+ ( -- * Creating a Request+ ListDetectorModels (..),+ newListDetectorModels,++ -- * Request Lenses+ listDetectorModels_maxResults,+ listDetectorModels_nextToken,++ -- * Destructuring the Response+ ListDetectorModelsResponse (..),+ newListDetectorModelsResponse,++ -- * Response Lenses+ listDetectorModelsResponse_detectorModelSummaries,+ listDetectorModelsResponse_nextToken,+ listDetectorModelsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDetectorModels' smart constructor.+data ListDetectorModels = ListDetectorModels'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDetectorModels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listDetectorModels_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listDetectorModels_nextToken' - The token that you can use to return the next set of results.+newListDetectorModels ::+ ListDetectorModels+newListDetectorModels =+ ListDetectorModels'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to be returned per request.+listDetectorModels_maxResults :: Lens.Lens' ListDetectorModels (Prelude.Maybe Prelude.Natural)+listDetectorModels_maxResults = Lens.lens (\ListDetectorModels' {maxResults} -> maxResults) (\s@ListDetectorModels' {} a -> s {maxResults = a} :: ListDetectorModels)++-- | The token that you can use to return the next set of results.+listDetectorModels_nextToken :: Lens.Lens' ListDetectorModels (Prelude.Maybe Prelude.Text)+listDetectorModels_nextToken = Lens.lens (\ListDetectorModels' {nextToken} -> nextToken) (\s@ListDetectorModels' {} a -> s {nextToken = a} :: ListDetectorModels)++instance Core.AWSRequest ListDetectorModels where+ type+ AWSResponse ListDetectorModels =+ ListDetectorModelsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDetectorModelsResponse'+ Prelude.<$> ( x+ Data..?> "detectorModelSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDetectorModels where+ hashWithSalt _salt ListDetectorModels' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDetectorModels where+ rnf ListDetectorModels' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDetectorModels where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListDetectorModels where+ toPath = Prelude.const "/detector-models"++instance Data.ToQuery ListDetectorModels where+ toQuery ListDetectorModels' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListDetectorModelsResponse' smart constructor.+data ListDetectorModelsResponse = ListDetectorModelsResponse'+ { -- | Summary information about the detector models.+ detectorModelSummaries :: Prelude.Maybe [DetectorModelSummary],+ -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDetectorModelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelSummaries', 'listDetectorModelsResponse_detectorModelSummaries' - Summary information about the detector models.+--+-- 'nextToken', 'listDetectorModelsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'httpStatus', 'listDetectorModelsResponse_httpStatus' - The response's http status code.+newListDetectorModelsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDetectorModelsResponse+newListDetectorModelsResponse pHttpStatus_ =+ ListDetectorModelsResponse'+ { detectorModelSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Summary information about the detector models.+listDetectorModelsResponse_detectorModelSummaries :: Lens.Lens' ListDetectorModelsResponse (Prelude.Maybe [DetectorModelSummary])+listDetectorModelsResponse_detectorModelSummaries = Lens.lens (\ListDetectorModelsResponse' {detectorModelSummaries} -> detectorModelSummaries) (\s@ListDetectorModelsResponse' {} a -> s {detectorModelSummaries = a} :: ListDetectorModelsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+listDetectorModelsResponse_nextToken :: Lens.Lens' ListDetectorModelsResponse (Prelude.Maybe Prelude.Text)+listDetectorModelsResponse_nextToken = Lens.lens (\ListDetectorModelsResponse' {nextToken} -> nextToken) (\s@ListDetectorModelsResponse' {} a -> s {nextToken = a} :: ListDetectorModelsResponse)++-- | The response's http status code.+listDetectorModelsResponse_httpStatus :: Lens.Lens' ListDetectorModelsResponse Prelude.Int+listDetectorModelsResponse_httpStatus = Lens.lens (\ListDetectorModelsResponse' {httpStatus} -> httpStatus) (\s@ListDetectorModelsResponse' {} a -> s {httpStatus = a} :: ListDetectorModelsResponse)++instance Prelude.NFData ListDetectorModelsResponse where+ rnf ListDetectorModelsResponse' {..} =+ Prelude.rnf detectorModelSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/ListInputRoutings.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListInputRoutings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists one or more input routings.+module Amazonka.IoTEvents.ListInputRoutings+ ( -- * Creating a Request+ ListInputRoutings (..),+ newListInputRoutings,++ -- * Request Lenses+ listInputRoutings_maxResults,+ listInputRoutings_nextToken,+ listInputRoutings_inputIdentifier,++ -- * Destructuring the Response+ ListInputRoutingsResponse (..),+ newListInputRoutingsResponse,++ -- * Response Lenses+ listInputRoutingsResponse_nextToken,+ listInputRoutingsResponse_routedResources,+ listInputRoutingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListInputRoutings' smart constructor.+data ListInputRoutings = ListInputRoutings'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The identifer of the routed input.+ inputIdentifier :: InputIdentifier+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListInputRoutings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listInputRoutings_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listInputRoutings_nextToken' - The token that you can use to return the next set of results.+--+-- 'inputIdentifier', 'listInputRoutings_inputIdentifier' - The identifer of the routed input.+newListInputRoutings ::+ -- | 'inputIdentifier'+ InputIdentifier ->+ ListInputRoutings+newListInputRoutings pInputIdentifier_ =+ ListInputRoutings'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ inputIdentifier = pInputIdentifier_+ }++-- | The maximum number of results to be returned per request.+listInputRoutings_maxResults :: Lens.Lens' ListInputRoutings (Prelude.Maybe Prelude.Natural)+listInputRoutings_maxResults = Lens.lens (\ListInputRoutings' {maxResults} -> maxResults) (\s@ListInputRoutings' {} a -> s {maxResults = a} :: ListInputRoutings)++-- | The token that you can use to return the next set of results.+listInputRoutings_nextToken :: Lens.Lens' ListInputRoutings (Prelude.Maybe Prelude.Text)+listInputRoutings_nextToken = Lens.lens (\ListInputRoutings' {nextToken} -> nextToken) (\s@ListInputRoutings' {} a -> s {nextToken = a} :: ListInputRoutings)++-- | The identifer of the routed input.+listInputRoutings_inputIdentifier :: Lens.Lens' ListInputRoutings InputIdentifier+listInputRoutings_inputIdentifier = Lens.lens (\ListInputRoutings' {inputIdentifier} -> inputIdentifier) (\s@ListInputRoutings' {} a -> s {inputIdentifier = a} :: ListInputRoutings)++instance Core.AWSRequest ListInputRoutings where+ type+ AWSResponse ListInputRoutings =+ ListInputRoutingsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListInputRoutingsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "routedResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListInputRoutings where+ hashWithSalt _salt ListInputRoutings' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` inputIdentifier++instance Prelude.NFData ListInputRoutings where+ rnf ListInputRoutings' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf inputIdentifier++instance Data.ToHeaders ListInputRoutings where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON ListInputRoutings where+ toJSON ListInputRoutings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("inputIdentifier" Data..= inputIdentifier)+ ]+ )++instance Data.ToPath ListInputRoutings where+ toPath = Prelude.const "/input-routings"++instance Data.ToQuery ListInputRoutings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListInputRoutingsResponse' smart constructor.+data ListInputRoutingsResponse = ListInputRoutingsResponse'+ { -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Summary information about the routed resources.+ routedResources :: Prelude.Maybe [RoutedResource],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListInputRoutingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listInputRoutingsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'routedResources', 'listInputRoutingsResponse_routedResources' - Summary information about the routed resources.+--+-- 'httpStatus', 'listInputRoutingsResponse_httpStatus' - The response's http status code.+newListInputRoutingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListInputRoutingsResponse+newListInputRoutingsResponse pHttpStatus_ =+ ListInputRoutingsResponse'+ { nextToken =+ Prelude.Nothing,+ routedResources = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+listInputRoutingsResponse_nextToken :: Lens.Lens' ListInputRoutingsResponse (Prelude.Maybe Prelude.Text)+listInputRoutingsResponse_nextToken = Lens.lens (\ListInputRoutingsResponse' {nextToken} -> nextToken) (\s@ListInputRoutingsResponse' {} a -> s {nextToken = a} :: ListInputRoutingsResponse)++-- | Summary information about the routed resources.+listInputRoutingsResponse_routedResources :: Lens.Lens' ListInputRoutingsResponse (Prelude.Maybe [RoutedResource])+listInputRoutingsResponse_routedResources = Lens.lens (\ListInputRoutingsResponse' {routedResources} -> routedResources) (\s@ListInputRoutingsResponse' {} a -> s {routedResources = a} :: ListInputRoutingsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listInputRoutingsResponse_httpStatus :: Lens.Lens' ListInputRoutingsResponse Prelude.Int+listInputRoutingsResponse_httpStatus = Lens.lens (\ListInputRoutingsResponse' {httpStatus} -> httpStatus) (\s@ListInputRoutingsResponse' {} a -> s {httpStatus = a} :: ListInputRoutingsResponse)++instance Prelude.NFData ListInputRoutingsResponse where+ rnf ListInputRoutingsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf routedResources+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/ListInputs.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListInputs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the inputs you have created.+module Amazonka.IoTEvents.ListInputs+ ( -- * Creating a Request+ ListInputs (..),+ newListInputs,++ -- * Request Lenses+ listInputs_maxResults,+ listInputs_nextToken,++ -- * Destructuring the Response+ ListInputsResponse (..),+ newListInputsResponse,++ -- * Response Lenses+ listInputsResponse_inputSummaries,+ listInputsResponse_nextToken,+ listInputsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListInputs' smart constructor.+data ListInputs = ListInputs'+ { -- | The maximum number of results to be returned per request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that you can use to return the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListInputs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listInputs_maxResults' - The maximum number of results to be returned per request.+--+-- 'nextToken', 'listInputs_nextToken' - The token that you can use to return the next set of results.+newListInputs ::+ ListInputs+newListInputs =+ ListInputs'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to be returned per request.+listInputs_maxResults :: Lens.Lens' ListInputs (Prelude.Maybe Prelude.Natural)+listInputs_maxResults = Lens.lens (\ListInputs' {maxResults} -> maxResults) (\s@ListInputs' {} a -> s {maxResults = a} :: ListInputs)++-- | The token that you can use to return the next set of results.+listInputs_nextToken :: Lens.Lens' ListInputs (Prelude.Maybe Prelude.Text)+listInputs_nextToken = Lens.lens (\ListInputs' {nextToken} -> nextToken) (\s@ListInputs' {} a -> s {nextToken = a} :: ListInputs)++instance Core.AWSRequest ListInputs where+ type AWSResponse ListInputs = ListInputsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListInputsResponse'+ Prelude.<$> (x Data..?> "inputSummaries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListInputs where+ hashWithSalt _salt ListInputs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListInputs where+ rnf ListInputs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListInputs where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListInputs where+ toPath = Prelude.const "/inputs"++instance Data.ToQuery ListInputs where+ toQuery ListInputs' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListInputsResponse' smart constructor.+data ListInputsResponse = ListInputsResponse'+ { -- | Summary information about the inputs.+ inputSummaries :: Prelude.Maybe [InputSummary],+ -- | The token that you can use to return the next set of results, or @null@+ -- if there are no more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListInputsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputSummaries', 'listInputsResponse_inputSummaries' - Summary information about the inputs.+--+-- 'nextToken', 'listInputsResponse_nextToken' - The token that you can use to return the next set of results, or @null@+-- if there are no more results.+--+-- 'httpStatus', 'listInputsResponse_httpStatus' - The response's http status code.+newListInputsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListInputsResponse+newListInputsResponse pHttpStatus_ =+ ListInputsResponse'+ { inputSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Summary information about the inputs.+listInputsResponse_inputSummaries :: Lens.Lens' ListInputsResponse (Prelude.Maybe [InputSummary])+listInputsResponse_inputSummaries = Lens.lens (\ListInputsResponse' {inputSummaries} -> inputSummaries) (\s@ListInputsResponse' {} a -> s {inputSummaries = a} :: ListInputsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that you can use to return the next set of results, or @null@+-- if there are no more results.+listInputsResponse_nextToken :: Lens.Lens' ListInputsResponse (Prelude.Maybe Prelude.Text)+listInputsResponse_nextToken = Lens.lens (\ListInputsResponse' {nextToken} -> nextToken) (\s@ListInputsResponse' {} a -> s {nextToken = a} :: ListInputsResponse)++-- | The response's http status code.+listInputsResponse_httpStatus :: Lens.Lens' ListInputsResponse Prelude.Int+listInputsResponse_httpStatus = Lens.lens (\ListInputsResponse' {httpStatus} -> httpStatus) (\s@ListInputsResponse' {} a -> s {httpStatus = a} :: ListInputsResponse)++instance Prelude.NFData ListInputsResponse where+ rnf ListInputsResponse' {..} =+ Prelude.rnf inputSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/ListTagsForResource.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags (metadata) you have assigned to the resource.+module Amazonka.IoTEvents.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The ARN of the resource.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The ARN of the resource.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The ARN of the resource.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/tags"++instance Data.ToQuery ListTagsForResource where+ toQuery ListTagsForResource' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The list of tags assigned to the resource.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of tags assigned to the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of tags assigned to the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/PutLoggingOptions.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.PutLoggingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets or updates the AWS IoT Events logging options.+--+-- If you update the value of any @loggingOptions@ field, it takes up to+-- one minute for the change to take effect. If you change the policy+-- attached to the role you specified in the @roleArn@ field (for example,+-- to correct an invalid policy), it takes up to five minutes for that+-- change to take effect.+module Amazonka.IoTEvents.PutLoggingOptions+ ( -- * Creating a Request+ PutLoggingOptions (..),+ newPutLoggingOptions,++ -- * Request Lenses+ putLoggingOptions_loggingOptions,++ -- * Destructuring the Response+ PutLoggingOptionsResponse (..),+ newPutLoggingOptionsResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutLoggingOptions' smart constructor.+data PutLoggingOptions = PutLoggingOptions'+ { -- | The new values of the AWS IoT Events logging options.+ loggingOptions :: LoggingOptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingOptions', 'putLoggingOptions_loggingOptions' - The new values of the AWS IoT Events logging options.+newPutLoggingOptions ::+ -- | 'loggingOptions'+ LoggingOptions ->+ PutLoggingOptions+newPutLoggingOptions pLoggingOptions_ =+ PutLoggingOptions'+ { loggingOptions =+ pLoggingOptions_+ }++-- | The new values of the AWS IoT Events logging options.+putLoggingOptions_loggingOptions :: Lens.Lens' PutLoggingOptions LoggingOptions+putLoggingOptions_loggingOptions = Lens.lens (\PutLoggingOptions' {loggingOptions} -> loggingOptions) (\s@PutLoggingOptions' {} a -> s {loggingOptions = a} :: PutLoggingOptions)++instance Core.AWSRequest PutLoggingOptions where+ type+ AWSResponse PutLoggingOptions =+ PutLoggingOptionsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveNull PutLoggingOptionsResponse'++instance Prelude.Hashable PutLoggingOptions where+ hashWithSalt _salt PutLoggingOptions' {..} =+ _salt `Prelude.hashWithSalt` loggingOptions++instance Prelude.NFData PutLoggingOptions where+ rnf PutLoggingOptions' {..} =+ Prelude.rnf loggingOptions++instance Data.ToHeaders PutLoggingOptions where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutLoggingOptions where+ toJSON PutLoggingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("loggingOptions" Data..= loggingOptions)+ ]+ )++instance Data.ToPath PutLoggingOptions where+ toPath = Prelude.const "/logging"++instance Data.ToQuery PutLoggingOptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutLoggingOptionsResponse' smart constructor.+data PutLoggingOptionsResponse = PutLoggingOptionsResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutLoggingOptionsResponse ::+ PutLoggingOptionsResponse+newPutLoggingOptionsResponse =+ PutLoggingOptionsResponse'++instance Prelude.NFData PutLoggingOptionsResponse where+ rnf _ = ()
+ gen/Amazonka/IoTEvents/StartDetectorModelAnalysis.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.StartDetectorModelAnalysis+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Performs an analysis of your detector model. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html Troubleshooting a detector model>+-- in the /AWS IoT Events Developer Guide/.+module Amazonka.IoTEvents.StartDetectorModelAnalysis+ ( -- * Creating a Request+ StartDetectorModelAnalysis (..),+ newStartDetectorModelAnalysis,++ -- * Request Lenses+ startDetectorModelAnalysis_detectorModelDefinition,++ -- * Destructuring the Response+ StartDetectorModelAnalysisResponse (..),+ newStartDetectorModelAnalysisResponse,++ -- * Response Lenses+ startDetectorModelAnalysisResponse_analysisId,+ startDetectorModelAnalysisResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartDetectorModelAnalysis' smart constructor.+data StartDetectorModelAnalysis = StartDetectorModelAnalysis'+ { detectorModelDefinition :: DetectorModelDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDetectorModelAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelDefinition', 'startDetectorModelAnalysis_detectorModelDefinition' - Undocumented member.+newStartDetectorModelAnalysis ::+ -- | 'detectorModelDefinition'+ DetectorModelDefinition ->+ StartDetectorModelAnalysis+newStartDetectorModelAnalysis+ pDetectorModelDefinition_ =+ StartDetectorModelAnalysis'+ { detectorModelDefinition =+ pDetectorModelDefinition_+ }++-- | Undocumented member.+startDetectorModelAnalysis_detectorModelDefinition :: Lens.Lens' StartDetectorModelAnalysis DetectorModelDefinition+startDetectorModelAnalysis_detectorModelDefinition = Lens.lens (\StartDetectorModelAnalysis' {detectorModelDefinition} -> detectorModelDefinition) (\s@StartDetectorModelAnalysis' {} a -> s {detectorModelDefinition = a} :: StartDetectorModelAnalysis)++instance Core.AWSRequest StartDetectorModelAnalysis where+ type+ AWSResponse StartDetectorModelAnalysis =+ StartDetectorModelAnalysisResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartDetectorModelAnalysisResponse'+ Prelude.<$> (x Data..?> "analysisId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartDetectorModelAnalysis where+ hashWithSalt _salt StartDetectorModelAnalysis' {..} =+ _salt+ `Prelude.hashWithSalt` detectorModelDefinition++instance Prelude.NFData StartDetectorModelAnalysis where+ rnf StartDetectorModelAnalysis' {..} =+ Prelude.rnf detectorModelDefinition++instance Data.ToHeaders StartDetectorModelAnalysis where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON StartDetectorModelAnalysis where+ toJSON StartDetectorModelAnalysis' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "detectorModelDefinition"+ Data..= detectorModelDefinition+ )+ ]+ )++instance Data.ToPath StartDetectorModelAnalysis where+ toPath = Prelude.const "/analysis/detector-models/"++instance Data.ToQuery StartDetectorModelAnalysis where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartDetectorModelAnalysisResponse' smart constructor.+data StartDetectorModelAnalysisResponse = StartDetectorModelAnalysisResponse'+ { -- | The ID that you can use to retrieve the analysis result.+ analysisId :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartDetectorModelAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analysisId', 'startDetectorModelAnalysisResponse_analysisId' - The ID that you can use to retrieve the analysis result.+--+-- 'httpStatus', 'startDetectorModelAnalysisResponse_httpStatus' - The response's http status code.+newStartDetectorModelAnalysisResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartDetectorModelAnalysisResponse+newStartDetectorModelAnalysisResponse pHttpStatus_ =+ StartDetectorModelAnalysisResponse'+ { analysisId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID that you can use to retrieve the analysis result.+startDetectorModelAnalysisResponse_analysisId :: Lens.Lens' StartDetectorModelAnalysisResponse (Prelude.Maybe Prelude.Text)+startDetectorModelAnalysisResponse_analysisId = Lens.lens (\StartDetectorModelAnalysisResponse' {analysisId} -> analysisId) (\s@StartDetectorModelAnalysisResponse' {} a -> s {analysisId = a} :: StartDetectorModelAnalysisResponse)++-- | The response's http status code.+startDetectorModelAnalysisResponse_httpStatus :: Lens.Lens' StartDetectorModelAnalysisResponse Prelude.Int+startDetectorModelAnalysisResponse_httpStatus = Lens.lens (\StartDetectorModelAnalysisResponse' {httpStatus} -> httpStatus) (\s@StartDetectorModelAnalysisResponse' {} a -> s {httpStatus = a} :: StartDetectorModelAnalysisResponse)++instance+ Prelude.NFData+ StartDetectorModelAnalysisResponse+ where+ rnf StartDetectorModelAnalysisResponse' {..} =+ Prelude.rnf analysisId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/TagResource.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds to or modifies the tags of the given resource. Tags are metadata+-- that can be used to manage a resource.+module Amazonka.IoTEvents.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The ARN of the resource.+ resourceArn :: Prelude.Text,+ -- | The new or modified tags for the resource.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The ARN of the resource.+--+-- 'tags', 'tagResource_tags' - The new or modified tags for the resource.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The ARN of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The new or modified tags for the resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/tags"++instance Data.ToQuery TagResource where+ toQuery TagResource' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/Types.hs view
@@ -0,0 +1,709 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _InternalFailureException,+ _InvalidRequestException,+ _LimitExceededException,+ _ResourceAlreadyExistsException,+ _ResourceInUseException,+ _ResourceNotFoundException,+ _ServiceUnavailableException,+ _ThrottlingException,+ _UnsupportedOperationException,++ -- * AlarmModelVersionStatus+ AlarmModelVersionStatus (..),++ -- * AnalysisResultLevel+ AnalysisResultLevel (..),++ -- * AnalysisStatus+ AnalysisStatus (..),++ -- * ComparisonOperator+ ComparisonOperator (..),++ -- * DetectorModelVersionStatus+ DetectorModelVersionStatus (..),++ -- * EvaluationMethod+ EvaluationMethod (..),++ -- * InputStatus+ InputStatus (..),++ -- * LoggingLevel+ LoggingLevel (..),++ -- * PayloadType+ PayloadType (..),++ -- * AcknowledgeFlow+ AcknowledgeFlow (..),+ newAcknowledgeFlow,+ acknowledgeFlow_enabled,++ -- * Action+ Action (..),+ newAction,+ action_clearTimer,+ action_dynamoDB,+ action_dynamoDBv2,+ action_firehose,+ action_iotEvents,+ action_iotSiteWise,+ action_iotTopicPublish,+ action_lambda,+ action_resetTimer,+ action_setTimer,+ action_setVariable,+ action_sns,+ action_sqs,++ -- * AlarmAction+ AlarmAction (..),+ newAlarmAction,+ alarmAction_dynamoDB,+ alarmAction_dynamoDBv2,+ alarmAction_firehose,+ alarmAction_iotEvents,+ alarmAction_iotSiteWise,+ alarmAction_iotTopicPublish,+ alarmAction_lambda,+ alarmAction_sns,+ alarmAction_sqs,++ -- * AlarmCapabilities+ AlarmCapabilities (..),+ newAlarmCapabilities,+ alarmCapabilities_acknowledgeFlow,+ alarmCapabilities_initializationConfiguration,++ -- * AlarmEventActions+ AlarmEventActions (..),+ newAlarmEventActions,+ alarmEventActions_alarmActions,++ -- * AlarmModelSummary+ AlarmModelSummary (..),+ newAlarmModelSummary,+ alarmModelSummary_alarmModelDescription,+ alarmModelSummary_alarmModelName,+ alarmModelSummary_creationTime,++ -- * AlarmModelVersionSummary+ AlarmModelVersionSummary (..),+ newAlarmModelVersionSummary,+ alarmModelVersionSummary_alarmModelArn,+ alarmModelVersionSummary_alarmModelName,+ alarmModelVersionSummary_alarmModelVersion,+ alarmModelVersionSummary_creationTime,+ alarmModelVersionSummary_lastUpdateTime,+ alarmModelVersionSummary_roleArn,+ alarmModelVersionSummary_status,+ alarmModelVersionSummary_statusMessage,++ -- * AlarmNotification+ AlarmNotification (..),+ newAlarmNotification,+ alarmNotification_notificationActions,++ -- * AlarmRule+ AlarmRule (..),+ newAlarmRule,+ alarmRule_simpleRule,++ -- * AnalysisResult+ AnalysisResult (..),+ newAnalysisResult,+ analysisResult_level,+ analysisResult_locations,+ analysisResult_message,+ analysisResult_type,++ -- * AnalysisResultLocation+ AnalysisResultLocation (..),+ newAnalysisResultLocation,+ analysisResultLocation_path,++ -- * AssetPropertyTimestamp+ AssetPropertyTimestamp (..),+ newAssetPropertyTimestamp,+ assetPropertyTimestamp_offsetInNanos,+ assetPropertyTimestamp_timeInSeconds,++ -- * AssetPropertyValue+ AssetPropertyValue (..),+ newAssetPropertyValue,+ assetPropertyValue_quality,+ assetPropertyValue_timestamp,+ assetPropertyValue_value,++ -- * AssetPropertyVariant+ AssetPropertyVariant (..),+ newAssetPropertyVariant,+ assetPropertyVariant_booleanValue,+ assetPropertyVariant_doubleValue,+ assetPropertyVariant_integerValue,+ assetPropertyVariant_stringValue,++ -- * Attribute+ Attribute (..),+ newAttribute,+ attribute_jsonPath,++ -- * ClearTimerAction+ ClearTimerAction (..),+ newClearTimerAction,+ clearTimerAction_timerName,++ -- * DetectorDebugOption+ DetectorDebugOption (..),+ newDetectorDebugOption,+ detectorDebugOption_keyValue,+ detectorDebugOption_detectorModelName,++ -- * DetectorModel+ DetectorModel (..),+ newDetectorModel,+ detectorModel_detectorModelConfiguration,+ detectorModel_detectorModelDefinition,++ -- * DetectorModelConfiguration+ DetectorModelConfiguration (..),+ newDetectorModelConfiguration,+ detectorModelConfiguration_creationTime,+ detectorModelConfiguration_detectorModelArn,+ detectorModelConfiguration_detectorModelDescription,+ detectorModelConfiguration_detectorModelName,+ detectorModelConfiguration_detectorModelVersion,+ detectorModelConfiguration_evaluationMethod,+ detectorModelConfiguration_key,+ detectorModelConfiguration_lastUpdateTime,+ detectorModelConfiguration_roleArn,+ detectorModelConfiguration_status,++ -- * DetectorModelDefinition+ DetectorModelDefinition (..),+ newDetectorModelDefinition,+ detectorModelDefinition_states,+ detectorModelDefinition_initialStateName,++ -- * DetectorModelSummary+ DetectorModelSummary (..),+ newDetectorModelSummary,+ detectorModelSummary_creationTime,+ detectorModelSummary_detectorModelDescription,+ detectorModelSummary_detectorModelName,++ -- * DetectorModelVersionSummary+ DetectorModelVersionSummary (..),+ newDetectorModelVersionSummary,+ detectorModelVersionSummary_creationTime,+ detectorModelVersionSummary_detectorModelArn,+ detectorModelVersionSummary_detectorModelName,+ detectorModelVersionSummary_detectorModelVersion,+ detectorModelVersionSummary_evaluationMethod,+ detectorModelVersionSummary_lastUpdateTime,+ detectorModelVersionSummary_roleArn,+ detectorModelVersionSummary_status,++ -- * DynamoDBAction+ DynamoDBAction (..),+ newDynamoDBAction,+ dynamoDBAction_hashKeyType,+ dynamoDBAction_operation,+ dynamoDBAction_payload,+ dynamoDBAction_payloadField,+ dynamoDBAction_rangeKeyField,+ dynamoDBAction_rangeKeyType,+ dynamoDBAction_rangeKeyValue,+ dynamoDBAction_hashKeyField,+ dynamoDBAction_hashKeyValue,+ dynamoDBAction_tableName,++ -- * DynamoDBv2Action+ DynamoDBv2Action (..),+ newDynamoDBv2Action,+ dynamoDBv2Action_payload,+ dynamoDBv2Action_tableName,++ -- * EmailConfiguration+ EmailConfiguration (..),+ newEmailConfiguration,+ emailConfiguration_content,+ emailConfiguration_from,+ emailConfiguration_recipients,++ -- * EmailContent+ EmailContent (..),+ newEmailContent,+ emailContent_additionalMessage,+ emailContent_subject,++ -- * EmailRecipients+ EmailRecipients (..),+ newEmailRecipients,+ emailRecipients_to,++ -- * Event+ Event (..),+ newEvent,+ event_actions,+ event_condition,+ event_eventName,++ -- * FirehoseAction+ FirehoseAction (..),+ newFirehoseAction,+ firehoseAction_payload,+ firehoseAction_separator,+ firehoseAction_deliveryStreamName,++ -- * InitializationConfiguration+ InitializationConfiguration (..),+ newInitializationConfiguration,+ initializationConfiguration_disabledOnInitialization,++ -- * Input+ Input (..),+ newInput,+ input_inputConfiguration,+ input_inputDefinition,++ -- * InputConfiguration+ InputConfiguration (..),+ newInputConfiguration,+ inputConfiguration_inputDescription,+ inputConfiguration_inputName,+ inputConfiguration_inputArn,+ inputConfiguration_creationTime,+ inputConfiguration_lastUpdateTime,+ inputConfiguration_status,++ -- * InputDefinition+ InputDefinition (..),+ newInputDefinition,+ inputDefinition_attributes,++ -- * InputIdentifier+ InputIdentifier (..),+ newInputIdentifier,+ inputIdentifier_iotEventsInputIdentifier,+ inputIdentifier_iotSiteWiseInputIdentifier,++ -- * InputSummary+ InputSummary (..),+ newInputSummary,+ inputSummary_creationTime,+ inputSummary_inputArn,+ inputSummary_inputDescription,+ inputSummary_inputName,+ inputSummary_lastUpdateTime,+ inputSummary_status,++ -- * IotEventsAction+ IotEventsAction (..),+ newIotEventsAction,+ iotEventsAction_payload,+ iotEventsAction_inputName,++ -- * IotEventsInputIdentifier+ IotEventsInputIdentifier (..),+ newIotEventsInputIdentifier,+ iotEventsInputIdentifier_inputName,++ -- * IotSiteWiseAction+ IotSiteWiseAction (..),+ newIotSiteWiseAction,+ iotSiteWiseAction_assetId,+ iotSiteWiseAction_entryId,+ iotSiteWiseAction_propertyAlias,+ iotSiteWiseAction_propertyId,+ iotSiteWiseAction_propertyValue,++ -- * IotSiteWiseAssetModelPropertyIdentifier+ IotSiteWiseAssetModelPropertyIdentifier (..),+ newIotSiteWiseAssetModelPropertyIdentifier,+ iotSiteWiseAssetModelPropertyIdentifier_assetModelId,+ iotSiteWiseAssetModelPropertyIdentifier_propertyId,++ -- * IotSiteWiseInputIdentifier+ IotSiteWiseInputIdentifier (..),+ newIotSiteWiseInputIdentifier,+ iotSiteWiseInputIdentifier_iotSiteWiseAssetModelPropertyIdentifier,++ -- * IotTopicPublishAction+ IotTopicPublishAction (..),+ newIotTopicPublishAction,+ iotTopicPublishAction_payload,+ iotTopicPublishAction_mqttTopic,++ -- * LambdaAction+ LambdaAction (..),+ newLambdaAction,+ lambdaAction_payload,+ lambdaAction_functionArn,++ -- * LoggingOptions+ LoggingOptions (..),+ newLoggingOptions,+ loggingOptions_detectorDebugOptions,+ loggingOptions_roleArn,+ loggingOptions_level,+ loggingOptions_enabled,++ -- * NotificationAction+ NotificationAction (..),+ newNotificationAction,+ notificationAction_emailConfigurations,+ notificationAction_smsConfigurations,+ notificationAction_action,++ -- * NotificationTargetActions+ NotificationTargetActions (..),+ newNotificationTargetActions,+ notificationTargetActions_lambdaAction,++ -- * OnEnterLifecycle+ OnEnterLifecycle (..),+ newOnEnterLifecycle,+ onEnterLifecycle_events,++ -- * OnExitLifecycle+ OnExitLifecycle (..),+ newOnExitLifecycle,+ onExitLifecycle_events,++ -- * OnInputLifecycle+ OnInputLifecycle (..),+ newOnInputLifecycle,+ onInputLifecycle_events,+ onInputLifecycle_transitionEvents,++ -- * Payload+ Payload (..),+ newPayload,+ payload_contentExpression,+ payload_type,++ -- * RecipientDetail+ RecipientDetail (..),+ newRecipientDetail,+ recipientDetail_ssoIdentity,++ -- * ResetTimerAction+ ResetTimerAction (..),+ newResetTimerAction,+ resetTimerAction_timerName,++ -- * RoutedResource+ RoutedResource (..),+ newRoutedResource,+ routedResource_arn,+ routedResource_name,++ -- * SMSConfiguration+ SMSConfiguration (..),+ newSMSConfiguration,+ sMSConfiguration_additionalMessage,+ sMSConfiguration_senderId,+ sMSConfiguration_recipients,++ -- * SNSTopicPublishAction+ SNSTopicPublishAction (..),+ newSNSTopicPublishAction,+ sNSTopicPublishAction_payload,+ sNSTopicPublishAction_targetArn,++ -- * SSOIdentity+ SSOIdentity (..),+ newSSOIdentity,+ sSOIdentity_userId,+ sSOIdentity_identityStoreId,++ -- * SetTimerAction+ SetTimerAction (..),+ newSetTimerAction,+ setTimerAction_durationExpression,+ setTimerAction_seconds,+ setTimerAction_timerName,++ -- * SetVariableAction+ SetVariableAction (..),+ newSetVariableAction,+ setVariableAction_variableName,+ setVariableAction_value,++ -- * SimpleRule+ SimpleRule (..),+ newSimpleRule,+ simpleRule_inputProperty,+ simpleRule_comparisonOperator,+ simpleRule_threshold,++ -- * SqsAction+ SqsAction (..),+ newSqsAction,+ sqsAction_payload,+ sqsAction_useBase64,+ sqsAction_queueUrl,++ -- * State+ State (..),+ newState,+ state_onEnter,+ state_onExit,+ state_onInput,+ state_stateName,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * TransitionEvent+ TransitionEvent (..),+ newTransitionEvent,+ transitionEvent_actions,+ transitionEvent_eventName,+ transitionEvent_condition,+ transitionEvent_nextState,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.IoTEvents.Types.AcknowledgeFlow+import Amazonka.IoTEvents.Types.Action+import Amazonka.IoTEvents.Types.AlarmAction+import Amazonka.IoTEvents.Types.AlarmCapabilities+import Amazonka.IoTEvents.Types.AlarmEventActions+import Amazonka.IoTEvents.Types.AlarmModelSummary+import Amazonka.IoTEvents.Types.AlarmModelVersionStatus+import Amazonka.IoTEvents.Types.AlarmModelVersionSummary+import Amazonka.IoTEvents.Types.AlarmNotification+import Amazonka.IoTEvents.Types.AlarmRule+import Amazonka.IoTEvents.Types.AnalysisResult+import Amazonka.IoTEvents.Types.AnalysisResultLevel+import Amazonka.IoTEvents.Types.AnalysisResultLocation+import Amazonka.IoTEvents.Types.AnalysisStatus+import Amazonka.IoTEvents.Types.AssetPropertyTimestamp+import Amazonka.IoTEvents.Types.AssetPropertyValue+import Amazonka.IoTEvents.Types.AssetPropertyVariant+import Amazonka.IoTEvents.Types.Attribute+import Amazonka.IoTEvents.Types.ClearTimerAction+import Amazonka.IoTEvents.Types.ComparisonOperator+import Amazonka.IoTEvents.Types.DetectorDebugOption+import Amazonka.IoTEvents.Types.DetectorModel+import Amazonka.IoTEvents.Types.DetectorModelConfiguration+import Amazonka.IoTEvents.Types.DetectorModelDefinition+import Amazonka.IoTEvents.Types.DetectorModelSummary+import Amazonka.IoTEvents.Types.DetectorModelVersionStatus+import Amazonka.IoTEvents.Types.DetectorModelVersionSummary+import Amazonka.IoTEvents.Types.DynamoDBAction+import Amazonka.IoTEvents.Types.DynamoDBv2Action+import Amazonka.IoTEvents.Types.EmailConfiguration+import Amazonka.IoTEvents.Types.EmailContent+import Amazonka.IoTEvents.Types.EmailRecipients+import Amazonka.IoTEvents.Types.EvaluationMethod+import Amazonka.IoTEvents.Types.Event+import Amazonka.IoTEvents.Types.FirehoseAction+import Amazonka.IoTEvents.Types.InitializationConfiguration+import Amazonka.IoTEvents.Types.Input+import Amazonka.IoTEvents.Types.InputConfiguration+import Amazonka.IoTEvents.Types.InputDefinition+import Amazonka.IoTEvents.Types.InputIdentifier+import Amazonka.IoTEvents.Types.InputStatus+import Amazonka.IoTEvents.Types.InputSummary+import Amazonka.IoTEvents.Types.IotEventsAction+import Amazonka.IoTEvents.Types.IotEventsInputIdentifier+import Amazonka.IoTEvents.Types.IotSiteWiseAction+import Amazonka.IoTEvents.Types.IotSiteWiseAssetModelPropertyIdentifier+import Amazonka.IoTEvents.Types.IotSiteWiseInputIdentifier+import Amazonka.IoTEvents.Types.IotTopicPublishAction+import Amazonka.IoTEvents.Types.LambdaAction+import Amazonka.IoTEvents.Types.LoggingLevel+import Amazonka.IoTEvents.Types.LoggingOptions+import Amazonka.IoTEvents.Types.NotificationAction+import Amazonka.IoTEvents.Types.NotificationTargetActions+import Amazonka.IoTEvents.Types.OnEnterLifecycle+import Amazonka.IoTEvents.Types.OnExitLifecycle+import Amazonka.IoTEvents.Types.OnInputLifecycle+import Amazonka.IoTEvents.Types.Payload+import Amazonka.IoTEvents.Types.PayloadType+import Amazonka.IoTEvents.Types.RecipientDetail+import Amazonka.IoTEvents.Types.ResetTimerAction+import Amazonka.IoTEvents.Types.RoutedResource+import Amazonka.IoTEvents.Types.SMSConfiguration+import Amazonka.IoTEvents.Types.SNSTopicPublishAction+import Amazonka.IoTEvents.Types.SSOIdentity+import Amazonka.IoTEvents.Types.SetTimerAction+import Amazonka.IoTEvents.Types.SetVariableAction+import Amazonka.IoTEvents.Types.SimpleRule+import Amazonka.IoTEvents.Types.SqsAction+import Amazonka.IoTEvents.Types.State+import Amazonka.IoTEvents.Types.Tag+import Amazonka.IoTEvents.Types.TransitionEvent+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-07-27@ of the Amazon IoT Events SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "IoTEvents",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "iotevents",+ Core.signingName = "iotevents",+ Core.version = "2018-07-27",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "IoTEvents",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | An internal failure occurred.+_InternalFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalFailureException =+ Core._MatchServiceError+ defaultService+ "InternalFailureException"+ Prelude.. Core.hasStatus 500++-- | The request was invalid.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+ Core._MatchServiceError+ defaultService+ "InvalidRequestException"+ Prelude.. Core.hasStatus 400++-- | A limit was exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"+ Prelude.. Core.hasStatus 410++-- | The resource already exists.+_ResourceAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceAlreadyExistsException =+ Core._MatchServiceError+ defaultService+ "ResourceAlreadyExistsException"+ Prelude.. Core.hasStatus 409++-- | The resource is in use.+_ResourceInUseException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceInUseException =+ Core._MatchServiceError+ defaultService+ "ResourceInUseException"+ Prelude.. Core.hasStatus 409++-- | The resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The service is currently unavailable.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+ Core._MatchServiceError+ defaultService+ "ServiceUnavailableException"+ Prelude.. Core.hasStatus 503++-- | The request could not be completed due to throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | The requested operation is not supported.+_UnsupportedOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnsupportedOperationException =+ Core._MatchServiceError+ defaultService+ "UnsupportedOperationException"+ Prelude.. Core.hasStatus 501
+ gen/Amazonka/IoTEvents/Types/AcknowledgeFlow.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AcknowledgeFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AcknowledgeFlow where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies whether to get notified for alarm state changes.+--+-- /See:/ 'newAcknowledgeFlow' smart constructor.+data AcknowledgeFlow = AcknowledgeFlow'+ { -- | The value must be @TRUE@ or @FALSE@. If @TRUE@, you receive a+ -- notification when the alarm state changes. You must choose to+ -- acknowledge the notification before the alarm state can return to+ -- @NORMAL@. If @FALSE@, you won\'t receive notifications. The alarm+ -- automatically changes to the @NORMAL@ state when the input property+ -- value returns to the specified range.+ enabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcknowledgeFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'acknowledgeFlow_enabled' - The value must be @TRUE@ or @FALSE@. If @TRUE@, you receive a+-- notification when the alarm state changes. You must choose to+-- acknowledge the notification before the alarm state can return to+-- @NORMAL@. If @FALSE@, you won\'t receive notifications. The alarm+-- automatically changes to the @NORMAL@ state when the input property+-- value returns to the specified range.+newAcknowledgeFlow ::+ -- | 'enabled'+ Prelude.Bool ->+ AcknowledgeFlow+newAcknowledgeFlow pEnabled_ =+ AcknowledgeFlow' {enabled = pEnabled_}++-- | The value must be @TRUE@ or @FALSE@. If @TRUE@, you receive a+-- notification when the alarm state changes. You must choose to+-- acknowledge the notification before the alarm state can return to+-- @NORMAL@. If @FALSE@, you won\'t receive notifications. The alarm+-- automatically changes to the @NORMAL@ state when the input property+-- value returns to the specified range.+acknowledgeFlow_enabled :: Lens.Lens' AcknowledgeFlow Prelude.Bool+acknowledgeFlow_enabled = Lens.lens (\AcknowledgeFlow' {enabled} -> enabled) (\s@AcknowledgeFlow' {} a -> s {enabled = a} :: AcknowledgeFlow)++instance Data.FromJSON AcknowledgeFlow where+ parseJSON =+ Data.withObject+ "AcknowledgeFlow"+ ( \x ->+ AcknowledgeFlow' Prelude.<$> (x Data..: "enabled")+ )++instance Prelude.Hashable AcknowledgeFlow where+ hashWithSalt _salt AcknowledgeFlow' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData AcknowledgeFlow where+ rnf AcknowledgeFlow' {..} = Prelude.rnf enabled++instance Data.ToJSON AcknowledgeFlow where+ toJSON AcknowledgeFlow' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("enabled" Data..= enabled)]+ )
+ gen/Amazonka/IoTEvents/Types/Action.hs view
@@ -0,0 +1,316 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.Action+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.Action where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.ClearTimerAction+import Amazonka.IoTEvents.Types.DynamoDBAction+import Amazonka.IoTEvents.Types.DynamoDBv2Action+import Amazonka.IoTEvents.Types.FirehoseAction+import Amazonka.IoTEvents.Types.IotEventsAction+import Amazonka.IoTEvents.Types.IotSiteWiseAction+import Amazonka.IoTEvents.Types.IotTopicPublishAction+import Amazonka.IoTEvents.Types.LambdaAction+import Amazonka.IoTEvents.Types.ResetTimerAction+import Amazonka.IoTEvents.Types.SNSTopicPublishAction+import Amazonka.IoTEvents.Types.SetTimerAction+import Amazonka.IoTEvents.Types.SetVariableAction+import Amazonka.IoTEvents.Types.SqsAction+import qualified Amazonka.Prelude as Prelude++-- | An action to be performed when the @condition@ is TRUE.+--+-- /See:/ 'newAction' smart constructor.+data Action = Action'+ { -- | Information needed to clear the timer.+ clearTimer :: Prelude.Maybe ClearTimerAction,+ -- | Writes to the DynamoDB table that you created. The default action+ -- payload contains all attribute-value pairs that have the information+ -- about the detector model instance and the event that triggered the+ -- action. You can customize the+ -- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+ -- One column of the DynamoDB table receives all attribute-value pairs in+ -- the payload that you specify. For more information, see+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html Actions>+ -- in /AWS IoT Events Developer Guide/.+ dynamoDB :: Prelude.Maybe DynamoDBAction,+ -- | Writes to the DynamoDB table that you created. The default action+ -- payload contains all attribute-value pairs that have the information+ -- about the detector model instance and the event that triggered the+ -- action. You can customize the+ -- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+ -- A separate column of the DynamoDB table receives one attribute-value+ -- pair in the payload that you specify. For more information, see+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html Actions>+ -- in /AWS IoT Events Developer Guide/.+ dynamoDBv2 :: Prelude.Maybe DynamoDBv2Action,+ -- | Sends information about the detector model instance and the event that+ -- triggered the action to an Amazon Kinesis Data Firehose delivery stream.+ firehose :: Prelude.Maybe FirehoseAction,+ -- | Sends AWS IoT Events input, which passes information about the detector+ -- model instance and the event that triggered the action.+ iotEvents :: Prelude.Maybe IotEventsAction,+ -- | Sends information about the detector model instance and the event that+ -- triggered the action to an asset property in AWS IoT SiteWise .+ iotSiteWise :: Prelude.Maybe IotSiteWiseAction,+ -- | Publishes an MQTT message with the given topic to the AWS IoT message+ -- broker.+ iotTopicPublish :: Prelude.Maybe IotTopicPublishAction,+ -- | Calls a Lambda function, passing in information about the detector model+ -- instance and the event that triggered the action.+ lambda :: Prelude.Maybe LambdaAction,+ -- | Information needed to reset the timer.+ resetTimer :: Prelude.Maybe ResetTimerAction,+ -- | Information needed to set the timer.+ setTimer :: Prelude.Maybe SetTimerAction,+ -- | Sets a variable to a specified value.+ setVariable :: Prelude.Maybe SetVariableAction,+ -- | Sends an Amazon SNS message.+ sns :: Prelude.Maybe SNSTopicPublishAction,+ -- | Sends information about the detector model instance and the event that+ -- triggered the action to an Amazon SQS queue.+ sqs :: Prelude.Maybe SqsAction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Action' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clearTimer', 'action_clearTimer' - Information needed to clear the timer.+--+-- 'dynamoDB', 'action_dynamoDB' - Writes to the DynamoDB table that you created. The default action+-- payload contains all attribute-value pairs that have the information+-- about the detector model instance and the event that triggered the+-- action. You can customize the+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+-- One column of the DynamoDB table receives all attribute-value pairs in+-- the payload that you specify. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html Actions>+-- in /AWS IoT Events Developer Guide/.+--+-- 'dynamoDBv2', 'action_dynamoDBv2' - Writes to the DynamoDB table that you created. The default action+-- payload contains all attribute-value pairs that have the information+-- about the detector model instance and the event that triggered the+-- action. You can customize the+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+-- A separate column of the DynamoDB table receives one attribute-value+-- pair in the payload that you specify. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html Actions>+-- in /AWS IoT Events Developer Guide/.+--+-- 'firehose', 'action_firehose' - Sends information about the detector model instance and the event that+-- triggered the action to an Amazon Kinesis Data Firehose delivery stream.+--+-- 'iotEvents', 'action_iotEvents' - Sends AWS IoT Events input, which passes information about the detector+-- model instance and the event that triggered the action.+--+-- 'iotSiteWise', 'action_iotSiteWise' - Sends information about the detector model instance and the event that+-- triggered the action to an asset property in AWS IoT SiteWise .+--+-- 'iotTopicPublish', 'action_iotTopicPublish' - Publishes an MQTT message with the given topic to the AWS IoT message+-- broker.+--+-- 'lambda', 'action_lambda' - Calls a Lambda function, passing in information about the detector model+-- instance and the event that triggered the action.+--+-- 'resetTimer', 'action_resetTimer' - Information needed to reset the timer.+--+-- 'setTimer', 'action_setTimer' - Information needed to set the timer.+--+-- 'setVariable', 'action_setVariable' - Sets a variable to a specified value.+--+-- 'sns', 'action_sns' - Sends an Amazon SNS message.+--+-- 'sqs', 'action_sqs' - Sends information about the detector model instance and the event that+-- triggered the action to an Amazon SQS queue.+newAction ::+ Action+newAction =+ Action'+ { clearTimer = Prelude.Nothing,+ dynamoDB = Prelude.Nothing,+ dynamoDBv2 = Prelude.Nothing,+ firehose = Prelude.Nothing,+ iotEvents = Prelude.Nothing,+ iotSiteWise = Prelude.Nothing,+ iotTopicPublish = Prelude.Nothing,+ lambda = Prelude.Nothing,+ resetTimer = Prelude.Nothing,+ setTimer = Prelude.Nothing,+ setVariable = Prelude.Nothing,+ sns = Prelude.Nothing,+ sqs = Prelude.Nothing+ }++-- | Information needed to clear the timer.+action_clearTimer :: Lens.Lens' Action (Prelude.Maybe ClearTimerAction)+action_clearTimer = Lens.lens (\Action' {clearTimer} -> clearTimer) (\s@Action' {} a -> s {clearTimer = a} :: Action)++-- | Writes to the DynamoDB table that you created. The default action+-- payload contains all attribute-value pairs that have the information+-- about the detector model instance and the event that triggered the+-- action. You can customize the+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+-- One column of the DynamoDB table receives all attribute-value pairs in+-- the payload that you specify. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html Actions>+-- in /AWS IoT Events Developer Guide/.+action_dynamoDB :: Lens.Lens' Action (Prelude.Maybe DynamoDBAction)+action_dynamoDB = Lens.lens (\Action' {dynamoDB} -> dynamoDB) (\s@Action' {} a -> s {dynamoDB = a} :: Action)++-- | Writes to the DynamoDB table that you created. The default action+-- payload contains all attribute-value pairs that have the information+-- about the detector model instance and the event that triggered the+-- action. You can customize the+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+-- A separate column of the DynamoDB table receives one attribute-value+-- pair in the payload that you specify. For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html Actions>+-- in /AWS IoT Events Developer Guide/.+action_dynamoDBv2 :: Lens.Lens' Action (Prelude.Maybe DynamoDBv2Action)+action_dynamoDBv2 = Lens.lens (\Action' {dynamoDBv2} -> dynamoDBv2) (\s@Action' {} a -> s {dynamoDBv2 = a} :: Action)++-- | Sends information about the detector model instance and the event that+-- triggered the action to an Amazon Kinesis Data Firehose delivery stream.+action_firehose :: Lens.Lens' Action (Prelude.Maybe FirehoseAction)+action_firehose = Lens.lens (\Action' {firehose} -> firehose) (\s@Action' {} a -> s {firehose = a} :: Action)++-- | Sends AWS IoT Events input, which passes information about the detector+-- model instance and the event that triggered the action.+action_iotEvents :: Lens.Lens' Action (Prelude.Maybe IotEventsAction)+action_iotEvents = Lens.lens (\Action' {iotEvents} -> iotEvents) (\s@Action' {} a -> s {iotEvents = a} :: Action)++-- | Sends information about the detector model instance and the event that+-- triggered the action to an asset property in AWS IoT SiteWise .+action_iotSiteWise :: Lens.Lens' Action (Prelude.Maybe IotSiteWiseAction)+action_iotSiteWise = Lens.lens (\Action' {iotSiteWise} -> iotSiteWise) (\s@Action' {} a -> s {iotSiteWise = a} :: Action)++-- | Publishes an MQTT message with the given topic to the AWS IoT message+-- broker.+action_iotTopicPublish :: Lens.Lens' Action (Prelude.Maybe IotTopicPublishAction)+action_iotTopicPublish = Lens.lens (\Action' {iotTopicPublish} -> iotTopicPublish) (\s@Action' {} a -> s {iotTopicPublish = a} :: Action)++-- | Calls a Lambda function, passing in information about the detector model+-- instance and the event that triggered the action.+action_lambda :: Lens.Lens' Action (Prelude.Maybe LambdaAction)+action_lambda = Lens.lens (\Action' {lambda} -> lambda) (\s@Action' {} a -> s {lambda = a} :: Action)++-- | Information needed to reset the timer.+action_resetTimer :: Lens.Lens' Action (Prelude.Maybe ResetTimerAction)+action_resetTimer = Lens.lens (\Action' {resetTimer} -> resetTimer) (\s@Action' {} a -> s {resetTimer = a} :: Action)++-- | Information needed to set the timer.+action_setTimer :: Lens.Lens' Action (Prelude.Maybe SetTimerAction)+action_setTimer = Lens.lens (\Action' {setTimer} -> setTimer) (\s@Action' {} a -> s {setTimer = a} :: Action)++-- | Sets a variable to a specified value.+action_setVariable :: Lens.Lens' Action (Prelude.Maybe SetVariableAction)+action_setVariable = Lens.lens (\Action' {setVariable} -> setVariable) (\s@Action' {} a -> s {setVariable = a} :: Action)++-- | Sends an Amazon SNS message.+action_sns :: Lens.Lens' Action (Prelude.Maybe SNSTopicPublishAction)+action_sns = Lens.lens (\Action' {sns} -> sns) (\s@Action' {} a -> s {sns = a} :: Action)++-- | Sends information about the detector model instance and the event that+-- triggered the action to an Amazon SQS queue.+action_sqs :: Lens.Lens' Action (Prelude.Maybe SqsAction)+action_sqs = Lens.lens (\Action' {sqs} -> sqs) (\s@Action' {} a -> s {sqs = a} :: Action)++instance Data.FromJSON Action where+ parseJSON =+ Data.withObject+ "Action"+ ( \x ->+ Action'+ Prelude.<$> (x Data..:? "clearTimer")+ Prelude.<*> (x Data..:? "dynamoDB")+ Prelude.<*> (x Data..:? "dynamoDBv2")+ Prelude.<*> (x Data..:? "firehose")+ Prelude.<*> (x Data..:? "iotEvents")+ Prelude.<*> (x Data..:? "iotSiteWise")+ Prelude.<*> (x Data..:? "iotTopicPublish")+ Prelude.<*> (x Data..:? "lambda")+ Prelude.<*> (x Data..:? "resetTimer")+ Prelude.<*> (x Data..:? "setTimer")+ Prelude.<*> (x Data..:? "setVariable")+ Prelude.<*> (x Data..:? "sns")+ Prelude.<*> (x Data..:? "sqs")+ )++instance Prelude.Hashable Action where+ hashWithSalt _salt Action' {..} =+ _salt+ `Prelude.hashWithSalt` clearTimer+ `Prelude.hashWithSalt` dynamoDB+ `Prelude.hashWithSalt` dynamoDBv2+ `Prelude.hashWithSalt` firehose+ `Prelude.hashWithSalt` iotEvents+ `Prelude.hashWithSalt` iotSiteWise+ `Prelude.hashWithSalt` iotTopicPublish+ `Prelude.hashWithSalt` lambda+ `Prelude.hashWithSalt` resetTimer+ `Prelude.hashWithSalt` setTimer+ `Prelude.hashWithSalt` setVariable+ `Prelude.hashWithSalt` sns+ `Prelude.hashWithSalt` sqs++instance Prelude.NFData Action where+ rnf Action' {..} =+ Prelude.rnf clearTimer+ `Prelude.seq` Prelude.rnf dynamoDB+ `Prelude.seq` Prelude.rnf dynamoDBv2+ `Prelude.seq` Prelude.rnf firehose+ `Prelude.seq` Prelude.rnf iotEvents+ `Prelude.seq` Prelude.rnf iotSiteWise+ `Prelude.seq` Prelude.rnf iotTopicPublish+ `Prelude.seq` Prelude.rnf lambda+ `Prelude.seq` Prelude.rnf resetTimer+ `Prelude.seq` Prelude.rnf setTimer+ `Prelude.seq` Prelude.rnf setVariable+ `Prelude.seq` Prelude.rnf sns+ `Prelude.seq` Prelude.rnf sqs++instance Data.ToJSON Action where+ toJSON Action' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clearTimer" Data..=) Prelude.<$> clearTimer,+ ("dynamoDB" Data..=) Prelude.<$> dynamoDB,+ ("dynamoDBv2" Data..=) Prelude.<$> dynamoDBv2,+ ("firehose" Data..=) Prelude.<$> firehose,+ ("iotEvents" Data..=) Prelude.<$> iotEvents,+ ("iotSiteWise" Data..=) Prelude.<$> iotSiteWise,+ ("iotTopicPublish" Data..=)+ Prelude.<$> iotTopicPublish,+ ("lambda" Data..=) Prelude.<$> lambda,+ ("resetTimer" Data..=) Prelude.<$> resetTimer,+ ("setTimer" Data..=) Prelude.<$> setTimer,+ ("setVariable" Data..=) Prelude.<$> setVariable,+ ("sns" Data..=) Prelude.<$> sns,+ ("sqs" Data..=) Prelude.<$> sqs+ ]+ )
+ gen/Amazonka/IoTEvents/Types/AlarmAction.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.DynamoDBAction+import Amazonka.IoTEvents.Types.DynamoDBv2Action+import Amazonka.IoTEvents.Types.FirehoseAction+import Amazonka.IoTEvents.Types.IotEventsAction+import Amazonka.IoTEvents.Types.IotSiteWiseAction+import Amazonka.IoTEvents.Types.IotTopicPublishAction+import Amazonka.IoTEvents.Types.LambdaAction+import Amazonka.IoTEvents.Types.SNSTopicPublishAction+import Amazonka.IoTEvents.Types.SqsAction+import qualified Amazonka.Prelude as Prelude++-- | Specifies one of the following actions to receive notifications when the+-- alarm state changes.+--+-- /See:/ 'newAlarmAction' smart constructor.+data AlarmAction = AlarmAction'+ { dynamoDB :: Prelude.Maybe DynamoDBAction,+ dynamoDBv2 :: Prelude.Maybe DynamoDBv2Action,+ firehose :: Prelude.Maybe FirehoseAction,+ iotEvents :: Prelude.Maybe IotEventsAction,+ iotSiteWise :: Prelude.Maybe IotSiteWiseAction,+ iotTopicPublish :: Prelude.Maybe IotTopicPublishAction,+ lambda :: Prelude.Maybe LambdaAction,+ sns :: Prelude.Maybe SNSTopicPublishAction,+ sqs :: Prelude.Maybe SqsAction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamoDB', 'alarmAction_dynamoDB' - Undocumented member.+--+-- 'dynamoDBv2', 'alarmAction_dynamoDBv2' - Undocumented member.+--+-- 'firehose', 'alarmAction_firehose' - Undocumented member.+--+-- 'iotEvents', 'alarmAction_iotEvents' - Undocumented member.+--+-- 'iotSiteWise', 'alarmAction_iotSiteWise' - Undocumented member.+--+-- 'iotTopicPublish', 'alarmAction_iotTopicPublish' - Undocumented member.+--+-- 'lambda', 'alarmAction_lambda' - Undocumented member.+--+-- 'sns', 'alarmAction_sns' - Undocumented member.+--+-- 'sqs', 'alarmAction_sqs' - Undocumented member.+newAlarmAction ::+ AlarmAction+newAlarmAction =+ AlarmAction'+ { dynamoDB = Prelude.Nothing,+ dynamoDBv2 = Prelude.Nothing,+ firehose = Prelude.Nothing,+ iotEvents = Prelude.Nothing,+ iotSiteWise = Prelude.Nothing,+ iotTopicPublish = Prelude.Nothing,+ lambda = Prelude.Nothing,+ sns = Prelude.Nothing,+ sqs = Prelude.Nothing+ }++-- | Undocumented member.+alarmAction_dynamoDB :: Lens.Lens' AlarmAction (Prelude.Maybe DynamoDBAction)+alarmAction_dynamoDB = Lens.lens (\AlarmAction' {dynamoDB} -> dynamoDB) (\s@AlarmAction' {} a -> s {dynamoDB = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_dynamoDBv2 :: Lens.Lens' AlarmAction (Prelude.Maybe DynamoDBv2Action)+alarmAction_dynamoDBv2 = Lens.lens (\AlarmAction' {dynamoDBv2} -> dynamoDBv2) (\s@AlarmAction' {} a -> s {dynamoDBv2 = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_firehose :: Lens.Lens' AlarmAction (Prelude.Maybe FirehoseAction)+alarmAction_firehose = Lens.lens (\AlarmAction' {firehose} -> firehose) (\s@AlarmAction' {} a -> s {firehose = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_iotEvents :: Lens.Lens' AlarmAction (Prelude.Maybe IotEventsAction)+alarmAction_iotEvents = Lens.lens (\AlarmAction' {iotEvents} -> iotEvents) (\s@AlarmAction' {} a -> s {iotEvents = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_iotSiteWise :: Lens.Lens' AlarmAction (Prelude.Maybe IotSiteWiseAction)+alarmAction_iotSiteWise = Lens.lens (\AlarmAction' {iotSiteWise} -> iotSiteWise) (\s@AlarmAction' {} a -> s {iotSiteWise = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_iotTopicPublish :: Lens.Lens' AlarmAction (Prelude.Maybe IotTopicPublishAction)+alarmAction_iotTopicPublish = Lens.lens (\AlarmAction' {iotTopicPublish} -> iotTopicPublish) (\s@AlarmAction' {} a -> s {iotTopicPublish = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_lambda :: Lens.Lens' AlarmAction (Prelude.Maybe LambdaAction)+alarmAction_lambda = Lens.lens (\AlarmAction' {lambda} -> lambda) (\s@AlarmAction' {} a -> s {lambda = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_sns :: Lens.Lens' AlarmAction (Prelude.Maybe SNSTopicPublishAction)+alarmAction_sns = Lens.lens (\AlarmAction' {sns} -> sns) (\s@AlarmAction' {} a -> s {sns = a} :: AlarmAction)++-- | Undocumented member.+alarmAction_sqs :: Lens.Lens' AlarmAction (Prelude.Maybe SqsAction)+alarmAction_sqs = Lens.lens (\AlarmAction' {sqs} -> sqs) (\s@AlarmAction' {} a -> s {sqs = a} :: AlarmAction)++instance Data.FromJSON AlarmAction where+ parseJSON =+ Data.withObject+ "AlarmAction"+ ( \x ->+ AlarmAction'+ Prelude.<$> (x Data..:? "dynamoDB")+ Prelude.<*> (x Data..:? "dynamoDBv2")+ Prelude.<*> (x Data..:? "firehose")+ Prelude.<*> (x Data..:? "iotEvents")+ Prelude.<*> (x Data..:? "iotSiteWise")+ Prelude.<*> (x Data..:? "iotTopicPublish")+ Prelude.<*> (x Data..:? "lambda")+ Prelude.<*> (x Data..:? "sns")+ Prelude.<*> (x Data..:? "sqs")+ )++instance Prelude.Hashable AlarmAction where+ hashWithSalt _salt AlarmAction' {..} =+ _salt+ `Prelude.hashWithSalt` dynamoDB+ `Prelude.hashWithSalt` dynamoDBv2+ `Prelude.hashWithSalt` firehose+ `Prelude.hashWithSalt` iotEvents+ `Prelude.hashWithSalt` iotSiteWise+ `Prelude.hashWithSalt` iotTopicPublish+ `Prelude.hashWithSalt` lambda+ `Prelude.hashWithSalt` sns+ `Prelude.hashWithSalt` sqs++instance Prelude.NFData AlarmAction where+ rnf AlarmAction' {..} =+ Prelude.rnf dynamoDB+ `Prelude.seq` Prelude.rnf dynamoDBv2+ `Prelude.seq` Prelude.rnf firehose+ `Prelude.seq` Prelude.rnf iotEvents+ `Prelude.seq` Prelude.rnf iotSiteWise+ `Prelude.seq` Prelude.rnf iotTopicPublish+ `Prelude.seq` Prelude.rnf lambda+ `Prelude.seq` Prelude.rnf sns+ `Prelude.seq` Prelude.rnf sqs++instance Data.ToJSON AlarmAction where+ toJSON AlarmAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dynamoDB" Data..=) Prelude.<$> dynamoDB,+ ("dynamoDBv2" Data..=) Prelude.<$> dynamoDBv2,+ ("firehose" Data..=) Prelude.<$> firehose,+ ("iotEvents" Data..=) Prelude.<$> iotEvents,+ ("iotSiteWise" Data..=) Prelude.<$> iotSiteWise,+ ("iotTopicPublish" Data..=)+ Prelude.<$> iotTopicPublish,+ ("lambda" Data..=) Prelude.<$> lambda,+ ("sns" Data..=) Prelude.<$> sns,+ ("sqs" Data..=) Prelude.<$> sqs+ ]+ )
+ gen/Amazonka/IoTEvents/Types/AlarmCapabilities.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmCapabilities+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmCapabilities where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.AcknowledgeFlow+import Amazonka.IoTEvents.Types.InitializationConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Contains the configuration information of alarm state changes.+--+-- /See:/ 'newAlarmCapabilities' smart constructor.+data AlarmCapabilities = AlarmCapabilities'+ { -- | Specifies whether to get notified for alarm state changes.+ acknowledgeFlow :: Prelude.Maybe AcknowledgeFlow,+ -- | Specifies the default alarm state. The configuration applies to all+ -- alarms that were created based on this alarm model.+ initializationConfiguration :: Prelude.Maybe InitializationConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmCapabilities' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acknowledgeFlow', 'alarmCapabilities_acknowledgeFlow' - Specifies whether to get notified for alarm state changes.+--+-- 'initializationConfiguration', 'alarmCapabilities_initializationConfiguration' - Specifies the default alarm state. The configuration applies to all+-- alarms that were created based on this alarm model.+newAlarmCapabilities ::+ AlarmCapabilities+newAlarmCapabilities =+ AlarmCapabilities'+ { acknowledgeFlow =+ Prelude.Nothing,+ initializationConfiguration = Prelude.Nothing+ }++-- | Specifies whether to get notified for alarm state changes.+alarmCapabilities_acknowledgeFlow :: Lens.Lens' AlarmCapabilities (Prelude.Maybe AcknowledgeFlow)+alarmCapabilities_acknowledgeFlow = Lens.lens (\AlarmCapabilities' {acknowledgeFlow} -> acknowledgeFlow) (\s@AlarmCapabilities' {} a -> s {acknowledgeFlow = a} :: AlarmCapabilities)++-- | Specifies the default alarm state. The configuration applies to all+-- alarms that were created based on this alarm model.+alarmCapabilities_initializationConfiguration :: Lens.Lens' AlarmCapabilities (Prelude.Maybe InitializationConfiguration)+alarmCapabilities_initializationConfiguration = Lens.lens (\AlarmCapabilities' {initializationConfiguration} -> initializationConfiguration) (\s@AlarmCapabilities' {} a -> s {initializationConfiguration = a} :: AlarmCapabilities)++instance Data.FromJSON AlarmCapabilities where+ parseJSON =+ Data.withObject+ "AlarmCapabilities"+ ( \x ->+ AlarmCapabilities'+ Prelude.<$> (x Data..:? "acknowledgeFlow")+ Prelude.<*> (x Data..:? "initializationConfiguration")+ )++instance Prelude.Hashable AlarmCapabilities where+ hashWithSalt _salt AlarmCapabilities' {..} =+ _salt+ `Prelude.hashWithSalt` acknowledgeFlow+ `Prelude.hashWithSalt` initializationConfiguration++instance Prelude.NFData AlarmCapabilities where+ rnf AlarmCapabilities' {..} =+ Prelude.rnf acknowledgeFlow+ `Prelude.seq` Prelude.rnf initializationConfiguration++instance Data.ToJSON AlarmCapabilities where+ toJSON AlarmCapabilities' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("acknowledgeFlow" Data..=)+ Prelude.<$> acknowledgeFlow,+ ("initializationConfiguration" Data..=)+ Prelude.<$> initializationConfiguration+ ]+ )
+ gen/Amazonka/IoTEvents/Types/AlarmEventActions.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmEventActions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmEventActions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.AlarmAction+import qualified Amazonka.Prelude as Prelude++-- | Contains information about one or more alarm actions.+--+-- /See:/ 'newAlarmEventActions' smart constructor.+data AlarmEventActions = AlarmEventActions'+ { -- | Specifies one or more supported actions to receive notifications when+ -- the alarm state changes.+ alarmActions :: Prelude.Maybe [AlarmAction]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmEventActions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmActions', 'alarmEventActions_alarmActions' - Specifies one or more supported actions to receive notifications when+-- the alarm state changes.+newAlarmEventActions ::+ AlarmEventActions+newAlarmEventActions =+ AlarmEventActions' {alarmActions = Prelude.Nothing}++-- | Specifies one or more supported actions to receive notifications when+-- the alarm state changes.+alarmEventActions_alarmActions :: Lens.Lens' AlarmEventActions (Prelude.Maybe [AlarmAction])+alarmEventActions_alarmActions = Lens.lens (\AlarmEventActions' {alarmActions} -> alarmActions) (\s@AlarmEventActions' {} a -> s {alarmActions = a} :: AlarmEventActions) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AlarmEventActions where+ parseJSON =+ Data.withObject+ "AlarmEventActions"+ ( \x ->+ AlarmEventActions'+ Prelude.<$> (x Data..:? "alarmActions" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AlarmEventActions where+ hashWithSalt _salt AlarmEventActions' {..} =+ _salt `Prelude.hashWithSalt` alarmActions++instance Prelude.NFData AlarmEventActions where+ rnf AlarmEventActions' {..} = Prelude.rnf alarmActions++instance Data.ToJSON AlarmEventActions where+ toJSON AlarmEventActions' {..} =+ Data.object+ ( Prelude.catMaybes+ [("alarmActions" Data..=) Prelude.<$> alarmActions]+ )
+ gen/Amazonka/IoTEvents/Types/AlarmModelSummary.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmModelSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmModelSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of an alarm model.+--+-- /See:/ 'newAlarmModelSummary' smart constructor.+data AlarmModelSummary = AlarmModelSummary'+ { -- | The description of the alarm model.+ alarmModelDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the alarm model.+ alarmModelName :: Prelude.Maybe Prelude.Text,+ -- | The time the alarm model was created, in the Unix epoch format.+ creationTime :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmModelSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelDescription', 'alarmModelSummary_alarmModelDescription' - The description of the alarm model.+--+-- 'alarmModelName', 'alarmModelSummary_alarmModelName' - The name of the alarm model.+--+-- 'creationTime', 'alarmModelSummary_creationTime' - The time the alarm model was created, in the Unix epoch format.+newAlarmModelSummary ::+ AlarmModelSummary+newAlarmModelSummary =+ AlarmModelSummary'+ { alarmModelDescription =+ Prelude.Nothing,+ alarmModelName = Prelude.Nothing,+ creationTime = Prelude.Nothing+ }++-- | The description of the alarm model.+alarmModelSummary_alarmModelDescription :: Lens.Lens' AlarmModelSummary (Prelude.Maybe Prelude.Text)+alarmModelSummary_alarmModelDescription = Lens.lens (\AlarmModelSummary' {alarmModelDescription} -> alarmModelDescription) (\s@AlarmModelSummary' {} a -> s {alarmModelDescription = a} :: AlarmModelSummary)++-- | The name of the alarm model.+alarmModelSummary_alarmModelName :: Lens.Lens' AlarmModelSummary (Prelude.Maybe Prelude.Text)+alarmModelSummary_alarmModelName = Lens.lens (\AlarmModelSummary' {alarmModelName} -> alarmModelName) (\s@AlarmModelSummary' {} a -> s {alarmModelName = a} :: AlarmModelSummary)++-- | The time the alarm model was created, in the Unix epoch format.+alarmModelSummary_creationTime :: Lens.Lens' AlarmModelSummary (Prelude.Maybe Prelude.UTCTime)+alarmModelSummary_creationTime = Lens.lens (\AlarmModelSummary' {creationTime} -> creationTime) (\s@AlarmModelSummary' {} a -> s {creationTime = a} :: AlarmModelSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON AlarmModelSummary where+ parseJSON =+ Data.withObject+ "AlarmModelSummary"+ ( \x ->+ AlarmModelSummary'+ Prelude.<$> (x Data..:? "alarmModelDescription")+ Prelude.<*> (x Data..:? "alarmModelName")+ Prelude.<*> (x Data..:? "creationTime")+ )++instance Prelude.Hashable AlarmModelSummary where+ hashWithSalt _salt AlarmModelSummary' {..} =+ _salt+ `Prelude.hashWithSalt` alarmModelDescription+ `Prelude.hashWithSalt` alarmModelName+ `Prelude.hashWithSalt` creationTime++instance Prelude.NFData AlarmModelSummary where+ rnf AlarmModelSummary' {..} =+ Prelude.rnf alarmModelDescription+ `Prelude.seq` Prelude.rnf alarmModelName+ `Prelude.seq` Prelude.rnf creationTime
+ gen/Amazonka/IoTEvents/Types/AlarmModelVersionStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmModelVersionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmModelVersionStatus+ ( AlarmModelVersionStatus+ ( ..,+ AlarmModelVersionStatus_ACTIVATING,+ AlarmModelVersionStatus_ACTIVE,+ AlarmModelVersionStatus_FAILED,+ AlarmModelVersionStatus_INACTIVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AlarmModelVersionStatus = AlarmModelVersionStatus'+ { fromAlarmModelVersionStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AlarmModelVersionStatus_ACTIVATING :: AlarmModelVersionStatus+pattern AlarmModelVersionStatus_ACTIVATING = AlarmModelVersionStatus' "ACTIVATING"++pattern AlarmModelVersionStatus_ACTIVE :: AlarmModelVersionStatus+pattern AlarmModelVersionStatus_ACTIVE = AlarmModelVersionStatus' "ACTIVE"++pattern AlarmModelVersionStatus_FAILED :: AlarmModelVersionStatus+pattern AlarmModelVersionStatus_FAILED = AlarmModelVersionStatus' "FAILED"++pattern AlarmModelVersionStatus_INACTIVE :: AlarmModelVersionStatus+pattern AlarmModelVersionStatus_INACTIVE = AlarmModelVersionStatus' "INACTIVE"++{-# COMPLETE+ AlarmModelVersionStatus_ACTIVATING,+ AlarmModelVersionStatus_ACTIVE,+ AlarmModelVersionStatus_FAILED,+ AlarmModelVersionStatus_INACTIVE,+ AlarmModelVersionStatus'+ #-}
+ gen/Amazonka/IoTEvents/Types/AlarmModelVersionSummary.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmModelVersionSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmModelVersionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.AlarmModelVersionStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of an alarm model version.+--+-- /See:/ 'newAlarmModelVersionSummary' smart constructor.+data AlarmModelVersionSummary = AlarmModelVersionSummary'+ { -- | The ARN of the alarm model. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ alarmModelArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the alarm model.+ alarmModelName :: Prelude.Maybe Prelude.Text,+ -- | The version of the alarm model.+ alarmModelVersion :: Prelude.Maybe Prelude.Text,+ -- | The time the alarm model was created, in the Unix epoch format.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time the alarm model was last updated, in the Unix epoch format.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the IAM role that allows the alarm to perform actions and+ -- access AWS resources. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The status of the alarm model. The status can be one of the following+ -- values:+ --+ -- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+ -- data.+ --+ -- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+ -- Activating an alarm model can take up to a few minutes.+ --+ -- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+ -- evaluate data. Check your alarm model information and update the+ -- alarm model.+ --+ -- - @FAILED@ - You couldn\'t create or update the alarm model. Check+ -- your alarm model information and try again.+ status :: Prelude.Maybe AlarmModelVersionStatus,+ -- | Contains information about the status of the alarm model version.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmModelVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelArn', 'alarmModelVersionSummary_alarmModelArn' - The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'alarmModelName', 'alarmModelVersionSummary_alarmModelName' - The name of the alarm model.+--+-- 'alarmModelVersion', 'alarmModelVersionSummary_alarmModelVersion' - The version of the alarm model.+--+-- 'creationTime', 'alarmModelVersionSummary_creationTime' - The time the alarm model was created, in the Unix epoch format.+--+-- 'lastUpdateTime', 'alarmModelVersionSummary_lastUpdateTime' - The time the alarm model was last updated, in the Unix epoch format.+--+-- 'roleArn', 'alarmModelVersionSummary_roleArn' - The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'status', 'alarmModelVersionSummary_status' - The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+--+-- 'statusMessage', 'alarmModelVersionSummary_statusMessage' - Contains information about the status of the alarm model version.+newAlarmModelVersionSummary ::+ AlarmModelVersionSummary+newAlarmModelVersionSummary =+ AlarmModelVersionSummary'+ { alarmModelArn =+ Prelude.Nothing,+ alarmModelName = Prelude.Nothing,+ alarmModelVersion = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+alarmModelVersionSummary_alarmModelArn :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.Text)+alarmModelVersionSummary_alarmModelArn = Lens.lens (\AlarmModelVersionSummary' {alarmModelArn} -> alarmModelArn) (\s@AlarmModelVersionSummary' {} a -> s {alarmModelArn = a} :: AlarmModelVersionSummary)++-- | The name of the alarm model.+alarmModelVersionSummary_alarmModelName :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.Text)+alarmModelVersionSummary_alarmModelName = Lens.lens (\AlarmModelVersionSummary' {alarmModelName} -> alarmModelName) (\s@AlarmModelVersionSummary' {} a -> s {alarmModelName = a} :: AlarmModelVersionSummary)++-- | The version of the alarm model.+alarmModelVersionSummary_alarmModelVersion :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.Text)+alarmModelVersionSummary_alarmModelVersion = Lens.lens (\AlarmModelVersionSummary' {alarmModelVersion} -> alarmModelVersion) (\s@AlarmModelVersionSummary' {} a -> s {alarmModelVersion = a} :: AlarmModelVersionSummary)++-- | The time the alarm model was created, in the Unix epoch format.+alarmModelVersionSummary_creationTime :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.UTCTime)+alarmModelVersionSummary_creationTime = Lens.lens (\AlarmModelVersionSummary' {creationTime} -> creationTime) (\s@AlarmModelVersionSummary' {} a -> s {creationTime = a} :: AlarmModelVersionSummary) Prelude.. Lens.mapping Data._Time++-- | The time the alarm model was last updated, in the Unix epoch format.+alarmModelVersionSummary_lastUpdateTime :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.UTCTime)+alarmModelVersionSummary_lastUpdateTime = Lens.lens (\AlarmModelVersionSummary' {lastUpdateTime} -> lastUpdateTime) (\s@AlarmModelVersionSummary' {} a -> s {lastUpdateTime = a} :: AlarmModelVersionSummary) Prelude.. Lens.mapping Data._Time++-- | The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+alarmModelVersionSummary_roleArn :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.Text)+alarmModelVersionSummary_roleArn = Lens.lens (\AlarmModelVersionSummary' {roleArn} -> roleArn) (\s@AlarmModelVersionSummary' {} a -> s {roleArn = a} :: AlarmModelVersionSummary)++-- | The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+alarmModelVersionSummary_status :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe AlarmModelVersionStatus)+alarmModelVersionSummary_status = Lens.lens (\AlarmModelVersionSummary' {status} -> status) (\s@AlarmModelVersionSummary' {} a -> s {status = a} :: AlarmModelVersionSummary)++-- | Contains information about the status of the alarm model version.+alarmModelVersionSummary_statusMessage :: Lens.Lens' AlarmModelVersionSummary (Prelude.Maybe Prelude.Text)+alarmModelVersionSummary_statusMessage = Lens.lens (\AlarmModelVersionSummary' {statusMessage} -> statusMessage) (\s@AlarmModelVersionSummary' {} a -> s {statusMessage = a} :: AlarmModelVersionSummary)++instance Data.FromJSON AlarmModelVersionSummary where+ parseJSON =+ Data.withObject+ "AlarmModelVersionSummary"+ ( \x ->+ AlarmModelVersionSummary'+ Prelude.<$> (x Data..:? "alarmModelArn")+ Prelude.<*> (x Data..:? "alarmModelName")+ Prelude.<*> (x Data..:? "alarmModelVersion")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "lastUpdateTime")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "statusMessage")+ )++instance Prelude.Hashable AlarmModelVersionSummary where+ hashWithSalt _salt AlarmModelVersionSummary' {..} =+ _salt+ `Prelude.hashWithSalt` alarmModelArn+ `Prelude.hashWithSalt` alarmModelName+ `Prelude.hashWithSalt` alarmModelVersion+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastUpdateTime+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData AlarmModelVersionSummary where+ rnf AlarmModelVersionSummary' {..} =+ Prelude.rnf alarmModelArn+ `Prelude.seq` Prelude.rnf alarmModelName+ `Prelude.seq` Prelude.rnf alarmModelVersion+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/IoTEvents/Types/AlarmNotification.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmNotification+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmNotification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.NotificationAction+import qualified Amazonka.Prelude as Prelude++-- | Contains information about one or more notification actions.+--+-- /See:/ 'newAlarmNotification' smart constructor.+data AlarmNotification = AlarmNotification'+ { -- | Contains the notification settings of an alarm model. The settings apply+ -- to all alarms that were created based on this alarm model.+ notificationActions :: Prelude.Maybe (Prelude.NonEmpty NotificationAction)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationActions', 'alarmNotification_notificationActions' - Contains the notification settings of an alarm model. The settings apply+-- to all alarms that were created based on this alarm model.+newAlarmNotification ::+ AlarmNotification+newAlarmNotification =+ AlarmNotification'+ { notificationActions =+ Prelude.Nothing+ }++-- | Contains the notification settings of an alarm model. The settings apply+-- to all alarms that were created based on this alarm model.+alarmNotification_notificationActions :: Lens.Lens' AlarmNotification (Prelude.Maybe (Prelude.NonEmpty NotificationAction))+alarmNotification_notificationActions = Lens.lens (\AlarmNotification' {notificationActions} -> notificationActions) (\s@AlarmNotification' {} a -> s {notificationActions = a} :: AlarmNotification) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AlarmNotification where+ parseJSON =+ Data.withObject+ "AlarmNotification"+ ( \x ->+ AlarmNotification'+ Prelude.<$> (x Data..:? "notificationActions")+ )++instance Prelude.Hashable AlarmNotification where+ hashWithSalt _salt AlarmNotification' {..} =+ _salt `Prelude.hashWithSalt` notificationActions++instance Prelude.NFData AlarmNotification where+ rnf AlarmNotification' {..} =+ Prelude.rnf notificationActions++instance Data.ToJSON AlarmNotification where+ toJSON AlarmNotification' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("notificationActions" Data..=)+ Prelude.<$> notificationActions+ ]+ )
+ gen/Amazonka/IoTEvents/Types/AlarmRule.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AlarmRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AlarmRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.SimpleRule+import qualified Amazonka.Prelude as Prelude++-- | Defines when your alarm is invoked.+--+-- /See:/ 'newAlarmRule' smart constructor.+data AlarmRule = AlarmRule'+ { -- | A rule that compares an input property value to a threshold value with a+ -- comparison operator.+ simpleRule :: Prelude.Maybe SimpleRule+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlarmRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simpleRule', 'alarmRule_simpleRule' - A rule that compares an input property value to a threshold value with a+-- comparison operator.+newAlarmRule ::+ AlarmRule+newAlarmRule =+ AlarmRule' {simpleRule = Prelude.Nothing}++-- | A rule that compares an input property value to a threshold value with a+-- comparison operator.+alarmRule_simpleRule :: Lens.Lens' AlarmRule (Prelude.Maybe SimpleRule)+alarmRule_simpleRule = Lens.lens (\AlarmRule' {simpleRule} -> simpleRule) (\s@AlarmRule' {} a -> s {simpleRule = a} :: AlarmRule)++instance Data.FromJSON AlarmRule where+ parseJSON =+ Data.withObject+ "AlarmRule"+ ( \x ->+ AlarmRule' Prelude.<$> (x Data..:? "simpleRule")+ )++instance Prelude.Hashable AlarmRule where+ hashWithSalt _salt AlarmRule' {..} =+ _salt `Prelude.hashWithSalt` simpleRule++instance Prelude.NFData AlarmRule where+ rnf AlarmRule' {..} = Prelude.rnf simpleRule++instance Data.ToJSON AlarmRule where+ toJSON AlarmRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [("simpleRule" Data..=) Prelude.<$> simpleRule]+ )
+ gen/Amazonka/IoTEvents/Types/AnalysisResult.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AnalysisResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AnalysisResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.AnalysisResultLevel+import Amazonka.IoTEvents.Types.AnalysisResultLocation+import qualified Amazonka.Prelude as Prelude++-- | Contains the result of the analysis.+--+-- /See:/ 'newAnalysisResult' smart constructor.+data AnalysisResult = AnalysisResult'+ { -- | The severity level of the analysis result. Based on the severity level,+ -- analysis results fall into three general categories:+ --+ -- - @INFO@ - An information result tells you about a significant field+ -- in your detector model. This type of result usually doesn\'t require+ -- immediate action.+ --+ -- - @WARNING@ - A warning result draws special attention to fields that+ -- might cause issues for your detector model. We recommend that you+ -- review warnings and take necessary actions before you use your+ -- detector model in production environments. Otherwise, the detector+ -- model might not work as expected.+ --+ -- - @ERROR@ - An error result notifies you about a problem found in your+ -- detector model. You must fix all errors before you can publish your+ -- detector model.+ level :: Prelude.Maybe AnalysisResultLevel,+ -- | Contains one or more locations that you can use to locate the fields in+ -- your detector model that the analysis result references.+ locations :: Prelude.Maybe [AnalysisResultLocation],+ -- | Contains additional information about the analysis result.+ message :: Prelude.Maybe Prelude.Text,+ -- | The type of the analysis result. Analyses fall into the following types+ -- based on the validators used to generate the analysis result:+ --+ -- - @supported-actions@ - You must specify AWS IoT Events supported+ -- actions that work with other AWS services in a supported AWS Region.+ --+ -- - @service-limits@ - Resources or API operations can\'t exceed service+ -- quotas (also known as limits). Update your detector model or request+ -- a quota increase.+ --+ -- - @structure@ - The detector model must follow a structure that AWS+ -- IoT Events supports.+ --+ -- - @expression-syntax@ - Your expression must follow the required+ -- syntax.+ --+ -- - @data-type@ - Data types referenced in the detector model must be+ -- compatible.+ --+ -- - @referenced-data@ - You must define the data referenced in your+ -- detector model before you can use the data.+ --+ -- - @referenced-resource@ - Resources that the detector model uses must+ -- be available.+ --+ -- For more information, see+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html Running detector model analyses>+ -- in the /AWS IoT Events Developer Guide/.+ type' :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'level', 'analysisResult_level' - The severity level of the analysis result. Based on the severity level,+-- analysis results fall into three general categories:+--+-- - @INFO@ - An information result tells you about a significant field+-- in your detector model. This type of result usually doesn\'t require+-- immediate action.+--+-- - @WARNING@ - A warning result draws special attention to fields that+-- might cause issues for your detector model. We recommend that you+-- review warnings and take necessary actions before you use your+-- detector model in production environments. Otherwise, the detector+-- model might not work as expected.+--+-- - @ERROR@ - An error result notifies you about a problem found in your+-- detector model. You must fix all errors before you can publish your+-- detector model.+--+-- 'locations', 'analysisResult_locations' - Contains one or more locations that you can use to locate the fields in+-- your detector model that the analysis result references.+--+-- 'message', 'analysisResult_message' - Contains additional information about the analysis result.+--+-- 'type'', 'analysisResult_type' - The type of the analysis result. Analyses fall into the following types+-- based on the validators used to generate the analysis result:+--+-- - @supported-actions@ - You must specify AWS IoT Events supported+-- actions that work with other AWS services in a supported AWS Region.+--+-- - @service-limits@ - Resources or API operations can\'t exceed service+-- quotas (also known as limits). Update your detector model or request+-- a quota increase.+--+-- - @structure@ - The detector model must follow a structure that AWS+-- IoT Events supports.+--+-- - @expression-syntax@ - Your expression must follow the required+-- syntax.+--+-- - @data-type@ - Data types referenced in the detector model must be+-- compatible.+--+-- - @referenced-data@ - You must define the data referenced in your+-- detector model before you can use the data.+--+-- - @referenced-resource@ - Resources that the detector model uses must+-- be available.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html Running detector model analyses>+-- in the /AWS IoT Events Developer Guide/.+newAnalysisResult ::+ AnalysisResult+newAnalysisResult =+ AnalysisResult'+ { level = Prelude.Nothing,+ locations = Prelude.Nothing,+ message = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The severity level of the analysis result. Based on the severity level,+-- analysis results fall into three general categories:+--+-- - @INFO@ - An information result tells you about a significant field+-- in your detector model. This type of result usually doesn\'t require+-- immediate action.+--+-- - @WARNING@ - A warning result draws special attention to fields that+-- might cause issues for your detector model. We recommend that you+-- review warnings and take necessary actions before you use your+-- detector model in production environments. Otherwise, the detector+-- model might not work as expected.+--+-- - @ERROR@ - An error result notifies you about a problem found in your+-- detector model. You must fix all errors before you can publish your+-- detector model.+analysisResult_level :: Lens.Lens' AnalysisResult (Prelude.Maybe AnalysisResultLevel)+analysisResult_level = Lens.lens (\AnalysisResult' {level} -> level) (\s@AnalysisResult' {} a -> s {level = a} :: AnalysisResult)++-- | Contains one or more locations that you can use to locate the fields in+-- your detector model that the analysis result references.+analysisResult_locations :: Lens.Lens' AnalysisResult (Prelude.Maybe [AnalysisResultLocation])+analysisResult_locations = Lens.lens (\AnalysisResult' {locations} -> locations) (\s@AnalysisResult' {} a -> s {locations = a} :: AnalysisResult) Prelude.. Lens.mapping Lens.coerced++-- | Contains additional information about the analysis result.+analysisResult_message :: Lens.Lens' AnalysisResult (Prelude.Maybe Prelude.Text)+analysisResult_message = Lens.lens (\AnalysisResult' {message} -> message) (\s@AnalysisResult' {} a -> s {message = a} :: AnalysisResult)++-- | The type of the analysis result. Analyses fall into the following types+-- based on the validators used to generate the analysis result:+--+-- - @supported-actions@ - You must specify AWS IoT Events supported+-- actions that work with other AWS services in a supported AWS Region.+--+-- - @service-limits@ - Resources or API operations can\'t exceed service+-- quotas (also known as limits). Update your detector model or request+-- a quota increase.+--+-- - @structure@ - The detector model must follow a structure that AWS+-- IoT Events supports.+--+-- - @expression-syntax@ - Your expression must follow the required+-- syntax.+--+-- - @data-type@ - Data types referenced in the detector model must be+-- compatible.+--+-- - @referenced-data@ - You must define the data referenced in your+-- detector model before you can use the data.+--+-- - @referenced-resource@ - Resources that the detector model uses must+-- be available.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html Running detector model analyses>+-- in the /AWS IoT Events Developer Guide/.+analysisResult_type :: Lens.Lens' AnalysisResult (Prelude.Maybe Prelude.Text)+analysisResult_type = Lens.lens (\AnalysisResult' {type'} -> type') (\s@AnalysisResult' {} a -> s {type' = a} :: AnalysisResult)++instance Data.FromJSON AnalysisResult where+ parseJSON =+ Data.withObject+ "AnalysisResult"+ ( \x ->+ AnalysisResult'+ Prelude.<$> (x Data..:? "level")+ Prelude.<*> (x Data..:? "locations" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "message")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable AnalysisResult where+ hashWithSalt _salt AnalysisResult' {..} =+ _salt+ `Prelude.hashWithSalt` level+ `Prelude.hashWithSalt` locations+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AnalysisResult where+ rnf AnalysisResult' {..} =+ Prelude.rnf level+ `Prelude.seq` Prelude.rnf locations+ `Prelude.seq` Prelude.rnf message+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/IoTEvents/Types/AnalysisResultLevel.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AnalysisResultLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AnalysisResultLevel+ ( AnalysisResultLevel+ ( ..,+ AnalysisResultLevel_ERROR,+ AnalysisResultLevel_INFO,+ AnalysisResultLevel_WARNING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnalysisResultLevel = AnalysisResultLevel'+ { fromAnalysisResultLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AnalysisResultLevel_ERROR :: AnalysisResultLevel+pattern AnalysisResultLevel_ERROR = AnalysisResultLevel' "ERROR"++pattern AnalysisResultLevel_INFO :: AnalysisResultLevel+pattern AnalysisResultLevel_INFO = AnalysisResultLevel' "INFO"++pattern AnalysisResultLevel_WARNING :: AnalysisResultLevel+pattern AnalysisResultLevel_WARNING = AnalysisResultLevel' "WARNING"++{-# COMPLETE+ AnalysisResultLevel_ERROR,+ AnalysisResultLevel_INFO,+ AnalysisResultLevel_WARNING,+ AnalysisResultLevel'+ #-}
+ gen/Amazonka/IoTEvents/Types/AnalysisResultLocation.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AnalysisResultLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AnalysisResultLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information that you can use to locate the field in your+-- detector model that the analysis result references.+--+-- /See:/ 'newAnalysisResultLocation' smart constructor.+data AnalysisResultLocation = AnalysisResultLocation'+ { -- | A <https://github.com/json-path/JsonPath JsonPath> expression that+ -- identifies the error field in your detector model.+ path :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalysisResultLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'path', 'analysisResultLocation_path' - A <https://github.com/json-path/JsonPath JsonPath> expression that+-- identifies the error field in your detector model.+newAnalysisResultLocation ::+ AnalysisResultLocation+newAnalysisResultLocation =+ AnalysisResultLocation' {path = Prelude.Nothing}++-- | A <https://github.com/json-path/JsonPath JsonPath> expression that+-- identifies the error field in your detector model.+analysisResultLocation_path :: Lens.Lens' AnalysisResultLocation (Prelude.Maybe Prelude.Text)+analysisResultLocation_path = Lens.lens (\AnalysisResultLocation' {path} -> path) (\s@AnalysisResultLocation' {} a -> s {path = a} :: AnalysisResultLocation)++instance Data.FromJSON AnalysisResultLocation where+ parseJSON =+ Data.withObject+ "AnalysisResultLocation"+ ( \x ->+ AnalysisResultLocation'+ Prelude.<$> (x Data..:? "path")+ )++instance Prelude.Hashable AnalysisResultLocation where+ hashWithSalt _salt AnalysisResultLocation' {..} =+ _salt `Prelude.hashWithSalt` path++instance Prelude.NFData AnalysisResultLocation where+ rnf AnalysisResultLocation' {..} = Prelude.rnf path
+ gen/Amazonka/IoTEvents/Types/AnalysisStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AnalysisStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AnalysisStatus+ ( AnalysisStatus+ ( ..,+ AnalysisStatus_COMPLETE,+ AnalysisStatus_FAILED,+ AnalysisStatus_RUNNING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnalysisStatus = AnalysisStatus'+ { fromAnalysisStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AnalysisStatus_COMPLETE :: AnalysisStatus+pattern AnalysisStatus_COMPLETE = AnalysisStatus' "COMPLETE"++pattern AnalysisStatus_FAILED :: AnalysisStatus+pattern AnalysisStatus_FAILED = AnalysisStatus' "FAILED"++pattern AnalysisStatus_RUNNING :: AnalysisStatus+pattern AnalysisStatus_RUNNING = AnalysisStatus' "RUNNING"++{-# COMPLETE+ AnalysisStatus_COMPLETE,+ AnalysisStatus_FAILED,+ AnalysisStatus_RUNNING,+ AnalysisStatus'+ #-}
+ gen/Amazonka/IoTEvents/Types/AssetPropertyTimestamp.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AssetPropertyTimestamp+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AssetPropertyTimestamp where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A structure that contains timestamp information. For more information,+-- see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html TimeInNanos>+-- in the /AWS IoT SiteWise API Reference/.+--+-- You must use expressions for all parameters in @AssetPropertyTimestamp@.+-- The expressions accept literals, operators, functions, references, and+-- substitution templates.+--+-- __Examples__+--+-- - For literal values, the expressions must contain single quotes. For+-- example, the value for the @timeInSeconds@ parameter can be+-- @\'1586400675\'@.+--+-- - For references, you must specify either variables or input values.+-- For example, the value for the @offsetInNanos@ parameter can be+-- @$variable.time@.+--+-- - For a substitution template, you must use @${}@, and the template+-- must be in single quotes. A substitution template can also contain a+-- combination of literals, operators, functions, references, and+-- substitution templates.+--+-- In the following example, the value for the @timeInSeconds@+-- parameter uses a substitution template.+--+-- @\'${$input.TemperatureInput.sensorData.timestamp \/ 1000}\'@+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html Expressions>+-- in the /AWS IoT Events Developer Guide/.+--+-- /See:/ 'newAssetPropertyTimestamp' smart constructor.+data AssetPropertyTimestamp = AssetPropertyTimestamp'+ { -- | The nanosecond offset converted from @timeInSeconds@. The valid range is+ -- between 0-999999999.+ offsetInNanos :: Prelude.Maybe Prelude.Text,+ -- | The timestamp, in seconds, in the Unix epoch format. The valid range is+ -- between 1-31556889864403199.+ timeInSeconds :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetPropertyTimestamp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offsetInNanos', 'assetPropertyTimestamp_offsetInNanos' - The nanosecond offset converted from @timeInSeconds@. The valid range is+-- between 0-999999999.+--+-- 'timeInSeconds', 'assetPropertyTimestamp_timeInSeconds' - The timestamp, in seconds, in the Unix epoch format. The valid range is+-- between 1-31556889864403199.+newAssetPropertyTimestamp ::+ -- | 'timeInSeconds'+ Prelude.Text ->+ AssetPropertyTimestamp+newAssetPropertyTimestamp pTimeInSeconds_ =+ AssetPropertyTimestamp'+ { offsetInNanos =+ Prelude.Nothing,+ timeInSeconds = pTimeInSeconds_+ }++-- | The nanosecond offset converted from @timeInSeconds@. The valid range is+-- between 0-999999999.+assetPropertyTimestamp_offsetInNanos :: Lens.Lens' AssetPropertyTimestamp (Prelude.Maybe Prelude.Text)+assetPropertyTimestamp_offsetInNanos = Lens.lens (\AssetPropertyTimestamp' {offsetInNanos} -> offsetInNanos) (\s@AssetPropertyTimestamp' {} a -> s {offsetInNanos = a} :: AssetPropertyTimestamp)++-- | The timestamp, in seconds, in the Unix epoch format. The valid range is+-- between 1-31556889864403199.+assetPropertyTimestamp_timeInSeconds :: Lens.Lens' AssetPropertyTimestamp Prelude.Text+assetPropertyTimestamp_timeInSeconds = Lens.lens (\AssetPropertyTimestamp' {timeInSeconds} -> timeInSeconds) (\s@AssetPropertyTimestamp' {} a -> s {timeInSeconds = a} :: AssetPropertyTimestamp)++instance Data.FromJSON AssetPropertyTimestamp where+ parseJSON =+ Data.withObject+ "AssetPropertyTimestamp"+ ( \x ->+ AssetPropertyTimestamp'+ Prelude.<$> (x Data..:? "offsetInNanos")+ Prelude.<*> (x Data..: "timeInSeconds")+ )++instance Prelude.Hashable AssetPropertyTimestamp where+ hashWithSalt _salt AssetPropertyTimestamp' {..} =+ _salt+ `Prelude.hashWithSalt` offsetInNanos+ `Prelude.hashWithSalt` timeInSeconds++instance Prelude.NFData AssetPropertyTimestamp where+ rnf AssetPropertyTimestamp' {..} =+ Prelude.rnf offsetInNanos+ `Prelude.seq` Prelude.rnf timeInSeconds++instance Data.ToJSON AssetPropertyTimestamp where+ toJSON AssetPropertyTimestamp' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("offsetInNanos" Data..=) Prelude.<$> offsetInNanos,+ Prelude.Just+ ("timeInSeconds" Data..= timeInSeconds)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/AssetPropertyValue.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AssetPropertyValue+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AssetPropertyValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.AssetPropertyTimestamp+import Amazonka.IoTEvents.Types.AssetPropertyVariant+import qualified Amazonka.Prelude as Prelude++-- | A structure that contains value information. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html AssetPropertyValue>+-- in the /AWS IoT SiteWise API Reference/.+--+-- You must use expressions for all parameters in @AssetPropertyValue@. The+-- expressions accept literals, operators, functions, references, and+-- substitution templates.+--+-- __Examples__+--+-- - For literal values, the expressions must contain single quotes. For+-- example, the value for the @quality@ parameter can be @\'GOOD\'@.+--+-- - For references, you must specify either variables or input values.+-- For example, the value for the @quality@ parameter can be+-- @$input.TemperatureInput.sensorData.quality@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html Expressions>+-- in the /AWS IoT Events Developer Guide/.+--+-- /See:/ 'newAssetPropertyValue' smart constructor.+data AssetPropertyValue = AssetPropertyValue'+ { -- | The quality of the asset property value. The value must be @\'GOOD\'@,+ -- @\'BAD\'@, or @\'UNCERTAIN\'@.+ quality :: Prelude.Maybe Prelude.Text,+ -- | The timestamp associated with the asset property value. The default is+ -- the current event time.+ timestamp :: Prelude.Maybe AssetPropertyTimestamp,+ -- | The value to send to an asset property.+ value :: Prelude.Maybe AssetPropertyVariant+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetPropertyValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'quality', 'assetPropertyValue_quality' - The quality of the asset property value. The value must be @\'GOOD\'@,+-- @\'BAD\'@, or @\'UNCERTAIN\'@.+--+-- 'timestamp', 'assetPropertyValue_timestamp' - The timestamp associated with the asset property value. The default is+-- the current event time.+--+-- 'value', 'assetPropertyValue_value' - The value to send to an asset property.+newAssetPropertyValue ::+ AssetPropertyValue+newAssetPropertyValue =+ AssetPropertyValue'+ { quality = Prelude.Nothing,+ timestamp = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The quality of the asset property value. The value must be @\'GOOD\'@,+-- @\'BAD\'@, or @\'UNCERTAIN\'@.+assetPropertyValue_quality :: Lens.Lens' AssetPropertyValue (Prelude.Maybe Prelude.Text)+assetPropertyValue_quality = Lens.lens (\AssetPropertyValue' {quality} -> quality) (\s@AssetPropertyValue' {} a -> s {quality = a} :: AssetPropertyValue)++-- | The timestamp associated with the asset property value. The default is+-- the current event time.+assetPropertyValue_timestamp :: Lens.Lens' AssetPropertyValue (Prelude.Maybe AssetPropertyTimestamp)+assetPropertyValue_timestamp = Lens.lens (\AssetPropertyValue' {timestamp} -> timestamp) (\s@AssetPropertyValue' {} a -> s {timestamp = a} :: AssetPropertyValue)++-- | The value to send to an asset property.+assetPropertyValue_value :: Lens.Lens' AssetPropertyValue (Prelude.Maybe AssetPropertyVariant)+assetPropertyValue_value = Lens.lens (\AssetPropertyValue' {value} -> value) (\s@AssetPropertyValue' {} a -> s {value = a} :: AssetPropertyValue)++instance Data.FromJSON AssetPropertyValue where+ parseJSON =+ Data.withObject+ "AssetPropertyValue"+ ( \x ->+ AssetPropertyValue'+ Prelude.<$> (x Data..:? "quality")+ Prelude.<*> (x Data..:? "timestamp")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable AssetPropertyValue where+ hashWithSalt _salt AssetPropertyValue' {..} =+ _salt+ `Prelude.hashWithSalt` quality+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` value++instance Prelude.NFData AssetPropertyValue where+ rnf AssetPropertyValue' {..} =+ Prelude.rnf quality+ `Prelude.seq` Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf value++instance Data.ToJSON AssetPropertyValue where+ toJSON AssetPropertyValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("quality" Data..=) Prelude.<$> quality,+ ("timestamp" Data..=) Prelude.<$> timestamp,+ ("value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/IoTEvents/Types/AssetPropertyVariant.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.AssetPropertyVariant+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.AssetPropertyVariant where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A structure that contains an asset property value. For more information,+-- see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html Variant>+-- in the /AWS IoT SiteWise API Reference/.+--+-- You must use expressions for all parameters in @AssetPropertyVariant@.+-- The expressions accept literals, operators, functions, references, and+-- substitution templates.+--+-- __Examples__+--+-- - For literal values, the expressions must contain single quotes. For+-- example, the value for the @integerValue@ parameter can be+-- @\'100\'@.+--+-- - For references, you must specify either variables or parameters. For+-- example, the value for the @booleanValue@ parameter can be+-- @$variable.offline@.+--+-- - For a substitution template, you must use @${}@, and the template+-- must be in single quotes. A substitution template can also contain a+-- combination of literals, operators, functions, references, and+-- substitution templates.+--+-- In the following example, the value for the @doubleValue@ parameter+-- uses a substitution template.+--+-- @\'${$input.TemperatureInput.sensorData.temperature * 6 \/ 5 + 32}\'@+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html Expressions>+-- in the /AWS IoT Events Developer Guide/.+--+-- You must specify one of the following value types, depending on the+-- @dataType@ of the specified asset property. For more information, see+-- <https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html AssetProperty>+-- in the /AWS IoT SiteWise API Reference/.+--+-- /See:/ 'newAssetPropertyVariant' smart constructor.+data AssetPropertyVariant = AssetPropertyVariant'+ { -- | The asset property value is a Boolean value that must be @\'TRUE\'@ or+ -- @\'FALSE\'@. You must use an expression, and the evaluated result should+ -- be a Boolean value.+ booleanValue :: Prelude.Maybe Prelude.Text,+ -- | The asset property value is a double. You must use an expression, and+ -- the evaluated result should be a double.+ doubleValue :: Prelude.Maybe Prelude.Text,+ -- | The asset property value is an integer. You must use an expression, and+ -- the evaluated result should be an integer.+ integerValue :: Prelude.Maybe Prelude.Text,+ -- | The asset property value is a string. You must use an expression, and+ -- the evaluated result should be a string.+ stringValue :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetPropertyVariant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'booleanValue', 'assetPropertyVariant_booleanValue' - The asset property value is a Boolean value that must be @\'TRUE\'@ or+-- @\'FALSE\'@. You must use an expression, and the evaluated result should+-- be a Boolean value.+--+-- 'doubleValue', 'assetPropertyVariant_doubleValue' - The asset property value is a double. You must use an expression, and+-- the evaluated result should be a double.+--+-- 'integerValue', 'assetPropertyVariant_integerValue' - The asset property value is an integer. You must use an expression, and+-- the evaluated result should be an integer.+--+-- 'stringValue', 'assetPropertyVariant_stringValue' - The asset property value is a string. You must use an expression, and+-- the evaluated result should be a string.+newAssetPropertyVariant ::+ AssetPropertyVariant+newAssetPropertyVariant =+ AssetPropertyVariant'+ { booleanValue =+ Prelude.Nothing,+ doubleValue = Prelude.Nothing,+ integerValue = Prelude.Nothing,+ stringValue = Prelude.Nothing+ }++-- | The asset property value is a Boolean value that must be @\'TRUE\'@ or+-- @\'FALSE\'@. You must use an expression, and the evaluated result should+-- be a Boolean value.+assetPropertyVariant_booleanValue :: Lens.Lens' AssetPropertyVariant (Prelude.Maybe Prelude.Text)+assetPropertyVariant_booleanValue = Lens.lens (\AssetPropertyVariant' {booleanValue} -> booleanValue) (\s@AssetPropertyVariant' {} a -> s {booleanValue = a} :: AssetPropertyVariant)++-- | The asset property value is a double. You must use an expression, and+-- the evaluated result should be a double.+assetPropertyVariant_doubleValue :: Lens.Lens' AssetPropertyVariant (Prelude.Maybe Prelude.Text)+assetPropertyVariant_doubleValue = Lens.lens (\AssetPropertyVariant' {doubleValue} -> doubleValue) (\s@AssetPropertyVariant' {} a -> s {doubleValue = a} :: AssetPropertyVariant)++-- | The asset property value is an integer. You must use an expression, and+-- the evaluated result should be an integer.+assetPropertyVariant_integerValue :: Lens.Lens' AssetPropertyVariant (Prelude.Maybe Prelude.Text)+assetPropertyVariant_integerValue = Lens.lens (\AssetPropertyVariant' {integerValue} -> integerValue) (\s@AssetPropertyVariant' {} a -> s {integerValue = a} :: AssetPropertyVariant)++-- | The asset property value is a string. You must use an expression, and+-- the evaluated result should be a string.+assetPropertyVariant_stringValue :: Lens.Lens' AssetPropertyVariant (Prelude.Maybe Prelude.Text)+assetPropertyVariant_stringValue = Lens.lens (\AssetPropertyVariant' {stringValue} -> stringValue) (\s@AssetPropertyVariant' {} a -> s {stringValue = a} :: AssetPropertyVariant)++instance Data.FromJSON AssetPropertyVariant where+ parseJSON =+ Data.withObject+ "AssetPropertyVariant"+ ( \x ->+ AssetPropertyVariant'+ Prelude.<$> (x Data..:? "booleanValue")+ Prelude.<*> (x Data..:? "doubleValue")+ Prelude.<*> (x Data..:? "integerValue")+ Prelude.<*> (x Data..:? "stringValue")+ )++instance Prelude.Hashable AssetPropertyVariant where+ hashWithSalt _salt AssetPropertyVariant' {..} =+ _salt+ `Prelude.hashWithSalt` booleanValue+ `Prelude.hashWithSalt` doubleValue+ `Prelude.hashWithSalt` integerValue+ `Prelude.hashWithSalt` stringValue++instance Prelude.NFData AssetPropertyVariant where+ rnf AssetPropertyVariant' {..} =+ Prelude.rnf booleanValue+ `Prelude.seq` Prelude.rnf doubleValue+ `Prelude.seq` Prelude.rnf integerValue+ `Prelude.seq` Prelude.rnf stringValue++instance Data.ToJSON AssetPropertyVariant where+ toJSON AssetPropertyVariant' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("booleanValue" Data..=) Prelude.<$> booleanValue,+ ("doubleValue" Data..=) Prelude.<$> doubleValue,+ ("integerValue" Data..=) Prelude.<$> integerValue,+ ("stringValue" Data..=) Prelude.<$> stringValue+ ]+ )
+ gen/Amazonka/IoTEvents/Types/Attribute.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.Attribute+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.Attribute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The attributes from the JSON payload that are made available by the+-- input. Inputs are derived from messages sent to the AWS IoT Events+-- system using @BatchPutMessage@. Each such message contains a JSON+-- payload. Those attributes (and their paired values) specified here are+-- available for use in the @condition@ expressions used by detectors.+--+-- /See:/ 'newAttribute' smart constructor.+data Attribute = Attribute'+ { -- | An expression that specifies an attribute-value pair in a JSON+ -- structure. Use this to specify an attribute from the JSON payload that+ -- is made available by the input. Inputs are derived from messages sent to+ -- AWS IoT Events (@BatchPutMessage@). Each such message contains a JSON+ -- payload. The attribute (and its paired value) specified here are+ -- available for use in the @condition@ expressions used by detectors.+ --+ -- Syntax: @\<field-name>.\<field-name>...@+ jsonPath :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Attribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jsonPath', 'attribute_jsonPath' - An expression that specifies an attribute-value pair in a JSON+-- structure. Use this to specify an attribute from the JSON payload that+-- is made available by the input. Inputs are derived from messages sent to+-- AWS IoT Events (@BatchPutMessage@). Each such message contains a JSON+-- payload. The attribute (and its paired value) specified here are+-- available for use in the @condition@ expressions used by detectors.+--+-- Syntax: @\<field-name>.\<field-name>...@+newAttribute ::+ -- | 'jsonPath'+ Prelude.Text ->+ Attribute+newAttribute pJsonPath_ =+ Attribute' {jsonPath = pJsonPath_}++-- | An expression that specifies an attribute-value pair in a JSON+-- structure. Use this to specify an attribute from the JSON payload that+-- is made available by the input. Inputs are derived from messages sent to+-- AWS IoT Events (@BatchPutMessage@). Each such message contains a JSON+-- payload. The attribute (and its paired value) specified here are+-- available for use in the @condition@ expressions used by detectors.+--+-- Syntax: @\<field-name>.\<field-name>...@+attribute_jsonPath :: Lens.Lens' Attribute Prelude.Text+attribute_jsonPath = Lens.lens (\Attribute' {jsonPath} -> jsonPath) (\s@Attribute' {} a -> s {jsonPath = a} :: Attribute)++instance Data.FromJSON Attribute where+ parseJSON =+ Data.withObject+ "Attribute"+ ( \x ->+ Attribute' Prelude.<$> (x Data..: "jsonPath")+ )++instance Prelude.Hashable Attribute where+ hashWithSalt _salt Attribute' {..} =+ _salt `Prelude.hashWithSalt` jsonPath++instance Prelude.NFData Attribute where+ rnf Attribute' {..} = Prelude.rnf jsonPath++instance Data.ToJSON Attribute where+ toJSON Attribute' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("jsonPath" Data..= jsonPath)]+ )
+ gen/Amazonka/IoTEvents/Types/ClearTimerAction.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.ClearTimerAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.ClearTimerAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information needed to clear the timer.+--+-- /See:/ 'newClearTimerAction' smart constructor.+data ClearTimerAction = ClearTimerAction'+ { -- | The name of the timer to clear.+ timerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClearTimerAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timerName', 'clearTimerAction_timerName' - The name of the timer to clear.+newClearTimerAction ::+ -- | 'timerName'+ Prelude.Text ->+ ClearTimerAction+newClearTimerAction pTimerName_ =+ ClearTimerAction' {timerName = pTimerName_}++-- | The name of the timer to clear.+clearTimerAction_timerName :: Lens.Lens' ClearTimerAction Prelude.Text+clearTimerAction_timerName = Lens.lens (\ClearTimerAction' {timerName} -> timerName) (\s@ClearTimerAction' {} a -> s {timerName = a} :: ClearTimerAction)++instance Data.FromJSON ClearTimerAction where+ parseJSON =+ Data.withObject+ "ClearTimerAction"+ ( \x ->+ ClearTimerAction'+ Prelude.<$> (x Data..: "timerName")+ )++instance Prelude.Hashable ClearTimerAction where+ hashWithSalt _salt ClearTimerAction' {..} =+ _salt `Prelude.hashWithSalt` timerName++instance Prelude.NFData ClearTimerAction where+ rnf ClearTimerAction' {..} = Prelude.rnf timerName++instance Data.ToJSON ClearTimerAction where+ toJSON ClearTimerAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("timerName" Data..= timerName)]+ )
+ gen/Amazonka/IoTEvents/Types/ComparisonOperator.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.ComparisonOperator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.ComparisonOperator+ ( ComparisonOperator+ ( ..,+ ComparisonOperator_EQUAL,+ ComparisonOperator_GREATER,+ ComparisonOperator_GREATER_OR_EQUAL,+ ComparisonOperator_LESS,+ ComparisonOperator_LESS_OR_EQUAL,+ ComparisonOperator_NOT_EQUAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ComparisonOperator = ComparisonOperator'+ { fromComparisonOperator ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern ComparisonOperator_EQUAL :: ComparisonOperator+pattern ComparisonOperator_EQUAL = ComparisonOperator' "EQUAL"++pattern ComparisonOperator_GREATER :: ComparisonOperator+pattern ComparisonOperator_GREATER = ComparisonOperator' "GREATER"++pattern ComparisonOperator_GREATER_OR_EQUAL :: ComparisonOperator+pattern ComparisonOperator_GREATER_OR_EQUAL = ComparisonOperator' "GREATER_OR_EQUAL"++pattern ComparisonOperator_LESS :: ComparisonOperator+pattern ComparisonOperator_LESS = ComparisonOperator' "LESS"++pattern ComparisonOperator_LESS_OR_EQUAL :: ComparisonOperator+pattern ComparisonOperator_LESS_OR_EQUAL = ComparisonOperator' "LESS_OR_EQUAL"++pattern ComparisonOperator_NOT_EQUAL :: ComparisonOperator+pattern ComparisonOperator_NOT_EQUAL = ComparisonOperator' "NOT_EQUAL"++{-# COMPLETE+ ComparisonOperator_EQUAL,+ ComparisonOperator_GREATER,+ ComparisonOperator_GREATER_OR_EQUAL,+ ComparisonOperator_LESS,+ ComparisonOperator_LESS_OR_EQUAL,+ ComparisonOperator_NOT_EQUAL,+ ComparisonOperator'+ #-}
+ gen/Amazonka/IoTEvents/Types/DetectorDebugOption.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorDebugOption+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorDebugOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The detector model and the specific detectors (instances) for which the+-- logging level is given.+--+-- /See:/ 'newDetectorDebugOption' smart constructor.+data DetectorDebugOption = DetectorDebugOption'+ { -- | The value of the input attribute key used to create the detector (the+ -- instance of the detector model).+ keyValue :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector model.+ detectorModelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectorDebugOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'keyValue', 'detectorDebugOption_keyValue' - The value of the input attribute key used to create the detector (the+-- instance of the detector model).+--+-- 'detectorModelName', 'detectorDebugOption_detectorModelName' - The name of the detector model.+newDetectorDebugOption ::+ -- | 'detectorModelName'+ Prelude.Text ->+ DetectorDebugOption+newDetectorDebugOption pDetectorModelName_ =+ DetectorDebugOption'+ { keyValue = Prelude.Nothing,+ detectorModelName = pDetectorModelName_+ }++-- | The value of the input attribute key used to create the detector (the+-- instance of the detector model).+detectorDebugOption_keyValue :: Lens.Lens' DetectorDebugOption (Prelude.Maybe Prelude.Text)+detectorDebugOption_keyValue = Lens.lens (\DetectorDebugOption' {keyValue} -> keyValue) (\s@DetectorDebugOption' {} a -> s {keyValue = a} :: DetectorDebugOption)++-- | The name of the detector model.+detectorDebugOption_detectorModelName :: Lens.Lens' DetectorDebugOption Prelude.Text+detectorDebugOption_detectorModelName = Lens.lens (\DetectorDebugOption' {detectorModelName} -> detectorModelName) (\s@DetectorDebugOption' {} a -> s {detectorModelName = a} :: DetectorDebugOption)++instance Data.FromJSON DetectorDebugOption where+ parseJSON =+ Data.withObject+ "DetectorDebugOption"+ ( \x ->+ DetectorDebugOption'+ Prelude.<$> (x Data..:? "keyValue")+ Prelude.<*> (x Data..: "detectorModelName")+ )++instance Prelude.Hashable DetectorDebugOption where+ hashWithSalt _salt DetectorDebugOption' {..} =+ _salt+ `Prelude.hashWithSalt` keyValue+ `Prelude.hashWithSalt` detectorModelName++instance Prelude.NFData DetectorDebugOption where+ rnf DetectorDebugOption' {..} =+ Prelude.rnf keyValue+ `Prelude.seq` Prelude.rnf detectorModelName++instance Data.ToJSON DetectorDebugOption where+ toJSON DetectorDebugOption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("keyValue" Data..=) Prelude.<$> keyValue,+ Prelude.Just+ ("detectorModelName" Data..= detectorModelName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/DetectorModel.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorModel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.DetectorModelConfiguration+import Amazonka.IoTEvents.Types.DetectorModelDefinition+import qualified Amazonka.Prelude as Prelude++-- | Information about the detector model.+--+-- /See:/ 'newDetectorModel' smart constructor.+data DetectorModel = DetectorModel'+ { -- | Information about how the detector is configured.+ detectorModelConfiguration :: Prelude.Maybe DetectorModelConfiguration,+ -- | Information that defines how a detector operates.+ detectorModelDefinition :: Prelude.Maybe DetectorModelDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectorModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelConfiguration', 'detectorModel_detectorModelConfiguration' - Information about how the detector is configured.+--+-- 'detectorModelDefinition', 'detectorModel_detectorModelDefinition' - Information that defines how a detector operates.+newDetectorModel ::+ DetectorModel+newDetectorModel =+ DetectorModel'+ { detectorModelConfiguration =+ Prelude.Nothing,+ detectorModelDefinition = Prelude.Nothing+ }++-- | Information about how the detector is configured.+detectorModel_detectorModelConfiguration :: Lens.Lens' DetectorModel (Prelude.Maybe DetectorModelConfiguration)+detectorModel_detectorModelConfiguration = Lens.lens (\DetectorModel' {detectorModelConfiguration} -> detectorModelConfiguration) (\s@DetectorModel' {} a -> s {detectorModelConfiguration = a} :: DetectorModel)++-- | Information that defines how a detector operates.+detectorModel_detectorModelDefinition :: Lens.Lens' DetectorModel (Prelude.Maybe DetectorModelDefinition)+detectorModel_detectorModelDefinition = Lens.lens (\DetectorModel' {detectorModelDefinition} -> detectorModelDefinition) (\s@DetectorModel' {} a -> s {detectorModelDefinition = a} :: DetectorModel)++instance Data.FromJSON DetectorModel where+ parseJSON =+ Data.withObject+ "DetectorModel"+ ( \x ->+ DetectorModel'+ Prelude.<$> (x Data..:? "detectorModelConfiguration")+ Prelude.<*> (x Data..:? "detectorModelDefinition")+ )++instance Prelude.Hashable DetectorModel where+ hashWithSalt _salt DetectorModel' {..} =+ _salt+ `Prelude.hashWithSalt` detectorModelConfiguration+ `Prelude.hashWithSalt` detectorModelDefinition++instance Prelude.NFData DetectorModel where+ rnf DetectorModel' {..} =+ Prelude.rnf detectorModelConfiguration+ `Prelude.seq` Prelude.rnf detectorModelDefinition
+ gen/Amazonka/IoTEvents/Types/DetectorModelConfiguration.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorModelConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorModelConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.DetectorModelVersionStatus+import Amazonka.IoTEvents.Types.EvaluationMethod+import qualified Amazonka.Prelude as Prelude++-- | Information about how the detector model is configured.+--+-- /See:/ 'newDetectorModelConfiguration' smart constructor.+data DetectorModelConfiguration = DetectorModelConfiguration'+ { -- | The time the detector model was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the detector model.+ detectorModelArn :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the detector model.+ detectorModelDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector model.+ detectorModelName :: Prelude.Maybe Prelude.Text,+ -- | The version of the detector model.+ detectorModelVersion :: Prelude.Maybe Prelude.Text,+ -- | Information about the order in which events are evaluated and how+ -- actions are executed.+ evaluationMethod :: Prelude.Maybe EvaluationMethod,+ -- | The value used to identify a detector instance. When a device or system+ -- sends input, a new detector instance with a unique key value is created.+ -- AWS IoT Events can continue to route input to its corresponding detector+ -- instance based on this identifying information.+ --+ -- This parameter uses a JSON-path expression to select the attribute-value+ -- pair in the message payload that is used for identification. To route+ -- the message to the correct detector instance, the device must send a+ -- message payload that contains the same attribute-value.+ key :: Prelude.Maybe Prelude.Text,+ -- | The time the detector model was last updated.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the role that grants permission to AWS IoT Events to perform+ -- its operations.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The status of the detector model.+ status :: Prelude.Maybe DetectorModelVersionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectorModelConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'detectorModelConfiguration_creationTime' - The time the detector model was created.+--+-- 'detectorModelArn', 'detectorModelConfiguration_detectorModelArn' - The ARN of the detector model.+--+-- 'detectorModelDescription', 'detectorModelConfiguration_detectorModelDescription' - A brief description of the detector model.+--+-- 'detectorModelName', 'detectorModelConfiguration_detectorModelName' - The name of the detector model.+--+-- 'detectorModelVersion', 'detectorModelConfiguration_detectorModelVersion' - The version of the detector model.+--+-- 'evaluationMethod', 'detectorModelConfiguration_evaluationMethod' - Information about the order in which events are evaluated and how+-- actions are executed.+--+-- 'key', 'detectorModelConfiguration_key' - The value used to identify a detector instance. When a device or system+-- sends input, a new detector instance with a unique key value is created.+-- AWS IoT Events can continue to route input to its corresponding detector+-- instance based on this identifying information.+--+-- This parameter uses a JSON-path expression to select the attribute-value+-- pair in the message payload that is used for identification. To route+-- the message to the correct detector instance, the device must send a+-- message payload that contains the same attribute-value.+--+-- 'lastUpdateTime', 'detectorModelConfiguration_lastUpdateTime' - The time the detector model was last updated.+--+-- 'roleArn', 'detectorModelConfiguration_roleArn' - The ARN of the role that grants permission to AWS IoT Events to perform+-- its operations.+--+-- 'status', 'detectorModelConfiguration_status' - The status of the detector model.+newDetectorModelConfiguration ::+ DetectorModelConfiguration+newDetectorModelConfiguration =+ DetectorModelConfiguration'+ { creationTime =+ Prelude.Nothing,+ detectorModelArn = Prelude.Nothing,+ detectorModelDescription = Prelude.Nothing,+ detectorModelName = Prelude.Nothing,+ detectorModelVersion = Prelude.Nothing,+ evaluationMethod = Prelude.Nothing,+ key = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The time the detector model was created.+detectorModelConfiguration_creationTime :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.UTCTime)+detectorModelConfiguration_creationTime = Lens.lens (\DetectorModelConfiguration' {creationTime} -> creationTime) (\s@DetectorModelConfiguration' {} a -> s {creationTime = a} :: DetectorModelConfiguration) Prelude.. Lens.mapping Data._Time++-- | The ARN of the detector model.+detectorModelConfiguration_detectorModelArn :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.Text)+detectorModelConfiguration_detectorModelArn = Lens.lens (\DetectorModelConfiguration' {detectorModelArn} -> detectorModelArn) (\s@DetectorModelConfiguration' {} a -> s {detectorModelArn = a} :: DetectorModelConfiguration)++-- | A brief description of the detector model.+detectorModelConfiguration_detectorModelDescription :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.Text)+detectorModelConfiguration_detectorModelDescription = Lens.lens (\DetectorModelConfiguration' {detectorModelDescription} -> detectorModelDescription) (\s@DetectorModelConfiguration' {} a -> s {detectorModelDescription = a} :: DetectorModelConfiguration)++-- | The name of the detector model.+detectorModelConfiguration_detectorModelName :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.Text)+detectorModelConfiguration_detectorModelName = Lens.lens (\DetectorModelConfiguration' {detectorModelName} -> detectorModelName) (\s@DetectorModelConfiguration' {} a -> s {detectorModelName = a} :: DetectorModelConfiguration)++-- | The version of the detector model.+detectorModelConfiguration_detectorModelVersion :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.Text)+detectorModelConfiguration_detectorModelVersion = Lens.lens (\DetectorModelConfiguration' {detectorModelVersion} -> detectorModelVersion) (\s@DetectorModelConfiguration' {} a -> s {detectorModelVersion = a} :: DetectorModelConfiguration)++-- | Information about the order in which events are evaluated and how+-- actions are executed.+detectorModelConfiguration_evaluationMethod :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe EvaluationMethod)+detectorModelConfiguration_evaluationMethod = Lens.lens (\DetectorModelConfiguration' {evaluationMethod} -> evaluationMethod) (\s@DetectorModelConfiguration' {} a -> s {evaluationMethod = a} :: DetectorModelConfiguration)++-- | The value used to identify a detector instance. When a device or system+-- sends input, a new detector instance with a unique key value is created.+-- AWS IoT Events can continue to route input to its corresponding detector+-- instance based on this identifying information.+--+-- This parameter uses a JSON-path expression to select the attribute-value+-- pair in the message payload that is used for identification. To route+-- the message to the correct detector instance, the device must send a+-- message payload that contains the same attribute-value.+detectorModelConfiguration_key :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.Text)+detectorModelConfiguration_key = Lens.lens (\DetectorModelConfiguration' {key} -> key) (\s@DetectorModelConfiguration' {} a -> s {key = a} :: DetectorModelConfiguration)++-- | The time the detector model was last updated.+detectorModelConfiguration_lastUpdateTime :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.UTCTime)+detectorModelConfiguration_lastUpdateTime = Lens.lens (\DetectorModelConfiguration' {lastUpdateTime} -> lastUpdateTime) (\s@DetectorModelConfiguration' {} a -> s {lastUpdateTime = a} :: DetectorModelConfiguration) Prelude.. Lens.mapping Data._Time++-- | The ARN of the role that grants permission to AWS IoT Events to perform+-- its operations.+detectorModelConfiguration_roleArn :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe Prelude.Text)+detectorModelConfiguration_roleArn = Lens.lens (\DetectorModelConfiguration' {roleArn} -> roleArn) (\s@DetectorModelConfiguration' {} a -> s {roleArn = a} :: DetectorModelConfiguration)++-- | The status of the detector model.+detectorModelConfiguration_status :: Lens.Lens' DetectorModelConfiguration (Prelude.Maybe DetectorModelVersionStatus)+detectorModelConfiguration_status = Lens.lens (\DetectorModelConfiguration' {status} -> status) (\s@DetectorModelConfiguration' {} a -> s {status = a} :: DetectorModelConfiguration)++instance Data.FromJSON DetectorModelConfiguration where+ parseJSON =+ Data.withObject+ "DetectorModelConfiguration"+ ( \x ->+ DetectorModelConfiguration'+ Prelude.<$> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "detectorModelArn")+ Prelude.<*> (x Data..:? "detectorModelDescription")+ Prelude.<*> (x Data..:? "detectorModelName")+ Prelude.<*> (x Data..:? "detectorModelVersion")+ Prelude.<*> (x Data..:? "evaluationMethod")+ Prelude.<*> (x Data..:? "key")+ Prelude.<*> (x Data..:? "lastUpdateTime")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable DetectorModelConfiguration where+ hashWithSalt _salt DetectorModelConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` detectorModelArn+ `Prelude.hashWithSalt` detectorModelDescription+ `Prelude.hashWithSalt` detectorModelName+ `Prelude.hashWithSalt` detectorModelVersion+ `Prelude.hashWithSalt` evaluationMethod+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` lastUpdateTime+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` status++instance Prelude.NFData DetectorModelConfiguration where+ rnf DetectorModelConfiguration' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf detectorModelArn+ `Prelude.seq` Prelude.rnf detectorModelDescription+ `Prelude.seq` Prelude.rnf detectorModelName+ `Prelude.seq` Prelude.rnf detectorModelVersion+ `Prelude.seq` Prelude.rnf evaluationMethod+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTEvents/Types/DetectorModelDefinition.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorModelDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorModelDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.State+import qualified Amazonka.Prelude as Prelude++-- | Information that defines how a detector operates.+--+-- /See:/ 'newDetectorModelDefinition' smart constructor.+data DetectorModelDefinition = DetectorModelDefinition'+ { -- | Information about the states of the detector.+ states :: Prelude.NonEmpty State,+ -- | The state that is entered at the creation of each detector (instance).+ initialStateName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectorModelDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'states', 'detectorModelDefinition_states' - Information about the states of the detector.+--+-- 'initialStateName', 'detectorModelDefinition_initialStateName' - The state that is entered at the creation of each detector (instance).+newDetectorModelDefinition ::+ -- | 'states'+ Prelude.NonEmpty State ->+ -- | 'initialStateName'+ Prelude.Text ->+ DetectorModelDefinition+newDetectorModelDefinition+ pStates_+ pInitialStateName_ =+ DetectorModelDefinition'+ { states =+ Lens.coerced Lens.# pStates_,+ initialStateName = pInitialStateName_+ }++-- | Information about the states of the detector.+detectorModelDefinition_states :: Lens.Lens' DetectorModelDefinition (Prelude.NonEmpty State)+detectorModelDefinition_states = Lens.lens (\DetectorModelDefinition' {states} -> states) (\s@DetectorModelDefinition' {} a -> s {states = a} :: DetectorModelDefinition) Prelude.. Lens.coerced++-- | The state that is entered at the creation of each detector (instance).+detectorModelDefinition_initialStateName :: Lens.Lens' DetectorModelDefinition Prelude.Text+detectorModelDefinition_initialStateName = Lens.lens (\DetectorModelDefinition' {initialStateName} -> initialStateName) (\s@DetectorModelDefinition' {} a -> s {initialStateName = a} :: DetectorModelDefinition)++instance Data.FromJSON DetectorModelDefinition where+ parseJSON =+ Data.withObject+ "DetectorModelDefinition"+ ( \x ->+ DetectorModelDefinition'+ Prelude.<$> (x Data..: "states")+ Prelude.<*> (x Data..: "initialStateName")+ )++instance Prelude.Hashable DetectorModelDefinition where+ hashWithSalt _salt DetectorModelDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` states+ `Prelude.hashWithSalt` initialStateName++instance Prelude.NFData DetectorModelDefinition where+ rnf DetectorModelDefinition' {..} =+ Prelude.rnf states+ `Prelude.seq` Prelude.rnf initialStateName++instance Data.ToJSON DetectorModelDefinition where+ toJSON DetectorModelDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("states" Data..= states),+ Prelude.Just+ ("initialStateName" Data..= initialStateName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/DetectorModelSummary.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorModelSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorModelSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the detector model.+--+-- /See:/ 'newDetectorModelSummary' smart constructor.+data DetectorModelSummary = DetectorModelSummary'+ { -- | The time the detector model was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | A brief description of the detector model.+ detectorModelDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector model.+ detectorModelName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectorModelSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'detectorModelSummary_creationTime' - The time the detector model was created.+--+-- 'detectorModelDescription', 'detectorModelSummary_detectorModelDescription' - A brief description of the detector model.+--+-- 'detectorModelName', 'detectorModelSummary_detectorModelName' - The name of the detector model.+newDetectorModelSummary ::+ DetectorModelSummary+newDetectorModelSummary =+ DetectorModelSummary'+ { creationTime =+ Prelude.Nothing,+ detectorModelDescription = Prelude.Nothing,+ detectorModelName = Prelude.Nothing+ }++-- | The time the detector model was created.+detectorModelSummary_creationTime :: Lens.Lens' DetectorModelSummary (Prelude.Maybe Prelude.UTCTime)+detectorModelSummary_creationTime = Lens.lens (\DetectorModelSummary' {creationTime} -> creationTime) (\s@DetectorModelSummary' {} a -> s {creationTime = a} :: DetectorModelSummary) Prelude.. Lens.mapping Data._Time++-- | A brief description of the detector model.+detectorModelSummary_detectorModelDescription :: Lens.Lens' DetectorModelSummary (Prelude.Maybe Prelude.Text)+detectorModelSummary_detectorModelDescription = Lens.lens (\DetectorModelSummary' {detectorModelDescription} -> detectorModelDescription) (\s@DetectorModelSummary' {} a -> s {detectorModelDescription = a} :: DetectorModelSummary)++-- | The name of the detector model.+detectorModelSummary_detectorModelName :: Lens.Lens' DetectorModelSummary (Prelude.Maybe Prelude.Text)+detectorModelSummary_detectorModelName = Lens.lens (\DetectorModelSummary' {detectorModelName} -> detectorModelName) (\s@DetectorModelSummary' {} a -> s {detectorModelName = a} :: DetectorModelSummary)++instance Data.FromJSON DetectorModelSummary where+ parseJSON =+ Data.withObject+ "DetectorModelSummary"+ ( \x ->+ DetectorModelSummary'+ Prelude.<$> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "detectorModelDescription")+ Prelude.<*> (x Data..:? "detectorModelName")+ )++instance Prelude.Hashable DetectorModelSummary where+ hashWithSalt _salt DetectorModelSummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` detectorModelDescription+ `Prelude.hashWithSalt` detectorModelName++instance Prelude.NFData DetectorModelSummary where+ rnf DetectorModelSummary' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf detectorModelDescription+ `Prelude.seq` Prelude.rnf detectorModelName
+ gen/Amazonka/IoTEvents/Types/DetectorModelVersionStatus.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorModelVersionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorModelVersionStatus+ ( DetectorModelVersionStatus+ ( ..,+ DetectorModelVersionStatus_ACTIVATING,+ DetectorModelVersionStatus_ACTIVE,+ DetectorModelVersionStatus_DEPRECATED,+ DetectorModelVersionStatus_DRAFT,+ DetectorModelVersionStatus_FAILED,+ DetectorModelVersionStatus_INACTIVE,+ DetectorModelVersionStatus_PAUSED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DetectorModelVersionStatus = DetectorModelVersionStatus'+ { fromDetectorModelVersionStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DetectorModelVersionStatus_ACTIVATING :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_ACTIVATING = DetectorModelVersionStatus' "ACTIVATING"++pattern DetectorModelVersionStatus_ACTIVE :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_ACTIVE = DetectorModelVersionStatus' "ACTIVE"++pattern DetectorModelVersionStatus_DEPRECATED :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_DEPRECATED = DetectorModelVersionStatus' "DEPRECATED"++pattern DetectorModelVersionStatus_DRAFT :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_DRAFT = DetectorModelVersionStatus' "DRAFT"++pattern DetectorModelVersionStatus_FAILED :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_FAILED = DetectorModelVersionStatus' "FAILED"++pattern DetectorModelVersionStatus_INACTIVE :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_INACTIVE = DetectorModelVersionStatus' "INACTIVE"++pattern DetectorModelVersionStatus_PAUSED :: DetectorModelVersionStatus+pattern DetectorModelVersionStatus_PAUSED = DetectorModelVersionStatus' "PAUSED"++{-# COMPLETE+ DetectorModelVersionStatus_ACTIVATING,+ DetectorModelVersionStatus_ACTIVE,+ DetectorModelVersionStatus_DEPRECATED,+ DetectorModelVersionStatus_DRAFT,+ DetectorModelVersionStatus_FAILED,+ DetectorModelVersionStatus_INACTIVE,+ DetectorModelVersionStatus_PAUSED,+ DetectorModelVersionStatus'+ #-}
+ gen/Amazonka/IoTEvents/Types/DetectorModelVersionSummary.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DetectorModelVersionSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DetectorModelVersionSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.DetectorModelVersionStatus+import Amazonka.IoTEvents.Types.EvaluationMethod+import qualified Amazonka.Prelude as Prelude++-- | Information about the detector model version.+--+-- /See:/ 'newDetectorModelVersionSummary' smart constructor.+data DetectorModelVersionSummary = DetectorModelVersionSummary'+ { -- | The time the detector model version was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the detector model version.+ detectorModelArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector model.+ detectorModelName :: Prelude.Maybe Prelude.Text,+ -- | The ID of the detector model version.+ detectorModelVersion :: Prelude.Maybe Prelude.Text,+ -- | Information about the order in which events are evaluated and how+ -- actions are executed.+ evaluationMethod :: Prelude.Maybe EvaluationMethod,+ -- | The last time the detector model version was updated.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the role that grants the detector model permission to perform+ -- its tasks.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The status of the detector model version.+ status :: Prelude.Maybe DetectorModelVersionStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectorModelVersionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'detectorModelVersionSummary_creationTime' - The time the detector model version was created.+--+-- 'detectorModelArn', 'detectorModelVersionSummary_detectorModelArn' - The ARN of the detector model version.+--+-- 'detectorModelName', 'detectorModelVersionSummary_detectorModelName' - The name of the detector model.+--+-- 'detectorModelVersion', 'detectorModelVersionSummary_detectorModelVersion' - The ID of the detector model version.+--+-- 'evaluationMethod', 'detectorModelVersionSummary_evaluationMethod' - Information about the order in which events are evaluated and how+-- actions are executed.+--+-- 'lastUpdateTime', 'detectorModelVersionSummary_lastUpdateTime' - The last time the detector model version was updated.+--+-- 'roleArn', 'detectorModelVersionSummary_roleArn' - The ARN of the role that grants the detector model permission to perform+-- its tasks.+--+-- 'status', 'detectorModelVersionSummary_status' - The status of the detector model version.+newDetectorModelVersionSummary ::+ DetectorModelVersionSummary+newDetectorModelVersionSummary =+ DetectorModelVersionSummary'+ { creationTime =+ Prelude.Nothing,+ detectorModelArn = Prelude.Nothing,+ detectorModelName = Prelude.Nothing,+ detectorModelVersion = Prelude.Nothing,+ evaluationMethod = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The time the detector model version was created.+detectorModelVersionSummary_creationTime :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe Prelude.UTCTime)+detectorModelVersionSummary_creationTime = Lens.lens (\DetectorModelVersionSummary' {creationTime} -> creationTime) (\s@DetectorModelVersionSummary' {} a -> s {creationTime = a} :: DetectorModelVersionSummary) Prelude.. Lens.mapping Data._Time++-- | The ARN of the detector model version.+detectorModelVersionSummary_detectorModelArn :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe Prelude.Text)+detectorModelVersionSummary_detectorModelArn = Lens.lens (\DetectorModelVersionSummary' {detectorModelArn} -> detectorModelArn) (\s@DetectorModelVersionSummary' {} a -> s {detectorModelArn = a} :: DetectorModelVersionSummary)++-- | The name of the detector model.+detectorModelVersionSummary_detectorModelName :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe Prelude.Text)+detectorModelVersionSummary_detectorModelName = Lens.lens (\DetectorModelVersionSummary' {detectorModelName} -> detectorModelName) (\s@DetectorModelVersionSummary' {} a -> s {detectorModelName = a} :: DetectorModelVersionSummary)++-- | The ID of the detector model version.+detectorModelVersionSummary_detectorModelVersion :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe Prelude.Text)+detectorModelVersionSummary_detectorModelVersion = Lens.lens (\DetectorModelVersionSummary' {detectorModelVersion} -> detectorModelVersion) (\s@DetectorModelVersionSummary' {} a -> s {detectorModelVersion = a} :: DetectorModelVersionSummary)++-- | Information about the order in which events are evaluated and how+-- actions are executed.+detectorModelVersionSummary_evaluationMethod :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe EvaluationMethod)+detectorModelVersionSummary_evaluationMethod = Lens.lens (\DetectorModelVersionSummary' {evaluationMethod} -> evaluationMethod) (\s@DetectorModelVersionSummary' {} a -> s {evaluationMethod = a} :: DetectorModelVersionSummary)++-- | The last time the detector model version was updated.+detectorModelVersionSummary_lastUpdateTime :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe Prelude.UTCTime)+detectorModelVersionSummary_lastUpdateTime = Lens.lens (\DetectorModelVersionSummary' {lastUpdateTime} -> lastUpdateTime) (\s@DetectorModelVersionSummary' {} a -> s {lastUpdateTime = a} :: DetectorModelVersionSummary) Prelude.. Lens.mapping Data._Time++-- | The ARN of the role that grants the detector model permission to perform+-- its tasks.+detectorModelVersionSummary_roleArn :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe Prelude.Text)+detectorModelVersionSummary_roleArn = Lens.lens (\DetectorModelVersionSummary' {roleArn} -> roleArn) (\s@DetectorModelVersionSummary' {} a -> s {roleArn = a} :: DetectorModelVersionSummary)++-- | The status of the detector model version.+detectorModelVersionSummary_status :: Lens.Lens' DetectorModelVersionSummary (Prelude.Maybe DetectorModelVersionStatus)+detectorModelVersionSummary_status = Lens.lens (\DetectorModelVersionSummary' {status} -> status) (\s@DetectorModelVersionSummary' {} a -> s {status = a} :: DetectorModelVersionSummary)++instance Data.FromJSON DetectorModelVersionSummary where+ parseJSON =+ Data.withObject+ "DetectorModelVersionSummary"+ ( \x ->+ DetectorModelVersionSummary'+ Prelude.<$> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "detectorModelArn")+ Prelude.<*> (x Data..:? "detectorModelName")+ Prelude.<*> (x Data..:? "detectorModelVersion")+ Prelude.<*> (x Data..:? "evaluationMethod")+ Prelude.<*> (x Data..:? "lastUpdateTime")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable DetectorModelVersionSummary where+ hashWithSalt _salt DetectorModelVersionSummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` detectorModelArn+ `Prelude.hashWithSalt` detectorModelName+ `Prelude.hashWithSalt` detectorModelVersion+ `Prelude.hashWithSalt` evaluationMethod+ `Prelude.hashWithSalt` lastUpdateTime+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` status++instance Prelude.NFData DetectorModelVersionSummary where+ rnf DetectorModelVersionSummary' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf detectorModelArn+ `Prelude.seq` Prelude.rnf detectorModelName+ `Prelude.seq` Prelude.rnf detectorModelVersion+ `Prelude.seq` Prelude.rnf evaluationMethod+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTEvents/Types/DynamoDBAction.hs view
@@ -0,0 +1,374 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DynamoDBAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DynamoDBAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Defines an action to write to the Amazon DynamoDB table that you+-- created. The standard action payload contains all the information about+-- the detector model instance and the event that triggered the action. You+-- can customize the+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+-- One column of the DynamoDB table receives all attribute-value pairs in+-- the payload that you specify.+--+-- You must use expressions for all parameters in @DynamoDBAction@. The+-- expressions accept literals, operators, functions, references, and+-- substitution templates.+--+-- __Examples__+--+-- - For literal values, the expressions must contain single quotes. For+-- example, the value for the @hashKeyType@ parameter can be+-- @\'STRING\'@.+--+-- - For references, you must specify either variables or input values.+-- For example, the value for the @hashKeyField@ parameter can be+-- @$input.GreenhouseInput.name@.+--+-- - For a substitution template, you must use @${}@, and the template+-- must be in single quotes. A substitution template can also contain a+-- combination of literals, operators, functions, references, and+-- substitution templates.+--+-- In the following example, the value for the @hashKeyValue@ parameter+-- uses a substitution template.+--+-- @\'${$input.GreenhouseInput.temperature * 6 \/ 5 + 32} in Fahrenheit\'@+--+-- - For a string concatenation, you must use @+@. A string concatenation+-- can also contain a combination of literals, operators, functions,+-- references, and substitution templates.+--+-- In the following example, the value for the @tableName@ parameter+-- uses a string concatenation.+--+-- @\'GreenhouseTemperatureTable \' + $input.GreenhouseInput.date@+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html Expressions>+-- in the /AWS IoT Events Developer Guide/.+--+-- If the defined payload type is a string, @DynamoDBAction@ writes+-- non-JSON data to the DynamoDB table as binary data. The DynamoDB console+-- displays the data as Base64-encoded text. The value for the+-- @payloadField@ parameter is @\<payload-field>_raw@.+--+-- /See:/ 'newDynamoDBAction' smart constructor.+data DynamoDBAction = DynamoDBAction'+ { -- | The data type for the hash key (also called the partition key). You can+ -- specify the following values:+ --+ -- - @\'STRING\'@ - The hash key is a string.+ --+ -- - @\'NUMBER\'@ - The hash key is a number.+ --+ -- If you don\'t specify @hashKeyType@, the default value is @\'STRING\'@.+ hashKeyType :: Prelude.Maybe Prelude.Text,+ -- | The type of operation to perform. You can specify the following values:+ --+ -- - @\'INSERT\'@ - Insert data as a new item into the DynamoDB table.+ -- This item uses the specified hash key as a partition key. If you+ -- specified a range key, the item uses the range key as a sort key.+ --+ -- - @\'UPDATE\'@ - Update an existing item of the DynamoDB table with+ -- new data. This item\'s partition key must match the specified hash+ -- key. If you specified a range key, the range key must match the+ -- item\'s sort key.+ --+ -- - @\'DELETE\'@ - Delete an existing item of the DynamoDB table. This+ -- item\'s partition key must match the specified hash key. If you+ -- specified a range key, the range key must match the item\'s sort+ -- key.+ --+ -- If you don\'t specify this parameter, AWS IoT Events triggers the+ -- @\'INSERT\'@ operation.+ operation :: Prelude.Maybe Prelude.Text,+ payload :: Prelude.Maybe Payload,+ -- | The name of the DynamoDB column that receives the action payload.+ --+ -- If you don\'t specify this parameter, the name of the DynamoDB column is+ -- @payload@.+ payloadField :: Prelude.Maybe Prelude.Text,+ -- | The name of the range key (also called the sort key). The+ -- @rangeKeyField@ value must match the sort key of the target DynamoDB+ -- table.+ rangeKeyField :: Prelude.Maybe Prelude.Text,+ -- | The data type for the range key (also called the sort key), You can+ -- specify the following values:+ --+ -- - @\'STRING\'@ - The range key is a string.+ --+ -- - @\'NUMBER\'@ - The range key is number.+ --+ -- If you don\'t specify @rangeKeyField@, the default value is+ -- @\'STRING\'@.+ rangeKeyType :: Prelude.Maybe Prelude.Text,+ -- | The value of the range key (also called the sort key).+ rangeKeyValue :: Prelude.Maybe Prelude.Text,+ -- | The name of the hash key (also called the partition key). The+ -- @hashKeyField@ value must match the partition key of the target DynamoDB+ -- table.+ hashKeyField :: Prelude.Text,+ -- | The value of the hash key (also called the partition key).+ hashKeyValue :: Prelude.Text,+ -- | The name of the DynamoDB table. The @tableName@ value must match the+ -- table name of the target DynamoDB table.+ tableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynamoDBAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hashKeyType', 'dynamoDBAction_hashKeyType' - The data type for the hash key (also called the partition key). You can+-- specify the following values:+--+-- - @\'STRING\'@ - The hash key is a string.+--+-- - @\'NUMBER\'@ - The hash key is a number.+--+-- If you don\'t specify @hashKeyType@, the default value is @\'STRING\'@.+--+-- 'operation', 'dynamoDBAction_operation' - The type of operation to perform. You can specify the following values:+--+-- - @\'INSERT\'@ - Insert data as a new item into the DynamoDB table.+-- This item uses the specified hash key as a partition key. If you+-- specified a range key, the item uses the range key as a sort key.+--+-- - @\'UPDATE\'@ - Update an existing item of the DynamoDB table with+-- new data. This item\'s partition key must match the specified hash+-- key. If you specified a range key, the range key must match the+-- item\'s sort key.+--+-- - @\'DELETE\'@ - Delete an existing item of the DynamoDB table. This+-- item\'s partition key must match the specified hash key. If you+-- specified a range key, the range key must match the item\'s sort+-- key.+--+-- If you don\'t specify this parameter, AWS IoT Events triggers the+-- @\'INSERT\'@ operation.+--+-- 'payload', 'dynamoDBAction_payload' - Undocumented member.+--+-- 'payloadField', 'dynamoDBAction_payloadField' - The name of the DynamoDB column that receives the action payload.+--+-- If you don\'t specify this parameter, the name of the DynamoDB column is+-- @payload@.+--+-- 'rangeKeyField', 'dynamoDBAction_rangeKeyField' - The name of the range key (also called the sort key). The+-- @rangeKeyField@ value must match the sort key of the target DynamoDB+-- table.+--+-- 'rangeKeyType', 'dynamoDBAction_rangeKeyType' - The data type for the range key (also called the sort key), You can+-- specify the following values:+--+-- - @\'STRING\'@ - The range key is a string.+--+-- - @\'NUMBER\'@ - The range key is number.+--+-- If you don\'t specify @rangeKeyField@, the default value is+-- @\'STRING\'@.+--+-- 'rangeKeyValue', 'dynamoDBAction_rangeKeyValue' - The value of the range key (also called the sort key).+--+-- 'hashKeyField', 'dynamoDBAction_hashKeyField' - The name of the hash key (also called the partition key). The+-- @hashKeyField@ value must match the partition key of the target DynamoDB+-- table.+--+-- 'hashKeyValue', 'dynamoDBAction_hashKeyValue' - The value of the hash key (also called the partition key).+--+-- 'tableName', 'dynamoDBAction_tableName' - The name of the DynamoDB table. The @tableName@ value must match the+-- table name of the target DynamoDB table.+newDynamoDBAction ::+ -- | 'hashKeyField'+ Prelude.Text ->+ -- | 'hashKeyValue'+ Prelude.Text ->+ -- | 'tableName'+ Prelude.Text ->+ DynamoDBAction+newDynamoDBAction+ pHashKeyField_+ pHashKeyValue_+ pTableName_ =+ DynamoDBAction'+ { hashKeyType = Prelude.Nothing,+ operation = Prelude.Nothing,+ payload = Prelude.Nothing,+ payloadField = Prelude.Nothing,+ rangeKeyField = Prelude.Nothing,+ rangeKeyType = Prelude.Nothing,+ rangeKeyValue = Prelude.Nothing,+ hashKeyField = pHashKeyField_,+ hashKeyValue = pHashKeyValue_,+ tableName = pTableName_+ }++-- | The data type for the hash key (also called the partition key). You can+-- specify the following values:+--+-- - @\'STRING\'@ - The hash key is a string.+--+-- - @\'NUMBER\'@ - The hash key is a number.+--+-- If you don\'t specify @hashKeyType@, the default value is @\'STRING\'@.+dynamoDBAction_hashKeyType :: Lens.Lens' DynamoDBAction (Prelude.Maybe Prelude.Text)+dynamoDBAction_hashKeyType = Lens.lens (\DynamoDBAction' {hashKeyType} -> hashKeyType) (\s@DynamoDBAction' {} a -> s {hashKeyType = a} :: DynamoDBAction)++-- | The type of operation to perform. You can specify the following values:+--+-- - @\'INSERT\'@ - Insert data as a new item into the DynamoDB table.+-- This item uses the specified hash key as a partition key. If you+-- specified a range key, the item uses the range key as a sort key.+--+-- - @\'UPDATE\'@ - Update an existing item of the DynamoDB table with+-- new data. This item\'s partition key must match the specified hash+-- key. If you specified a range key, the range key must match the+-- item\'s sort key.+--+-- - @\'DELETE\'@ - Delete an existing item of the DynamoDB table. This+-- item\'s partition key must match the specified hash key. If you+-- specified a range key, the range key must match the item\'s sort+-- key.+--+-- If you don\'t specify this parameter, AWS IoT Events triggers the+-- @\'INSERT\'@ operation.+dynamoDBAction_operation :: Lens.Lens' DynamoDBAction (Prelude.Maybe Prelude.Text)+dynamoDBAction_operation = Lens.lens (\DynamoDBAction' {operation} -> operation) (\s@DynamoDBAction' {} a -> s {operation = a} :: DynamoDBAction)++-- | Undocumented member.+dynamoDBAction_payload :: Lens.Lens' DynamoDBAction (Prelude.Maybe Payload)+dynamoDBAction_payload = Lens.lens (\DynamoDBAction' {payload} -> payload) (\s@DynamoDBAction' {} a -> s {payload = a} :: DynamoDBAction)++-- | The name of the DynamoDB column that receives the action payload.+--+-- If you don\'t specify this parameter, the name of the DynamoDB column is+-- @payload@.+dynamoDBAction_payloadField :: Lens.Lens' DynamoDBAction (Prelude.Maybe Prelude.Text)+dynamoDBAction_payloadField = Lens.lens (\DynamoDBAction' {payloadField} -> payloadField) (\s@DynamoDBAction' {} a -> s {payloadField = a} :: DynamoDBAction)++-- | The name of the range key (also called the sort key). The+-- @rangeKeyField@ value must match the sort key of the target DynamoDB+-- table.+dynamoDBAction_rangeKeyField :: Lens.Lens' DynamoDBAction (Prelude.Maybe Prelude.Text)+dynamoDBAction_rangeKeyField = Lens.lens (\DynamoDBAction' {rangeKeyField} -> rangeKeyField) (\s@DynamoDBAction' {} a -> s {rangeKeyField = a} :: DynamoDBAction)++-- | The data type for the range key (also called the sort key), You can+-- specify the following values:+--+-- - @\'STRING\'@ - The range key is a string.+--+-- - @\'NUMBER\'@ - The range key is number.+--+-- If you don\'t specify @rangeKeyField@, the default value is+-- @\'STRING\'@.+dynamoDBAction_rangeKeyType :: Lens.Lens' DynamoDBAction (Prelude.Maybe Prelude.Text)+dynamoDBAction_rangeKeyType = Lens.lens (\DynamoDBAction' {rangeKeyType} -> rangeKeyType) (\s@DynamoDBAction' {} a -> s {rangeKeyType = a} :: DynamoDBAction)++-- | The value of the range key (also called the sort key).+dynamoDBAction_rangeKeyValue :: Lens.Lens' DynamoDBAction (Prelude.Maybe Prelude.Text)+dynamoDBAction_rangeKeyValue = Lens.lens (\DynamoDBAction' {rangeKeyValue} -> rangeKeyValue) (\s@DynamoDBAction' {} a -> s {rangeKeyValue = a} :: DynamoDBAction)++-- | The name of the hash key (also called the partition key). The+-- @hashKeyField@ value must match the partition key of the target DynamoDB+-- table.+dynamoDBAction_hashKeyField :: Lens.Lens' DynamoDBAction Prelude.Text+dynamoDBAction_hashKeyField = Lens.lens (\DynamoDBAction' {hashKeyField} -> hashKeyField) (\s@DynamoDBAction' {} a -> s {hashKeyField = a} :: DynamoDBAction)++-- | The value of the hash key (also called the partition key).+dynamoDBAction_hashKeyValue :: Lens.Lens' DynamoDBAction Prelude.Text+dynamoDBAction_hashKeyValue = Lens.lens (\DynamoDBAction' {hashKeyValue} -> hashKeyValue) (\s@DynamoDBAction' {} a -> s {hashKeyValue = a} :: DynamoDBAction)++-- | The name of the DynamoDB table. The @tableName@ value must match the+-- table name of the target DynamoDB table.+dynamoDBAction_tableName :: Lens.Lens' DynamoDBAction Prelude.Text+dynamoDBAction_tableName = Lens.lens (\DynamoDBAction' {tableName} -> tableName) (\s@DynamoDBAction' {} a -> s {tableName = a} :: DynamoDBAction)++instance Data.FromJSON DynamoDBAction where+ parseJSON =+ Data.withObject+ "DynamoDBAction"+ ( \x ->+ DynamoDBAction'+ Prelude.<$> (x Data..:? "hashKeyType")+ Prelude.<*> (x Data..:? "operation")+ Prelude.<*> (x Data..:? "payload")+ Prelude.<*> (x Data..:? "payloadField")+ Prelude.<*> (x Data..:? "rangeKeyField")+ Prelude.<*> (x Data..:? "rangeKeyType")+ Prelude.<*> (x Data..:? "rangeKeyValue")+ Prelude.<*> (x Data..: "hashKeyField")+ Prelude.<*> (x Data..: "hashKeyValue")+ Prelude.<*> (x Data..: "tableName")+ )++instance Prelude.Hashable DynamoDBAction where+ hashWithSalt _salt DynamoDBAction' {..} =+ _salt+ `Prelude.hashWithSalt` hashKeyType+ `Prelude.hashWithSalt` operation+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` payloadField+ `Prelude.hashWithSalt` rangeKeyField+ `Prelude.hashWithSalt` rangeKeyType+ `Prelude.hashWithSalt` rangeKeyValue+ `Prelude.hashWithSalt` hashKeyField+ `Prelude.hashWithSalt` hashKeyValue+ `Prelude.hashWithSalt` tableName++instance Prelude.NFData DynamoDBAction where+ rnf DynamoDBAction' {..} =+ Prelude.rnf hashKeyType+ `Prelude.seq` Prelude.rnf operation+ `Prelude.seq` Prelude.rnf payload+ `Prelude.seq` Prelude.rnf payloadField+ `Prelude.seq` Prelude.rnf rangeKeyField+ `Prelude.seq` Prelude.rnf rangeKeyType+ `Prelude.seq` Prelude.rnf rangeKeyValue+ `Prelude.seq` Prelude.rnf hashKeyField+ `Prelude.seq` Prelude.rnf hashKeyValue+ `Prelude.seq` Prelude.rnf tableName++instance Data.ToJSON DynamoDBAction where+ toJSON DynamoDBAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("hashKeyType" Data..=) Prelude.<$> hashKeyType,+ ("operation" Data..=) Prelude.<$> operation,+ ("payload" Data..=) Prelude.<$> payload,+ ("payloadField" Data..=) Prelude.<$> payloadField,+ ("rangeKeyField" Data..=) Prelude.<$> rangeKeyField,+ ("rangeKeyType" Data..=) Prelude.<$> rangeKeyType,+ ("rangeKeyValue" Data..=) Prelude.<$> rangeKeyValue,+ Prelude.Just ("hashKeyField" Data..= hashKeyField),+ Prelude.Just ("hashKeyValue" Data..= hashKeyValue),+ Prelude.Just ("tableName" Data..= tableName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/DynamoDBv2Action.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.DynamoDBv2Action+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.DynamoDBv2Action where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Defines an action to write to the Amazon DynamoDB table that you+-- created. The default action payload contains all the information about+-- the detector model instance and the event that triggered the action. You+-- can customize the+-- <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html payload>.+-- A separate column of the DynamoDB table receives one attribute-value+-- pair in the payload that you specify.+--+-- You must use expressions for all parameters in @DynamoDBv2Action@. The+-- expressions accept literals, operators, functions, references, and+-- substitution templates.+--+-- __Examples__+--+-- - For literal values, the expressions must contain single quotes. For+-- example, the value for the @tableName@ parameter can be+-- @\'GreenhouseTemperatureTable\'@.+--+-- - For references, you must specify either variables or input values.+-- For example, the value for the @tableName@ parameter can be+-- @$variable.ddbtableName@.+--+-- - For a substitution template, you must use @${}@, and the template+-- must be in single quotes. A substitution template can also contain a+-- combination of literals, operators, functions, references, and+-- substitution templates.+--+-- In the following example, the value for the @contentExpression@+-- parameter in @Payload@ uses a substitution template.+--+-- @\'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 \/ 5 + 32}\\\"}\'@+--+-- - For a string concatenation, you must use @+@. A string concatenation+-- can also contain a combination of literals, operators, functions,+-- references, and substitution templates.+--+-- In the following example, the value for the @tableName@ parameter+-- uses a string concatenation.+--+-- @\'GreenhouseTemperatureTable \' + $input.GreenhouseInput.date@+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html Expressions>+-- in the /AWS IoT Events Developer Guide/.+--+-- The value for the @type@ parameter in @Payload@ must be @JSON@.+--+-- /See:/ 'newDynamoDBv2Action' smart constructor.+data DynamoDBv2Action = DynamoDBv2Action'+ { payload :: Prelude.Maybe Payload,+ -- | The name of the DynamoDB table.+ tableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynamoDBv2Action' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'dynamoDBv2Action_payload' - Undocumented member.+--+-- 'tableName', 'dynamoDBv2Action_tableName' - The name of the DynamoDB table.+newDynamoDBv2Action ::+ -- | 'tableName'+ Prelude.Text ->+ DynamoDBv2Action+newDynamoDBv2Action pTableName_ =+ DynamoDBv2Action'+ { payload = Prelude.Nothing,+ tableName = pTableName_+ }++-- | Undocumented member.+dynamoDBv2Action_payload :: Lens.Lens' DynamoDBv2Action (Prelude.Maybe Payload)+dynamoDBv2Action_payload = Lens.lens (\DynamoDBv2Action' {payload} -> payload) (\s@DynamoDBv2Action' {} a -> s {payload = a} :: DynamoDBv2Action)++-- | The name of the DynamoDB table.+dynamoDBv2Action_tableName :: Lens.Lens' DynamoDBv2Action Prelude.Text+dynamoDBv2Action_tableName = Lens.lens (\DynamoDBv2Action' {tableName} -> tableName) (\s@DynamoDBv2Action' {} a -> s {tableName = a} :: DynamoDBv2Action)++instance Data.FromJSON DynamoDBv2Action where+ parseJSON =+ Data.withObject+ "DynamoDBv2Action"+ ( \x ->+ DynamoDBv2Action'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..: "tableName")+ )++instance Prelude.Hashable DynamoDBv2Action where+ hashWithSalt _salt DynamoDBv2Action' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` tableName++instance Prelude.NFData DynamoDBv2Action where+ rnf DynamoDBv2Action' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf tableName++instance Data.ToJSON DynamoDBv2Action where+ toJSON DynamoDBv2Action' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ Prelude.Just ("tableName" Data..= tableName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/EmailConfiguration.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.EmailConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.EmailConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.EmailContent+import Amazonka.IoTEvents.Types.EmailRecipients+import qualified Amazonka.Prelude as Prelude++-- | Contains the configuration information of email notifications.+--+-- /See:/ 'newEmailConfiguration' smart constructor.+data EmailConfiguration = EmailConfiguration'+ { -- | Contains the subject and message of an email.+ content :: Prelude.Maybe EmailContent,+ -- | The email address that sends emails.+ --+ -- If you use the AWS IoT Events managed AWS Lambda function to manage your+ -- emails, you must+ -- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html verify the email address that sends emails in Amazon SES>.+ from :: Prelude.Text,+ -- | Contains the information of one or more recipients who receive the+ -- emails.+ --+ -- You must+ -- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive emails to your AWS SSO store>.+ recipients :: EmailRecipients+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmailConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'content', 'emailConfiguration_content' - Contains the subject and message of an email.+--+-- 'from', 'emailConfiguration_from' - The email address that sends emails.+--+-- If you use the AWS IoT Events managed AWS Lambda function to manage your+-- emails, you must+-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html verify the email address that sends emails in Amazon SES>.+--+-- 'recipients', 'emailConfiguration_recipients' - Contains the information of one or more recipients who receive the+-- emails.+--+-- You must+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive emails to your AWS SSO store>.+newEmailConfiguration ::+ -- | 'from'+ Prelude.Text ->+ -- | 'recipients'+ EmailRecipients ->+ EmailConfiguration+newEmailConfiguration pFrom_ pRecipients_ =+ EmailConfiguration'+ { content = Prelude.Nothing,+ from = pFrom_,+ recipients = pRecipients_+ }++-- | Contains the subject and message of an email.+emailConfiguration_content :: Lens.Lens' EmailConfiguration (Prelude.Maybe EmailContent)+emailConfiguration_content = Lens.lens (\EmailConfiguration' {content} -> content) (\s@EmailConfiguration' {} a -> s {content = a} :: EmailConfiguration)++-- | The email address that sends emails.+--+-- If you use the AWS IoT Events managed AWS Lambda function to manage your+-- emails, you must+-- <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html verify the email address that sends emails in Amazon SES>.+emailConfiguration_from :: Lens.Lens' EmailConfiguration Prelude.Text+emailConfiguration_from = Lens.lens (\EmailConfiguration' {from} -> from) (\s@EmailConfiguration' {} a -> s {from = a} :: EmailConfiguration)++-- | Contains the information of one or more recipients who receive the+-- emails.+--+-- You must+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive emails to your AWS SSO store>.+emailConfiguration_recipients :: Lens.Lens' EmailConfiguration EmailRecipients+emailConfiguration_recipients = Lens.lens (\EmailConfiguration' {recipients} -> recipients) (\s@EmailConfiguration' {} a -> s {recipients = a} :: EmailConfiguration)++instance Data.FromJSON EmailConfiguration where+ parseJSON =+ Data.withObject+ "EmailConfiguration"+ ( \x ->+ EmailConfiguration'+ Prelude.<$> (x Data..:? "content")+ Prelude.<*> (x Data..: "from")+ Prelude.<*> (x Data..: "recipients")+ )++instance Prelude.Hashable EmailConfiguration where+ hashWithSalt _salt EmailConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` content+ `Prelude.hashWithSalt` from+ `Prelude.hashWithSalt` recipients++instance Prelude.NFData EmailConfiguration where+ rnf EmailConfiguration' {..} =+ Prelude.rnf content+ `Prelude.seq` Prelude.rnf from+ `Prelude.seq` Prelude.rnf recipients++instance Data.ToJSON EmailConfiguration where+ toJSON EmailConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("content" Data..=) Prelude.<$> content,+ Prelude.Just ("from" Data..= from),+ Prelude.Just ("recipients" Data..= recipients)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/EmailContent.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.EmailContent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.EmailContent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the subject and message of an email.+--+-- /See:/ 'newEmailContent' smart constructor.+data EmailContent = EmailContent'+ { -- | The message that you want to send. The message can be up to 200+ -- characters.+ additionalMessage :: Prelude.Maybe Prelude.Text,+ -- | The subject of the email.+ subject :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmailContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalMessage', 'emailContent_additionalMessage' - The message that you want to send. The message can be up to 200+-- characters.+--+-- 'subject', 'emailContent_subject' - The subject of the email.+newEmailContent ::+ EmailContent+newEmailContent =+ EmailContent'+ { additionalMessage = Prelude.Nothing,+ subject = Prelude.Nothing+ }++-- | The message that you want to send. The message can be up to 200+-- characters.+emailContent_additionalMessage :: Lens.Lens' EmailContent (Prelude.Maybe Prelude.Text)+emailContent_additionalMessage = Lens.lens (\EmailContent' {additionalMessage} -> additionalMessage) (\s@EmailContent' {} a -> s {additionalMessage = a} :: EmailContent)++-- | The subject of the email.+emailContent_subject :: Lens.Lens' EmailContent (Prelude.Maybe Prelude.Text)+emailContent_subject = Lens.lens (\EmailContent' {subject} -> subject) (\s@EmailContent' {} a -> s {subject = a} :: EmailContent)++instance Data.FromJSON EmailContent where+ parseJSON =+ Data.withObject+ "EmailContent"+ ( \x ->+ EmailContent'+ Prelude.<$> (x Data..:? "additionalMessage")+ Prelude.<*> (x Data..:? "subject")+ )++instance Prelude.Hashable EmailContent where+ hashWithSalt _salt EmailContent' {..} =+ _salt+ `Prelude.hashWithSalt` additionalMessage+ `Prelude.hashWithSalt` subject++instance Prelude.NFData EmailContent where+ rnf EmailContent' {..} =+ Prelude.rnf additionalMessage+ `Prelude.seq` Prelude.rnf subject++instance Data.ToJSON EmailContent where+ toJSON EmailContent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("additionalMessage" Data..=)+ Prelude.<$> additionalMessage,+ ("subject" Data..=) Prelude.<$> subject+ ]+ )
+ gen/Amazonka/IoTEvents/Types/EmailRecipients.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.EmailRecipients+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.EmailRecipients where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.RecipientDetail+import qualified Amazonka.Prelude as Prelude++-- | Contains the information of one or more recipients who receive the+-- emails.+--+-- You must+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive emails to your AWS SSO store>.+--+-- /See:/ 'newEmailRecipients' smart constructor.+data EmailRecipients = EmailRecipients'+ { -- | Specifies one or more recipients who receive the email.+ to :: Prelude.Maybe (Prelude.NonEmpty RecipientDetail)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmailRecipients' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'to', 'emailRecipients_to' - Specifies one or more recipients who receive the email.+newEmailRecipients ::+ EmailRecipients+newEmailRecipients =+ EmailRecipients' {to = Prelude.Nothing}++-- | Specifies one or more recipients who receive the email.+emailRecipients_to :: Lens.Lens' EmailRecipients (Prelude.Maybe (Prelude.NonEmpty RecipientDetail))+emailRecipients_to = Lens.lens (\EmailRecipients' {to} -> to) (\s@EmailRecipients' {} a -> s {to = a} :: EmailRecipients) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON EmailRecipients where+ parseJSON =+ Data.withObject+ "EmailRecipients"+ ( \x ->+ EmailRecipients' Prelude.<$> (x Data..:? "to")+ )++instance Prelude.Hashable EmailRecipients where+ hashWithSalt _salt EmailRecipients' {..} =+ _salt `Prelude.hashWithSalt` to++instance Prelude.NFData EmailRecipients where+ rnf EmailRecipients' {..} = Prelude.rnf to++instance Data.ToJSON EmailRecipients where+ toJSON EmailRecipients' {..} =+ Data.object+ (Prelude.catMaybes [("to" Data..=) Prelude.<$> to])
+ gen/Amazonka/IoTEvents/Types/EvaluationMethod.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.EvaluationMethod+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.EvaluationMethod+ ( EvaluationMethod+ ( ..,+ EvaluationMethod_BATCH,+ EvaluationMethod_SERIAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EvaluationMethod = EvaluationMethod'+ { fromEvaluationMethod ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EvaluationMethod_BATCH :: EvaluationMethod+pattern EvaluationMethod_BATCH = EvaluationMethod' "BATCH"++pattern EvaluationMethod_SERIAL :: EvaluationMethod+pattern EvaluationMethod_SERIAL = EvaluationMethod' "SERIAL"++{-# COMPLETE+ EvaluationMethod_BATCH,+ EvaluationMethod_SERIAL,+ EvaluationMethod'+ #-}
+ gen/Amazonka/IoTEvents/Types/Event.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.Event+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.Event where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Action+import qualified Amazonka.Prelude as Prelude++-- | Specifies the @actions@ to be performed when the @condition@ evaluates+-- to TRUE.+--+-- /See:/ 'newEvent' smart constructor.+data Event = Event'+ { -- | The actions to be performed.+ actions :: Prelude.Maybe [Action],+ -- | Optional. The Boolean expression that, when TRUE, causes the @actions@+ -- to be performed. If not present, the actions are performed (=TRUE). If+ -- the expression result is not a Boolean value, the actions are not+ -- performed (=FALSE).+ condition :: Prelude.Maybe Prelude.Text,+ -- | The name of the event.+ eventName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Event' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'event_actions' - The actions to be performed.+--+-- 'condition', 'event_condition' - Optional. The Boolean expression that, when TRUE, causes the @actions@+-- to be performed. If not present, the actions are performed (=TRUE). If+-- the expression result is not a Boolean value, the actions are not+-- performed (=FALSE).+--+-- 'eventName', 'event_eventName' - The name of the event.+newEvent ::+ -- | 'eventName'+ Prelude.Text ->+ Event+newEvent pEventName_ =+ Event'+ { actions = Prelude.Nothing,+ condition = Prelude.Nothing,+ eventName = pEventName_+ }++-- | The actions to be performed.+event_actions :: Lens.Lens' Event (Prelude.Maybe [Action])+event_actions = Lens.lens (\Event' {actions} -> actions) (\s@Event' {} a -> s {actions = a} :: Event) Prelude.. Lens.mapping Lens.coerced++-- | Optional. The Boolean expression that, when TRUE, causes the @actions@+-- to be performed. If not present, the actions are performed (=TRUE). If+-- the expression result is not a Boolean value, the actions are not+-- performed (=FALSE).+event_condition :: Lens.Lens' Event (Prelude.Maybe Prelude.Text)+event_condition = Lens.lens (\Event' {condition} -> condition) (\s@Event' {} a -> s {condition = a} :: Event)++-- | The name of the event.+event_eventName :: Lens.Lens' Event Prelude.Text+event_eventName = Lens.lens (\Event' {eventName} -> eventName) (\s@Event' {} a -> s {eventName = a} :: Event)++instance Data.FromJSON Event where+ parseJSON =+ Data.withObject+ "Event"+ ( \x ->+ Event'+ Prelude.<$> (x Data..:? "actions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "condition")+ Prelude.<*> (x Data..: "eventName")+ )++instance Prelude.Hashable Event where+ hashWithSalt _salt Event' {..} =+ _salt+ `Prelude.hashWithSalt` actions+ `Prelude.hashWithSalt` condition+ `Prelude.hashWithSalt` eventName++instance Prelude.NFData Event where+ rnf Event' {..} =+ Prelude.rnf actions+ `Prelude.seq` Prelude.rnf condition+ `Prelude.seq` Prelude.rnf eventName++instance Data.ToJSON Event where+ toJSON Event' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("actions" Data..=) Prelude.<$> actions,+ ("condition" Data..=) Prelude.<$> condition,+ Prelude.Just ("eventName" Data..= eventName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/FirehoseAction.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.FirehoseAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.FirehoseAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Sends information about the detector model instance and the event that+-- triggered the action to an Amazon Kinesis Data Firehose delivery stream.+--+-- /See:/ 'newFirehoseAction' smart constructor.+data FirehoseAction = FirehoseAction'+ { -- | You can configure the action payload when you send a message to an+ -- Amazon Kinesis Data Firehose delivery stream.+ payload :: Prelude.Maybe Payload,+ -- | A character separator that is used to separate records written to the+ -- Kinesis Data Firehose delivery stream. Valid values are: \'\\n\'+ -- (newline), \'\\t\' (tab), \'\\r\\n\' (Windows newline), \',\' (comma).+ separator :: Prelude.Maybe Prelude.Text,+ -- | The name of the Kinesis Data Firehose delivery stream where the data is+ -- written.+ deliveryStreamName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FirehoseAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'firehoseAction_payload' - You can configure the action payload when you send a message to an+-- Amazon Kinesis Data Firehose delivery stream.+--+-- 'separator', 'firehoseAction_separator' - A character separator that is used to separate records written to the+-- Kinesis Data Firehose delivery stream. Valid values are: \'\\n\'+-- (newline), \'\\t\' (tab), \'\\r\\n\' (Windows newline), \',\' (comma).+--+-- 'deliveryStreamName', 'firehoseAction_deliveryStreamName' - The name of the Kinesis Data Firehose delivery stream where the data is+-- written.+newFirehoseAction ::+ -- | 'deliveryStreamName'+ Prelude.Text ->+ FirehoseAction+newFirehoseAction pDeliveryStreamName_ =+ FirehoseAction'+ { payload = Prelude.Nothing,+ separator = Prelude.Nothing,+ deliveryStreamName = pDeliveryStreamName_+ }++-- | You can configure the action payload when you send a message to an+-- Amazon Kinesis Data Firehose delivery stream.+firehoseAction_payload :: Lens.Lens' FirehoseAction (Prelude.Maybe Payload)+firehoseAction_payload = Lens.lens (\FirehoseAction' {payload} -> payload) (\s@FirehoseAction' {} a -> s {payload = a} :: FirehoseAction)++-- | A character separator that is used to separate records written to the+-- Kinesis Data Firehose delivery stream. Valid values are: \'\\n\'+-- (newline), \'\\t\' (tab), \'\\r\\n\' (Windows newline), \',\' (comma).+firehoseAction_separator :: Lens.Lens' FirehoseAction (Prelude.Maybe Prelude.Text)+firehoseAction_separator = Lens.lens (\FirehoseAction' {separator} -> separator) (\s@FirehoseAction' {} a -> s {separator = a} :: FirehoseAction)++-- | The name of the Kinesis Data Firehose delivery stream where the data is+-- written.+firehoseAction_deliveryStreamName :: Lens.Lens' FirehoseAction Prelude.Text+firehoseAction_deliveryStreamName = Lens.lens (\FirehoseAction' {deliveryStreamName} -> deliveryStreamName) (\s@FirehoseAction' {} a -> s {deliveryStreamName = a} :: FirehoseAction)++instance Data.FromJSON FirehoseAction where+ parseJSON =+ Data.withObject+ "FirehoseAction"+ ( \x ->+ FirehoseAction'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..:? "separator")+ Prelude.<*> (x Data..: "deliveryStreamName")+ )++instance Prelude.Hashable FirehoseAction where+ hashWithSalt _salt FirehoseAction' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` separator+ `Prelude.hashWithSalt` deliveryStreamName++instance Prelude.NFData FirehoseAction where+ rnf FirehoseAction' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf separator+ `Prelude.seq` Prelude.rnf deliveryStreamName++instance Data.ToJSON FirehoseAction where+ toJSON FirehoseAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ ("separator" Data..=) Prelude.<$> separator,+ Prelude.Just+ ("deliveryStreamName" Data..= deliveryStreamName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/InitializationConfiguration.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.InitializationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.InitializationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the default alarm state. The configuration applies to all+-- alarms that were created based on this alarm model.+--+-- /See:/ 'newInitializationConfiguration' smart constructor.+data InitializationConfiguration = InitializationConfiguration'+ { -- | The value must be @TRUE@ or @FALSE@. If @FALSE@, all alarm instances+ -- created based on the alarm model are activated. The default value is+ -- @TRUE@.+ disabledOnInitialization :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InitializationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disabledOnInitialization', 'initializationConfiguration_disabledOnInitialization' - The value must be @TRUE@ or @FALSE@. If @FALSE@, all alarm instances+-- created based on the alarm model are activated. The default value is+-- @TRUE@.+newInitializationConfiguration ::+ -- | 'disabledOnInitialization'+ Prelude.Bool ->+ InitializationConfiguration+newInitializationConfiguration+ pDisabledOnInitialization_ =+ InitializationConfiguration'+ { disabledOnInitialization =+ pDisabledOnInitialization_+ }++-- | The value must be @TRUE@ or @FALSE@. If @FALSE@, all alarm instances+-- created based on the alarm model are activated. The default value is+-- @TRUE@.+initializationConfiguration_disabledOnInitialization :: Lens.Lens' InitializationConfiguration Prelude.Bool+initializationConfiguration_disabledOnInitialization = Lens.lens (\InitializationConfiguration' {disabledOnInitialization} -> disabledOnInitialization) (\s@InitializationConfiguration' {} a -> s {disabledOnInitialization = a} :: InitializationConfiguration)++instance Data.FromJSON InitializationConfiguration where+ parseJSON =+ Data.withObject+ "InitializationConfiguration"+ ( \x ->+ InitializationConfiguration'+ Prelude.<$> (x Data..: "disabledOnInitialization")+ )++instance Prelude.Hashable InitializationConfiguration where+ hashWithSalt _salt InitializationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` disabledOnInitialization++instance Prelude.NFData InitializationConfiguration where+ rnf InitializationConfiguration' {..} =+ Prelude.rnf disabledOnInitialization++instance Data.ToJSON InitializationConfiguration where+ toJSON InitializationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "disabledOnInitialization"+ Data..= disabledOnInitialization+ )+ ]+ )
+ gen/Amazonka/IoTEvents/Types/Input.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.Input+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.Input where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.InputConfiguration+import Amazonka.IoTEvents.Types.InputDefinition+import qualified Amazonka.Prelude as Prelude++-- | Information about the input.+--+-- /See:/ 'newInput' smart constructor.+data Input = Input'+ { -- | Information about the configuration of an input.+ inputConfiguration :: Prelude.Maybe InputConfiguration,+ -- | The definition of the input.+ inputDefinition :: Prelude.Maybe InputDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Input' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputConfiguration', 'input_inputConfiguration' - Information about the configuration of an input.+--+-- 'inputDefinition', 'input_inputDefinition' - The definition of the input.+newInput ::+ Input+newInput =+ Input'+ { inputConfiguration = Prelude.Nothing,+ inputDefinition = Prelude.Nothing+ }++-- | Information about the configuration of an input.+input_inputConfiguration :: Lens.Lens' Input (Prelude.Maybe InputConfiguration)+input_inputConfiguration = Lens.lens (\Input' {inputConfiguration} -> inputConfiguration) (\s@Input' {} a -> s {inputConfiguration = a} :: Input)++-- | The definition of the input.+input_inputDefinition :: Lens.Lens' Input (Prelude.Maybe InputDefinition)+input_inputDefinition = Lens.lens (\Input' {inputDefinition} -> inputDefinition) (\s@Input' {} a -> s {inputDefinition = a} :: Input)++instance Data.FromJSON Input where+ parseJSON =+ Data.withObject+ "Input"+ ( \x ->+ Input'+ Prelude.<$> (x Data..:? "inputConfiguration")+ Prelude.<*> (x Data..:? "inputDefinition")+ )++instance Prelude.Hashable Input where+ hashWithSalt _salt Input' {..} =+ _salt+ `Prelude.hashWithSalt` inputConfiguration+ `Prelude.hashWithSalt` inputDefinition++instance Prelude.NFData Input where+ rnf Input' {..} =+ Prelude.rnf inputConfiguration+ `Prelude.seq` Prelude.rnf inputDefinition
+ gen/Amazonka/IoTEvents/Types/InputConfiguration.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.InputConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.InputConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.InputStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about the configuration of an input.+--+-- /See:/ 'newInputConfiguration' smart constructor.+data InputConfiguration = InputConfiguration'+ { -- | A brief description of the input.+ inputDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the input.+ inputName :: Prelude.Text,+ -- | The ARN of the input.+ inputArn :: Prelude.Text,+ -- | The time the input was created.+ creationTime :: Data.POSIX,+ -- | The last time the input was updated.+ lastUpdateTime :: Data.POSIX,+ -- | The status of the input.+ status :: InputStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputDescription', 'inputConfiguration_inputDescription' - A brief description of the input.+--+-- 'inputName', 'inputConfiguration_inputName' - The name of the input.+--+-- 'inputArn', 'inputConfiguration_inputArn' - The ARN of the input.+--+-- 'creationTime', 'inputConfiguration_creationTime' - The time the input was created.+--+-- 'lastUpdateTime', 'inputConfiguration_lastUpdateTime' - The last time the input was updated.+--+-- 'status', 'inputConfiguration_status' - The status of the input.+newInputConfiguration ::+ -- | 'inputName'+ Prelude.Text ->+ -- | 'inputArn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastUpdateTime'+ Prelude.UTCTime ->+ -- | 'status'+ InputStatus ->+ InputConfiguration+newInputConfiguration+ pInputName_+ pInputArn_+ pCreationTime_+ pLastUpdateTime_+ pStatus_ =+ InputConfiguration'+ { inputDescription =+ Prelude.Nothing,+ inputName = pInputName_,+ inputArn = pInputArn_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastUpdateTime = Data._Time Lens.# pLastUpdateTime_,+ status = pStatus_+ }++-- | A brief description of the input.+inputConfiguration_inputDescription :: Lens.Lens' InputConfiguration (Prelude.Maybe Prelude.Text)+inputConfiguration_inputDescription = Lens.lens (\InputConfiguration' {inputDescription} -> inputDescription) (\s@InputConfiguration' {} a -> s {inputDescription = a} :: InputConfiguration)++-- | The name of the input.+inputConfiguration_inputName :: Lens.Lens' InputConfiguration Prelude.Text+inputConfiguration_inputName = Lens.lens (\InputConfiguration' {inputName} -> inputName) (\s@InputConfiguration' {} a -> s {inputName = a} :: InputConfiguration)++-- | The ARN of the input.+inputConfiguration_inputArn :: Lens.Lens' InputConfiguration Prelude.Text+inputConfiguration_inputArn = Lens.lens (\InputConfiguration' {inputArn} -> inputArn) (\s@InputConfiguration' {} a -> s {inputArn = a} :: InputConfiguration)++-- | The time the input was created.+inputConfiguration_creationTime :: Lens.Lens' InputConfiguration Prelude.UTCTime+inputConfiguration_creationTime = Lens.lens (\InputConfiguration' {creationTime} -> creationTime) (\s@InputConfiguration' {} a -> s {creationTime = a} :: InputConfiguration) Prelude.. Data._Time++-- | The last time the input was updated.+inputConfiguration_lastUpdateTime :: Lens.Lens' InputConfiguration Prelude.UTCTime+inputConfiguration_lastUpdateTime = Lens.lens (\InputConfiguration' {lastUpdateTime} -> lastUpdateTime) (\s@InputConfiguration' {} a -> s {lastUpdateTime = a} :: InputConfiguration) Prelude.. Data._Time++-- | The status of the input.+inputConfiguration_status :: Lens.Lens' InputConfiguration InputStatus+inputConfiguration_status = Lens.lens (\InputConfiguration' {status} -> status) (\s@InputConfiguration' {} a -> s {status = a} :: InputConfiguration)++instance Data.FromJSON InputConfiguration where+ parseJSON =+ Data.withObject+ "InputConfiguration"+ ( \x ->+ InputConfiguration'+ Prelude.<$> (x Data..:? "inputDescription")+ Prelude.<*> (x Data..: "inputName")+ Prelude.<*> (x Data..: "inputArn")+ Prelude.<*> (x Data..: "creationTime")+ Prelude.<*> (x Data..: "lastUpdateTime")+ Prelude.<*> (x Data..: "status")+ )++instance Prelude.Hashable InputConfiguration where+ hashWithSalt _salt InputConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` inputDescription+ `Prelude.hashWithSalt` inputName+ `Prelude.hashWithSalt` inputArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastUpdateTime+ `Prelude.hashWithSalt` status++instance Prelude.NFData InputConfiguration where+ rnf InputConfiguration' {..} =+ Prelude.rnf inputDescription+ `Prelude.seq` Prelude.rnf inputName+ `Prelude.seq` Prelude.rnf inputArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTEvents/Types/InputDefinition.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.InputDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.InputDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Attribute+import qualified Amazonka.Prelude as Prelude++-- | The definition of the input.+--+-- /See:/ 'newInputDefinition' smart constructor.+data InputDefinition = InputDefinition'+ { -- | The attributes from the JSON payload that are made available by the+ -- input. Inputs are derived from messages sent to the AWS IoT Events+ -- system using @BatchPutMessage@. Each such message contains a JSON+ -- payload, and those attributes (and their paired values) specified here+ -- are available for use in the @condition@ expressions used by detectors+ -- that monitor this input.+ attributes :: Prelude.NonEmpty Attribute+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'inputDefinition_attributes' - The attributes from the JSON payload that are made available by the+-- input. Inputs are derived from messages sent to the AWS IoT Events+-- system using @BatchPutMessage@. Each such message contains a JSON+-- payload, and those attributes (and their paired values) specified here+-- are available for use in the @condition@ expressions used by detectors+-- that monitor this input.+newInputDefinition ::+ -- | 'attributes'+ Prelude.NonEmpty Attribute ->+ InputDefinition+newInputDefinition pAttributes_ =+ InputDefinition'+ { attributes =+ Lens.coerced Lens.# pAttributes_+ }++-- | The attributes from the JSON payload that are made available by the+-- input. Inputs are derived from messages sent to the AWS IoT Events+-- system using @BatchPutMessage@. Each such message contains a JSON+-- payload, and those attributes (and their paired values) specified here+-- are available for use in the @condition@ expressions used by detectors+-- that monitor this input.+inputDefinition_attributes :: Lens.Lens' InputDefinition (Prelude.NonEmpty Attribute)+inputDefinition_attributes = Lens.lens (\InputDefinition' {attributes} -> attributes) (\s@InputDefinition' {} a -> s {attributes = a} :: InputDefinition) Prelude.. Lens.coerced++instance Data.FromJSON InputDefinition where+ parseJSON =+ Data.withObject+ "InputDefinition"+ ( \x ->+ InputDefinition'+ Prelude.<$> (x Data..: "attributes")+ )++instance Prelude.Hashable InputDefinition where+ hashWithSalt _salt InputDefinition' {..} =+ _salt `Prelude.hashWithSalt` attributes++instance Prelude.NFData InputDefinition where+ rnf InputDefinition' {..} = Prelude.rnf attributes++instance Data.ToJSON InputDefinition where+ toJSON InputDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("attributes" Data..= attributes)]+ )
+ gen/Amazonka/IoTEvents/Types/InputIdentifier.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.InputIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.InputIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.IotEventsInputIdentifier+import Amazonka.IoTEvents.Types.IotSiteWiseInputIdentifier+import qualified Amazonka.Prelude as Prelude++-- | The identifer of the input.+--+-- /See:/ 'newInputIdentifier' smart constructor.+data InputIdentifier = InputIdentifier'+ { -- | The identifier of the input routed to AWS IoT Events.+ iotEventsInputIdentifier :: Prelude.Maybe IotEventsInputIdentifier,+ -- | The identifer of the input routed from AWS IoT SiteWise.+ iotSiteWiseInputIdentifier :: Prelude.Maybe IotSiteWiseInputIdentifier+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iotEventsInputIdentifier', 'inputIdentifier_iotEventsInputIdentifier' - The identifier of the input routed to AWS IoT Events.+--+-- 'iotSiteWiseInputIdentifier', 'inputIdentifier_iotSiteWiseInputIdentifier' - The identifer of the input routed from AWS IoT SiteWise.+newInputIdentifier ::+ InputIdentifier+newInputIdentifier =+ InputIdentifier'+ { iotEventsInputIdentifier =+ Prelude.Nothing,+ iotSiteWiseInputIdentifier = Prelude.Nothing+ }++-- | The identifier of the input routed to AWS IoT Events.+inputIdentifier_iotEventsInputIdentifier :: Lens.Lens' InputIdentifier (Prelude.Maybe IotEventsInputIdentifier)+inputIdentifier_iotEventsInputIdentifier = Lens.lens (\InputIdentifier' {iotEventsInputIdentifier} -> iotEventsInputIdentifier) (\s@InputIdentifier' {} a -> s {iotEventsInputIdentifier = a} :: InputIdentifier)++-- | The identifer of the input routed from AWS IoT SiteWise.+inputIdentifier_iotSiteWiseInputIdentifier :: Lens.Lens' InputIdentifier (Prelude.Maybe IotSiteWiseInputIdentifier)+inputIdentifier_iotSiteWiseInputIdentifier = Lens.lens (\InputIdentifier' {iotSiteWiseInputIdentifier} -> iotSiteWiseInputIdentifier) (\s@InputIdentifier' {} a -> s {iotSiteWiseInputIdentifier = a} :: InputIdentifier)++instance Prelude.Hashable InputIdentifier where+ hashWithSalt _salt InputIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` iotEventsInputIdentifier+ `Prelude.hashWithSalt` iotSiteWiseInputIdentifier++instance Prelude.NFData InputIdentifier where+ rnf InputIdentifier' {..} =+ Prelude.rnf iotEventsInputIdentifier+ `Prelude.seq` Prelude.rnf iotSiteWiseInputIdentifier++instance Data.ToJSON InputIdentifier where+ toJSON InputIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("iotEventsInputIdentifier" Data..=)+ Prelude.<$> iotEventsInputIdentifier,+ ("iotSiteWiseInputIdentifier" Data..=)+ Prelude.<$> iotSiteWiseInputIdentifier+ ]+ )
+ gen/Amazonka/IoTEvents/Types/InputStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.InputStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.InputStatus+ ( InputStatus+ ( ..,+ InputStatus_ACTIVE,+ InputStatus_CREATING,+ InputStatus_DELETING,+ InputStatus_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype InputStatus = InputStatus'+ { fromInputStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern InputStatus_ACTIVE :: InputStatus+pattern InputStatus_ACTIVE = InputStatus' "ACTIVE"++pattern InputStatus_CREATING :: InputStatus+pattern InputStatus_CREATING = InputStatus' "CREATING"++pattern InputStatus_DELETING :: InputStatus+pattern InputStatus_DELETING = InputStatus' "DELETING"++pattern InputStatus_UPDATING :: InputStatus+pattern InputStatus_UPDATING = InputStatus' "UPDATING"++{-# COMPLETE+ InputStatus_ACTIVE,+ InputStatus_CREATING,+ InputStatus_DELETING,+ InputStatus_UPDATING,+ InputStatus'+ #-}
+ gen/Amazonka/IoTEvents/Types/InputSummary.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.InputSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.InputSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.InputStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about the input.+--+-- /See:/ 'newInputSummary' smart constructor.+data InputSummary = InputSummary'+ { -- | The time the input was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the input.+ inputArn :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the input.+ inputDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the input.+ inputName :: Prelude.Maybe Prelude.Text,+ -- | The last time the input was updated.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The status of the input.+ status :: Prelude.Maybe InputStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'inputSummary_creationTime' - The time the input was created.+--+-- 'inputArn', 'inputSummary_inputArn' - The ARN of the input.+--+-- 'inputDescription', 'inputSummary_inputDescription' - A brief description of the input.+--+-- 'inputName', 'inputSummary_inputName' - The name of the input.+--+-- 'lastUpdateTime', 'inputSummary_lastUpdateTime' - The last time the input was updated.+--+-- 'status', 'inputSummary_status' - The status of the input.+newInputSummary ::+ InputSummary+newInputSummary =+ InputSummary'+ { creationTime = Prelude.Nothing,+ inputArn = Prelude.Nothing,+ inputDescription = Prelude.Nothing,+ inputName = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The time the input was created.+inputSummary_creationTime :: Lens.Lens' InputSummary (Prelude.Maybe Prelude.UTCTime)+inputSummary_creationTime = Lens.lens (\InputSummary' {creationTime} -> creationTime) (\s@InputSummary' {} a -> s {creationTime = a} :: InputSummary) Prelude.. Lens.mapping Data._Time++-- | The ARN of the input.+inputSummary_inputArn :: Lens.Lens' InputSummary (Prelude.Maybe Prelude.Text)+inputSummary_inputArn = Lens.lens (\InputSummary' {inputArn} -> inputArn) (\s@InputSummary' {} a -> s {inputArn = a} :: InputSummary)++-- | A brief description of the input.+inputSummary_inputDescription :: Lens.Lens' InputSummary (Prelude.Maybe Prelude.Text)+inputSummary_inputDescription = Lens.lens (\InputSummary' {inputDescription} -> inputDescription) (\s@InputSummary' {} a -> s {inputDescription = a} :: InputSummary)++-- | The name of the input.+inputSummary_inputName :: Lens.Lens' InputSummary (Prelude.Maybe Prelude.Text)+inputSummary_inputName = Lens.lens (\InputSummary' {inputName} -> inputName) (\s@InputSummary' {} a -> s {inputName = a} :: InputSummary)++-- | The last time the input was updated.+inputSummary_lastUpdateTime :: Lens.Lens' InputSummary (Prelude.Maybe Prelude.UTCTime)+inputSummary_lastUpdateTime = Lens.lens (\InputSummary' {lastUpdateTime} -> lastUpdateTime) (\s@InputSummary' {} a -> s {lastUpdateTime = a} :: InputSummary) Prelude.. Lens.mapping Data._Time++-- | The status of the input.+inputSummary_status :: Lens.Lens' InputSummary (Prelude.Maybe InputStatus)+inputSummary_status = Lens.lens (\InputSummary' {status} -> status) (\s@InputSummary' {} a -> s {status = a} :: InputSummary)++instance Data.FromJSON InputSummary where+ parseJSON =+ Data.withObject+ "InputSummary"+ ( \x ->+ InputSummary'+ Prelude.<$> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "inputArn")+ Prelude.<*> (x Data..:? "inputDescription")+ Prelude.<*> (x Data..:? "inputName")+ Prelude.<*> (x Data..:? "lastUpdateTime")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable InputSummary where+ hashWithSalt _salt InputSummary' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` inputArn+ `Prelude.hashWithSalt` inputDescription+ `Prelude.hashWithSalt` inputName+ `Prelude.hashWithSalt` lastUpdateTime+ `Prelude.hashWithSalt` status++instance Prelude.NFData InputSummary where+ rnf InputSummary' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf inputArn+ `Prelude.seq` Prelude.rnf inputDescription+ `Prelude.seq` Prelude.rnf inputName+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/IoTEvents/Types/IotEventsAction.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.IotEventsAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.IotEventsAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Sends an AWS IoT Events input, passing in information about the detector+-- model instance and the event that triggered the action.+--+-- /See:/ 'newIotEventsAction' smart constructor.+data IotEventsAction = IotEventsAction'+ { -- | You can configure the action payload when you send a message to an AWS+ -- IoT Events input.+ payload :: Prelude.Maybe Payload,+ -- | The name of the AWS IoT Events input where the data is sent.+ inputName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IotEventsAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'iotEventsAction_payload' - You can configure the action payload when you send a message to an AWS+-- IoT Events input.+--+-- 'inputName', 'iotEventsAction_inputName' - The name of the AWS IoT Events input where the data is sent.+newIotEventsAction ::+ -- | 'inputName'+ Prelude.Text ->+ IotEventsAction+newIotEventsAction pInputName_ =+ IotEventsAction'+ { payload = Prelude.Nothing,+ inputName = pInputName_+ }++-- | You can configure the action payload when you send a message to an AWS+-- IoT Events input.+iotEventsAction_payload :: Lens.Lens' IotEventsAction (Prelude.Maybe Payload)+iotEventsAction_payload = Lens.lens (\IotEventsAction' {payload} -> payload) (\s@IotEventsAction' {} a -> s {payload = a} :: IotEventsAction)++-- | The name of the AWS IoT Events input where the data is sent.+iotEventsAction_inputName :: Lens.Lens' IotEventsAction Prelude.Text+iotEventsAction_inputName = Lens.lens (\IotEventsAction' {inputName} -> inputName) (\s@IotEventsAction' {} a -> s {inputName = a} :: IotEventsAction)++instance Data.FromJSON IotEventsAction where+ parseJSON =+ Data.withObject+ "IotEventsAction"+ ( \x ->+ IotEventsAction'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..: "inputName")+ )++instance Prelude.Hashable IotEventsAction where+ hashWithSalt _salt IotEventsAction' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` inputName++instance Prelude.NFData IotEventsAction where+ rnf IotEventsAction' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf inputName++instance Data.ToJSON IotEventsAction where+ toJSON IotEventsAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ Prelude.Just ("inputName" Data..= inputName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/IotEventsInputIdentifier.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.IotEventsInputIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.IotEventsInputIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The identifier of the input routed to AWS IoT Events.+--+-- /See:/ 'newIotEventsInputIdentifier' smart constructor.+data IotEventsInputIdentifier = IotEventsInputIdentifier'+ { -- | The name of the input routed to AWS IoT Events.+ inputName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IotEventsInputIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputName', 'iotEventsInputIdentifier_inputName' - The name of the input routed to AWS IoT Events.+newIotEventsInputIdentifier ::+ -- | 'inputName'+ Prelude.Text ->+ IotEventsInputIdentifier+newIotEventsInputIdentifier pInputName_ =+ IotEventsInputIdentifier' {inputName = pInputName_}++-- | The name of the input routed to AWS IoT Events.+iotEventsInputIdentifier_inputName :: Lens.Lens' IotEventsInputIdentifier Prelude.Text+iotEventsInputIdentifier_inputName = Lens.lens (\IotEventsInputIdentifier' {inputName} -> inputName) (\s@IotEventsInputIdentifier' {} a -> s {inputName = a} :: IotEventsInputIdentifier)++instance Prelude.Hashable IotEventsInputIdentifier where+ hashWithSalt _salt IotEventsInputIdentifier' {..} =+ _salt `Prelude.hashWithSalt` inputName++instance Prelude.NFData IotEventsInputIdentifier where+ rnf IotEventsInputIdentifier' {..} =+ Prelude.rnf inputName++instance Data.ToJSON IotEventsInputIdentifier where+ toJSON IotEventsInputIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("inputName" Data..= inputName)]+ )
+ gen/Amazonka/IoTEvents/Types/IotSiteWiseAction.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.IotSiteWiseAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.IotSiteWiseAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.AssetPropertyValue+import qualified Amazonka.Prelude as Prelude++-- | Sends information about the detector model instance and the event that+-- triggered the action to a specified asset property in AWS IoT SiteWise.+--+-- You must use expressions for all parameters in @IotSiteWiseAction@. The+-- expressions accept literals, operators, functions, references, and+-- substitutions templates.+--+-- __Examples__+--+-- - For literal values, the expressions must contain single quotes. For+-- example, the value for the @propertyAlias@ parameter can be+-- @\'\/company\/windfarm\/3\/turbine\/7\/temperature\'@.+--+-- - For references, you must specify either variables or input values.+-- For example, the value for the @assetId@ parameter can be+-- @$input.TurbineInput.assetId1@.+--+-- - For a substitution template, you must use @${}@, and the template+-- must be in single quotes. A substitution template can also contain a+-- combination of literals, operators, functions, references, and+-- substitution templates.+--+-- In the following example, the value for the @propertyAlias@+-- parameter uses a substitution template.+--+-- @\'company\/windfarm\/${$input.TemperatureInput.sensorData.windfarmID}\/turbine\/ ${$input.TemperatureInput.sensorData.turbineID}\/temperature\'@+--+-- You must specify either @propertyAlias@ or both @assetId@ and+-- @propertyId@ to identify the target asset property in AWS IoT SiteWise.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html Expressions>+-- in the /AWS IoT Events Developer Guide/.+--+-- /See:/ 'newIotSiteWiseAction' smart constructor.+data IotSiteWiseAction = IotSiteWiseAction'+ { -- | The ID of the asset that has the specified property.+ assetId :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier for this entry. You can use the entry ID to track+ -- which data entry causes an error in case of failure. The default is a+ -- new unique identifier.+ entryId :: Prelude.Maybe Prelude.Text,+ -- | The alias of the asset property.+ propertyAlias :: Prelude.Maybe Prelude.Text,+ -- | The ID of the asset property.+ propertyId :: Prelude.Maybe Prelude.Text,+ -- | The value to send to the asset property. This value contains timestamp,+ -- quality, and value (TQV) information.+ propertyValue :: Prelude.Maybe AssetPropertyValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IotSiteWiseAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'iotSiteWiseAction_assetId' - The ID of the asset that has the specified property.+--+-- 'entryId', 'iotSiteWiseAction_entryId' - A unique identifier for this entry. You can use the entry ID to track+-- which data entry causes an error in case of failure. The default is a+-- new unique identifier.+--+-- 'propertyAlias', 'iotSiteWiseAction_propertyAlias' - The alias of the asset property.+--+-- 'propertyId', 'iotSiteWiseAction_propertyId' - The ID of the asset property.+--+-- 'propertyValue', 'iotSiteWiseAction_propertyValue' - The value to send to the asset property. This value contains timestamp,+-- quality, and value (TQV) information.+newIotSiteWiseAction ::+ IotSiteWiseAction+newIotSiteWiseAction =+ IotSiteWiseAction'+ { assetId = Prelude.Nothing,+ entryId = Prelude.Nothing,+ propertyAlias = Prelude.Nothing,+ propertyId = Prelude.Nothing,+ propertyValue = Prelude.Nothing+ }++-- | The ID of the asset that has the specified property.+iotSiteWiseAction_assetId :: Lens.Lens' IotSiteWiseAction (Prelude.Maybe Prelude.Text)+iotSiteWiseAction_assetId = Lens.lens (\IotSiteWiseAction' {assetId} -> assetId) (\s@IotSiteWiseAction' {} a -> s {assetId = a} :: IotSiteWiseAction)++-- | A unique identifier for this entry. You can use the entry ID to track+-- which data entry causes an error in case of failure. The default is a+-- new unique identifier.+iotSiteWiseAction_entryId :: Lens.Lens' IotSiteWiseAction (Prelude.Maybe Prelude.Text)+iotSiteWiseAction_entryId = Lens.lens (\IotSiteWiseAction' {entryId} -> entryId) (\s@IotSiteWiseAction' {} a -> s {entryId = a} :: IotSiteWiseAction)++-- | The alias of the asset property.+iotSiteWiseAction_propertyAlias :: Lens.Lens' IotSiteWiseAction (Prelude.Maybe Prelude.Text)+iotSiteWiseAction_propertyAlias = Lens.lens (\IotSiteWiseAction' {propertyAlias} -> propertyAlias) (\s@IotSiteWiseAction' {} a -> s {propertyAlias = a} :: IotSiteWiseAction)++-- | The ID of the asset property.+iotSiteWiseAction_propertyId :: Lens.Lens' IotSiteWiseAction (Prelude.Maybe Prelude.Text)+iotSiteWiseAction_propertyId = Lens.lens (\IotSiteWiseAction' {propertyId} -> propertyId) (\s@IotSiteWiseAction' {} a -> s {propertyId = a} :: IotSiteWiseAction)++-- | The value to send to the asset property. This value contains timestamp,+-- quality, and value (TQV) information.+iotSiteWiseAction_propertyValue :: Lens.Lens' IotSiteWiseAction (Prelude.Maybe AssetPropertyValue)+iotSiteWiseAction_propertyValue = Lens.lens (\IotSiteWiseAction' {propertyValue} -> propertyValue) (\s@IotSiteWiseAction' {} a -> s {propertyValue = a} :: IotSiteWiseAction)++instance Data.FromJSON IotSiteWiseAction where+ parseJSON =+ Data.withObject+ "IotSiteWiseAction"+ ( \x ->+ IotSiteWiseAction'+ Prelude.<$> (x Data..:? "assetId")+ Prelude.<*> (x Data..:? "entryId")+ Prelude.<*> (x Data..:? "propertyAlias")+ Prelude.<*> (x Data..:? "propertyId")+ Prelude.<*> (x Data..:? "propertyValue")+ )++instance Prelude.Hashable IotSiteWiseAction where+ hashWithSalt _salt IotSiteWiseAction' {..} =+ _salt+ `Prelude.hashWithSalt` assetId+ `Prelude.hashWithSalt` entryId+ `Prelude.hashWithSalt` propertyAlias+ `Prelude.hashWithSalt` propertyId+ `Prelude.hashWithSalt` propertyValue++instance Prelude.NFData IotSiteWiseAction where+ rnf IotSiteWiseAction' {..} =+ Prelude.rnf assetId+ `Prelude.seq` Prelude.rnf entryId+ `Prelude.seq` Prelude.rnf propertyAlias+ `Prelude.seq` Prelude.rnf propertyId+ `Prelude.seq` Prelude.rnf propertyValue++instance Data.ToJSON IotSiteWiseAction where+ toJSON IotSiteWiseAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assetId" Data..=) Prelude.<$> assetId,+ ("entryId" Data..=) Prelude.<$> entryId,+ ("propertyAlias" Data..=) Prelude.<$> propertyAlias,+ ("propertyId" Data..=) Prelude.<$> propertyId,+ ("propertyValue" Data..=) Prelude.<$> propertyValue+ ]+ )
+ gen/Amazonka/IoTEvents/Types/IotSiteWiseAssetModelPropertyIdentifier.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.IotSiteWiseAssetModelPropertyIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.IotSiteWiseAssetModelPropertyIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The asset model property identifer of the input routed from AWS IoT+-- SiteWise.+--+-- /See:/ 'newIotSiteWiseAssetModelPropertyIdentifier' smart constructor.+data IotSiteWiseAssetModelPropertyIdentifier = IotSiteWiseAssetModelPropertyIdentifier'+ { -- | The ID of the AWS IoT SiteWise asset model.+ assetModelId :: Prelude.Text,+ -- | The ID of the AWS IoT SiteWise asset property.+ propertyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IotSiteWiseAssetModelPropertyIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetModelId', 'iotSiteWiseAssetModelPropertyIdentifier_assetModelId' - The ID of the AWS IoT SiteWise asset model.+--+-- 'propertyId', 'iotSiteWiseAssetModelPropertyIdentifier_propertyId' - The ID of the AWS IoT SiteWise asset property.+newIotSiteWiseAssetModelPropertyIdentifier ::+ -- | 'assetModelId'+ Prelude.Text ->+ -- | 'propertyId'+ Prelude.Text ->+ IotSiteWiseAssetModelPropertyIdentifier+newIotSiteWiseAssetModelPropertyIdentifier+ pAssetModelId_+ pPropertyId_ =+ IotSiteWiseAssetModelPropertyIdentifier'+ { assetModelId =+ pAssetModelId_,+ propertyId = pPropertyId_+ }++-- | The ID of the AWS IoT SiteWise asset model.+iotSiteWiseAssetModelPropertyIdentifier_assetModelId :: Lens.Lens' IotSiteWiseAssetModelPropertyIdentifier Prelude.Text+iotSiteWiseAssetModelPropertyIdentifier_assetModelId = Lens.lens (\IotSiteWiseAssetModelPropertyIdentifier' {assetModelId} -> assetModelId) (\s@IotSiteWiseAssetModelPropertyIdentifier' {} a -> s {assetModelId = a} :: IotSiteWiseAssetModelPropertyIdentifier)++-- | The ID of the AWS IoT SiteWise asset property.+iotSiteWiseAssetModelPropertyIdentifier_propertyId :: Lens.Lens' IotSiteWiseAssetModelPropertyIdentifier Prelude.Text+iotSiteWiseAssetModelPropertyIdentifier_propertyId = Lens.lens (\IotSiteWiseAssetModelPropertyIdentifier' {propertyId} -> propertyId) (\s@IotSiteWiseAssetModelPropertyIdentifier' {} a -> s {propertyId = a} :: IotSiteWiseAssetModelPropertyIdentifier)++instance+ Prelude.Hashable+ IotSiteWiseAssetModelPropertyIdentifier+ where+ hashWithSalt+ _salt+ IotSiteWiseAssetModelPropertyIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` assetModelId+ `Prelude.hashWithSalt` propertyId++instance+ Prelude.NFData+ IotSiteWiseAssetModelPropertyIdentifier+ where+ rnf IotSiteWiseAssetModelPropertyIdentifier' {..} =+ Prelude.rnf assetModelId+ `Prelude.seq` Prelude.rnf propertyId++instance+ Data.ToJSON+ IotSiteWiseAssetModelPropertyIdentifier+ where+ toJSON IotSiteWiseAssetModelPropertyIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("assetModelId" Data..= assetModelId),+ Prelude.Just ("propertyId" Data..= propertyId)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/IotSiteWiseInputIdentifier.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.IotSiteWiseInputIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.IotSiteWiseInputIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.IotSiteWiseAssetModelPropertyIdentifier+import qualified Amazonka.Prelude as Prelude++-- | The identifer of the input routed from AWS IoT SiteWise.+--+-- /See:/ 'newIotSiteWiseInputIdentifier' smart constructor.+data IotSiteWiseInputIdentifier = IotSiteWiseInputIdentifier'+ { -- | The identifier of the AWS IoT SiteWise asset model property.+ iotSiteWiseAssetModelPropertyIdentifier :: Prelude.Maybe IotSiteWiseAssetModelPropertyIdentifier+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IotSiteWiseInputIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iotSiteWiseAssetModelPropertyIdentifier', 'iotSiteWiseInputIdentifier_iotSiteWiseAssetModelPropertyIdentifier' - The identifier of the AWS IoT SiteWise asset model property.+newIotSiteWiseInputIdentifier ::+ IotSiteWiseInputIdentifier+newIotSiteWiseInputIdentifier =+ IotSiteWiseInputIdentifier'+ { iotSiteWiseAssetModelPropertyIdentifier =+ Prelude.Nothing+ }++-- | The identifier of the AWS IoT SiteWise asset model property.+iotSiteWiseInputIdentifier_iotSiteWiseAssetModelPropertyIdentifier :: Lens.Lens' IotSiteWiseInputIdentifier (Prelude.Maybe IotSiteWiseAssetModelPropertyIdentifier)+iotSiteWiseInputIdentifier_iotSiteWiseAssetModelPropertyIdentifier = Lens.lens (\IotSiteWiseInputIdentifier' {iotSiteWiseAssetModelPropertyIdentifier} -> iotSiteWiseAssetModelPropertyIdentifier) (\s@IotSiteWiseInputIdentifier' {} a -> s {iotSiteWiseAssetModelPropertyIdentifier = a} :: IotSiteWiseInputIdentifier)++instance Prelude.Hashable IotSiteWiseInputIdentifier where+ hashWithSalt _salt IotSiteWiseInputIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` iotSiteWiseAssetModelPropertyIdentifier++instance Prelude.NFData IotSiteWiseInputIdentifier where+ rnf IotSiteWiseInputIdentifier' {..} =+ Prelude.rnf iotSiteWiseAssetModelPropertyIdentifier++instance Data.ToJSON IotSiteWiseInputIdentifier where+ toJSON IotSiteWiseInputIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("iotSiteWiseAssetModelPropertyIdentifier" Data..=)+ Prelude.<$> iotSiteWiseAssetModelPropertyIdentifier+ ]+ )
+ gen/Amazonka/IoTEvents/Types/IotTopicPublishAction.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.IotTopicPublishAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.IotTopicPublishAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Information required to publish the MQTT message through the AWS IoT+-- message broker.+--+-- /See:/ 'newIotTopicPublishAction' smart constructor.+data IotTopicPublishAction = IotTopicPublishAction'+ { -- | You can configure the action payload when you publish a message to an+ -- AWS IoT Core topic.+ payload :: Prelude.Maybe Payload,+ -- | The MQTT topic of the message. You can use a string expression that+ -- includes variables (@$variable.\<variable-name>@) and input values+ -- (@$input.\<input-name>.\<path-to-datum>@) as the topic string.+ mqttTopic :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IotTopicPublishAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'iotTopicPublishAction_payload' - You can configure the action payload when you publish a message to an+-- AWS IoT Core topic.+--+-- 'mqttTopic', 'iotTopicPublishAction_mqttTopic' - The MQTT topic of the message. You can use a string expression that+-- includes variables (@$variable.\<variable-name>@) and input values+-- (@$input.\<input-name>.\<path-to-datum>@) as the topic string.+newIotTopicPublishAction ::+ -- | 'mqttTopic'+ Prelude.Text ->+ IotTopicPublishAction+newIotTopicPublishAction pMqttTopic_ =+ IotTopicPublishAction'+ { payload = Prelude.Nothing,+ mqttTopic = pMqttTopic_+ }++-- | You can configure the action payload when you publish a message to an+-- AWS IoT Core topic.+iotTopicPublishAction_payload :: Lens.Lens' IotTopicPublishAction (Prelude.Maybe Payload)+iotTopicPublishAction_payload = Lens.lens (\IotTopicPublishAction' {payload} -> payload) (\s@IotTopicPublishAction' {} a -> s {payload = a} :: IotTopicPublishAction)++-- | The MQTT topic of the message. You can use a string expression that+-- includes variables (@$variable.\<variable-name>@) and input values+-- (@$input.\<input-name>.\<path-to-datum>@) as the topic string.+iotTopicPublishAction_mqttTopic :: Lens.Lens' IotTopicPublishAction Prelude.Text+iotTopicPublishAction_mqttTopic = Lens.lens (\IotTopicPublishAction' {mqttTopic} -> mqttTopic) (\s@IotTopicPublishAction' {} a -> s {mqttTopic = a} :: IotTopicPublishAction)++instance Data.FromJSON IotTopicPublishAction where+ parseJSON =+ Data.withObject+ "IotTopicPublishAction"+ ( \x ->+ IotTopicPublishAction'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..: "mqttTopic")+ )++instance Prelude.Hashable IotTopicPublishAction where+ hashWithSalt _salt IotTopicPublishAction' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` mqttTopic++instance Prelude.NFData IotTopicPublishAction where+ rnf IotTopicPublishAction' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf mqttTopic++instance Data.ToJSON IotTopicPublishAction where+ toJSON IotTopicPublishAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ Prelude.Just ("mqttTopic" Data..= mqttTopic)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/LambdaAction.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.LambdaAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.LambdaAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Calls a Lambda function, passing in information about the detector model+-- instance and the event that triggered the action.+--+-- /See:/ 'newLambdaAction' smart constructor.+data LambdaAction = LambdaAction'+ { -- | You can configure the action payload when you send a message to a Lambda+ -- function.+ payload :: Prelude.Maybe Payload,+ -- | The ARN of the Lambda function that is executed.+ functionArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'lambdaAction_payload' - You can configure the action payload when you send a message to a Lambda+-- function.+--+-- 'functionArn', 'lambdaAction_functionArn' - The ARN of the Lambda function that is executed.+newLambdaAction ::+ -- | 'functionArn'+ Prelude.Text ->+ LambdaAction+newLambdaAction pFunctionArn_ =+ LambdaAction'+ { payload = Prelude.Nothing,+ functionArn = pFunctionArn_+ }++-- | You can configure the action payload when you send a message to a Lambda+-- function.+lambdaAction_payload :: Lens.Lens' LambdaAction (Prelude.Maybe Payload)+lambdaAction_payload = Lens.lens (\LambdaAction' {payload} -> payload) (\s@LambdaAction' {} a -> s {payload = a} :: LambdaAction)++-- | The ARN of the Lambda function that is executed.+lambdaAction_functionArn :: Lens.Lens' LambdaAction Prelude.Text+lambdaAction_functionArn = Lens.lens (\LambdaAction' {functionArn} -> functionArn) (\s@LambdaAction' {} a -> s {functionArn = a} :: LambdaAction)++instance Data.FromJSON LambdaAction where+ parseJSON =+ Data.withObject+ "LambdaAction"+ ( \x ->+ LambdaAction'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..: "functionArn")+ )++instance Prelude.Hashable LambdaAction where+ hashWithSalt _salt LambdaAction' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` functionArn++instance Prelude.NFData LambdaAction where+ rnf LambdaAction' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf functionArn++instance Data.ToJSON LambdaAction where+ toJSON LambdaAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ Prelude.Just ("functionArn" Data..= functionArn)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/LoggingLevel.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.LoggingLevel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.LoggingLevel+ ( LoggingLevel+ ( ..,+ LoggingLevel_DEBUG,+ LoggingLevel_ERROR,+ LoggingLevel_INFO+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LoggingLevel = LoggingLevel'+ { fromLoggingLevel ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern LoggingLevel_DEBUG :: LoggingLevel+pattern LoggingLevel_DEBUG = LoggingLevel' "DEBUG"++pattern LoggingLevel_ERROR :: LoggingLevel+pattern LoggingLevel_ERROR = LoggingLevel' "ERROR"++pattern LoggingLevel_INFO :: LoggingLevel+pattern LoggingLevel_INFO = LoggingLevel' "INFO"++{-# COMPLETE+ LoggingLevel_DEBUG,+ LoggingLevel_ERROR,+ LoggingLevel_INFO,+ LoggingLevel'+ #-}
+ gen/Amazonka/IoTEvents/Types/LoggingOptions.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.LoggingOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.LoggingOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.DetectorDebugOption+import Amazonka.IoTEvents.Types.LoggingLevel+import qualified Amazonka.Prelude as Prelude++-- | The values of the AWS IoT Events logging options.+--+-- /See:/ 'newLoggingOptions' smart constructor.+data LoggingOptions = LoggingOptions'+ { -- | Information that identifies those detector models and their detectors+ -- (instances) for which the logging level is given.+ detectorDebugOptions :: Prelude.Maybe (Prelude.NonEmpty DetectorDebugOption),+ -- | The ARN of the role that grants permission to AWS IoT Events to perform+ -- logging.+ roleArn :: Prelude.Text,+ -- | The logging level.+ level :: LoggingLevel,+ -- | If TRUE, logging is enabled for AWS IoT Events.+ enabled :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorDebugOptions', 'loggingOptions_detectorDebugOptions' - Information that identifies those detector models and their detectors+-- (instances) for which the logging level is given.+--+-- 'roleArn', 'loggingOptions_roleArn' - The ARN of the role that grants permission to AWS IoT Events to perform+-- logging.+--+-- 'level', 'loggingOptions_level' - The logging level.+--+-- 'enabled', 'loggingOptions_enabled' - If TRUE, logging is enabled for AWS IoT Events.+newLoggingOptions ::+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'level'+ LoggingLevel ->+ -- | 'enabled'+ Prelude.Bool ->+ LoggingOptions+newLoggingOptions pRoleArn_ pLevel_ pEnabled_ =+ LoggingOptions'+ { detectorDebugOptions =+ Prelude.Nothing,+ roleArn = pRoleArn_,+ level = pLevel_,+ enabled = pEnabled_+ }++-- | Information that identifies those detector models and their detectors+-- (instances) for which the logging level is given.+loggingOptions_detectorDebugOptions :: Lens.Lens' LoggingOptions (Prelude.Maybe (Prelude.NonEmpty DetectorDebugOption))+loggingOptions_detectorDebugOptions = Lens.lens (\LoggingOptions' {detectorDebugOptions} -> detectorDebugOptions) (\s@LoggingOptions' {} a -> s {detectorDebugOptions = a} :: LoggingOptions) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the role that grants permission to AWS IoT Events to perform+-- logging.+loggingOptions_roleArn :: Lens.Lens' LoggingOptions Prelude.Text+loggingOptions_roleArn = Lens.lens (\LoggingOptions' {roleArn} -> roleArn) (\s@LoggingOptions' {} a -> s {roleArn = a} :: LoggingOptions)++-- | The logging level.+loggingOptions_level :: Lens.Lens' LoggingOptions LoggingLevel+loggingOptions_level = Lens.lens (\LoggingOptions' {level} -> level) (\s@LoggingOptions' {} a -> s {level = a} :: LoggingOptions)++-- | If TRUE, logging is enabled for AWS IoT Events.+loggingOptions_enabled :: Lens.Lens' LoggingOptions Prelude.Bool+loggingOptions_enabled = Lens.lens (\LoggingOptions' {enabled} -> enabled) (\s@LoggingOptions' {} a -> s {enabled = a} :: LoggingOptions)++instance Data.FromJSON LoggingOptions where+ parseJSON =+ Data.withObject+ "LoggingOptions"+ ( \x ->+ LoggingOptions'+ Prelude.<$> (x Data..:? "detectorDebugOptions")+ Prelude.<*> (x Data..: "roleArn")+ Prelude.<*> (x Data..: "level")+ Prelude.<*> (x Data..: "enabled")+ )++instance Prelude.Hashable LoggingOptions where+ hashWithSalt _salt LoggingOptions' {..} =+ _salt+ `Prelude.hashWithSalt` detectorDebugOptions+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` level+ `Prelude.hashWithSalt` enabled++instance Prelude.NFData LoggingOptions where+ rnf LoggingOptions' {..} =+ Prelude.rnf detectorDebugOptions+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf level+ `Prelude.seq` Prelude.rnf enabled++instance Data.ToJSON LoggingOptions where+ toJSON LoggingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("detectorDebugOptions" Data..=)+ Prelude.<$> detectorDebugOptions,+ Prelude.Just ("roleArn" Data..= roleArn),+ Prelude.Just ("level" Data..= level),+ Prelude.Just ("enabled" Data..= enabled)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/NotificationAction.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.NotificationAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.NotificationAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.EmailConfiguration+import Amazonka.IoTEvents.Types.NotificationTargetActions+import Amazonka.IoTEvents.Types.SMSConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Contains the notification settings of an alarm model. The settings apply+-- to all alarms that were created based on this alarm model.+--+-- /See:/ 'newNotificationAction' smart constructor.+data NotificationAction = NotificationAction'+ { -- | Contains the configuration information of email notifications.+ emailConfigurations :: Prelude.Maybe (Prelude.NonEmpty EmailConfiguration),+ -- | Contains the configuration information of SMS notifications.+ smsConfigurations :: Prelude.Maybe (Prelude.NonEmpty SMSConfiguration),+ -- | Specifies an AWS Lambda function to manage alarm notifications. You can+ -- create one or use the+ -- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html AWS Lambda function provided by AWS IoT Events>.+ action :: NotificationTargetActions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'emailConfigurations', 'notificationAction_emailConfigurations' - Contains the configuration information of email notifications.+--+-- 'smsConfigurations', 'notificationAction_smsConfigurations' - Contains the configuration information of SMS notifications.+--+-- 'action', 'notificationAction_action' - Specifies an AWS Lambda function to manage alarm notifications. You can+-- create one or use the+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html AWS Lambda function provided by AWS IoT Events>.+newNotificationAction ::+ -- | 'action'+ NotificationTargetActions ->+ NotificationAction+newNotificationAction pAction_ =+ NotificationAction'+ { emailConfigurations =+ Prelude.Nothing,+ smsConfigurations = Prelude.Nothing,+ action = pAction_+ }++-- | Contains the configuration information of email notifications.+notificationAction_emailConfigurations :: Lens.Lens' NotificationAction (Prelude.Maybe (Prelude.NonEmpty EmailConfiguration))+notificationAction_emailConfigurations = Lens.lens (\NotificationAction' {emailConfigurations} -> emailConfigurations) (\s@NotificationAction' {} a -> s {emailConfigurations = a} :: NotificationAction) Prelude.. Lens.mapping Lens.coerced++-- | Contains the configuration information of SMS notifications.+notificationAction_smsConfigurations :: Lens.Lens' NotificationAction (Prelude.Maybe (Prelude.NonEmpty SMSConfiguration))+notificationAction_smsConfigurations = Lens.lens (\NotificationAction' {smsConfigurations} -> smsConfigurations) (\s@NotificationAction' {} a -> s {smsConfigurations = a} :: NotificationAction) Prelude.. Lens.mapping Lens.coerced++-- | Specifies an AWS Lambda function to manage alarm notifications. You can+-- create one or use the+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html AWS Lambda function provided by AWS IoT Events>.+notificationAction_action :: Lens.Lens' NotificationAction NotificationTargetActions+notificationAction_action = Lens.lens (\NotificationAction' {action} -> action) (\s@NotificationAction' {} a -> s {action = a} :: NotificationAction)++instance Data.FromJSON NotificationAction where+ parseJSON =+ Data.withObject+ "NotificationAction"+ ( \x ->+ NotificationAction'+ Prelude.<$> (x Data..:? "emailConfigurations")+ Prelude.<*> (x Data..:? "smsConfigurations")+ Prelude.<*> (x Data..: "action")+ )++instance Prelude.Hashable NotificationAction where+ hashWithSalt _salt NotificationAction' {..} =+ _salt+ `Prelude.hashWithSalt` emailConfigurations+ `Prelude.hashWithSalt` smsConfigurations+ `Prelude.hashWithSalt` action++instance Prelude.NFData NotificationAction where+ rnf NotificationAction' {..} =+ Prelude.rnf emailConfigurations+ `Prelude.seq` Prelude.rnf smsConfigurations+ `Prelude.seq` Prelude.rnf action++instance Data.ToJSON NotificationAction where+ toJSON NotificationAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("emailConfigurations" Data..=)+ Prelude.<$> emailConfigurations,+ ("smsConfigurations" Data..=)+ Prelude.<$> smsConfigurations,+ Prelude.Just ("action" Data..= action)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/NotificationTargetActions.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.NotificationTargetActions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.NotificationTargetActions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.LambdaAction+import qualified Amazonka.Prelude as Prelude++-- | Specifies an AWS Lambda function to manage alarm notifications. You can+-- create one or use the+-- <https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html AWS Lambda function provided by AWS IoT Events>.+--+-- /See:/ 'newNotificationTargetActions' smart constructor.+data NotificationTargetActions = NotificationTargetActions'+ { lambdaAction :: Prelude.Maybe LambdaAction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationTargetActions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lambdaAction', 'notificationTargetActions_lambdaAction' - Undocumented member.+newNotificationTargetActions ::+ NotificationTargetActions+newNotificationTargetActions =+ NotificationTargetActions'+ { lambdaAction =+ Prelude.Nothing+ }++-- | Undocumented member.+notificationTargetActions_lambdaAction :: Lens.Lens' NotificationTargetActions (Prelude.Maybe LambdaAction)+notificationTargetActions_lambdaAction = Lens.lens (\NotificationTargetActions' {lambdaAction} -> lambdaAction) (\s@NotificationTargetActions' {} a -> s {lambdaAction = a} :: NotificationTargetActions)++instance Data.FromJSON NotificationTargetActions where+ parseJSON =+ Data.withObject+ "NotificationTargetActions"+ ( \x ->+ NotificationTargetActions'+ Prelude.<$> (x Data..:? "lambdaAction")+ )++instance Prelude.Hashable NotificationTargetActions where+ hashWithSalt _salt NotificationTargetActions' {..} =+ _salt `Prelude.hashWithSalt` lambdaAction++instance Prelude.NFData NotificationTargetActions where+ rnf NotificationTargetActions' {..} =+ Prelude.rnf lambdaAction++instance Data.ToJSON NotificationTargetActions where+ toJSON NotificationTargetActions' {..} =+ Data.object+ ( Prelude.catMaybes+ [("lambdaAction" Data..=) Prelude.<$> lambdaAction]+ )
+ gen/Amazonka/IoTEvents/Types/OnEnterLifecycle.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.OnEnterLifecycle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.OnEnterLifecycle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Event+import qualified Amazonka.Prelude as Prelude++-- | When entering this state, perform these @actions@ if the @condition@ is+-- TRUE.+--+-- /See:/ 'newOnEnterLifecycle' smart constructor.+data OnEnterLifecycle = OnEnterLifecycle'+ { -- | Specifies the actions that are performed when the state is entered and+ -- the @condition@ is @TRUE@.+ events :: Prelude.Maybe [Event]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OnEnterLifecycle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'onEnterLifecycle_events' - Specifies the actions that are performed when the state is entered and+-- the @condition@ is @TRUE@.+newOnEnterLifecycle ::+ OnEnterLifecycle+newOnEnterLifecycle =+ OnEnterLifecycle' {events = Prelude.Nothing}++-- | Specifies the actions that are performed when the state is entered and+-- the @condition@ is @TRUE@.+onEnterLifecycle_events :: Lens.Lens' OnEnterLifecycle (Prelude.Maybe [Event])+onEnterLifecycle_events = Lens.lens (\OnEnterLifecycle' {events} -> events) (\s@OnEnterLifecycle' {} a -> s {events = a} :: OnEnterLifecycle) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON OnEnterLifecycle where+ parseJSON =+ Data.withObject+ "OnEnterLifecycle"+ ( \x ->+ OnEnterLifecycle'+ Prelude.<$> (x Data..:? "events" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable OnEnterLifecycle where+ hashWithSalt _salt OnEnterLifecycle' {..} =+ _salt `Prelude.hashWithSalt` events++instance Prelude.NFData OnEnterLifecycle where+ rnf OnEnterLifecycle' {..} = Prelude.rnf events++instance Data.ToJSON OnEnterLifecycle where+ toJSON OnEnterLifecycle' {..} =+ Data.object+ ( Prelude.catMaybes+ [("events" Data..=) Prelude.<$> events]+ )
+ gen/Amazonka/IoTEvents/Types/OnExitLifecycle.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.OnExitLifecycle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.OnExitLifecycle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Event+import qualified Amazonka.Prelude as Prelude++-- | When exiting this state, perform these @actions@ if the specified+-- @condition@ is @TRUE@.+--+-- /See:/ 'newOnExitLifecycle' smart constructor.+data OnExitLifecycle = OnExitLifecycle'+ { -- | Specifies the @actions@ that are performed when the state is exited and+ -- the @condition@ is @TRUE@.+ events :: Prelude.Maybe [Event]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OnExitLifecycle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'onExitLifecycle_events' - Specifies the @actions@ that are performed when the state is exited and+-- the @condition@ is @TRUE@.+newOnExitLifecycle ::+ OnExitLifecycle+newOnExitLifecycle =+ OnExitLifecycle' {events = Prelude.Nothing}++-- | Specifies the @actions@ that are performed when the state is exited and+-- the @condition@ is @TRUE@.+onExitLifecycle_events :: Lens.Lens' OnExitLifecycle (Prelude.Maybe [Event])+onExitLifecycle_events = Lens.lens (\OnExitLifecycle' {events} -> events) (\s@OnExitLifecycle' {} a -> s {events = a} :: OnExitLifecycle) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON OnExitLifecycle where+ parseJSON =+ Data.withObject+ "OnExitLifecycle"+ ( \x ->+ OnExitLifecycle'+ Prelude.<$> (x Data..:? "events" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable OnExitLifecycle where+ hashWithSalt _salt OnExitLifecycle' {..} =+ _salt `Prelude.hashWithSalt` events++instance Prelude.NFData OnExitLifecycle where+ rnf OnExitLifecycle' {..} = Prelude.rnf events++instance Data.ToJSON OnExitLifecycle where+ toJSON OnExitLifecycle' {..} =+ Data.object+ ( Prelude.catMaybes+ [("events" Data..=) Prelude.<$> events]+ )
+ gen/Amazonka/IoTEvents/Types/OnInputLifecycle.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.OnInputLifecycle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.OnInputLifecycle where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Event+import Amazonka.IoTEvents.Types.TransitionEvent+import qualified Amazonka.Prelude as Prelude++-- | Specifies the actions performed when the @condition@ evaluates to TRUE.+--+-- /See:/ 'newOnInputLifecycle' smart constructor.+data OnInputLifecycle = OnInputLifecycle'+ { -- | Specifies the actions performed when the @condition@ evaluates to TRUE.+ events :: Prelude.Maybe [Event],+ -- | Specifies the actions performed, and the next state entered, when a+ -- @condition@ evaluates to TRUE.+ transitionEvents :: Prelude.Maybe [TransitionEvent]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OnInputLifecycle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'onInputLifecycle_events' - Specifies the actions performed when the @condition@ evaluates to TRUE.+--+-- 'transitionEvents', 'onInputLifecycle_transitionEvents' - Specifies the actions performed, and the next state entered, when a+-- @condition@ evaluates to TRUE.+newOnInputLifecycle ::+ OnInputLifecycle+newOnInputLifecycle =+ OnInputLifecycle'+ { events = Prelude.Nothing,+ transitionEvents = Prelude.Nothing+ }++-- | Specifies the actions performed when the @condition@ evaluates to TRUE.+onInputLifecycle_events :: Lens.Lens' OnInputLifecycle (Prelude.Maybe [Event])+onInputLifecycle_events = Lens.lens (\OnInputLifecycle' {events} -> events) (\s@OnInputLifecycle' {} a -> s {events = a} :: OnInputLifecycle) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the actions performed, and the next state entered, when a+-- @condition@ evaluates to TRUE.+onInputLifecycle_transitionEvents :: Lens.Lens' OnInputLifecycle (Prelude.Maybe [TransitionEvent])+onInputLifecycle_transitionEvents = Lens.lens (\OnInputLifecycle' {transitionEvents} -> transitionEvents) (\s@OnInputLifecycle' {} a -> s {transitionEvents = a} :: OnInputLifecycle) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON OnInputLifecycle where+ parseJSON =+ Data.withObject+ "OnInputLifecycle"+ ( \x ->+ OnInputLifecycle'+ Prelude.<$> (x Data..:? "events" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "transitionEvents"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable OnInputLifecycle where+ hashWithSalt _salt OnInputLifecycle' {..} =+ _salt+ `Prelude.hashWithSalt` events+ `Prelude.hashWithSalt` transitionEvents++instance Prelude.NFData OnInputLifecycle where+ rnf OnInputLifecycle' {..} =+ Prelude.rnf events+ `Prelude.seq` Prelude.rnf transitionEvents++instance Data.ToJSON OnInputLifecycle where+ toJSON OnInputLifecycle' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("events" Data..=) Prelude.<$> events,+ ("transitionEvents" Data..=)+ Prelude.<$> transitionEvents+ ]+ )
+ gen/Amazonka/IoTEvents/Types/Payload.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.Payload+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.Payload where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.PayloadType+import qualified Amazonka.Prelude as Prelude++-- | Information needed to configure the payload.+--+-- By default, AWS IoT Events generates a standard payload in JSON for any+-- action. This action payload contains all attribute-value pairs that have+-- the information about the detector model instance and the event+-- triggered the action. To configure the action payload, you can use+-- @contentExpression@.+--+-- /See:/ 'newPayload' smart constructor.+data Payload = Payload'+ { -- | The content of the payload. You can use a string expression that+ -- includes quoted strings (@\'\<string>\'@), variables+ -- (@$variable.\<variable-name>@), input values+ -- (@$input.\<input-name>.\<path-to-datum>@), string concatenations, and+ -- quoted strings that contain @${}@ as the content. The recommended+ -- maximum size of a content expression is 1 KB.+ contentExpression :: Prelude.Text,+ -- | The value of the payload type can be either @STRING@ or @JSON@.+ type' :: PayloadType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Payload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentExpression', 'payload_contentExpression' - The content of the payload. You can use a string expression that+-- includes quoted strings (@\'\<string>\'@), variables+-- (@$variable.\<variable-name>@), input values+-- (@$input.\<input-name>.\<path-to-datum>@), string concatenations, and+-- quoted strings that contain @${}@ as the content. The recommended+-- maximum size of a content expression is 1 KB.+--+-- 'type'', 'payload_type' - The value of the payload type can be either @STRING@ or @JSON@.+newPayload ::+ -- | 'contentExpression'+ Prelude.Text ->+ -- | 'type''+ PayloadType ->+ Payload+newPayload pContentExpression_ pType_ =+ Payload'+ { contentExpression = pContentExpression_,+ type' = pType_+ }++-- | The content of the payload. You can use a string expression that+-- includes quoted strings (@\'\<string>\'@), variables+-- (@$variable.\<variable-name>@), input values+-- (@$input.\<input-name>.\<path-to-datum>@), string concatenations, and+-- quoted strings that contain @${}@ as the content. The recommended+-- maximum size of a content expression is 1 KB.+payload_contentExpression :: Lens.Lens' Payload Prelude.Text+payload_contentExpression = Lens.lens (\Payload' {contentExpression} -> contentExpression) (\s@Payload' {} a -> s {contentExpression = a} :: Payload)++-- | The value of the payload type can be either @STRING@ or @JSON@.+payload_type :: Lens.Lens' Payload PayloadType+payload_type = Lens.lens (\Payload' {type'} -> type') (\s@Payload' {} a -> s {type' = a} :: Payload)++instance Data.FromJSON Payload where+ parseJSON =+ Data.withObject+ "Payload"+ ( \x ->+ Payload'+ Prelude.<$> (x Data..: "contentExpression")+ Prelude.<*> (x Data..: "type")+ )++instance Prelude.Hashable Payload where+ hashWithSalt _salt Payload' {..} =+ _salt+ `Prelude.hashWithSalt` contentExpression+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Payload where+ rnf Payload' {..} =+ Prelude.rnf contentExpression+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON Payload where+ toJSON Payload' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("contentExpression" Data..= contentExpression),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTEvents/Types/PayloadType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.PayloadType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.PayloadType+ ( PayloadType+ ( ..,+ PayloadType_JSON,+ PayloadType_STRING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PayloadType = PayloadType'+ { fromPayloadType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern PayloadType_JSON :: PayloadType+pattern PayloadType_JSON = PayloadType' "JSON"++pattern PayloadType_STRING :: PayloadType+pattern PayloadType_STRING = PayloadType' "STRING"++{-# COMPLETE+ PayloadType_JSON,+ PayloadType_STRING,+ PayloadType'+ #-}
+ gen/Amazonka/IoTEvents/Types/RecipientDetail.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.RecipientDetail+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.RecipientDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.SSOIdentity+import qualified Amazonka.Prelude as Prelude++-- | The information that identifies the recipient.+--+-- /See:/ 'newRecipientDetail' smart constructor.+data RecipientDetail = RecipientDetail'+ { -- | The AWS Single Sign-On (AWS SSO) authentication information.+ ssoIdentity :: Prelude.Maybe SSOIdentity+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecipientDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ssoIdentity', 'recipientDetail_ssoIdentity' - The AWS Single Sign-On (AWS SSO) authentication information.+newRecipientDetail ::+ RecipientDetail+newRecipientDetail =+ RecipientDetail' {ssoIdentity = Prelude.Nothing}++-- | The AWS Single Sign-On (AWS SSO) authentication information.+recipientDetail_ssoIdentity :: Lens.Lens' RecipientDetail (Prelude.Maybe SSOIdentity)+recipientDetail_ssoIdentity = Lens.lens (\RecipientDetail' {ssoIdentity} -> ssoIdentity) (\s@RecipientDetail' {} a -> s {ssoIdentity = a} :: RecipientDetail)++instance Data.FromJSON RecipientDetail where+ parseJSON =+ Data.withObject+ "RecipientDetail"+ ( \x ->+ RecipientDetail'+ Prelude.<$> (x Data..:? "ssoIdentity")+ )++instance Prelude.Hashable RecipientDetail where+ hashWithSalt _salt RecipientDetail' {..} =+ _salt `Prelude.hashWithSalt` ssoIdentity++instance Prelude.NFData RecipientDetail where+ rnf RecipientDetail' {..} = Prelude.rnf ssoIdentity++instance Data.ToJSON RecipientDetail where+ toJSON RecipientDetail' {..} =+ Data.object+ ( Prelude.catMaybes+ [("ssoIdentity" Data..=) Prelude.<$> ssoIdentity]+ )
+ gen/Amazonka/IoTEvents/Types/ResetTimerAction.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.ResetTimerAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.ResetTimerAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information required to reset the timer. The timer is reset to the+-- previously evaluated result of the duration. The duration expression+-- isn\'t reevaluated when you reset the timer.+--+-- /See:/ 'newResetTimerAction' smart constructor.+data ResetTimerAction = ResetTimerAction'+ { -- | The name of the timer to reset.+ timerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetTimerAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timerName', 'resetTimerAction_timerName' - The name of the timer to reset.+newResetTimerAction ::+ -- | 'timerName'+ Prelude.Text ->+ ResetTimerAction+newResetTimerAction pTimerName_ =+ ResetTimerAction' {timerName = pTimerName_}++-- | The name of the timer to reset.+resetTimerAction_timerName :: Lens.Lens' ResetTimerAction Prelude.Text+resetTimerAction_timerName = Lens.lens (\ResetTimerAction' {timerName} -> timerName) (\s@ResetTimerAction' {} a -> s {timerName = a} :: ResetTimerAction)++instance Data.FromJSON ResetTimerAction where+ parseJSON =+ Data.withObject+ "ResetTimerAction"+ ( \x ->+ ResetTimerAction'+ Prelude.<$> (x Data..: "timerName")+ )++instance Prelude.Hashable ResetTimerAction where+ hashWithSalt _salt ResetTimerAction' {..} =+ _salt `Prelude.hashWithSalt` timerName++instance Prelude.NFData ResetTimerAction where+ rnf ResetTimerAction' {..} = Prelude.rnf timerName++instance Data.ToJSON ResetTimerAction where+ toJSON ResetTimerAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("timerName" Data..= timerName)]+ )
+ gen/Amazonka/IoTEvents/Types/RoutedResource.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.RoutedResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.RoutedResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the routed resource.+--+-- /See:/ 'newRoutedResource' smart constructor.+data RoutedResource = RoutedResource'+ { -- | The ARN of the routed resource. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the routed resource.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RoutedResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'routedResource_arn' - The ARN of the routed resource. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'name', 'routedResource_name' - The name of the routed resource.+newRoutedResource ::+ RoutedResource+newRoutedResource =+ RoutedResource'+ { arn = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The ARN of the routed resource. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+routedResource_arn :: Lens.Lens' RoutedResource (Prelude.Maybe Prelude.Text)+routedResource_arn = Lens.lens (\RoutedResource' {arn} -> arn) (\s@RoutedResource' {} a -> s {arn = a} :: RoutedResource)++-- | The name of the routed resource.+routedResource_name :: Lens.Lens' RoutedResource (Prelude.Maybe Prelude.Text)+routedResource_name = Lens.lens (\RoutedResource' {name} -> name) (\s@RoutedResource' {} a -> s {name = a} :: RoutedResource)++instance Data.FromJSON RoutedResource where+ parseJSON =+ Data.withObject+ "RoutedResource"+ ( \x ->+ RoutedResource'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable RoutedResource where+ hashWithSalt _salt RoutedResource' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` name++instance Prelude.NFData RoutedResource where+ rnf RoutedResource' {..} =+ Prelude.rnf arn `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTEvents/Types/SMSConfiguration.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SMSConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SMSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.RecipientDetail+import qualified Amazonka.Prelude as Prelude++-- | Contains the configuration information of SMS notifications.+--+-- /See:/ 'newSMSConfiguration' smart constructor.+data SMSConfiguration = SMSConfiguration'+ { -- | The message that you want to send. The message can be up to 200+ -- characters.+ additionalMessage :: Prelude.Maybe Prelude.Text,+ -- | The sender ID.+ senderId :: Prelude.Maybe Prelude.Text,+ -- | Specifies one or more recipients who receive the message.+ --+ -- You must+ -- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive SMS messages to your AWS SSO store>.+ recipients :: Prelude.NonEmpty RecipientDetail+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SMSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'additionalMessage', 'sMSConfiguration_additionalMessage' - The message that you want to send. The message can be up to 200+-- characters.+--+-- 'senderId', 'sMSConfiguration_senderId' - The sender ID.+--+-- 'recipients', 'sMSConfiguration_recipients' - Specifies one or more recipients who receive the message.+--+-- You must+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive SMS messages to your AWS SSO store>.+newSMSConfiguration ::+ -- | 'recipients'+ Prelude.NonEmpty RecipientDetail ->+ SMSConfiguration+newSMSConfiguration pRecipients_ =+ SMSConfiguration'+ { additionalMessage =+ Prelude.Nothing,+ senderId = Prelude.Nothing,+ recipients = Lens.coerced Lens.# pRecipients_+ }++-- | The message that you want to send. The message can be up to 200+-- characters.+sMSConfiguration_additionalMessage :: Lens.Lens' SMSConfiguration (Prelude.Maybe Prelude.Text)+sMSConfiguration_additionalMessage = Lens.lens (\SMSConfiguration' {additionalMessage} -> additionalMessage) (\s@SMSConfiguration' {} a -> s {additionalMessage = a} :: SMSConfiguration)++-- | The sender ID.+sMSConfiguration_senderId :: Lens.Lens' SMSConfiguration (Prelude.Maybe Prelude.Text)+sMSConfiguration_senderId = Lens.lens (\SMSConfiguration' {senderId} -> senderId) (\s@SMSConfiguration' {} a -> s {senderId = a} :: SMSConfiguration)++-- | Specifies one or more recipients who receive the message.+--+-- You must+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html add the users that receive SMS messages to your AWS SSO store>.+sMSConfiguration_recipients :: Lens.Lens' SMSConfiguration (Prelude.NonEmpty RecipientDetail)+sMSConfiguration_recipients = Lens.lens (\SMSConfiguration' {recipients} -> recipients) (\s@SMSConfiguration' {} a -> s {recipients = a} :: SMSConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON SMSConfiguration where+ parseJSON =+ Data.withObject+ "SMSConfiguration"+ ( \x ->+ SMSConfiguration'+ Prelude.<$> (x Data..:? "additionalMessage")+ Prelude.<*> (x Data..:? "senderId")+ Prelude.<*> (x Data..: "recipients")+ )++instance Prelude.Hashable SMSConfiguration where+ hashWithSalt _salt SMSConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` additionalMessage+ `Prelude.hashWithSalt` senderId+ `Prelude.hashWithSalt` recipients++instance Prelude.NFData SMSConfiguration where+ rnf SMSConfiguration' {..} =+ Prelude.rnf additionalMessage+ `Prelude.seq` Prelude.rnf senderId+ `Prelude.seq` Prelude.rnf recipients++instance Data.ToJSON SMSConfiguration where+ toJSON SMSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("additionalMessage" Data..=)+ Prelude.<$> additionalMessage,+ ("senderId" Data..=) Prelude.<$> senderId,+ Prelude.Just ("recipients" Data..= recipients)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/SNSTopicPublishAction.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SNSTopicPublishAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SNSTopicPublishAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Information required to publish the Amazon SNS message.+--+-- /See:/ 'newSNSTopicPublishAction' smart constructor.+data SNSTopicPublishAction = SNSTopicPublishAction'+ { -- | You can configure the action payload when you send a message as an+ -- Amazon SNS push notification.+ payload :: Prelude.Maybe Payload,+ -- | The ARN of the Amazon SNS target where the message is sent.+ targetArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNSTopicPublishAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'sNSTopicPublishAction_payload' - You can configure the action payload when you send a message as an+-- Amazon SNS push notification.+--+-- 'targetArn', 'sNSTopicPublishAction_targetArn' - The ARN of the Amazon SNS target where the message is sent.+newSNSTopicPublishAction ::+ -- | 'targetArn'+ Prelude.Text ->+ SNSTopicPublishAction+newSNSTopicPublishAction pTargetArn_ =+ SNSTopicPublishAction'+ { payload = Prelude.Nothing,+ targetArn = pTargetArn_+ }++-- | You can configure the action payload when you send a message as an+-- Amazon SNS push notification.+sNSTopicPublishAction_payload :: Lens.Lens' SNSTopicPublishAction (Prelude.Maybe Payload)+sNSTopicPublishAction_payload = Lens.lens (\SNSTopicPublishAction' {payload} -> payload) (\s@SNSTopicPublishAction' {} a -> s {payload = a} :: SNSTopicPublishAction)++-- | The ARN of the Amazon SNS target where the message is sent.+sNSTopicPublishAction_targetArn :: Lens.Lens' SNSTopicPublishAction Prelude.Text+sNSTopicPublishAction_targetArn = Lens.lens (\SNSTopicPublishAction' {targetArn} -> targetArn) (\s@SNSTopicPublishAction' {} a -> s {targetArn = a} :: SNSTopicPublishAction)++instance Data.FromJSON SNSTopicPublishAction where+ parseJSON =+ Data.withObject+ "SNSTopicPublishAction"+ ( \x ->+ SNSTopicPublishAction'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..: "targetArn")+ )++instance Prelude.Hashable SNSTopicPublishAction where+ hashWithSalt _salt SNSTopicPublishAction' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` targetArn++instance Prelude.NFData SNSTopicPublishAction where+ rnf SNSTopicPublishAction' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf targetArn++instance Data.ToJSON SNSTopicPublishAction where+ toJSON SNSTopicPublishAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ Prelude.Just ("targetArn" Data..= targetArn)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/SSOIdentity.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SSOIdentity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SSOIdentity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about your identity source in AWS Single Sign-On.+-- For more information, see the+-- <https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html AWS Single Sign-On User Guide>.+--+-- /See:/ 'newSSOIdentity' smart constructor.+data SSOIdentity = SSOIdentity'+ { -- | The user ID.+ userId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the AWS SSO identity store.+ identityStoreId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SSOIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userId', 'sSOIdentity_userId' - The user ID.+--+-- 'identityStoreId', 'sSOIdentity_identityStoreId' - The ID of the AWS SSO identity store.+newSSOIdentity ::+ -- | 'identityStoreId'+ Prelude.Text ->+ SSOIdentity+newSSOIdentity pIdentityStoreId_ =+ SSOIdentity'+ { userId = Prelude.Nothing,+ identityStoreId = pIdentityStoreId_+ }++-- | The user ID.+sSOIdentity_userId :: Lens.Lens' SSOIdentity (Prelude.Maybe Prelude.Text)+sSOIdentity_userId = Lens.lens (\SSOIdentity' {userId} -> userId) (\s@SSOIdentity' {} a -> s {userId = a} :: SSOIdentity)++-- | The ID of the AWS SSO identity store.+sSOIdentity_identityStoreId :: Lens.Lens' SSOIdentity Prelude.Text+sSOIdentity_identityStoreId = Lens.lens (\SSOIdentity' {identityStoreId} -> identityStoreId) (\s@SSOIdentity' {} a -> s {identityStoreId = a} :: SSOIdentity)++instance Data.FromJSON SSOIdentity where+ parseJSON =+ Data.withObject+ "SSOIdentity"+ ( \x ->+ SSOIdentity'+ Prelude.<$> (x Data..:? "userId")+ Prelude.<*> (x Data..: "identityStoreId")+ )++instance Prelude.Hashable SSOIdentity where+ hashWithSalt _salt SSOIdentity' {..} =+ _salt+ `Prelude.hashWithSalt` userId+ `Prelude.hashWithSalt` identityStoreId++instance Prelude.NFData SSOIdentity where+ rnf SSOIdentity' {..} =+ Prelude.rnf userId+ `Prelude.seq` Prelude.rnf identityStoreId++instance Data.ToJSON SSOIdentity where+ toJSON SSOIdentity' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("userId" Data..=) Prelude.<$> userId,+ Prelude.Just+ ("identityStoreId" Data..= identityStoreId)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/SetTimerAction.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SetTimerAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SetTimerAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information needed to set the timer.+--+-- /See:/ 'newSetTimerAction' smart constructor.+data SetTimerAction = SetTimerAction'+ { -- | The duration of the timer, in seconds. You can use a string expression+ -- that includes numbers, variables (@$variable.\<variable-name>@), and+ -- input values (@$input.\<input-name>.\<path-to-datum>@) as the duration.+ -- The range of the duration is 1-31622400 seconds. To ensure accuracy, the+ -- minimum duration is 60 seconds. The evaluated result of the duration is+ -- rounded down to the nearest whole number.+ durationExpression :: Prelude.Maybe Prelude.Text,+ -- | The number of seconds until the timer expires. The minimum value is 60+ -- seconds to ensure accuracy. The maximum value is 31622400 seconds.+ seconds :: Prelude.Maybe Prelude.Natural,+ -- | The name of the timer.+ timerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SetTimerAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'durationExpression', 'setTimerAction_durationExpression' - The duration of the timer, in seconds. You can use a string expression+-- that includes numbers, variables (@$variable.\<variable-name>@), and+-- input values (@$input.\<input-name>.\<path-to-datum>@) as the duration.+-- The range of the duration is 1-31622400 seconds. To ensure accuracy, the+-- minimum duration is 60 seconds. The evaluated result of the duration is+-- rounded down to the nearest whole number.+--+-- 'seconds', 'setTimerAction_seconds' - The number of seconds until the timer expires. The minimum value is 60+-- seconds to ensure accuracy. The maximum value is 31622400 seconds.+--+-- 'timerName', 'setTimerAction_timerName' - The name of the timer.+newSetTimerAction ::+ -- | 'timerName'+ Prelude.Text ->+ SetTimerAction+newSetTimerAction pTimerName_ =+ SetTimerAction'+ { durationExpression =+ Prelude.Nothing,+ seconds = Prelude.Nothing,+ timerName = pTimerName_+ }++-- | The duration of the timer, in seconds. You can use a string expression+-- that includes numbers, variables (@$variable.\<variable-name>@), and+-- input values (@$input.\<input-name>.\<path-to-datum>@) as the duration.+-- The range of the duration is 1-31622400 seconds. To ensure accuracy, the+-- minimum duration is 60 seconds. The evaluated result of the duration is+-- rounded down to the nearest whole number.+setTimerAction_durationExpression :: Lens.Lens' SetTimerAction (Prelude.Maybe Prelude.Text)+setTimerAction_durationExpression = Lens.lens (\SetTimerAction' {durationExpression} -> durationExpression) (\s@SetTimerAction' {} a -> s {durationExpression = a} :: SetTimerAction)++-- | The number of seconds until the timer expires. The minimum value is 60+-- seconds to ensure accuracy. The maximum value is 31622400 seconds.+setTimerAction_seconds :: Lens.Lens' SetTimerAction (Prelude.Maybe Prelude.Natural)+setTimerAction_seconds = Lens.lens (\SetTimerAction' {seconds} -> seconds) (\s@SetTimerAction' {} a -> s {seconds = a} :: SetTimerAction)++-- | The name of the timer.+setTimerAction_timerName :: Lens.Lens' SetTimerAction Prelude.Text+setTimerAction_timerName = Lens.lens (\SetTimerAction' {timerName} -> timerName) (\s@SetTimerAction' {} a -> s {timerName = a} :: SetTimerAction)++instance Data.FromJSON SetTimerAction where+ parseJSON =+ Data.withObject+ "SetTimerAction"+ ( \x ->+ SetTimerAction'+ Prelude.<$> (x Data..:? "durationExpression")+ Prelude.<*> (x Data..:? "seconds")+ Prelude.<*> (x Data..: "timerName")+ )++instance Prelude.Hashable SetTimerAction where+ hashWithSalt _salt SetTimerAction' {..} =+ _salt+ `Prelude.hashWithSalt` durationExpression+ `Prelude.hashWithSalt` seconds+ `Prelude.hashWithSalt` timerName++instance Prelude.NFData SetTimerAction where+ rnf SetTimerAction' {..} =+ Prelude.rnf durationExpression+ `Prelude.seq` Prelude.rnf seconds+ `Prelude.seq` Prelude.rnf timerName++instance Data.ToJSON SetTimerAction where+ toJSON SetTimerAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("durationExpression" Data..=)+ Prelude.<$> durationExpression,+ ("seconds" Data..=) Prelude.<$> seconds,+ Prelude.Just ("timerName" Data..= timerName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/SetVariableAction.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SetVariableAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SetVariableAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the variable and its new value.+--+-- /See:/ 'newSetVariableAction' smart constructor.+data SetVariableAction = SetVariableAction'+ { -- | The name of the variable.+ variableName :: Prelude.Text,+ -- | The new value of the variable.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SetVariableAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'variableName', 'setVariableAction_variableName' - The name of the variable.+--+-- 'value', 'setVariableAction_value' - The new value of the variable.+newSetVariableAction ::+ -- | 'variableName'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ SetVariableAction+newSetVariableAction pVariableName_ pValue_ =+ SetVariableAction'+ { variableName = pVariableName_,+ value = pValue_+ }++-- | The name of the variable.+setVariableAction_variableName :: Lens.Lens' SetVariableAction Prelude.Text+setVariableAction_variableName = Lens.lens (\SetVariableAction' {variableName} -> variableName) (\s@SetVariableAction' {} a -> s {variableName = a} :: SetVariableAction)++-- | The new value of the variable.+setVariableAction_value :: Lens.Lens' SetVariableAction Prelude.Text+setVariableAction_value = Lens.lens (\SetVariableAction' {value} -> value) (\s@SetVariableAction' {} a -> s {value = a} :: SetVariableAction)++instance Data.FromJSON SetVariableAction where+ parseJSON =+ Data.withObject+ "SetVariableAction"+ ( \x ->+ SetVariableAction'+ Prelude.<$> (x Data..: "variableName")+ Prelude.<*> (x Data..: "value")+ )++instance Prelude.Hashable SetVariableAction where+ hashWithSalt _salt SetVariableAction' {..} =+ _salt+ `Prelude.hashWithSalt` variableName+ `Prelude.hashWithSalt` value++instance Prelude.NFData SetVariableAction where+ rnf SetVariableAction' {..} =+ Prelude.rnf variableName+ `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SetVariableAction where+ toJSON SetVariableAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("variableName" Data..= variableName),+ Prelude.Just ("value" Data..= value)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/SimpleRule.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SimpleRule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SimpleRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.ComparisonOperator+import qualified Amazonka.Prelude as Prelude++-- | A rule that compares an input property value to a threshold value with a+-- comparison operator.+--+-- /See:/ 'newSimpleRule' smart constructor.+data SimpleRule = SimpleRule'+ { -- | The value on the left side of the comparison operator. You can specify+ -- an AWS IoT Events input attribute as an input property.+ inputProperty :: Prelude.Text,+ -- | The comparison operator.+ comparisonOperator :: ComparisonOperator,+ -- | The value on the right side of the comparison operator. You can enter a+ -- number or specify an AWS IoT Events input attribute.+ threshold :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimpleRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputProperty', 'simpleRule_inputProperty' - The value on the left side of the comparison operator. You can specify+-- an AWS IoT Events input attribute as an input property.+--+-- 'comparisonOperator', 'simpleRule_comparisonOperator' - The comparison operator.+--+-- 'threshold', 'simpleRule_threshold' - The value on the right side of the comparison operator. You can enter a+-- number or specify an AWS IoT Events input attribute.+newSimpleRule ::+ -- | 'inputProperty'+ Prelude.Text ->+ -- | 'comparisonOperator'+ ComparisonOperator ->+ -- | 'threshold'+ Prelude.Text ->+ SimpleRule+newSimpleRule+ pInputProperty_+ pComparisonOperator_+ pThreshold_ =+ SimpleRule'+ { inputProperty = pInputProperty_,+ comparisonOperator = pComparisonOperator_,+ threshold = pThreshold_+ }++-- | The value on the left side of the comparison operator. You can specify+-- an AWS IoT Events input attribute as an input property.+simpleRule_inputProperty :: Lens.Lens' SimpleRule Prelude.Text+simpleRule_inputProperty = Lens.lens (\SimpleRule' {inputProperty} -> inputProperty) (\s@SimpleRule' {} a -> s {inputProperty = a} :: SimpleRule)++-- | The comparison operator.+simpleRule_comparisonOperator :: Lens.Lens' SimpleRule ComparisonOperator+simpleRule_comparisonOperator = Lens.lens (\SimpleRule' {comparisonOperator} -> comparisonOperator) (\s@SimpleRule' {} a -> s {comparisonOperator = a} :: SimpleRule)++-- | The value on the right side of the comparison operator. You can enter a+-- number or specify an AWS IoT Events input attribute.+simpleRule_threshold :: Lens.Lens' SimpleRule Prelude.Text+simpleRule_threshold = Lens.lens (\SimpleRule' {threshold} -> threshold) (\s@SimpleRule' {} a -> s {threshold = a} :: SimpleRule)++instance Data.FromJSON SimpleRule where+ parseJSON =+ Data.withObject+ "SimpleRule"+ ( \x ->+ SimpleRule'+ Prelude.<$> (x Data..: "inputProperty")+ Prelude.<*> (x Data..: "comparisonOperator")+ Prelude.<*> (x Data..: "threshold")+ )++instance Prelude.Hashable SimpleRule where+ hashWithSalt _salt SimpleRule' {..} =+ _salt+ `Prelude.hashWithSalt` inputProperty+ `Prelude.hashWithSalt` comparisonOperator+ `Prelude.hashWithSalt` threshold++instance Prelude.NFData SimpleRule where+ rnf SimpleRule' {..} =+ Prelude.rnf inputProperty+ `Prelude.seq` Prelude.rnf comparisonOperator+ `Prelude.seq` Prelude.rnf threshold++instance Data.ToJSON SimpleRule where+ toJSON SimpleRule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("inputProperty" Data..= inputProperty),+ Prelude.Just+ ("comparisonOperator" Data..= comparisonOperator),+ Prelude.Just ("threshold" Data..= threshold)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/SqsAction.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.SqsAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.SqsAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Payload+import qualified Amazonka.Prelude as Prelude++-- | Sends information about the detector model instance and the event that+-- triggered the action to an Amazon SQS queue.+--+-- /See:/ 'newSqsAction' smart constructor.+data SqsAction = SqsAction'+ { -- | You can configure the action payload when you send a message to an+ -- Amazon SQS queue.+ payload :: Prelude.Maybe Payload,+ -- | Set this to TRUE if you want the data to be base-64 encoded before it is+ -- written to the queue. Otherwise, set this to FALSE.+ useBase64 :: Prelude.Maybe Prelude.Bool,+ -- | The URL of the SQS queue where the data is written.+ queueUrl :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SqsAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'sqsAction_payload' - You can configure the action payload when you send a message to an+-- Amazon SQS queue.+--+-- 'useBase64', 'sqsAction_useBase64' - Set this to TRUE if you want the data to be base-64 encoded before it is+-- written to the queue. Otherwise, set this to FALSE.+--+-- 'queueUrl', 'sqsAction_queueUrl' - The URL of the SQS queue where the data is written.+newSqsAction ::+ -- | 'queueUrl'+ Prelude.Text ->+ SqsAction+newSqsAction pQueueUrl_ =+ SqsAction'+ { payload = Prelude.Nothing,+ useBase64 = Prelude.Nothing,+ queueUrl = pQueueUrl_+ }++-- | You can configure the action payload when you send a message to an+-- Amazon SQS queue.+sqsAction_payload :: Lens.Lens' SqsAction (Prelude.Maybe Payload)+sqsAction_payload = Lens.lens (\SqsAction' {payload} -> payload) (\s@SqsAction' {} a -> s {payload = a} :: SqsAction)++-- | Set this to TRUE if you want the data to be base-64 encoded before it is+-- written to the queue. Otherwise, set this to FALSE.+sqsAction_useBase64 :: Lens.Lens' SqsAction (Prelude.Maybe Prelude.Bool)+sqsAction_useBase64 = Lens.lens (\SqsAction' {useBase64} -> useBase64) (\s@SqsAction' {} a -> s {useBase64 = a} :: SqsAction)++-- | The URL of the SQS queue where the data is written.+sqsAction_queueUrl :: Lens.Lens' SqsAction Prelude.Text+sqsAction_queueUrl = Lens.lens (\SqsAction' {queueUrl} -> queueUrl) (\s@SqsAction' {} a -> s {queueUrl = a} :: SqsAction)++instance Data.FromJSON SqsAction where+ parseJSON =+ Data.withObject+ "SqsAction"+ ( \x ->+ SqsAction'+ Prelude.<$> (x Data..:? "payload")+ Prelude.<*> (x Data..:? "useBase64")+ Prelude.<*> (x Data..: "queueUrl")+ )++instance Prelude.Hashable SqsAction where+ hashWithSalt _salt SqsAction' {..} =+ _salt+ `Prelude.hashWithSalt` payload+ `Prelude.hashWithSalt` useBase64+ `Prelude.hashWithSalt` queueUrl++instance Prelude.NFData SqsAction where+ rnf SqsAction' {..} =+ Prelude.rnf payload+ `Prelude.seq` Prelude.rnf useBase64+ `Prelude.seq` Prelude.rnf queueUrl++instance Data.ToJSON SqsAction where+ toJSON SqsAction' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("payload" Data..=) Prelude.<$> payload,+ ("useBase64" Data..=) Prelude.<$> useBase64,+ Prelude.Just ("queueUrl" Data..= queueUrl)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/State.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.State+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.State where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.OnEnterLifecycle+import Amazonka.IoTEvents.Types.OnExitLifecycle+import Amazonka.IoTEvents.Types.OnInputLifecycle+import qualified Amazonka.Prelude as Prelude++-- | Information that defines a state of a detector.+--+-- /See:/ 'newState' smart constructor.+data State = State'+ { -- | When entering this state, perform these @actions@ if the @condition@ is+ -- TRUE.+ onEnter :: Prelude.Maybe OnEnterLifecycle,+ -- | When exiting this state, perform these @actions@ if the specified+ -- @condition@ is @TRUE@.+ onExit :: Prelude.Maybe OnExitLifecycle,+ -- | When an input is received and the @condition@ is TRUE, perform the+ -- specified @actions@.+ onInput :: Prelude.Maybe OnInputLifecycle,+ -- | The name of the state.+ stateName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'State' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'onEnter', 'state_onEnter' - When entering this state, perform these @actions@ if the @condition@ is+-- TRUE.+--+-- 'onExit', 'state_onExit' - When exiting this state, perform these @actions@ if the specified+-- @condition@ is @TRUE@.+--+-- 'onInput', 'state_onInput' - When an input is received and the @condition@ is TRUE, perform the+-- specified @actions@.+--+-- 'stateName', 'state_stateName' - The name of the state.+newState ::+ -- | 'stateName'+ Prelude.Text ->+ State+newState pStateName_ =+ State'+ { onEnter = Prelude.Nothing,+ onExit = Prelude.Nothing,+ onInput = Prelude.Nothing,+ stateName = pStateName_+ }++-- | When entering this state, perform these @actions@ if the @condition@ is+-- TRUE.+state_onEnter :: Lens.Lens' State (Prelude.Maybe OnEnterLifecycle)+state_onEnter = Lens.lens (\State' {onEnter} -> onEnter) (\s@State' {} a -> s {onEnter = a} :: State)++-- | When exiting this state, perform these @actions@ if the specified+-- @condition@ is @TRUE@.+state_onExit :: Lens.Lens' State (Prelude.Maybe OnExitLifecycle)+state_onExit = Lens.lens (\State' {onExit} -> onExit) (\s@State' {} a -> s {onExit = a} :: State)++-- | When an input is received and the @condition@ is TRUE, perform the+-- specified @actions@.+state_onInput :: Lens.Lens' State (Prelude.Maybe OnInputLifecycle)+state_onInput = Lens.lens (\State' {onInput} -> onInput) (\s@State' {} a -> s {onInput = a} :: State)++-- | The name of the state.+state_stateName :: Lens.Lens' State Prelude.Text+state_stateName = Lens.lens (\State' {stateName} -> stateName) (\s@State' {} a -> s {stateName = a} :: State)++instance Data.FromJSON State where+ parseJSON =+ Data.withObject+ "State"+ ( \x ->+ State'+ Prelude.<$> (x Data..:? "onEnter")+ Prelude.<*> (x Data..:? "onExit")+ Prelude.<*> (x Data..:? "onInput")+ Prelude.<*> (x Data..: "stateName")+ )++instance Prelude.Hashable State where+ hashWithSalt _salt State' {..} =+ _salt+ `Prelude.hashWithSalt` onEnter+ `Prelude.hashWithSalt` onExit+ `Prelude.hashWithSalt` onInput+ `Prelude.hashWithSalt` stateName++instance Prelude.NFData State where+ rnf State' {..} =+ Prelude.rnf onEnter+ `Prelude.seq` Prelude.rnf onExit+ `Prelude.seq` Prelude.rnf onInput+ `Prelude.seq` Prelude.rnf stateName++instance Data.ToJSON State where+ toJSON State' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("onEnter" Data..=) Prelude.<$> onEnter,+ ("onExit" Data..=) Prelude.<$> onExit,+ ("onInput" Data..=) Prelude.<$> onInput,+ Prelude.Just ("stateName" Data..= stateName)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/Tag.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Metadata that can be used to manage the resource.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | The tag\'s key.+ key :: Prelude.Text,+ -- | The tag\'s value.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The tag\'s key.+--+-- 'value', 'tag_value' - The tag\'s value.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | The tag\'s key.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The tag\'s value.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "key")+ Prelude.<*> (x Data..: "value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("key" Data..= key),+ Prelude.Just ("value" Data..= value)+ ]+ )
+ gen/Amazonka/IoTEvents/Types/TransitionEvent.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Types.TransitionEvent+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Types.TransitionEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types.Action+import qualified Amazonka.Prelude as Prelude++-- | Specifies the actions performed and the next state entered when a+-- @condition@ evaluates to TRUE.+--+-- /See:/ 'newTransitionEvent' smart constructor.+data TransitionEvent = TransitionEvent'+ { -- | The actions to be performed.+ actions :: Prelude.Maybe [Action],+ -- | The name of the transition event.+ eventName :: Prelude.Text,+ -- | Required. A Boolean expression that when TRUE causes the actions to be+ -- performed and the @nextState@ to be entered.+ condition :: Prelude.Text,+ -- | The next state to enter.+ nextState :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransitionEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'transitionEvent_actions' - The actions to be performed.+--+-- 'eventName', 'transitionEvent_eventName' - The name of the transition event.+--+-- 'condition', 'transitionEvent_condition' - Required. A Boolean expression that when TRUE causes the actions to be+-- performed and the @nextState@ to be entered.+--+-- 'nextState', 'transitionEvent_nextState' - The next state to enter.+newTransitionEvent ::+ -- | 'eventName'+ Prelude.Text ->+ -- | 'condition'+ Prelude.Text ->+ -- | 'nextState'+ Prelude.Text ->+ TransitionEvent+newTransitionEvent+ pEventName_+ pCondition_+ pNextState_ =+ TransitionEvent'+ { actions = Prelude.Nothing,+ eventName = pEventName_,+ condition = pCondition_,+ nextState = pNextState_+ }++-- | The actions to be performed.+transitionEvent_actions :: Lens.Lens' TransitionEvent (Prelude.Maybe [Action])+transitionEvent_actions = Lens.lens (\TransitionEvent' {actions} -> actions) (\s@TransitionEvent' {} a -> s {actions = a} :: TransitionEvent) Prelude.. Lens.mapping Lens.coerced++-- | The name of the transition event.+transitionEvent_eventName :: Lens.Lens' TransitionEvent Prelude.Text+transitionEvent_eventName = Lens.lens (\TransitionEvent' {eventName} -> eventName) (\s@TransitionEvent' {} a -> s {eventName = a} :: TransitionEvent)++-- | Required. A Boolean expression that when TRUE causes the actions to be+-- performed and the @nextState@ to be entered.+transitionEvent_condition :: Lens.Lens' TransitionEvent Prelude.Text+transitionEvent_condition = Lens.lens (\TransitionEvent' {condition} -> condition) (\s@TransitionEvent' {} a -> s {condition = a} :: TransitionEvent)++-- | The next state to enter.+transitionEvent_nextState :: Lens.Lens' TransitionEvent Prelude.Text+transitionEvent_nextState = Lens.lens (\TransitionEvent' {nextState} -> nextState) (\s@TransitionEvent' {} a -> s {nextState = a} :: TransitionEvent)++instance Data.FromJSON TransitionEvent where+ parseJSON =+ Data.withObject+ "TransitionEvent"+ ( \x ->+ TransitionEvent'+ Prelude.<$> (x Data..:? "actions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "eventName")+ Prelude.<*> (x Data..: "condition")+ Prelude.<*> (x Data..: "nextState")+ )++instance Prelude.Hashable TransitionEvent where+ hashWithSalt _salt TransitionEvent' {..} =+ _salt+ `Prelude.hashWithSalt` actions+ `Prelude.hashWithSalt` eventName+ `Prelude.hashWithSalt` condition+ `Prelude.hashWithSalt` nextState++instance Prelude.NFData TransitionEvent where+ rnf TransitionEvent' {..} =+ Prelude.rnf actions+ `Prelude.seq` Prelude.rnf eventName+ `Prelude.seq` Prelude.rnf condition+ `Prelude.seq` Prelude.rnf nextState++instance Data.ToJSON TransitionEvent where+ toJSON TransitionEvent' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("actions" Data..=) Prelude.<$> actions,+ Prelude.Just ("eventName" Data..= eventName),+ Prelude.Just ("condition" Data..= condition),+ Prelude.Just ("nextState" Data..= nextState)+ ]+ )
+ gen/Amazonka/IoTEvents/UntagResource.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the given tags (metadata) from the resource.+module Amazonka.IoTEvents.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The ARN of the resource.+ resourceArn :: Prelude.Text,+ -- | A list of the keys of the tags to be removed from the resource.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The ARN of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of the keys of the tags to be removed from the resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The ARN of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of the keys of the tags to be removed from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/tags"++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ [ "resourceArn" Data.=: resourceArn,+ "tagKeys" Data.=: Data.toQueryList "member" tagKeys+ ]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/UpdateAlarmModel.hs view
@@ -0,0 +1,371 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.UpdateAlarmModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an alarm model. Any alarms that were created based on the+-- previous version are deleted and then created again as new data arrives.+module Amazonka.IoTEvents.UpdateAlarmModel+ ( -- * Creating a Request+ UpdateAlarmModel (..),+ newUpdateAlarmModel,++ -- * Request Lenses+ updateAlarmModel_alarmCapabilities,+ updateAlarmModel_alarmEventActions,+ updateAlarmModel_alarmModelDescription,+ updateAlarmModel_alarmNotification,+ updateAlarmModel_severity,+ updateAlarmModel_alarmModelName,+ updateAlarmModel_roleArn,+ updateAlarmModel_alarmRule,++ -- * Destructuring the Response+ UpdateAlarmModelResponse (..),+ newUpdateAlarmModelResponse,++ -- * Response Lenses+ updateAlarmModelResponse_alarmModelArn,+ updateAlarmModelResponse_alarmModelVersion,+ updateAlarmModelResponse_creationTime,+ updateAlarmModelResponse_lastUpdateTime,+ updateAlarmModelResponse_status,+ updateAlarmModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAlarmModel' smart constructor.+data UpdateAlarmModel = UpdateAlarmModel'+ { -- | Contains the configuration information of alarm state changes.+ alarmCapabilities :: Prelude.Maybe AlarmCapabilities,+ -- | Contains information about one or more alarm actions.+ alarmEventActions :: Prelude.Maybe AlarmEventActions,+ -- | The description of the alarm model.+ alarmModelDescription :: Prelude.Maybe Prelude.Text,+ -- | Contains information about one or more notification actions.+ alarmNotification :: Prelude.Maybe AlarmNotification,+ -- | A non-negative integer that reflects the severity level of the alarm.+ severity :: Prelude.Maybe Prelude.Natural,+ -- | The name of the alarm model.+ alarmModelName :: Prelude.Text,+ -- | The ARN of the IAM role that allows the alarm to perform actions and+ -- access AWS resources. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ roleArn :: Prelude.Text,+ -- | Defines when your alarm is invoked.+ alarmRule :: AlarmRule+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAlarmModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmCapabilities', 'updateAlarmModel_alarmCapabilities' - Contains the configuration information of alarm state changes.+--+-- 'alarmEventActions', 'updateAlarmModel_alarmEventActions' - Contains information about one or more alarm actions.+--+-- 'alarmModelDescription', 'updateAlarmModel_alarmModelDescription' - The description of the alarm model.+--+-- 'alarmNotification', 'updateAlarmModel_alarmNotification' - Contains information about one or more notification actions.+--+-- 'severity', 'updateAlarmModel_severity' - A non-negative integer that reflects the severity level of the alarm.+--+-- 'alarmModelName', 'updateAlarmModel_alarmModelName' - The name of the alarm model.+--+-- 'roleArn', 'updateAlarmModel_roleArn' - The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'alarmRule', 'updateAlarmModel_alarmRule' - Defines when your alarm is invoked.+newUpdateAlarmModel ::+ -- | 'alarmModelName'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'alarmRule'+ AlarmRule ->+ UpdateAlarmModel+newUpdateAlarmModel+ pAlarmModelName_+ pRoleArn_+ pAlarmRule_ =+ UpdateAlarmModel'+ { alarmCapabilities =+ Prelude.Nothing,+ alarmEventActions = Prelude.Nothing,+ alarmModelDescription = Prelude.Nothing,+ alarmNotification = Prelude.Nothing,+ severity = Prelude.Nothing,+ alarmModelName = pAlarmModelName_,+ roleArn = pRoleArn_,+ alarmRule = pAlarmRule_+ }++-- | Contains the configuration information of alarm state changes.+updateAlarmModel_alarmCapabilities :: Lens.Lens' UpdateAlarmModel (Prelude.Maybe AlarmCapabilities)+updateAlarmModel_alarmCapabilities = Lens.lens (\UpdateAlarmModel' {alarmCapabilities} -> alarmCapabilities) (\s@UpdateAlarmModel' {} a -> s {alarmCapabilities = a} :: UpdateAlarmModel)++-- | Contains information about one or more alarm actions.+updateAlarmModel_alarmEventActions :: Lens.Lens' UpdateAlarmModel (Prelude.Maybe AlarmEventActions)+updateAlarmModel_alarmEventActions = Lens.lens (\UpdateAlarmModel' {alarmEventActions} -> alarmEventActions) (\s@UpdateAlarmModel' {} a -> s {alarmEventActions = a} :: UpdateAlarmModel)++-- | The description of the alarm model.+updateAlarmModel_alarmModelDescription :: Lens.Lens' UpdateAlarmModel (Prelude.Maybe Prelude.Text)+updateAlarmModel_alarmModelDescription = Lens.lens (\UpdateAlarmModel' {alarmModelDescription} -> alarmModelDescription) (\s@UpdateAlarmModel' {} a -> s {alarmModelDescription = a} :: UpdateAlarmModel)++-- | Contains information about one or more notification actions.+updateAlarmModel_alarmNotification :: Lens.Lens' UpdateAlarmModel (Prelude.Maybe AlarmNotification)+updateAlarmModel_alarmNotification = Lens.lens (\UpdateAlarmModel' {alarmNotification} -> alarmNotification) (\s@UpdateAlarmModel' {} a -> s {alarmNotification = a} :: UpdateAlarmModel)++-- | A non-negative integer that reflects the severity level of the alarm.+updateAlarmModel_severity :: Lens.Lens' UpdateAlarmModel (Prelude.Maybe Prelude.Natural)+updateAlarmModel_severity = Lens.lens (\UpdateAlarmModel' {severity} -> severity) (\s@UpdateAlarmModel' {} a -> s {severity = a} :: UpdateAlarmModel)++-- | The name of the alarm model.+updateAlarmModel_alarmModelName :: Lens.Lens' UpdateAlarmModel Prelude.Text+updateAlarmModel_alarmModelName = Lens.lens (\UpdateAlarmModel' {alarmModelName} -> alarmModelName) (\s@UpdateAlarmModel' {} a -> s {alarmModelName = a} :: UpdateAlarmModel)++-- | The ARN of the IAM role that allows the alarm to perform actions and+-- access AWS resources. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+updateAlarmModel_roleArn :: Lens.Lens' UpdateAlarmModel Prelude.Text+updateAlarmModel_roleArn = Lens.lens (\UpdateAlarmModel' {roleArn} -> roleArn) (\s@UpdateAlarmModel' {} a -> s {roleArn = a} :: UpdateAlarmModel)++-- | Defines when your alarm is invoked.+updateAlarmModel_alarmRule :: Lens.Lens' UpdateAlarmModel AlarmRule+updateAlarmModel_alarmRule = Lens.lens (\UpdateAlarmModel' {alarmRule} -> alarmRule) (\s@UpdateAlarmModel' {} a -> s {alarmRule = a} :: UpdateAlarmModel)++instance Core.AWSRequest UpdateAlarmModel where+ type+ AWSResponse UpdateAlarmModel =+ UpdateAlarmModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAlarmModelResponse'+ Prelude.<$> (x Data..?> "alarmModelArn")+ Prelude.<*> (x Data..?> "alarmModelVersion")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "lastUpdateTime")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAlarmModel where+ hashWithSalt _salt UpdateAlarmModel' {..} =+ _salt+ `Prelude.hashWithSalt` alarmCapabilities+ `Prelude.hashWithSalt` alarmEventActions+ `Prelude.hashWithSalt` alarmModelDescription+ `Prelude.hashWithSalt` alarmNotification+ `Prelude.hashWithSalt` severity+ `Prelude.hashWithSalt` alarmModelName+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` alarmRule++instance Prelude.NFData UpdateAlarmModel where+ rnf UpdateAlarmModel' {..} =+ Prelude.rnf alarmCapabilities+ `Prelude.seq` Prelude.rnf alarmEventActions+ `Prelude.seq` Prelude.rnf alarmModelDescription+ `Prelude.seq` Prelude.rnf alarmNotification+ `Prelude.seq` Prelude.rnf severity+ `Prelude.seq` Prelude.rnf alarmModelName+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf alarmRule++instance Data.ToHeaders UpdateAlarmModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateAlarmModel where+ toJSON UpdateAlarmModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("alarmCapabilities" Data..=)+ Prelude.<$> alarmCapabilities,+ ("alarmEventActions" Data..=)+ Prelude.<$> alarmEventActions,+ ("alarmModelDescription" Data..=)+ Prelude.<$> alarmModelDescription,+ ("alarmNotification" Data..=)+ Prelude.<$> alarmNotification,+ ("severity" Data..=) Prelude.<$> severity,+ Prelude.Just ("roleArn" Data..= roleArn),+ Prelude.Just ("alarmRule" Data..= alarmRule)+ ]+ )++instance Data.ToPath UpdateAlarmModel where+ toPath UpdateAlarmModel' {..} =+ Prelude.mconcat+ ["/alarm-models/", Data.toBS alarmModelName]++instance Data.ToQuery UpdateAlarmModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAlarmModelResponse' smart constructor.+data UpdateAlarmModelResponse = UpdateAlarmModelResponse'+ { -- | The ARN of the alarm model. For more information, see+ -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+ -- in the /AWS General Reference/.+ alarmModelArn :: Prelude.Maybe Prelude.Text,+ -- | The version of the alarm model.+ alarmModelVersion :: Prelude.Maybe Prelude.Text,+ -- | The time the alarm model was created, in the Unix epoch format.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time the alarm model was last updated, in the Unix epoch format.+ lastUpdateTime :: Prelude.Maybe Data.POSIX,+ -- | The status of the alarm model. The status can be one of the following+ -- values:+ --+ -- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+ -- data.+ --+ -- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+ -- Activating an alarm model can take up to a few minutes.+ --+ -- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+ -- evaluate data. Check your alarm model information and update the+ -- alarm model.+ --+ -- - @FAILED@ - You couldn\'t create or update the alarm model. Check+ -- your alarm model information and try again.+ status :: Prelude.Maybe AlarmModelVersionStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAlarmModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alarmModelArn', 'updateAlarmModelResponse_alarmModelArn' - The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+--+-- 'alarmModelVersion', 'updateAlarmModelResponse_alarmModelVersion' - The version of the alarm model.+--+-- 'creationTime', 'updateAlarmModelResponse_creationTime' - The time the alarm model was created, in the Unix epoch format.+--+-- 'lastUpdateTime', 'updateAlarmModelResponse_lastUpdateTime' - The time the alarm model was last updated, in the Unix epoch format.+--+-- 'status', 'updateAlarmModelResponse_status' - The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+--+-- 'httpStatus', 'updateAlarmModelResponse_httpStatus' - The response's http status code.+newUpdateAlarmModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAlarmModelResponse+newUpdateAlarmModelResponse pHttpStatus_ =+ UpdateAlarmModelResponse'+ { alarmModelArn =+ Prelude.Nothing,+ alarmModelVersion = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastUpdateTime = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the alarm model. For more information, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /AWS General Reference/.+updateAlarmModelResponse_alarmModelArn :: Lens.Lens' UpdateAlarmModelResponse (Prelude.Maybe Prelude.Text)+updateAlarmModelResponse_alarmModelArn = Lens.lens (\UpdateAlarmModelResponse' {alarmModelArn} -> alarmModelArn) (\s@UpdateAlarmModelResponse' {} a -> s {alarmModelArn = a} :: UpdateAlarmModelResponse)++-- | The version of the alarm model.+updateAlarmModelResponse_alarmModelVersion :: Lens.Lens' UpdateAlarmModelResponse (Prelude.Maybe Prelude.Text)+updateAlarmModelResponse_alarmModelVersion = Lens.lens (\UpdateAlarmModelResponse' {alarmModelVersion} -> alarmModelVersion) (\s@UpdateAlarmModelResponse' {} a -> s {alarmModelVersion = a} :: UpdateAlarmModelResponse)++-- | The time the alarm model was created, in the Unix epoch format.+updateAlarmModelResponse_creationTime :: Lens.Lens' UpdateAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)+updateAlarmModelResponse_creationTime = Lens.lens (\UpdateAlarmModelResponse' {creationTime} -> creationTime) (\s@UpdateAlarmModelResponse' {} a -> s {creationTime = a} :: UpdateAlarmModelResponse) Prelude.. Lens.mapping Data._Time++-- | The time the alarm model was last updated, in the Unix epoch format.+updateAlarmModelResponse_lastUpdateTime :: Lens.Lens' UpdateAlarmModelResponse (Prelude.Maybe Prelude.UTCTime)+updateAlarmModelResponse_lastUpdateTime = Lens.lens (\UpdateAlarmModelResponse' {lastUpdateTime} -> lastUpdateTime) (\s@UpdateAlarmModelResponse' {} a -> s {lastUpdateTime = a} :: UpdateAlarmModelResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the alarm model. The status can be one of the following+-- values:+--+-- - @ACTIVE@ - The alarm model is active and it\'s ready to evaluate+-- data.+--+-- - @ACTIVATING@ - AWS IoT Events is activating your alarm model.+-- Activating an alarm model can take up to a few minutes.+--+-- - @INACTIVE@ - The alarm model is inactive, so it isn\'t ready to+-- evaluate data. Check your alarm model information and update the+-- alarm model.+--+-- - @FAILED@ - You couldn\'t create or update the alarm model. Check+-- your alarm model information and try again.+updateAlarmModelResponse_status :: Lens.Lens' UpdateAlarmModelResponse (Prelude.Maybe AlarmModelVersionStatus)+updateAlarmModelResponse_status = Lens.lens (\UpdateAlarmModelResponse' {status} -> status) (\s@UpdateAlarmModelResponse' {} a -> s {status = a} :: UpdateAlarmModelResponse)++-- | The response's http status code.+updateAlarmModelResponse_httpStatus :: Lens.Lens' UpdateAlarmModelResponse Prelude.Int+updateAlarmModelResponse_httpStatus = Lens.lens (\UpdateAlarmModelResponse' {httpStatus} -> httpStatus) (\s@UpdateAlarmModelResponse' {} a -> s {httpStatus = a} :: UpdateAlarmModelResponse)++instance Prelude.NFData UpdateAlarmModelResponse where+ rnf UpdateAlarmModelResponse' {..} =+ Prelude.rnf alarmModelArn+ `Prelude.seq` Prelude.rnf alarmModelVersion+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastUpdateTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/UpdateDetectorModel.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.UpdateDetectorModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a detector model. Detectors (instances) spawned by the previous+-- version are deleted and then re-created as new inputs arrive.+module Amazonka.IoTEvents.UpdateDetectorModel+ ( -- * Creating a Request+ UpdateDetectorModel (..),+ newUpdateDetectorModel,++ -- * Request Lenses+ updateDetectorModel_detectorModelDescription,+ updateDetectorModel_evaluationMethod,+ updateDetectorModel_detectorModelName,+ updateDetectorModel_detectorModelDefinition,+ updateDetectorModel_roleArn,++ -- * Destructuring the Response+ UpdateDetectorModelResponse (..),+ newUpdateDetectorModelResponse,++ -- * Response Lenses+ updateDetectorModelResponse_detectorModelConfiguration,+ updateDetectorModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDetectorModel' smart constructor.+data UpdateDetectorModel = UpdateDetectorModel'+ { -- | A brief description of the detector model.+ detectorModelDescription :: Prelude.Maybe Prelude.Text,+ -- | Information about the order in which events are evaluated and how+ -- actions are executed.+ evaluationMethod :: Prelude.Maybe EvaluationMethod,+ -- | The name of the detector model that is updated.+ detectorModelName :: Prelude.Text,+ -- | Information that defines how a detector operates.+ detectorModelDefinition :: DetectorModelDefinition,+ -- | The ARN of the role that grants permission to AWS IoT Events to perform+ -- its operations.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDetectorModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelDescription', 'updateDetectorModel_detectorModelDescription' - A brief description of the detector model.+--+-- 'evaluationMethod', 'updateDetectorModel_evaluationMethod' - Information about the order in which events are evaluated and how+-- actions are executed.+--+-- 'detectorModelName', 'updateDetectorModel_detectorModelName' - The name of the detector model that is updated.+--+-- 'detectorModelDefinition', 'updateDetectorModel_detectorModelDefinition' - Information that defines how a detector operates.+--+-- 'roleArn', 'updateDetectorModel_roleArn' - The ARN of the role that grants permission to AWS IoT Events to perform+-- its operations.+newUpdateDetectorModel ::+ -- | 'detectorModelName'+ Prelude.Text ->+ -- | 'detectorModelDefinition'+ DetectorModelDefinition ->+ -- | 'roleArn'+ Prelude.Text ->+ UpdateDetectorModel+newUpdateDetectorModel+ pDetectorModelName_+ pDetectorModelDefinition_+ pRoleArn_ =+ UpdateDetectorModel'+ { detectorModelDescription =+ Prelude.Nothing,+ evaluationMethod = Prelude.Nothing,+ detectorModelName = pDetectorModelName_,+ detectorModelDefinition = pDetectorModelDefinition_,+ roleArn = pRoleArn_+ }++-- | A brief description of the detector model.+updateDetectorModel_detectorModelDescription :: Lens.Lens' UpdateDetectorModel (Prelude.Maybe Prelude.Text)+updateDetectorModel_detectorModelDescription = Lens.lens (\UpdateDetectorModel' {detectorModelDescription} -> detectorModelDescription) (\s@UpdateDetectorModel' {} a -> s {detectorModelDescription = a} :: UpdateDetectorModel)++-- | Information about the order in which events are evaluated and how+-- actions are executed.+updateDetectorModel_evaluationMethod :: Lens.Lens' UpdateDetectorModel (Prelude.Maybe EvaluationMethod)+updateDetectorModel_evaluationMethod = Lens.lens (\UpdateDetectorModel' {evaluationMethod} -> evaluationMethod) (\s@UpdateDetectorModel' {} a -> s {evaluationMethod = a} :: UpdateDetectorModel)++-- | The name of the detector model that is updated.+updateDetectorModel_detectorModelName :: Lens.Lens' UpdateDetectorModel Prelude.Text+updateDetectorModel_detectorModelName = Lens.lens (\UpdateDetectorModel' {detectorModelName} -> detectorModelName) (\s@UpdateDetectorModel' {} a -> s {detectorModelName = a} :: UpdateDetectorModel)++-- | Information that defines how a detector operates.+updateDetectorModel_detectorModelDefinition :: Lens.Lens' UpdateDetectorModel DetectorModelDefinition+updateDetectorModel_detectorModelDefinition = Lens.lens (\UpdateDetectorModel' {detectorModelDefinition} -> detectorModelDefinition) (\s@UpdateDetectorModel' {} a -> s {detectorModelDefinition = a} :: UpdateDetectorModel)++-- | The ARN of the role that grants permission to AWS IoT Events to perform+-- its operations.+updateDetectorModel_roleArn :: Lens.Lens' UpdateDetectorModel Prelude.Text+updateDetectorModel_roleArn = Lens.lens (\UpdateDetectorModel' {roleArn} -> roleArn) (\s@UpdateDetectorModel' {} a -> s {roleArn = a} :: UpdateDetectorModel)++instance Core.AWSRequest UpdateDetectorModel where+ type+ AWSResponse UpdateDetectorModel =+ UpdateDetectorModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDetectorModelResponse'+ Prelude.<$> (x Data..?> "detectorModelConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDetectorModel where+ hashWithSalt _salt UpdateDetectorModel' {..} =+ _salt+ `Prelude.hashWithSalt` detectorModelDescription+ `Prelude.hashWithSalt` evaluationMethod+ `Prelude.hashWithSalt` detectorModelName+ `Prelude.hashWithSalt` detectorModelDefinition+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData UpdateDetectorModel where+ rnf UpdateDetectorModel' {..} =+ Prelude.rnf detectorModelDescription+ `Prelude.seq` Prelude.rnf evaluationMethod+ `Prelude.seq` Prelude.rnf detectorModelName+ `Prelude.seq` Prelude.rnf detectorModelDefinition+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders UpdateDetectorModel where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateDetectorModel where+ toJSON UpdateDetectorModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("detectorModelDescription" Data..=)+ Prelude.<$> detectorModelDescription,+ ("evaluationMethod" Data..=)+ Prelude.<$> evaluationMethod,+ Prelude.Just+ ( "detectorModelDefinition"+ Data..= detectorModelDefinition+ ),+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )++instance Data.ToPath UpdateDetectorModel where+ toPath UpdateDetectorModel' {..} =+ Prelude.mconcat+ ["/detector-models/", Data.toBS detectorModelName]++instance Data.ToQuery UpdateDetectorModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDetectorModelResponse' smart constructor.+data UpdateDetectorModelResponse = UpdateDetectorModelResponse'+ { -- | Information about how the detector model is configured.+ detectorModelConfiguration :: Prelude.Maybe DetectorModelConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDetectorModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectorModelConfiguration', 'updateDetectorModelResponse_detectorModelConfiguration' - Information about how the detector model is configured.+--+-- 'httpStatus', 'updateDetectorModelResponse_httpStatus' - The response's http status code.+newUpdateDetectorModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDetectorModelResponse+newUpdateDetectorModelResponse pHttpStatus_ =+ UpdateDetectorModelResponse'+ { detectorModelConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about how the detector model is configured.+updateDetectorModelResponse_detectorModelConfiguration :: Lens.Lens' UpdateDetectorModelResponse (Prelude.Maybe DetectorModelConfiguration)+updateDetectorModelResponse_detectorModelConfiguration = Lens.lens (\UpdateDetectorModelResponse' {detectorModelConfiguration} -> detectorModelConfiguration) (\s@UpdateDetectorModelResponse' {} a -> s {detectorModelConfiguration = a} :: UpdateDetectorModelResponse)++-- | The response's http status code.+updateDetectorModelResponse_httpStatus :: Lens.Lens' UpdateDetectorModelResponse Prelude.Int+updateDetectorModelResponse_httpStatus = Lens.lens (\UpdateDetectorModelResponse' {httpStatus} -> httpStatus) (\s@UpdateDetectorModelResponse' {} a -> s {httpStatus = a} :: UpdateDetectorModelResponse)++instance Prelude.NFData UpdateDetectorModelResponse where+ rnf UpdateDetectorModelResponse' {..} =+ Prelude.rnf detectorModelConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/UpdateInput.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.UpdateInput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an input.+module Amazonka.IoTEvents.UpdateInput+ ( -- * Creating a Request+ UpdateInput (..),+ newUpdateInput,++ -- * Request Lenses+ updateInput_inputDescription,+ updateInput_inputName,+ updateInput_inputDefinition,++ -- * Destructuring the Response+ UpdateInputResponse (..),+ newUpdateInputResponse,++ -- * Response Lenses+ updateInputResponse_inputConfiguration,+ updateInputResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateInput' smart constructor.+data UpdateInput = UpdateInput'+ { -- | A brief description of the input.+ inputDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the input you want to update.+ inputName :: Prelude.Text,+ -- | The definition of the input.+ inputDefinition :: InputDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputDescription', 'updateInput_inputDescription' - A brief description of the input.+--+-- 'inputName', 'updateInput_inputName' - The name of the input you want to update.+--+-- 'inputDefinition', 'updateInput_inputDefinition' - The definition of the input.+newUpdateInput ::+ -- | 'inputName'+ Prelude.Text ->+ -- | 'inputDefinition'+ InputDefinition ->+ UpdateInput+newUpdateInput pInputName_ pInputDefinition_ =+ UpdateInput'+ { inputDescription = Prelude.Nothing,+ inputName = pInputName_,+ inputDefinition = pInputDefinition_+ }++-- | A brief description of the input.+updateInput_inputDescription :: Lens.Lens' UpdateInput (Prelude.Maybe Prelude.Text)+updateInput_inputDescription = Lens.lens (\UpdateInput' {inputDescription} -> inputDescription) (\s@UpdateInput' {} a -> s {inputDescription = a} :: UpdateInput)++-- | The name of the input you want to update.+updateInput_inputName :: Lens.Lens' UpdateInput Prelude.Text+updateInput_inputName = Lens.lens (\UpdateInput' {inputName} -> inputName) (\s@UpdateInput' {} a -> s {inputName = a} :: UpdateInput)++-- | The definition of the input.+updateInput_inputDefinition :: Lens.Lens' UpdateInput InputDefinition+updateInput_inputDefinition = Lens.lens (\UpdateInput' {inputDefinition} -> inputDefinition) (\s@UpdateInput' {} a -> s {inputDefinition = a} :: UpdateInput)++instance Core.AWSRequest UpdateInput where+ type AWSResponse UpdateInput = UpdateInputResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateInputResponse'+ Prelude.<$> (x Data..?> "inputConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateInput where+ hashWithSalt _salt UpdateInput' {..} =+ _salt+ `Prelude.hashWithSalt` inputDescription+ `Prelude.hashWithSalt` inputName+ `Prelude.hashWithSalt` inputDefinition++instance Prelude.NFData UpdateInput where+ rnf UpdateInput' {..} =+ Prelude.rnf inputDescription+ `Prelude.seq` Prelude.rnf inputName+ `Prelude.seq` Prelude.rnf inputDefinition++instance Data.ToHeaders UpdateInput where+ toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateInput where+ toJSON UpdateInput' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("inputDescription" Data..=)+ Prelude.<$> inputDescription,+ Prelude.Just+ ("inputDefinition" Data..= inputDefinition)+ ]+ )++instance Data.ToPath UpdateInput where+ toPath UpdateInput' {..} =+ Prelude.mconcat ["/inputs/", Data.toBS inputName]++instance Data.ToQuery UpdateInput where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateInputResponse' smart constructor.+data UpdateInputResponse = UpdateInputResponse'+ { -- | Information about the configuration of the input.+ inputConfiguration :: Prelude.Maybe InputConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateInputResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputConfiguration', 'updateInputResponse_inputConfiguration' - Information about the configuration of the input.+--+-- 'httpStatus', 'updateInputResponse_httpStatus' - The response's http status code.+newUpdateInputResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateInputResponse+newUpdateInputResponse pHttpStatus_ =+ UpdateInputResponse'+ { inputConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the configuration of the input.+updateInputResponse_inputConfiguration :: Lens.Lens' UpdateInputResponse (Prelude.Maybe InputConfiguration)+updateInputResponse_inputConfiguration = Lens.lens (\UpdateInputResponse' {inputConfiguration} -> inputConfiguration) (\s@UpdateInputResponse' {} a -> s {inputConfiguration = a} :: UpdateInputResponse)++-- | The response's http status code.+updateInputResponse_httpStatus :: Lens.Lens' UpdateInputResponse Prelude.Int+updateInputResponse_httpStatus = Lens.lens (\UpdateInputResponse' {httpStatus} -> httpStatus) (\s@UpdateInputResponse' {} a -> s {httpStatus = a} :: UpdateInputResponse)++instance Prelude.NFData UpdateInputResponse where+ rnf UpdateInputResponse' {..} =+ Prelude.rnf inputConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTEvents/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTEvents.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTEvents.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTEvents.Lens+import Amazonka.IoTEvents.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.IoTEvents+import Test.Amazonka.IoTEvents.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "IoTEvents"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/IoTEvents.hs view
@@ -0,0 +1,558 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.IoTEvents+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.IoTEvents where++import Amazonka.IoTEvents+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.IoTEvents.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- 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"+-- [ requestCreateAlarmModel $+-- newCreateAlarmModel+--+-- , requestCreateDetectorModel $+-- newCreateDetectorModel+--+-- , requestCreateInput $+-- newCreateInput+--+-- , requestDeleteAlarmModel $+-- newDeleteAlarmModel+--+-- , requestDeleteDetectorModel $+-- newDeleteDetectorModel+--+-- , requestDeleteInput $+-- newDeleteInput+--+-- , requestDescribeAlarmModel $+-- newDescribeAlarmModel+--+-- , requestDescribeDetectorModel $+-- newDescribeDetectorModel+--+-- , requestDescribeDetectorModelAnalysis $+-- newDescribeDetectorModelAnalysis+--+-- , requestDescribeInput $+-- newDescribeInput+--+-- , requestDescribeLoggingOptions $+-- newDescribeLoggingOptions+--+-- , requestGetDetectorModelAnalysisResults $+-- newGetDetectorModelAnalysisResults+--+-- , requestListAlarmModelVersions $+-- newListAlarmModelVersions+--+-- , requestListAlarmModels $+-- newListAlarmModels+--+-- , requestListDetectorModelVersions $+-- newListDetectorModelVersions+--+-- , requestListDetectorModels $+-- newListDetectorModels+--+-- , requestListInputRoutings $+-- newListInputRoutings+--+-- , requestListInputs $+-- newListInputs+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPutLoggingOptions $+-- newPutLoggingOptions+--+-- , requestStartDetectorModelAnalysis $+-- newStartDetectorModelAnalysis+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAlarmModel $+-- newUpdateAlarmModel+--+-- , requestUpdateDetectorModel $+-- newUpdateDetectorModel+--+-- , requestUpdateInput $+-- newUpdateInput+--+-- ]++-- , testGroup "response"+-- [ responseCreateAlarmModel $+-- newCreateAlarmModelResponse+--+-- , responseCreateDetectorModel $+-- newCreateDetectorModelResponse+--+-- , responseCreateInput $+-- newCreateInputResponse+--+-- , responseDeleteAlarmModel $+-- newDeleteAlarmModelResponse+--+-- , responseDeleteDetectorModel $+-- newDeleteDetectorModelResponse+--+-- , responseDeleteInput $+-- newDeleteInputResponse+--+-- , responseDescribeAlarmModel $+-- newDescribeAlarmModelResponse+--+-- , responseDescribeDetectorModel $+-- newDescribeDetectorModelResponse+--+-- , responseDescribeDetectorModelAnalysis $+-- newDescribeDetectorModelAnalysisResponse+--+-- , responseDescribeInput $+-- newDescribeInputResponse+--+-- , responseDescribeLoggingOptions $+-- newDescribeLoggingOptionsResponse+--+-- , responseGetDetectorModelAnalysisResults $+-- newGetDetectorModelAnalysisResultsResponse+--+-- , responseListAlarmModelVersions $+-- newListAlarmModelVersionsResponse+--+-- , responseListAlarmModels $+-- newListAlarmModelsResponse+--+-- , responseListDetectorModelVersions $+-- newListDetectorModelVersionsResponse+--+-- , responseListDetectorModels $+-- newListDetectorModelsResponse+--+-- , responseListInputRoutings $+-- newListInputRoutingsResponse+--+-- , responseListInputs $+-- newListInputsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePutLoggingOptions $+-- newPutLoggingOptionsResponse+--+-- , responseStartDetectorModelAnalysis $+-- newStartDetectorModelAnalysisResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAlarmModel $+-- newUpdateAlarmModelResponse+--+-- , responseUpdateDetectorModel $+-- newUpdateDetectorModelResponse+--+-- , responseUpdateInput $+-- newUpdateInputResponse+--+-- ]+-- ]++-- Requests++requestCreateAlarmModel :: CreateAlarmModel -> TestTree+requestCreateAlarmModel =+ req+ "CreateAlarmModel"+ "fixture/CreateAlarmModel.yaml"++requestCreateDetectorModel :: CreateDetectorModel -> TestTree+requestCreateDetectorModel =+ req+ "CreateDetectorModel"+ "fixture/CreateDetectorModel.yaml"++requestCreateInput :: CreateInput -> TestTree+requestCreateInput =+ req+ "CreateInput"+ "fixture/CreateInput.yaml"++requestDeleteAlarmModel :: DeleteAlarmModel -> TestTree+requestDeleteAlarmModel =+ req+ "DeleteAlarmModel"+ "fixture/DeleteAlarmModel.yaml"++requestDeleteDetectorModel :: DeleteDetectorModel -> TestTree+requestDeleteDetectorModel =+ req+ "DeleteDetectorModel"+ "fixture/DeleteDetectorModel.yaml"++requestDeleteInput :: DeleteInput -> TestTree+requestDeleteInput =+ req+ "DeleteInput"+ "fixture/DeleteInput.yaml"++requestDescribeAlarmModel :: DescribeAlarmModel -> TestTree+requestDescribeAlarmModel =+ req+ "DescribeAlarmModel"+ "fixture/DescribeAlarmModel.yaml"++requestDescribeDetectorModel :: DescribeDetectorModel -> TestTree+requestDescribeDetectorModel =+ req+ "DescribeDetectorModel"+ "fixture/DescribeDetectorModel.yaml"++requestDescribeDetectorModelAnalysis :: DescribeDetectorModelAnalysis -> TestTree+requestDescribeDetectorModelAnalysis =+ req+ "DescribeDetectorModelAnalysis"+ "fixture/DescribeDetectorModelAnalysis.yaml"++requestDescribeInput :: DescribeInput -> TestTree+requestDescribeInput =+ req+ "DescribeInput"+ "fixture/DescribeInput.yaml"++requestDescribeLoggingOptions :: DescribeLoggingOptions -> TestTree+requestDescribeLoggingOptions =+ req+ "DescribeLoggingOptions"+ "fixture/DescribeLoggingOptions.yaml"++requestGetDetectorModelAnalysisResults :: GetDetectorModelAnalysisResults -> TestTree+requestGetDetectorModelAnalysisResults =+ req+ "GetDetectorModelAnalysisResults"+ "fixture/GetDetectorModelAnalysisResults.yaml"++requestListAlarmModelVersions :: ListAlarmModelVersions -> TestTree+requestListAlarmModelVersions =+ req+ "ListAlarmModelVersions"+ "fixture/ListAlarmModelVersions.yaml"++requestListAlarmModels :: ListAlarmModels -> TestTree+requestListAlarmModels =+ req+ "ListAlarmModels"+ "fixture/ListAlarmModels.yaml"++requestListDetectorModelVersions :: ListDetectorModelVersions -> TestTree+requestListDetectorModelVersions =+ req+ "ListDetectorModelVersions"+ "fixture/ListDetectorModelVersions.yaml"++requestListDetectorModels :: ListDetectorModels -> TestTree+requestListDetectorModels =+ req+ "ListDetectorModels"+ "fixture/ListDetectorModels.yaml"++requestListInputRoutings :: ListInputRoutings -> TestTree+requestListInputRoutings =+ req+ "ListInputRoutings"+ "fixture/ListInputRoutings.yaml"++requestListInputs :: ListInputs -> TestTree+requestListInputs =+ req+ "ListInputs"+ "fixture/ListInputs.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPutLoggingOptions :: PutLoggingOptions -> TestTree+requestPutLoggingOptions =+ req+ "PutLoggingOptions"+ "fixture/PutLoggingOptions.yaml"++requestStartDetectorModelAnalysis :: StartDetectorModelAnalysis -> TestTree+requestStartDetectorModelAnalysis =+ req+ "StartDetectorModelAnalysis"+ "fixture/StartDetectorModelAnalysis.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAlarmModel :: UpdateAlarmModel -> TestTree+requestUpdateAlarmModel =+ req+ "UpdateAlarmModel"+ "fixture/UpdateAlarmModel.yaml"++requestUpdateDetectorModel :: UpdateDetectorModel -> TestTree+requestUpdateDetectorModel =+ req+ "UpdateDetectorModel"+ "fixture/UpdateDetectorModel.yaml"++requestUpdateInput :: UpdateInput -> TestTree+requestUpdateInput =+ req+ "UpdateInput"+ "fixture/UpdateInput.yaml"++-- Responses++responseCreateAlarmModel :: CreateAlarmModelResponse -> TestTree+responseCreateAlarmModel =+ res+ "CreateAlarmModelResponse"+ "fixture/CreateAlarmModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAlarmModel)++responseCreateDetectorModel :: CreateDetectorModelResponse -> TestTree+responseCreateDetectorModel =+ res+ "CreateDetectorModelResponse"+ "fixture/CreateDetectorModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDetectorModel)++responseCreateInput :: CreateInputResponse -> TestTree+responseCreateInput =+ res+ "CreateInputResponse"+ "fixture/CreateInputResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateInput)++responseDeleteAlarmModel :: DeleteAlarmModelResponse -> TestTree+responseDeleteAlarmModel =+ res+ "DeleteAlarmModelResponse"+ "fixture/DeleteAlarmModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAlarmModel)++responseDeleteDetectorModel :: DeleteDetectorModelResponse -> TestTree+responseDeleteDetectorModel =+ res+ "DeleteDetectorModelResponse"+ "fixture/DeleteDetectorModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDetectorModel)++responseDeleteInput :: DeleteInputResponse -> TestTree+responseDeleteInput =+ res+ "DeleteInputResponse"+ "fixture/DeleteInputResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteInput)++responseDescribeAlarmModel :: DescribeAlarmModelResponse -> TestTree+responseDescribeAlarmModel =+ res+ "DescribeAlarmModelResponse"+ "fixture/DescribeAlarmModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAlarmModel)++responseDescribeDetectorModel :: DescribeDetectorModelResponse -> TestTree+responseDescribeDetectorModel =+ res+ "DescribeDetectorModelResponse"+ "fixture/DescribeDetectorModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDetectorModel)++responseDescribeDetectorModelAnalysis :: DescribeDetectorModelAnalysisResponse -> TestTree+responseDescribeDetectorModelAnalysis =+ res+ "DescribeDetectorModelAnalysisResponse"+ "fixture/DescribeDetectorModelAnalysisResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDetectorModelAnalysis)++responseDescribeInput :: DescribeInputResponse -> TestTree+responseDescribeInput =+ res+ "DescribeInputResponse"+ "fixture/DescribeInputResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeInput)++responseDescribeLoggingOptions :: DescribeLoggingOptionsResponse -> TestTree+responseDescribeLoggingOptions =+ res+ "DescribeLoggingOptionsResponse"+ "fixture/DescribeLoggingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLoggingOptions)++responseGetDetectorModelAnalysisResults :: GetDetectorModelAnalysisResultsResponse -> TestTree+responseGetDetectorModelAnalysisResults =+ res+ "GetDetectorModelAnalysisResultsResponse"+ "fixture/GetDetectorModelAnalysisResultsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDetectorModelAnalysisResults)++responseListAlarmModelVersions :: ListAlarmModelVersionsResponse -> TestTree+responseListAlarmModelVersions =+ res+ "ListAlarmModelVersionsResponse"+ "fixture/ListAlarmModelVersionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAlarmModelVersions)++responseListAlarmModels :: ListAlarmModelsResponse -> TestTree+responseListAlarmModels =+ res+ "ListAlarmModelsResponse"+ "fixture/ListAlarmModelsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAlarmModels)++responseListDetectorModelVersions :: ListDetectorModelVersionsResponse -> TestTree+responseListDetectorModelVersions =+ res+ "ListDetectorModelVersionsResponse"+ "fixture/ListDetectorModelVersionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDetectorModelVersions)++responseListDetectorModels :: ListDetectorModelsResponse -> TestTree+responseListDetectorModels =+ res+ "ListDetectorModelsResponse"+ "fixture/ListDetectorModelsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDetectorModels)++responseListInputRoutings :: ListInputRoutingsResponse -> TestTree+responseListInputRoutings =+ res+ "ListInputRoutingsResponse"+ "fixture/ListInputRoutingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListInputRoutings)++responseListInputs :: ListInputsResponse -> TestTree+responseListInputs =+ res+ "ListInputsResponse"+ "fixture/ListInputsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListInputs)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutLoggingOptions :: PutLoggingOptionsResponse -> TestTree+responsePutLoggingOptions =+ res+ "PutLoggingOptionsResponse"+ "fixture/PutLoggingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutLoggingOptions)++responseStartDetectorModelAnalysis :: StartDetectorModelAnalysisResponse -> TestTree+responseStartDetectorModelAnalysis =+ res+ "StartDetectorModelAnalysisResponse"+ "fixture/StartDetectorModelAnalysisResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartDetectorModelAnalysis)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAlarmModel :: UpdateAlarmModelResponse -> TestTree+responseUpdateAlarmModel =+ res+ "UpdateAlarmModelResponse"+ "fixture/UpdateAlarmModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAlarmModel)++responseUpdateDetectorModel :: UpdateDetectorModelResponse -> TestTree+responseUpdateDetectorModel =+ res+ "UpdateDetectorModelResponse"+ "fixture/UpdateDetectorModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDetectorModel)++responseUpdateInput :: UpdateInputResponse -> TestTree+responseUpdateInput =+ res+ "UpdateInputResponse"+ "fixture/UpdateInputResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateInput)
+ test/Test/Amazonka/IoTEvents.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.IoTEvents+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.IoTEvents+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/IoTEvents/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.IoTEvents.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.IoTEvents.Internal where