packages feed

amazonka-iot-analytics (empty) → 1.6.0

raw patch · 104 files changed

+8319/−0 lines, 104 filesdep +amazonka-coredep +amazonka-iot-analyticsdep +amazonka-testsetup-changed

Dependencies added: amazonka-core, amazonka-iot-analytics, amazonka-test, base, bytestring, tasty, tasty-hunit, text, time, unordered-containers

Files

+ 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,45 @@+# Amazon IoT Analytics SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.6.0`+++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-iot-analytics)+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 [Network.AWS.IoTAnalytics](http://hackage.haskell.org/package/amazonka-iot-analytics/docs/Network-AWS-IoTAnalytics.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-iot-analytics` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ amazonka-iot-analytics.cabal view
@@ -0,0 +1,115 @@+name:                  amazonka-iot-analytics+version:               1.6.0+synopsis:              Amazon IoT Analytics 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>+copyright:             Copyright (c) 2013-2018 Brendan Hay+category:              Network, AWS, Cloud, Distributed Computing+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep+description:+    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.+    .+    Lenses are used for constructing and manipulating types,+    due to the depth of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.IoTAnalytics" or <https://aws.amazon.com/documentation/ the AWS documentation>+    to get started.++source-repository head+    type:              git+    location:          git://github.com/brendanhay/amazonka.git+    subdir:            amazonka-iot-analytics++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:+          Network.AWS.IoTAnalytics+        , Network.AWS.IoTAnalytics.BatchPutMessage+        , Network.AWS.IoTAnalytics.CancelPipelineReprocessing+        , Network.AWS.IoTAnalytics.CreateChannel+        , Network.AWS.IoTAnalytics.CreateDataset+        , Network.AWS.IoTAnalytics.CreateDatasetContent+        , Network.AWS.IoTAnalytics.CreateDatastore+        , Network.AWS.IoTAnalytics.CreatePipeline+        , Network.AWS.IoTAnalytics.DeleteChannel+        , Network.AWS.IoTAnalytics.DeleteDataset+        , Network.AWS.IoTAnalytics.DeleteDatasetContent+        , Network.AWS.IoTAnalytics.DeleteDatastore+        , Network.AWS.IoTAnalytics.DeletePipeline+        , Network.AWS.IoTAnalytics.DescribeChannel+        , Network.AWS.IoTAnalytics.DescribeDataset+        , Network.AWS.IoTAnalytics.DescribeDatastore+        , Network.AWS.IoTAnalytics.DescribeLoggingOptions+        , Network.AWS.IoTAnalytics.DescribePipeline+        , Network.AWS.IoTAnalytics.GetDatasetContent+        , Network.AWS.IoTAnalytics.ListChannels+        , Network.AWS.IoTAnalytics.ListDatasets+        , Network.AWS.IoTAnalytics.ListDatastores+        , Network.AWS.IoTAnalytics.ListPipelines+        , Network.AWS.IoTAnalytics.PutLoggingOptions+        , Network.AWS.IoTAnalytics.RunPipelineActivity+        , Network.AWS.IoTAnalytics.SampleChannelData+        , Network.AWS.IoTAnalytics.StartPipelineReprocessing+        , Network.AWS.IoTAnalytics.Types+        , Network.AWS.IoTAnalytics.UpdateChannel+        , Network.AWS.IoTAnalytics.UpdateDataset+        , Network.AWS.IoTAnalytics.UpdateDatastore+        , Network.AWS.IoTAnalytics.UpdatePipeline+        , Network.AWS.IoTAnalytics.Waiters++    other-modules:+          Network.AWS.IoTAnalytics.Types.Product+        , Network.AWS.IoTAnalytics.Types.Sum++    build-depends:+          amazonka-core == 1.6.0.*+        , base          >= 4.7     && < 5++test-suite amazonka-iot-analytics-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This section is encoded by the template and any modules added by+    -- hand outside these namespaces will not correctly be added to the+    -- distribution package.+    other-modules:+          Test.AWS.IoTAnalytics+        , Test.AWS.Gen.IoTAnalytics+        , Test.AWS.IoTAnalytics.Internal++    build-depends:+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*+        , amazonka-iot-analytics+        , base+        , bytestring+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/BatchPutMessage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/BatchPutMessageResponse.proto view
+ fixture/CancelPipelineReprocessing.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/CancelPipelineReprocessingResponse.proto view
+ fixture/CreateChannel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/CreateChannelResponse.proto view
+ fixture/CreateDataset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/CreateDatasetContent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/CreateDatasetContentResponse.proto view
+ fixture/CreateDatasetResponse.proto view
+ fixture/CreateDatastore.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/CreateDatastoreResponse.proto view
+ fixture/CreatePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/CreatePipelineResponse.proto view
+ fixture/DeleteChannel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DeleteChannelResponse.proto view
+ fixture/DeleteDataset.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DeleteDatasetContent.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DeleteDatasetContentResponse.proto view
+ fixture/DeleteDatasetResponse.proto view
+ fixture/DeleteDatastore.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DeleteDatastoreResponse.proto view
+ fixture/DeletePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DeletePipelineResponse.proto view
+ fixture/DescribeChannel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DescribeChannelResponse.proto view
+ fixture/DescribeDataset.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DescribeDatasetResponse.proto view
+ fixture/DescribeDatastore.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DescribeDatastoreResponse.proto view
+ fixture/DescribeLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DescribePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/DescribePipelineResponse.proto view
+ fixture/GetDatasetContent.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/GetDatasetContentResponse.proto view
+ fixture/ListChannels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/ListChannelsResponse.proto view
+ fixture/ListDatasets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/ListDatasetsResponse.proto view
+ fixture/ListDatastores.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/ListDatastoresResponse.proto view
+ fixture/ListPipelines.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/ListPipelinesResponse.proto view
+ fixture/PutLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/RunPipelineActivity.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/RunPipelineActivityResponse.proto view
+ fixture/SampleChannelData.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/SampleChannelDataResponse.proto view
+ fixture/StartPipelineReprocessing.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/StartPipelineReprocessingResponse.proto view
+ fixture/UpdateChannel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/UpdateChannelResponse.proto view
+ fixture/UpdateDataset.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/UpdateDatasetResponse.proto view
+ fixture/UpdateDatastore.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/UpdateDatastoreResponse.proto view
+ fixture/UpdatePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotanalytics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  iotanalytics.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/UpdatePipelineResponse.proto view
+ gen/Network/AWS/IoTAnalytics.hs view
@@ -0,0 +1,456 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- AWS IoT Analytics provides advanced data analysis for AWS IoT. It allows you to collect large amounts of device data, process messages, store them, and then query the data and run sophisticated analytics to make accurate decisions in your IoT applications and machine learning use cases. AWS IoT Analytics enables advanced data exploration through integration with Jupyter Notebooks and data visualization through integration with Amazon QuickSight.+--+--+-- Traditional analytics and business intelligence tools are designed to process structured data. IoT data often comes from devices that record noisy processes (such as temperature, motion, or sound). As a result, the data from these devices can have significant gaps, corrupted messages, and false readings that must be cleaned up before analysis can occur. Also, IoT data is often only meaningful in the context of other data from external sources.+--+-- AWS IoT Analytics automates each of the steps required to analyze data from IoT devices. AWS IoT Analytics filters, transforms, and enriches IoT data before storing it in a time-series data store for analysis. You can set up the service to collect only the data you need from your devices, apply mathematical transforms to process the data, and enrich the data with device-specific metadata such as device type and location before storing it. Then, you can analyze your data by running queries using the built-in SQL query engine, or perform more complex analytics and machine learning inference. AWS IoT Analytics includes models for common IoT use cases so you can answer questions like which devices are about to fail or which customers are at risk of abandoning their wearable devices.+--+module Network.AWS.IoTAnalytics+    (+    -- * Service Configuration+      ioTAnalytics++    -- * Errors+    -- $errors++    -- ** InvalidRequestException+    , _InvalidRequestException++    -- ** ResourceAlreadyExistsException+    , _ResourceAlreadyExistsException++    -- ** ThrottlingException+    , _ThrottlingException++    -- ** InternalFailureException+    , _InternalFailureException++    -- ** ServiceUnavailableException+    , _ServiceUnavailableException++    -- ** ResourceNotFoundException+    , _ResourceNotFoundException++    -- ** LimitExceededException+    , _LimitExceededException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** DescribePipeline+    , module Network.AWS.IoTAnalytics.DescribePipeline++    -- ** DescribeDataset+    , module Network.AWS.IoTAnalytics.DescribeDataset++    -- ** ListChannels+    , module Network.AWS.IoTAnalytics.ListChannels++    -- ** PutLoggingOptions+    , module Network.AWS.IoTAnalytics.PutLoggingOptions++    -- ** DeleteChannel+    , module Network.AWS.IoTAnalytics.DeleteChannel++    -- ** UpdateChannel+    , module Network.AWS.IoTAnalytics.UpdateChannel++    -- ** SampleChannelData+    , module Network.AWS.IoTAnalytics.SampleChannelData++    -- ** CancelPipelineReprocessing+    , module Network.AWS.IoTAnalytics.CancelPipelineReprocessing++    -- ** CreateDatastore+    , module Network.AWS.IoTAnalytics.CreateDatastore++    -- ** UpdatePipeline+    , module Network.AWS.IoTAnalytics.UpdatePipeline++    -- ** DeletePipeline+    , module Network.AWS.IoTAnalytics.DeletePipeline++    -- ** DeleteDataset+    , module Network.AWS.IoTAnalytics.DeleteDataset++    -- ** UpdateDataset+    , module Network.AWS.IoTAnalytics.UpdateDataset++    -- ** ListPipelines+    , module Network.AWS.IoTAnalytics.ListPipelines++    -- ** DeleteDatastore+    , module Network.AWS.IoTAnalytics.DeleteDatastore++    -- ** UpdateDatastore+    , module Network.AWS.IoTAnalytics.UpdateDatastore++    -- ** CreateDataset+    , module Network.AWS.IoTAnalytics.CreateDataset++    -- ** BatchPutMessage+    , module Network.AWS.IoTAnalytics.BatchPutMessage++    -- ** ListDatastores+    , module Network.AWS.IoTAnalytics.ListDatastores++    -- ** CreateDatasetContent+    , module Network.AWS.IoTAnalytics.CreateDatasetContent++    -- ** CreateChannel+    , module Network.AWS.IoTAnalytics.CreateChannel++    -- ** DeleteDatasetContent+    , module Network.AWS.IoTAnalytics.DeleteDatasetContent++    -- ** DescribeDatastore+    , module Network.AWS.IoTAnalytics.DescribeDatastore++    -- ** GetDatasetContent+    , module Network.AWS.IoTAnalytics.GetDatasetContent++    -- ** ListDatasets+    , module Network.AWS.IoTAnalytics.ListDatasets++    -- ** RunPipelineActivity+    , module Network.AWS.IoTAnalytics.RunPipelineActivity++    -- ** DescribeChannel+    , module Network.AWS.IoTAnalytics.DescribeChannel++    -- ** CreatePipeline+    , module Network.AWS.IoTAnalytics.CreatePipeline++    -- ** StartPipelineReprocessing+    , module Network.AWS.IoTAnalytics.StartPipelineReprocessing++    -- ** DescribeLoggingOptions+    , module Network.AWS.IoTAnalytics.DescribeLoggingOptions++    -- * Types++    -- ** ChannelStatus+    , ChannelStatus (..)++    -- ** DatasetContentState+    , DatasetContentState (..)++    -- ** DatasetStatus+    , DatasetStatus (..)++    -- ** DatastoreStatus+    , DatastoreStatus (..)++    -- ** LoggingLevel+    , LoggingLevel (..)++    -- ** ReprocessingStatus+    , ReprocessingStatus (..)++    -- ** AddAttributesActivity+    , AddAttributesActivity+    , addAttributesActivity+    , aaaNext+    , aaaName+    , aaaAttributes++    -- ** BatchPutMessageErrorEntry+    , BatchPutMessageErrorEntry+    , batchPutMessageErrorEntry+    , bpmeeErrorCode+    , bpmeeErrorMessage+    , bpmeeMessageId++    -- ** Channel+    , Channel+    , channel+    , cCreationTime+    , cStatus+    , cArn+    , cRetentionPeriod+    , cName+    , cLastUpdateTime++    -- ** ChannelActivity+    , ChannelActivity+    , channelActivity+    , caNext+    , caName+    , caChannelName++    -- ** ChannelSummary+    , ChannelSummary+    , channelSummary+    , csCreationTime+    , csStatus+    , csChannelName+    , csLastUpdateTime++    -- ** Dataset+    , Dataset+    , dataset+    , dCreationTime+    , dStatus+    , dArn+    , dActions+    , dTriggers+    , dName+    , dLastUpdateTime++    -- ** DatasetAction+    , DatasetAction+    , datasetAction+    , daQueryAction+    , daActionName++    -- ** DatasetContentStatus+    , DatasetContentStatus+    , datasetContentStatus+    , dcsState+    , dcsReason++    -- ** DatasetEntry+    , DatasetEntry+    , datasetEntry+    , deEntryName+    , deDataURI++    -- ** DatasetSummary+    , DatasetSummary+    , datasetSummary+    , dssCreationTime+    , dssStatus+    , dssDatasetName+    , dssLastUpdateTime++    -- ** DatasetTrigger+    , DatasetTrigger+    , datasetTrigger+    , dtSchedule++    -- ** Datastore+    , Datastore+    , datastore+    , datCreationTime+    , datStatus+    , datArn+    , datRetentionPeriod+    , datName+    , datLastUpdateTime++    -- ** DatastoreActivity+    , DatastoreActivity+    , datastoreActivity+    , daName+    , daDatastoreName++    -- ** DatastoreSummary+    , DatastoreSummary+    , datastoreSummary+    , dsCreationTime+    , dsStatus+    , dsDatastoreName+    , dsLastUpdateTime++    -- ** DeviceRegistryEnrichActivity+    , DeviceRegistryEnrichActivity+    , deviceRegistryEnrichActivity+    , dreaNext+    , dreaName+    , dreaAttribute+    , dreaThingName+    , dreaRoleARN++    -- ** DeviceShadowEnrichActivity+    , DeviceShadowEnrichActivity+    , deviceShadowEnrichActivity+    , dseaNext+    , dseaName+    , dseaAttribute+    , dseaThingName+    , dseaRoleARN++    -- ** FilterActivity+    , FilterActivity+    , filterActivity+    , faNext+    , faName+    , faFilter++    -- ** LambdaActivity+    , LambdaActivity+    , lambdaActivity+    , laNext+    , laName+    , laLambdaName+    , laBatchSize++    -- ** LoggingOptions+    , LoggingOptions+    , loggingOptions+    , loRoleARN+    , loLevel+    , loEnabled++    -- ** MathActivity+    , MathActivity+    , mathActivity+    , maNext+    , maName+    , maAttribute+    , maMath++    -- ** Message+    , Message+    , message+    , mMessageId+    , mPayload++    -- ** Pipeline+    , Pipeline+    , pipeline+    , pCreationTime+    , pArn+    , pActivities+    , pName+    , pReprocessingSummaries+    , pLastUpdateTime++    -- ** PipelineActivity+    , PipelineActivity+    , pipelineActivity+    , paSelectAttributes+    , paChannel+    , paAddAttributes+    , paDeviceRegistryEnrich+    , paRemoveAttributes+    , paLambda+    , paDatastore+    , paDeviceShadowEnrich+    , paFilter+    , paMath++    -- ** PipelineSummary+    , PipelineSummary+    , pipelineSummary+    , psCreationTime+    , psPipelineName+    , psReprocessingSummaries+    , psLastUpdateTime++    -- ** RemoveAttributesActivity+    , RemoveAttributesActivity+    , removeAttributesActivity+    , raaNext+    , raaName+    , raaAttributes++    -- ** ReprocessingSummary+    , ReprocessingSummary+    , reprocessingSummary+    , rsCreationTime+    , rsStatus+    , rsId++    -- ** RetentionPeriod+    , RetentionPeriod+    , retentionPeriod+    , rpUnlimited+    , rpNumberOfDays++    -- ** Schedule+    , Schedule+    , schedule+    , sExpression++    -- ** SelectAttributesActivity+    , SelectAttributesActivity+    , selectAttributesActivity+    , saaNext+    , saaName+    , saaAttributes++    -- ** SqlQueryDatasetAction+    , SqlQueryDatasetAction+    , sqlQueryDatasetAction+    , sqdaSqlQuery+    ) where++import Network.AWS.IoTAnalytics.BatchPutMessage+import Network.AWS.IoTAnalytics.CancelPipelineReprocessing+import Network.AWS.IoTAnalytics.CreateChannel+import Network.AWS.IoTAnalytics.CreateDataset+import Network.AWS.IoTAnalytics.CreateDatasetContent+import Network.AWS.IoTAnalytics.CreateDatastore+import Network.AWS.IoTAnalytics.CreatePipeline+import Network.AWS.IoTAnalytics.DeleteChannel+import Network.AWS.IoTAnalytics.DeleteDataset+import Network.AWS.IoTAnalytics.DeleteDatasetContent+import Network.AWS.IoTAnalytics.DeleteDatastore+import Network.AWS.IoTAnalytics.DeletePipeline+import Network.AWS.IoTAnalytics.DescribeChannel+import Network.AWS.IoTAnalytics.DescribeDataset+import Network.AWS.IoTAnalytics.DescribeDatastore+import Network.AWS.IoTAnalytics.DescribeLoggingOptions+import Network.AWS.IoTAnalytics.DescribePipeline+import Network.AWS.IoTAnalytics.GetDatasetContent+import Network.AWS.IoTAnalytics.ListChannels+import Network.AWS.IoTAnalytics.ListDatasets+import Network.AWS.IoTAnalytics.ListDatastores+import Network.AWS.IoTAnalytics.ListPipelines+import Network.AWS.IoTAnalytics.PutLoggingOptions+import Network.AWS.IoTAnalytics.RunPipelineActivity+import Network.AWS.IoTAnalytics.SampleChannelData+import Network.AWS.IoTAnalytics.StartPipelineReprocessing+import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.UpdateChannel+import Network.AWS.IoTAnalytics.UpdateDataset+import Network.AWS.IoTAnalytics.UpdateDatastore+import Network.AWS.IoTAnalytics.UpdatePipeline+import Network.AWS.IoTAnalytics.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 'IoTAnalytics'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/IoTAnalytics/BatchPutMessage.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.BatchPutMessage+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends messages to a channel.+--+--+module Network.AWS.IoTAnalytics.BatchPutMessage+    (+    -- * Creating a Request+      batchPutMessage+    , BatchPutMessage+    -- * Request Lenses+    , bpmChannelName+    , bpmMessages++    -- * Destructuring the Response+    , batchPutMessageResponse+    , BatchPutMessageResponse+    -- * Response Lenses+    , bpmrsBatchPutMessageErrorEntries+    , bpmrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchPutMessage' smart constructor.+data BatchPutMessage = BatchPutMessage'+  { _bpmChannelName :: !Text+  , _bpmMessages    :: ![Message]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchPutMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpmChannelName' - The name of the channel where the messages are sent.+--+-- * 'bpmMessages' - The list of messages to be sent. Each message has format: '{ "messageId": "string", "payload": "string"}'.+batchPutMessage+    :: Text -- ^ 'bpmChannelName'+    -> BatchPutMessage+batchPutMessage pChannelName_ =+  BatchPutMessage' {_bpmChannelName = pChannelName_, _bpmMessages = mempty}+++-- | The name of the channel where the messages are sent.+bpmChannelName :: Lens' BatchPutMessage Text+bpmChannelName = lens _bpmChannelName (\ s a -> s{_bpmChannelName = a})++-- | The list of messages to be sent. Each message has format: '{ "messageId": "string", "payload": "string"}'.+bpmMessages :: Lens' BatchPutMessage [Message]+bpmMessages = lens _bpmMessages (\ s a -> s{_bpmMessages = a}) . _Coerce++instance AWSRequest BatchPutMessage where+        type Rs BatchPutMessage = BatchPutMessageResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 BatchPutMessageResponse' <$>+                   (x .?> "batchPutMessageErrorEntries" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable BatchPutMessage where++instance NFData BatchPutMessage where++instance ToHeaders BatchPutMessage where+        toHeaders = const mempty++instance ToJSON BatchPutMessage where+        toJSON BatchPutMessage'{..}+          = object+              (catMaybes+                 [Just ("channelName" .= _bpmChannelName),+                  Just ("messages" .= _bpmMessages)])++instance ToPath BatchPutMessage where+        toPath = const "/messages/batch"++instance ToQuery BatchPutMessage where+        toQuery = const mempty++-- | /See:/ 'batchPutMessageResponse' smart constructor.+data BatchPutMessageResponse = BatchPutMessageResponse'+  { _bpmrsBatchPutMessageErrorEntries :: !(Maybe [BatchPutMessageErrorEntry])+  , _bpmrsResponseStatus              :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchPutMessageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpmrsBatchPutMessageErrorEntries' - A list of any errors encountered when sending the messages to the channel.+--+-- * 'bpmrsResponseStatus' - -- | The response status code.+batchPutMessageResponse+    :: Int -- ^ 'bpmrsResponseStatus'+    -> BatchPutMessageResponse+batchPutMessageResponse pResponseStatus_ =+  BatchPutMessageResponse'+    { _bpmrsBatchPutMessageErrorEntries = Nothing+    , _bpmrsResponseStatus = pResponseStatus_+    }+++-- | A list of any errors encountered when sending the messages to the channel.+bpmrsBatchPutMessageErrorEntries :: Lens' BatchPutMessageResponse [BatchPutMessageErrorEntry]+bpmrsBatchPutMessageErrorEntries = lens _bpmrsBatchPutMessageErrorEntries (\ s a -> s{_bpmrsBatchPutMessageErrorEntries = a}) . _Default . _Coerce++-- | -- | The response status code.+bpmrsResponseStatus :: Lens' BatchPutMessageResponse Int+bpmrsResponseStatus = lens _bpmrsResponseStatus (\ s a -> s{_bpmrsResponseStatus = a})++instance NFData BatchPutMessageResponse where
+ gen/Network/AWS/IoTAnalytics/CancelPipelineReprocessing.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.CancelPipelineReprocessing+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels the reprocessing of data through the pipeline.+--+--+module Network.AWS.IoTAnalytics.CancelPipelineReprocessing+    (+    -- * Creating a Request+      cancelPipelineReprocessing+    , CancelPipelineReprocessing+    -- * Request Lenses+    , cprPipelineName+    , cprReprocessingId++    -- * Destructuring the Response+    , cancelPipelineReprocessingResponse+    , CancelPipelineReprocessingResponse+    -- * Response Lenses+    , cprrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'cancelPipelineReprocessing' smart constructor.+data CancelPipelineReprocessing = CancelPipelineReprocessing'+  { _cprPipelineName   :: !Text+  , _cprReprocessingId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CancelPipelineReprocessing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprPipelineName' - The name of pipeline for which data reprocessing is canceled.+--+-- * 'cprReprocessingId' - The ID of the reprocessing task (returned by "StartPipelineReprocessing").+cancelPipelineReprocessing+    :: Text -- ^ 'cprPipelineName'+    -> Text -- ^ 'cprReprocessingId'+    -> CancelPipelineReprocessing+cancelPipelineReprocessing pPipelineName_ pReprocessingId_ =+  CancelPipelineReprocessing'+    {_cprPipelineName = pPipelineName_, _cprReprocessingId = pReprocessingId_}+++-- | The name of pipeline for which data reprocessing is canceled.+cprPipelineName :: Lens' CancelPipelineReprocessing Text+cprPipelineName = lens _cprPipelineName (\ s a -> s{_cprPipelineName = a})++-- | The ID of the reprocessing task (returned by "StartPipelineReprocessing").+cprReprocessingId :: Lens' CancelPipelineReprocessing Text+cprReprocessingId = lens _cprReprocessingId (\ s a -> s{_cprReprocessingId = a})++instance AWSRequest CancelPipelineReprocessing where+        type Rs CancelPipelineReprocessing =+             CancelPipelineReprocessingResponse+        request = delete ioTAnalytics+        response+          = receiveEmpty+              (\ s h x ->+                 CancelPipelineReprocessingResponse' <$>+                   (pure (fromEnum s)))++instance Hashable CancelPipelineReprocessing where++instance NFData CancelPipelineReprocessing where++instance ToHeaders CancelPipelineReprocessing where+        toHeaders = const mempty++instance ToPath CancelPipelineReprocessing where+        toPath CancelPipelineReprocessing'{..}+          = mconcat+              ["/pipelines/", toBS _cprPipelineName,+               "/reprocessing/", toBS _cprReprocessingId]++instance ToQuery CancelPipelineReprocessing where+        toQuery = const mempty++-- | /See:/ 'cancelPipelineReprocessingResponse' smart constructor.+newtype CancelPipelineReprocessingResponse = CancelPipelineReprocessingResponse'+  { _cprrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CancelPipelineReprocessingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprrsResponseStatus' - -- | The response status code.+cancelPipelineReprocessingResponse+    :: Int -- ^ 'cprrsResponseStatus'+    -> CancelPipelineReprocessingResponse+cancelPipelineReprocessingResponse pResponseStatus_ =+  CancelPipelineReprocessingResponse' {_cprrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+cprrsResponseStatus :: Lens' CancelPipelineReprocessingResponse Int+cprrsResponseStatus = lens _cprrsResponseStatus (\ s a -> s{_cprrsResponseStatus = a})++instance NFData CancelPipelineReprocessingResponse+         where
+ gen/Network/AWS/IoTAnalytics/CreateChannel.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.CreateChannel+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a channel. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline.+--+--+module Network.AWS.IoTAnalytics.CreateChannel+    (+    -- * Creating a Request+      createChannel+    , CreateChannel+    -- * Request Lenses+    , ccRetentionPeriod+    , ccChannelName++    -- * Destructuring the Response+    , createChannelResponse+    , CreateChannelResponse+    -- * Response Lenses+    , ccrsChannelARN+    , ccrsRetentionPeriod+    , ccrsChannelName+    , ccrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createChannel' smart constructor.+data CreateChannel = CreateChannel'+  { _ccRetentionPeriod :: !(Maybe RetentionPeriod)+  , _ccChannelName     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateChannel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccRetentionPeriod' - How long, in days, message data is kept for the channel.+--+-- * 'ccChannelName' - The name of the channel.+createChannel+    :: Text -- ^ 'ccChannelName'+    -> CreateChannel+createChannel pChannelName_ =+  CreateChannel' {_ccRetentionPeriod = Nothing, _ccChannelName = pChannelName_}+++-- | How long, in days, message data is kept for the channel.+ccRetentionPeriod :: Lens' CreateChannel (Maybe RetentionPeriod)+ccRetentionPeriod = lens _ccRetentionPeriod (\ s a -> s{_ccRetentionPeriod = a})++-- | The name of the channel.+ccChannelName :: Lens' CreateChannel Text+ccChannelName = lens _ccChannelName (\ s a -> s{_ccChannelName = a})++instance AWSRequest CreateChannel where+        type Rs CreateChannel = CreateChannelResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 CreateChannelResponse' <$>+                   (x .?> "channelArn") <*> (x .?> "retentionPeriod")+                     <*> (x .?> "channelName")+                     <*> (pure (fromEnum s)))++instance Hashable CreateChannel where++instance NFData CreateChannel where++instance ToHeaders CreateChannel where+        toHeaders = const mempty++instance ToJSON CreateChannel where+        toJSON CreateChannel'{..}+          = object+              (catMaybes+                 [("retentionPeriod" .=) <$> _ccRetentionPeriod,+                  Just ("channelName" .= _ccChannelName)])++instance ToPath CreateChannel where+        toPath = const "/channels"++instance ToQuery CreateChannel where+        toQuery = const mempty++-- | /See:/ 'createChannelResponse' smart constructor.+data CreateChannelResponse = CreateChannelResponse'+  { _ccrsChannelARN      :: !(Maybe Text)+  , _ccrsRetentionPeriod :: !(Maybe RetentionPeriod)+  , _ccrsChannelName     :: !(Maybe Text)+  , _ccrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateChannelResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrsChannelARN' - The ARN of the channel.+--+-- * 'ccrsRetentionPeriod' - How long, in days, message data is kept for the channel.+--+-- * 'ccrsChannelName' - The name of the channel.+--+-- * 'ccrsResponseStatus' - -- | The response status code.+createChannelResponse+    :: Int -- ^ 'ccrsResponseStatus'+    -> CreateChannelResponse+createChannelResponse pResponseStatus_ =+  CreateChannelResponse'+    { _ccrsChannelARN = Nothing+    , _ccrsRetentionPeriod = Nothing+    , _ccrsChannelName = Nothing+    , _ccrsResponseStatus = pResponseStatus_+    }+++-- | The ARN of the channel.+ccrsChannelARN :: Lens' CreateChannelResponse (Maybe Text)+ccrsChannelARN = lens _ccrsChannelARN (\ s a -> s{_ccrsChannelARN = a})++-- | How long, in days, message data is kept for the channel.+ccrsRetentionPeriod :: Lens' CreateChannelResponse (Maybe RetentionPeriod)+ccrsRetentionPeriod = lens _ccrsRetentionPeriod (\ s a -> s{_ccrsRetentionPeriod = a})++-- | The name of the channel.+ccrsChannelName :: Lens' CreateChannelResponse (Maybe Text)+ccrsChannelName = lens _ccrsChannelName (\ s a -> s{_ccrsChannelName = a})++-- | -- | The response status code.+ccrsResponseStatus :: Lens' CreateChannelResponse Int+ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a})++instance NFData CreateChannelResponse where
+ gen/Network/AWS/IoTAnalytics/CreateDataset.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.CreateDataset+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a data set. A data set stores data retrieved from a data store by applying an SQL action.+--+--+module Network.AWS.IoTAnalytics.CreateDataset+    (+    -- * Creating a Request+      createDataset+    , CreateDataset+    -- * Request Lenses+    , cdTriggers+    , cdDatasetName+    , cdActions++    -- * Destructuring the Response+    , createDatasetResponse+    , CreateDatasetResponse+    -- * Response Lenses+    , crsDatasetARN+    , crsDatasetName+    , crsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDataset' smart constructor.+data CreateDataset = CreateDataset'+  { _cdTriggers    :: !(Maybe [DatasetTrigger])+  , _cdDatasetName :: !Text+  , _cdActions     :: !(List1 DatasetAction)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDataset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdTriggers' - A list of triggers. A trigger causes data set content to be populated at a specified time or time interval. The list of triggers can be empty or contain up to five __DataSetTrigger__ objects.+--+-- * 'cdDatasetName' - The name of the data set.+--+-- * 'cdActions' - A list of actions that create the data set. Only one action is supported at this time.+createDataset+    :: Text -- ^ 'cdDatasetName'+    -> NonEmpty DatasetAction -- ^ 'cdActions'+    -> CreateDataset+createDataset pDatasetName_ pActions_ =+  CreateDataset'+    { _cdTriggers = Nothing+    , _cdDatasetName = pDatasetName_+    , _cdActions = _List1 # pActions_+    }+++-- | A list of triggers. A trigger causes data set content to be populated at a specified time or time interval. The list of triggers can be empty or contain up to five __DataSetTrigger__ objects.+cdTriggers :: Lens' CreateDataset [DatasetTrigger]+cdTriggers = lens _cdTriggers (\ s a -> s{_cdTriggers = a}) . _Default . _Coerce++-- | The name of the data set.+cdDatasetName :: Lens' CreateDataset Text+cdDatasetName = lens _cdDatasetName (\ s a -> s{_cdDatasetName = a})++-- | A list of actions that create the data set. Only one action is supported at this time.+cdActions :: Lens' CreateDataset (NonEmpty DatasetAction)+cdActions = lens _cdActions (\ s a -> s{_cdActions = a}) . _List1++instance AWSRequest CreateDataset where+        type Rs CreateDataset = CreateDatasetResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 CreateDatasetResponse' <$>+                   (x .?> "datasetArn") <*> (x .?> "datasetName") <*>+                     (pure (fromEnum s)))++instance Hashable CreateDataset where++instance NFData CreateDataset where++instance ToHeaders CreateDataset where+        toHeaders = const mempty++instance ToJSON CreateDataset where+        toJSON CreateDataset'{..}+          = object+              (catMaybes+                 [("triggers" .=) <$> _cdTriggers,+                  Just ("datasetName" .= _cdDatasetName),+                  Just ("actions" .= _cdActions)])++instance ToPath CreateDataset where+        toPath = const "/datasets"++instance ToQuery CreateDataset where+        toQuery = const mempty++-- | /See:/ 'createDatasetResponse' smart constructor.+data CreateDatasetResponse = CreateDatasetResponse'+  { _crsDatasetARN     :: !(Maybe Text)+  , _crsDatasetName    :: !(Maybe Text)+  , _crsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatasetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsDatasetARN' - The ARN of the data set.+--+-- * 'crsDatasetName' - The name of the data set.+--+-- * 'crsResponseStatus' - -- | The response status code.+createDatasetResponse+    :: Int -- ^ 'crsResponseStatus'+    -> CreateDatasetResponse+createDatasetResponse pResponseStatus_ =+  CreateDatasetResponse'+    { _crsDatasetARN = Nothing+    , _crsDatasetName = Nothing+    , _crsResponseStatus = pResponseStatus_+    }+++-- | The ARN of the data set.+crsDatasetARN :: Lens' CreateDatasetResponse (Maybe Text)+crsDatasetARN = lens _crsDatasetARN (\ s a -> s{_crsDatasetARN = a})++-- | The name of the data set.+crsDatasetName :: Lens' CreateDatasetResponse (Maybe Text)+crsDatasetName = lens _crsDatasetName (\ s a -> s{_crsDatasetName = a})++-- | -- | The response status code.+crsResponseStatus :: Lens' CreateDatasetResponse Int+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})++instance NFData CreateDatasetResponse where
+ gen/Network/AWS/IoTAnalytics/CreateDatasetContent.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.CreateDatasetContent+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates the content of a data set by applying an SQL action.+--+--+module Network.AWS.IoTAnalytics.CreateDatasetContent+    (+    -- * Creating a Request+      createDatasetContent+    , CreateDatasetContent+    -- * Request Lenses+    , cdcDatasetName++    -- * Destructuring the Response+    , createDatasetContentResponse+    , CreateDatasetContentResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDatasetContent' smart constructor.+newtype CreateDatasetContent = CreateDatasetContent'+  { _cdcDatasetName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatasetContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdcDatasetName' - The name of the data set.+createDatasetContent+    :: Text -- ^ 'cdcDatasetName'+    -> CreateDatasetContent+createDatasetContent pDatasetName_ =+  CreateDatasetContent' {_cdcDatasetName = pDatasetName_}+++-- | The name of the data set.+cdcDatasetName :: Lens' CreateDatasetContent Text+cdcDatasetName = lens _cdcDatasetName (\ s a -> s{_cdcDatasetName = a})++instance AWSRequest CreateDatasetContent where+        type Rs CreateDatasetContent =+             CreateDatasetContentResponse+        request = postJSON ioTAnalytics+        response = receiveNull CreateDatasetContentResponse'++instance Hashable CreateDatasetContent where++instance NFData CreateDatasetContent where++instance ToHeaders CreateDatasetContent where+        toHeaders = const mempty++instance ToJSON CreateDatasetContent where+        toJSON = const (Object mempty)++instance ToPath CreateDatasetContent where+        toPath CreateDatasetContent'{..}+          = mconcat+              ["/datasets/", toBS _cdcDatasetName, "/content"]++instance ToQuery CreateDatasetContent where+        toQuery = const mempty++-- | /See:/ 'createDatasetContentResponse' smart constructor.+data CreateDatasetContentResponse =+  CreateDatasetContentResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatasetContentResponse' with the minimum fields required to make a request.+--+createDatasetContentResponse+    :: CreateDatasetContentResponse+createDatasetContentResponse = CreateDatasetContentResponse'+++instance NFData CreateDatasetContentResponse where
+ gen/Network/AWS/IoTAnalytics/CreateDatastore.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.CreateDatastore+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a data store, which is a repository for messages.+--+--+module Network.AWS.IoTAnalytics.CreateDatastore+    (+    -- * Creating a Request+      createDatastore+    , CreateDatastore+    -- * Request Lenses+    , cdRetentionPeriod+    , cdDatastoreName++    -- * Destructuring the Response+    , createDatastoreResponse+    , CreateDatastoreResponse+    -- * Response Lenses+    , cdrsDatastoreARN+    , cdrsDatastoreName+    , cdrsRetentionPeriod+    , cdrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDatastore' smart constructor.+data CreateDatastore = CreateDatastore'+  { _cdRetentionPeriod :: !(Maybe RetentionPeriod)+  , _cdDatastoreName   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatastore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdRetentionPeriod' - How long, in days, message data is kept for the data store.+--+-- * 'cdDatastoreName' - The name of the data store.+createDatastore+    :: Text -- ^ 'cdDatastoreName'+    -> CreateDatastore+createDatastore pDatastoreName_ =+  CreateDatastore'+    {_cdRetentionPeriod = Nothing, _cdDatastoreName = pDatastoreName_}+++-- | How long, in days, message data is kept for the data store.+cdRetentionPeriod :: Lens' CreateDatastore (Maybe RetentionPeriod)+cdRetentionPeriod = lens _cdRetentionPeriod (\ s a -> s{_cdRetentionPeriod = a})++-- | The name of the data store.+cdDatastoreName :: Lens' CreateDatastore Text+cdDatastoreName = lens _cdDatastoreName (\ s a -> s{_cdDatastoreName = a})++instance AWSRequest CreateDatastore where+        type Rs CreateDatastore = CreateDatastoreResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 CreateDatastoreResponse' <$>+                   (x .?> "datastoreArn") <*> (x .?> "datastoreName")+                     <*> (x .?> "retentionPeriod")+                     <*> (pure (fromEnum s)))++instance Hashable CreateDatastore where++instance NFData CreateDatastore where++instance ToHeaders CreateDatastore where+        toHeaders = const mempty++instance ToJSON CreateDatastore where+        toJSON CreateDatastore'{..}+          = object+              (catMaybes+                 [("retentionPeriod" .=) <$> _cdRetentionPeriod,+                  Just ("datastoreName" .= _cdDatastoreName)])++instance ToPath CreateDatastore where+        toPath = const "/datastores"++instance ToQuery CreateDatastore where+        toQuery = const mempty++-- | /See:/ 'createDatastoreResponse' smart constructor.+data CreateDatastoreResponse = CreateDatastoreResponse'+  { _cdrsDatastoreARN    :: !(Maybe Text)+  , _cdrsDatastoreName   :: !(Maybe Text)+  , _cdrsRetentionPeriod :: !(Maybe RetentionPeriod)+  , _cdrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatastoreResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrsDatastoreARN' - The ARN of the data store.+--+-- * 'cdrsDatastoreName' - The name of the data store.+--+-- * 'cdrsRetentionPeriod' - How long, in days, message data is kept for the data store.+--+-- * 'cdrsResponseStatus' - -- | The response status code.+createDatastoreResponse+    :: Int -- ^ 'cdrsResponseStatus'+    -> CreateDatastoreResponse+createDatastoreResponse pResponseStatus_ =+  CreateDatastoreResponse'+    { _cdrsDatastoreARN = Nothing+    , _cdrsDatastoreName = Nothing+    , _cdrsRetentionPeriod = Nothing+    , _cdrsResponseStatus = pResponseStatus_+    }+++-- | The ARN of the data store.+cdrsDatastoreARN :: Lens' CreateDatastoreResponse (Maybe Text)+cdrsDatastoreARN = lens _cdrsDatastoreARN (\ s a -> s{_cdrsDatastoreARN = a})++-- | The name of the data store.+cdrsDatastoreName :: Lens' CreateDatastoreResponse (Maybe Text)+cdrsDatastoreName = lens _cdrsDatastoreName (\ s a -> s{_cdrsDatastoreName = a})++-- | How long, in days, message data is kept for the data store.+cdrsRetentionPeriod :: Lens' CreateDatastoreResponse (Maybe RetentionPeriod)+cdrsRetentionPeriod = lens _cdrsRetentionPeriod (\ s a -> s{_cdrsRetentionPeriod = a})++-- | -- | The response status code.+cdrsResponseStatus :: Lens' CreateDatastoreResponse Int+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a})++instance NFData CreateDatastoreResponse where
+ gen/Network/AWS/IoTAnalytics/CreatePipeline.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.CreatePipeline+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a pipeline. A pipeline consumes messages from one or more channels and allows you to process the messages before storing them in a data store.+--+--+module Network.AWS.IoTAnalytics.CreatePipeline+    (+    -- * Creating a Request+      createPipeline+    , CreatePipeline+    -- * Request Lenses+    , cpPipelineName+    , cpPipelineActivities++    -- * Destructuring the Response+    , createPipelineResponse+    , CreatePipelineResponse+    -- * Response Lenses+    , cprsPipelineName+    , cprsPipelineARN+    , cprsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createPipeline' smart constructor.+data CreatePipeline = CreatePipeline'+  { _cpPipelineName       :: !Text+  , _cpPipelineActivities :: !(List1 PipelineActivity)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreatePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpPipelineName' - The name of the pipeline.+--+-- * 'cpPipelineActivities' - A list of pipeline activities. The list can be 1-25 __PipelineActivity__ objects. Activities perform transformations on your messages, such as removing, renaming, or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.+createPipeline+    :: Text -- ^ 'cpPipelineName'+    -> NonEmpty PipelineActivity -- ^ 'cpPipelineActivities'+    -> CreatePipeline+createPipeline pPipelineName_ pPipelineActivities_ =+  CreatePipeline'+    { _cpPipelineName = pPipelineName_+    , _cpPipelineActivities = _List1 # pPipelineActivities_+    }+++-- | The name of the pipeline.+cpPipelineName :: Lens' CreatePipeline Text+cpPipelineName = lens _cpPipelineName (\ s a -> s{_cpPipelineName = a})++-- | A list of pipeline activities. The list can be 1-25 __PipelineActivity__ objects. Activities perform transformations on your messages, such as removing, renaming, or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.+cpPipelineActivities :: Lens' CreatePipeline (NonEmpty PipelineActivity)+cpPipelineActivities = lens _cpPipelineActivities (\ s a -> s{_cpPipelineActivities = a}) . _List1++instance AWSRequest CreatePipeline where+        type Rs CreatePipeline = CreatePipelineResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 CreatePipelineResponse' <$>+                   (x .?> "pipelineName") <*> (x .?> "pipelineArn") <*>+                     (pure (fromEnum s)))++instance Hashable CreatePipeline where++instance NFData CreatePipeline where++instance ToHeaders CreatePipeline where+        toHeaders = const mempty++instance ToJSON CreatePipeline where+        toJSON CreatePipeline'{..}+          = object+              (catMaybes+                 [Just ("pipelineName" .= _cpPipelineName),+                  Just+                    ("pipelineActivities" .= _cpPipelineActivities)])++instance ToPath CreatePipeline where+        toPath = const "/pipelines"++instance ToQuery CreatePipeline where+        toQuery = const mempty++-- | /See:/ 'createPipelineResponse' smart constructor.+data CreatePipelineResponse = CreatePipelineResponse'+  { _cprsPipelineName   :: !(Maybe Text)+  , _cprsPipelineARN    :: !(Maybe Text)+  , _cprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreatePipelineResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprsPipelineName' - The name of the pipeline.+--+-- * 'cprsPipelineARN' - The ARN of the pipeline.+--+-- * 'cprsResponseStatus' - -- | The response status code.+createPipelineResponse+    :: Int -- ^ 'cprsResponseStatus'+    -> CreatePipelineResponse+createPipelineResponse pResponseStatus_ =+  CreatePipelineResponse'+    { _cprsPipelineName = Nothing+    , _cprsPipelineARN = Nothing+    , _cprsResponseStatus = pResponseStatus_+    }+++-- | The name of the pipeline.+cprsPipelineName :: Lens' CreatePipelineResponse (Maybe Text)+cprsPipelineName = lens _cprsPipelineName (\ s a -> s{_cprsPipelineName = a})++-- | The ARN of the pipeline.+cprsPipelineARN :: Lens' CreatePipelineResponse (Maybe Text)+cprsPipelineARN = lens _cprsPipelineARN (\ s a -> s{_cprsPipelineARN = a})++-- | -- | The response status code.+cprsResponseStatus :: Lens' CreatePipelineResponse Int+cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a})++instance NFData CreatePipelineResponse where
+ gen/Network/AWS/IoTAnalytics/DeleteChannel.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DeleteChannel+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified channel.+--+--+module Network.AWS.IoTAnalytics.DeleteChannel+    (+    -- * Creating a Request+      deleteChannel+    , DeleteChannel+    -- * Request Lenses+    , dcChannelName++    -- * Destructuring the Response+    , deleteChannelResponse+    , DeleteChannelResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteChannel' smart constructor.+newtype DeleteChannel = DeleteChannel'+  { _dcChannelName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteChannel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcChannelName' - The name of the channel to delete.+deleteChannel+    :: Text -- ^ 'dcChannelName'+    -> DeleteChannel+deleteChannel pChannelName_ = DeleteChannel' {_dcChannelName = pChannelName_}+++-- | The name of the channel to delete.+dcChannelName :: Lens' DeleteChannel Text+dcChannelName = lens _dcChannelName (\ s a -> s{_dcChannelName = a})++instance AWSRequest DeleteChannel where+        type Rs DeleteChannel = DeleteChannelResponse+        request = delete ioTAnalytics+        response = receiveNull DeleteChannelResponse'++instance Hashable DeleteChannel where++instance NFData DeleteChannel where++instance ToHeaders DeleteChannel where+        toHeaders = const mempty++instance ToPath DeleteChannel where+        toPath DeleteChannel'{..}+          = mconcat ["/channels/", toBS _dcChannelName]++instance ToQuery DeleteChannel where+        toQuery = const mempty++-- | /See:/ 'deleteChannelResponse' smart constructor.+data DeleteChannelResponse =+  DeleteChannelResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteChannelResponse' with the minimum fields required to make a request.+--+deleteChannelResponse+    :: DeleteChannelResponse+deleteChannelResponse = DeleteChannelResponse'+++instance NFData DeleteChannelResponse where
+ gen/Network/AWS/IoTAnalytics/DeleteDataset.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DeleteDataset+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified data set.+--+--+-- You do not have to delete the content of the data set before you perform this operation.+--+module Network.AWS.IoTAnalytics.DeleteDataset+    (+    -- * Creating a Request+      deleteDataset+    , DeleteDataset+    -- * Request Lenses+    , dDatasetName++    -- * Destructuring the Response+    , deleteDatasetResponse+    , DeleteDatasetResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDataset' smart constructor.+newtype DeleteDataset = DeleteDataset'+  { _dDatasetName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDataset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDatasetName' - The name of the data set to delete.+deleteDataset+    :: Text -- ^ 'dDatasetName'+    -> DeleteDataset+deleteDataset pDatasetName_ = DeleteDataset' {_dDatasetName = pDatasetName_}+++-- | The name of the data set to delete.+dDatasetName :: Lens' DeleteDataset Text+dDatasetName = lens _dDatasetName (\ s a -> s{_dDatasetName = a})++instance AWSRequest DeleteDataset where+        type Rs DeleteDataset = DeleteDatasetResponse+        request = delete ioTAnalytics+        response = receiveNull DeleteDatasetResponse'++instance Hashable DeleteDataset where++instance NFData DeleteDataset where++instance ToHeaders DeleteDataset where+        toHeaders = const mempty++instance ToPath DeleteDataset where+        toPath DeleteDataset'{..}+          = mconcat ["/datasets/", toBS _dDatasetName]++instance ToQuery DeleteDataset where+        toQuery = const mempty++-- | /See:/ 'deleteDatasetResponse' smart constructor.+data DeleteDatasetResponse =+  DeleteDatasetResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatasetResponse' with the minimum fields required to make a request.+--+deleteDatasetResponse+    :: DeleteDatasetResponse+deleteDatasetResponse = DeleteDatasetResponse'+++instance NFData DeleteDatasetResponse where
+ gen/Network/AWS/IoTAnalytics/DeleteDatasetContent.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DeleteDatasetContent+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the content of the specified data set.+--+--+module Network.AWS.IoTAnalytics.DeleteDatasetContent+    (+    -- * Creating a Request+      deleteDatasetContent+    , DeleteDatasetContent+    -- * Request Lenses+    , ddcVersionId+    , ddcDatasetName++    -- * Destructuring the Response+    , deleteDatasetContentResponse+    , DeleteDatasetContentResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDatasetContent' smart constructor.+data DeleteDatasetContent = DeleteDatasetContent'+  { _ddcVersionId   :: !(Maybe Text)+  , _ddcDatasetName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatasetContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddcVersionId' - The version of the data set whose content is deleted. You can also use the strings "$LATEST" or "$LATEST_SUCCEEDED" to delete the latest or latest successfully completed data set. If not specified, "$LATEST_SUCCEEDED" is the default.+--+-- * 'ddcDatasetName' - The name of the data set whose content is deleted.+deleteDatasetContent+    :: Text -- ^ 'ddcDatasetName'+    -> DeleteDatasetContent+deleteDatasetContent pDatasetName_ =+  DeleteDatasetContent'+    {_ddcVersionId = Nothing, _ddcDatasetName = pDatasetName_}+++-- | The version of the data set whose content is deleted. You can also use the strings "$LATEST" or "$LATEST_SUCCEEDED" to delete the latest or latest successfully completed data set. If not specified, "$LATEST_SUCCEEDED" is the default.+ddcVersionId :: Lens' DeleteDatasetContent (Maybe Text)+ddcVersionId = lens _ddcVersionId (\ s a -> s{_ddcVersionId = a})++-- | The name of the data set whose content is deleted.+ddcDatasetName :: Lens' DeleteDatasetContent Text+ddcDatasetName = lens _ddcDatasetName (\ s a -> s{_ddcDatasetName = a})++instance AWSRequest DeleteDatasetContent where+        type Rs DeleteDatasetContent =+             DeleteDatasetContentResponse+        request = delete ioTAnalytics+        response = receiveNull DeleteDatasetContentResponse'++instance Hashable DeleteDatasetContent where++instance NFData DeleteDatasetContent where++instance ToHeaders DeleteDatasetContent where+        toHeaders = const mempty++instance ToPath DeleteDatasetContent where+        toPath DeleteDatasetContent'{..}+          = mconcat+              ["/datasets/", toBS _ddcDatasetName, "/content"]++instance ToQuery DeleteDatasetContent where+        toQuery DeleteDatasetContent'{..}+          = mconcat ["versionId" =: _ddcVersionId]++-- | /See:/ 'deleteDatasetContentResponse' smart constructor.+data DeleteDatasetContentResponse =+  DeleteDatasetContentResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatasetContentResponse' with the minimum fields required to make a request.+--+deleteDatasetContentResponse+    :: DeleteDatasetContentResponse+deleteDatasetContentResponse = DeleteDatasetContentResponse'+++instance NFData DeleteDatasetContentResponse where
+ gen/Network/AWS/IoTAnalytics/DeleteDatastore.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DeleteDatastore+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified data store.+--+--+module Network.AWS.IoTAnalytics.DeleteDatastore+    (+    -- * Creating a Request+      deleteDatastore+    , DeleteDatastore+    -- * Request Lenses+    , ddDatastoreName++    -- * Destructuring the Response+    , deleteDatastoreResponse+    , DeleteDatastoreResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDatastore' smart constructor.+newtype DeleteDatastore = DeleteDatastore'+  { _ddDatastoreName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatastore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddDatastoreName' - The name of the data store to delete.+deleteDatastore+    :: Text -- ^ 'ddDatastoreName'+    -> DeleteDatastore+deleteDatastore pDatastoreName_ =+  DeleteDatastore' {_ddDatastoreName = pDatastoreName_}+++-- | The name of the data store to delete.+ddDatastoreName :: Lens' DeleteDatastore Text+ddDatastoreName = lens _ddDatastoreName (\ s a -> s{_ddDatastoreName = a})++instance AWSRequest DeleteDatastore where+        type Rs DeleteDatastore = DeleteDatastoreResponse+        request = delete ioTAnalytics+        response = receiveNull DeleteDatastoreResponse'++instance Hashable DeleteDatastore where++instance NFData DeleteDatastore where++instance ToHeaders DeleteDatastore where+        toHeaders = const mempty++instance ToPath DeleteDatastore where+        toPath DeleteDatastore'{..}+          = mconcat ["/datastores/", toBS _ddDatastoreName]++instance ToQuery DeleteDatastore where+        toQuery = const mempty++-- | /See:/ 'deleteDatastoreResponse' smart constructor.+data DeleteDatastoreResponse =+  DeleteDatastoreResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatastoreResponse' with the minimum fields required to make a request.+--+deleteDatastoreResponse+    :: DeleteDatastoreResponse+deleteDatastoreResponse = DeleteDatastoreResponse'+++instance NFData DeleteDatastoreResponse where
+ gen/Network/AWS/IoTAnalytics/DeletePipeline.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DeletePipeline+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified pipeline.+--+--+module Network.AWS.IoTAnalytics.DeletePipeline+    (+    -- * Creating a Request+      deletePipeline+    , DeletePipeline+    -- * Request Lenses+    , dPipelineName++    -- * Destructuring the Response+    , deletePipelineResponse+    , DeletePipelineResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deletePipeline' smart constructor.+newtype DeletePipeline = DeletePipeline'+  { _dPipelineName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeletePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dPipelineName' - The name of the pipeline to delete.+deletePipeline+    :: Text -- ^ 'dPipelineName'+    -> DeletePipeline+deletePipeline pPipelineName_ =+  DeletePipeline' {_dPipelineName = pPipelineName_}+++-- | The name of the pipeline to delete.+dPipelineName :: Lens' DeletePipeline Text+dPipelineName = lens _dPipelineName (\ s a -> s{_dPipelineName = a})++instance AWSRequest DeletePipeline where+        type Rs DeletePipeline = DeletePipelineResponse+        request = delete ioTAnalytics+        response = receiveNull DeletePipelineResponse'++instance Hashable DeletePipeline where++instance NFData DeletePipeline where++instance ToHeaders DeletePipeline where+        toHeaders = const mempty++instance ToPath DeletePipeline where+        toPath DeletePipeline'{..}+          = mconcat ["/pipelines/", toBS _dPipelineName]++instance ToQuery DeletePipeline where+        toQuery = const mempty++-- | /See:/ 'deletePipelineResponse' smart constructor.+data DeletePipelineResponse =+  DeletePipelineResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeletePipelineResponse' with the minimum fields required to make a request.+--+deletePipelineResponse+    :: DeletePipelineResponse+deletePipelineResponse = DeletePipelineResponse'+++instance NFData DeletePipelineResponse where
+ gen/Network/AWS/IoTAnalytics/DescribeChannel.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DescribeChannel+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a channel.+--+--+module Network.AWS.IoTAnalytics.DescribeChannel+    (+    -- * Creating a Request+      describeChannel+    , DescribeChannel+    -- * Request Lenses+    , dChannelName++    -- * Destructuring the Response+    , describeChannelResponse+    , DescribeChannelResponse+    -- * Response Lenses+    , dcrsChannel+    , dcrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeChannel' smart constructor.+newtype DescribeChannel = DescribeChannel'+  { _dChannelName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeChannel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dChannelName' - The name of the channel whose information is retrieved.+describeChannel+    :: Text -- ^ 'dChannelName'+    -> DescribeChannel+describeChannel pChannelName_ = DescribeChannel' {_dChannelName = pChannelName_}+++-- | The name of the channel whose information is retrieved.+dChannelName :: Lens' DescribeChannel Text+dChannelName = lens _dChannelName (\ s a -> s{_dChannelName = a})++instance AWSRequest DescribeChannel where+        type Rs DescribeChannel = DescribeChannelResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 DescribeChannelResponse' <$>+                   (x .?> "channel") <*> (pure (fromEnum s)))++instance Hashable DescribeChannel where++instance NFData DescribeChannel where++instance ToHeaders DescribeChannel where+        toHeaders = const mempty++instance ToPath DescribeChannel where+        toPath DescribeChannel'{..}+          = mconcat ["/channels/", toBS _dChannelName]++instance ToQuery DescribeChannel where+        toQuery = const mempty++-- | /See:/ 'describeChannelResponse' smart constructor.+data DescribeChannelResponse = DescribeChannelResponse'+  { _dcrsChannel        :: !(Maybe Channel)+  , _dcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeChannelResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrsChannel' - An object that contains information about the channel.+--+-- * 'dcrsResponseStatus' - -- | The response status code.+describeChannelResponse+    :: Int -- ^ 'dcrsResponseStatus'+    -> DescribeChannelResponse+describeChannelResponse pResponseStatus_ =+  DescribeChannelResponse'+    {_dcrsChannel = Nothing, _dcrsResponseStatus = pResponseStatus_}+++-- | An object that contains information about the channel.+dcrsChannel :: Lens' DescribeChannelResponse (Maybe Channel)+dcrsChannel = lens _dcrsChannel (\ s a -> s{_dcrsChannel = a})++-- | -- | The response status code.+dcrsResponseStatus :: Lens' DescribeChannelResponse Int+dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a})++instance NFData DescribeChannelResponse where
+ gen/Network/AWS/IoTAnalytics/DescribeDataset.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DescribeDataset+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a data set.+--+--+module Network.AWS.IoTAnalytics.DescribeDataset+    (+    -- * Creating a Request+      describeDataset+    , DescribeDataset+    -- * Request Lenses+    , ddDatasetName++    -- * Destructuring the Response+    , describeDatasetResponse+    , DescribeDatasetResponse+    -- * Response Lenses+    , ddrsDataset+    , ddrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeDataset' smart constructor.+newtype DescribeDataset = DescribeDataset'+  { _ddDatasetName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeDataset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddDatasetName' - The name of the data set whose information is retrieved.+describeDataset+    :: Text -- ^ 'ddDatasetName'+    -> DescribeDataset+describeDataset pDatasetName_ =+  DescribeDataset' {_ddDatasetName = pDatasetName_}+++-- | The name of the data set whose information is retrieved.+ddDatasetName :: Lens' DescribeDataset Text+ddDatasetName = lens _ddDatasetName (\ s a -> s{_ddDatasetName = a})++instance AWSRequest DescribeDataset where+        type Rs DescribeDataset = DescribeDatasetResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 DescribeDatasetResponse' <$>+                   (x .?> "dataset") <*> (pure (fromEnum s)))++instance Hashable DescribeDataset where++instance NFData DescribeDataset where++instance ToHeaders DescribeDataset where+        toHeaders = const mempty++instance ToPath DescribeDataset where+        toPath DescribeDataset'{..}+          = mconcat ["/datasets/", toBS _ddDatasetName]++instance ToQuery DescribeDataset where+        toQuery = const mempty++-- | /See:/ 'describeDatasetResponse' smart constructor.+data DescribeDatasetResponse = DescribeDatasetResponse'+  { _ddrsDataset        :: !(Maybe Dataset)+  , _ddrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeDatasetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddrsDataset' - An object that contains information about the data set.+--+-- * 'ddrsResponseStatus' - -- | The response status code.+describeDatasetResponse+    :: Int -- ^ 'ddrsResponseStatus'+    -> DescribeDatasetResponse+describeDatasetResponse pResponseStatus_ =+  DescribeDatasetResponse'+    {_ddrsDataset = Nothing, _ddrsResponseStatus = pResponseStatus_}+++-- | An object that contains information about the data set.+ddrsDataset :: Lens' DescribeDatasetResponse (Maybe Dataset)+ddrsDataset = lens _ddrsDataset (\ s a -> s{_ddrsDataset = a})++-- | -- | The response status code.+ddrsResponseStatus :: Lens' DescribeDatasetResponse Int+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})++instance NFData DescribeDatasetResponse where
+ gen/Network/AWS/IoTAnalytics/DescribeDatastore.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DescribeDatastore+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a data store.+--+--+module Network.AWS.IoTAnalytics.DescribeDatastore+    (+    -- * Creating a Request+      describeDatastore+    , DescribeDatastore+    -- * Request Lenses+    , dDatastoreName++    -- * Destructuring the Response+    , describeDatastoreResponse+    , DescribeDatastoreResponse+    -- * Response Lenses+    , drsDatastore+    , drsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeDatastore' smart constructor.+newtype DescribeDatastore = DescribeDatastore'+  { _dDatastoreName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeDatastore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDatastoreName' - The name of the data store+describeDatastore+    :: Text -- ^ 'dDatastoreName'+    -> DescribeDatastore+describeDatastore pDatastoreName_ =+  DescribeDatastore' {_dDatastoreName = pDatastoreName_}+++-- | The name of the data store+dDatastoreName :: Lens' DescribeDatastore Text+dDatastoreName = lens _dDatastoreName (\ s a -> s{_dDatastoreName = a})++instance AWSRequest DescribeDatastore where+        type Rs DescribeDatastore = DescribeDatastoreResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 DescribeDatastoreResponse' <$>+                   (x .?> "datastore") <*> (pure (fromEnum s)))++instance Hashable DescribeDatastore where++instance NFData DescribeDatastore where++instance ToHeaders DescribeDatastore where+        toHeaders = const mempty++instance ToPath DescribeDatastore where+        toPath DescribeDatastore'{..}+          = mconcat ["/datastores/", toBS _dDatastoreName]++instance ToQuery DescribeDatastore where+        toQuery = const mempty++-- | /See:/ 'describeDatastoreResponse' smart constructor.+data DescribeDatastoreResponse = DescribeDatastoreResponse'+  { _drsDatastore      :: !(Maybe Datastore)+  , _drsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeDatastoreResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsDatastore' - Information about the data store.+--+-- * 'drsResponseStatus' - -- | The response status code.+describeDatastoreResponse+    :: Int -- ^ 'drsResponseStatus'+    -> DescribeDatastoreResponse+describeDatastoreResponse pResponseStatus_ =+  DescribeDatastoreResponse'+    {_drsDatastore = Nothing, _drsResponseStatus = pResponseStatus_}+++-- | Information about the data store.+drsDatastore :: Lens' DescribeDatastoreResponse (Maybe Datastore)+drsDatastore = lens _drsDatastore (\ s a -> s{_drsDatastore = a})++-- | -- | The response status code.+drsResponseStatus :: Lens' DescribeDatastoreResponse Int+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})++instance NFData DescribeDatastoreResponse where
+ gen/Network/AWS/IoTAnalytics/DescribeLoggingOptions.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DescribeLoggingOptions+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the current settings of the AWS IoT Analytics logging options.+--+--+module Network.AWS.IoTAnalytics.DescribeLoggingOptions+    (+    -- * Creating a Request+      describeLoggingOptions+    , DescribeLoggingOptions++    -- * Destructuring the Response+    , describeLoggingOptionsResponse+    , DescribeLoggingOptionsResponse+    -- * Response Lenses+    , dlorsLoggingOptions+    , dlorsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeLoggingOptions' smart constructor.+data DescribeLoggingOptions =+  DescribeLoggingOptions'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeLoggingOptions' with the minimum fields required to make a request.+--+describeLoggingOptions+    :: DescribeLoggingOptions+describeLoggingOptions = DescribeLoggingOptions'+++instance AWSRequest DescribeLoggingOptions where+        type Rs DescribeLoggingOptions =+             DescribeLoggingOptionsResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 DescribeLoggingOptionsResponse' <$>+                   (x .?> "loggingOptions") <*> (pure (fromEnum s)))++instance Hashable DescribeLoggingOptions where++instance NFData DescribeLoggingOptions where++instance ToHeaders DescribeLoggingOptions where+        toHeaders = const mempty++instance ToPath DescribeLoggingOptions where+        toPath = const "/logging"++instance ToQuery DescribeLoggingOptions where+        toQuery = const mempty++-- | /See:/ 'describeLoggingOptionsResponse' smart constructor.+data DescribeLoggingOptionsResponse = DescribeLoggingOptionsResponse'+  { _dlorsLoggingOptions :: !(Maybe LoggingOptions)+  , _dlorsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeLoggingOptionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlorsLoggingOptions' - The current settings of the AWS IoT Analytics logging options.+--+-- * 'dlorsResponseStatus' - -- | The response status code.+describeLoggingOptionsResponse+    :: Int -- ^ 'dlorsResponseStatus'+    -> DescribeLoggingOptionsResponse+describeLoggingOptionsResponse pResponseStatus_ =+  DescribeLoggingOptionsResponse'+    {_dlorsLoggingOptions = Nothing, _dlorsResponseStatus = pResponseStatus_}+++-- | The current settings of the AWS IoT Analytics logging options.+dlorsLoggingOptions :: Lens' DescribeLoggingOptionsResponse (Maybe LoggingOptions)+dlorsLoggingOptions = lens _dlorsLoggingOptions (\ s a -> s{_dlorsLoggingOptions = a})++-- | -- | The response status code.+dlorsResponseStatus :: Lens' DescribeLoggingOptionsResponse Int+dlorsResponseStatus = lens _dlorsResponseStatus (\ s a -> s{_dlorsResponseStatus = a})++instance NFData DescribeLoggingOptionsResponse where
+ gen/Network/AWS/IoTAnalytics/DescribePipeline.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.DescribePipeline+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about a pipeline.+--+--+module Network.AWS.IoTAnalytics.DescribePipeline+    (+    -- * Creating a Request+      describePipeline+    , DescribePipeline+    -- * Request Lenses+    , dpPipelineName++    -- * Destructuring the Response+    , describePipelineResponse+    , DescribePipelineResponse+    -- * Response Lenses+    , dprsPipeline+    , dprsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describePipeline' smart constructor.+newtype DescribePipeline = DescribePipeline'+  { _dpPipelineName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpPipelineName' - The name of the pipeline whose information is retrieved.+describePipeline+    :: Text -- ^ 'dpPipelineName'+    -> DescribePipeline+describePipeline pPipelineName_ =+  DescribePipeline' {_dpPipelineName = pPipelineName_}+++-- | The name of the pipeline whose information is retrieved.+dpPipelineName :: Lens' DescribePipeline Text+dpPipelineName = lens _dpPipelineName (\ s a -> s{_dpPipelineName = a})++instance AWSRequest DescribePipeline where+        type Rs DescribePipeline = DescribePipelineResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 DescribePipelineResponse' <$>+                   (x .?> "pipeline") <*> (pure (fromEnum s)))++instance Hashable DescribePipeline where++instance NFData DescribePipeline where++instance ToHeaders DescribePipeline where+        toHeaders = const mempty++instance ToPath DescribePipeline where+        toPath DescribePipeline'{..}+          = mconcat ["/pipelines/", toBS _dpPipelineName]++instance ToQuery DescribePipeline where+        toQuery = const mempty++-- | /See:/ 'describePipelineResponse' smart constructor.+data DescribePipelineResponse = DescribePipelineResponse'+  { _dprsPipeline       :: !(Maybe Pipeline)+  , _dprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribePipelineResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dprsPipeline' - A "Pipeline" object that contains information about the pipeline.+--+-- * 'dprsResponseStatus' - -- | The response status code.+describePipelineResponse+    :: Int -- ^ 'dprsResponseStatus'+    -> DescribePipelineResponse+describePipelineResponse pResponseStatus_ =+  DescribePipelineResponse'+    {_dprsPipeline = Nothing, _dprsResponseStatus = pResponseStatus_}+++-- | A "Pipeline" object that contains information about the pipeline.+dprsPipeline :: Lens' DescribePipelineResponse (Maybe Pipeline)+dprsPipeline = lens _dprsPipeline (\ s a -> s{_dprsPipeline = a})++-- | -- | The response status code.+dprsResponseStatus :: Lens' DescribePipelineResponse Int+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})++instance NFData DescribePipelineResponse where
+ gen/Network/AWS/IoTAnalytics/GetDatasetContent.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.GetDatasetContent+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the contents of a data set as pre-signed URIs.+--+--+module Network.AWS.IoTAnalytics.GetDatasetContent+    (+    -- * Creating a Request+      getDatasetContent+    , GetDatasetContent+    -- * Request Lenses+    , gdcVersionId+    , gdcDatasetName++    -- * Destructuring the Response+    , getDatasetContentResponse+    , GetDatasetContentResponse+    -- * Response Lenses+    , gdcrsStatus+    , gdcrsEntries+    , gdcrsTimestamp+    , gdcrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDatasetContent' smart constructor.+data GetDatasetContent = GetDatasetContent'+  { _gdcVersionId   :: !(Maybe Text)+  , _gdcDatasetName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDatasetContent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcVersionId' - The version of the data set whose contents are retrieved. You can also use the strings "$LATEST" or "$LATEST_SUCCEEDED" to retrieve the contents of the latest or latest successfully completed data set. If not specified, "$LATEST_SUCCEEDED" is the default.+--+-- * 'gdcDatasetName' - The name of the data set whose contents are retrieved.+getDatasetContent+    :: Text -- ^ 'gdcDatasetName'+    -> GetDatasetContent+getDatasetContent pDatasetName_ =+  GetDatasetContent' {_gdcVersionId = Nothing, _gdcDatasetName = pDatasetName_}+++-- | The version of the data set whose contents are retrieved. You can also use the strings "$LATEST" or "$LATEST_SUCCEEDED" to retrieve the contents of the latest or latest successfully completed data set. If not specified, "$LATEST_SUCCEEDED" is the default.+gdcVersionId :: Lens' GetDatasetContent (Maybe Text)+gdcVersionId = lens _gdcVersionId (\ s a -> s{_gdcVersionId = a})++-- | The name of the data set whose contents are retrieved.+gdcDatasetName :: Lens' GetDatasetContent Text+gdcDatasetName = lens _gdcDatasetName (\ s a -> s{_gdcDatasetName = a})++instance AWSRequest GetDatasetContent where+        type Rs GetDatasetContent = GetDatasetContentResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 GetDatasetContentResponse' <$>+                   (x .?> "status") <*> (x .?> "entries" .!@ mempty) <*>+                     (x .?> "timestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetDatasetContent where++instance NFData GetDatasetContent where++instance ToHeaders GetDatasetContent where+        toHeaders = const mempty++instance ToPath GetDatasetContent where+        toPath GetDatasetContent'{..}+          = mconcat+              ["/datasets/", toBS _gdcDatasetName, "/content"]++instance ToQuery GetDatasetContent where+        toQuery GetDatasetContent'{..}+          = mconcat ["versionId" =: _gdcVersionId]++-- | /See:/ 'getDatasetContentResponse' smart constructor.+data GetDatasetContentResponse = GetDatasetContentResponse'+  { _gdcrsStatus         :: !(Maybe DatasetContentStatus)+  , _gdcrsEntries        :: !(Maybe [DatasetEntry])+  , _gdcrsTimestamp      :: !(Maybe POSIX)+  , _gdcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDatasetContentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcrsStatus' - The status of the data set content.+--+-- * 'gdcrsEntries' - A list of "DatasetEntry" objects.+--+-- * 'gdcrsTimestamp' - The time when the request was made.+--+-- * 'gdcrsResponseStatus' - -- | The response status code.+getDatasetContentResponse+    :: Int -- ^ 'gdcrsResponseStatus'+    -> GetDatasetContentResponse+getDatasetContentResponse pResponseStatus_ =+  GetDatasetContentResponse'+    { _gdcrsStatus = Nothing+    , _gdcrsEntries = Nothing+    , _gdcrsTimestamp = Nothing+    , _gdcrsResponseStatus = pResponseStatus_+    }+++-- | The status of the data set content.+gdcrsStatus :: Lens' GetDatasetContentResponse (Maybe DatasetContentStatus)+gdcrsStatus = lens _gdcrsStatus (\ s a -> s{_gdcrsStatus = a})++-- | A list of "DatasetEntry" objects.+gdcrsEntries :: Lens' GetDatasetContentResponse [DatasetEntry]+gdcrsEntries = lens _gdcrsEntries (\ s a -> s{_gdcrsEntries = a}) . _Default . _Coerce++-- | The time when the request was made.+gdcrsTimestamp :: Lens' GetDatasetContentResponse (Maybe UTCTime)+gdcrsTimestamp = lens _gdcrsTimestamp (\ s a -> s{_gdcrsTimestamp = a}) . mapping _Time++-- | -- | The response status code.+gdcrsResponseStatus :: Lens' GetDatasetContentResponse Int+gdcrsResponseStatus = lens _gdcrsResponseStatus (\ s a -> s{_gdcrsResponseStatus = a})++instance NFData GetDatasetContentResponse where
+ gen/Network/AWS/IoTAnalytics/ListChannels.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.ListChannels+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of channels.+--+--+module Network.AWS.IoTAnalytics.ListChannels+    (+    -- * Creating a Request+      listChannels+    , ListChannels+    -- * Request Lenses+    , lcNextToken+    , lcMaxResults++    -- * Destructuring the Response+    , listChannelsResponse+    , ListChannelsResponse+    -- * Response Lenses+    , lcrsChannelSummaries+    , lcrsNextToken+    , lcrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listChannels' smart constructor.+data ListChannels = ListChannels'+  { _lcNextToken  :: !(Maybe Text)+  , _lcMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListChannels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcNextToken' - The token for the next set of results.+--+-- * 'lcMaxResults' - The maximum number of results to return in this request. The default value is 100.+listChannels+    :: ListChannels+listChannels = ListChannels' {_lcNextToken = Nothing, _lcMaxResults = Nothing}+++-- | The token for the next set of results.+lcNextToken :: Lens' ListChannels (Maybe Text)+lcNextToken = lens _lcNextToken (\ s a -> s{_lcNextToken = a})++-- | The maximum number of results to return in this request. The default value is 100.+lcMaxResults :: Lens' ListChannels (Maybe Natural)+lcMaxResults = lens _lcMaxResults (\ s a -> s{_lcMaxResults = a}) . mapping _Nat++instance AWSRequest ListChannels where+        type Rs ListChannels = ListChannelsResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 ListChannelsResponse' <$>+                   (x .?> "channelSummaries" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListChannels where++instance NFData ListChannels where++instance ToHeaders ListChannels where+        toHeaders = const mempty++instance ToPath ListChannels where+        toPath = const "/channels"++instance ToQuery ListChannels where+        toQuery ListChannels'{..}+          = mconcat+              ["nextToken" =: _lcNextToken,+               "maxResults" =: _lcMaxResults]++-- | /See:/ 'listChannelsResponse' smart constructor.+data ListChannelsResponse = ListChannelsResponse'+  { _lcrsChannelSummaries :: !(Maybe [ChannelSummary])+  , _lcrsNextToken        :: !(Maybe Text)+  , _lcrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListChannelsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrsChannelSummaries' - A list of "ChannelSummary" objects.+--+-- * 'lcrsNextToken' - The token to retrieve the next set of results, or @null@ if there are no more results.+--+-- * 'lcrsResponseStatus' - -- | The response status code.+listChannelsResponse+    :: Int -- ^ 'lcrsResponseStatus'+    -> ListChannelsResponse+listChannelsResponse pResponseStatus_ =+  ListChannelsResponse'+    { _lcrsChannelSummaries = Nothing+    , _lcrsNextToken = Nothing+    , _lcrsResponseStatus = pResponseStatus_+    }+++-- | A list of "ChannelSummary" objects.+lcrsChannelSummaries :: Lens' ListChannelsResponse [ChannelSummary]+lcrsChannelSummaries = lens _lcrsChannelSummaries (\ s a -> s{_lcrsChannelSummaries = a}) . _Default . _Coerce++-- | The token to retrieve the next set of results, or @null@ if there are no more results.+lcrsNextToken :: Lens' ListChannelsResponse (Maybe Text)+lcrsNextToken = lens _lcrsNextToken (\ s a -> s{_lcrsNextToken = a})++-- | -- | The response status code.+lcrsResponseStatus :: Lens' ListChannelsResponse Int+lcrsResponseStatus = lens _lcrsResponseStatus (\ s a -> s{_lcrsResponseStatus = a})++instance NFData ListChannelsResponse where
+ gen/Network/AWS/IoTAnalytics/ListDatasets.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.ListDatasets+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about data sets.+--+--+module Network.AWS.IoTAnalytics.ListDatasets+    (+    -- * Creating a Request+      listDatasets+    , ListDatasets+    -- * Request Lenses+    , lNextToken+    , lMaxResults++    -- * Destructuring the Response+    , listDatasetsResponse+    , ListDatasetsResponse+    -- * Response Lenses+    , lrsNextToken+    , lrsDatasetSummaries+    , lrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listDatasets' smart constructor.+data ListDatasets = ListDatasets'+  { _lNextToken  :: !(Maybe Text)+  , _lMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDatasets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lNextToken' - The token for the next set of results.+--+-- * 'lMaxResults' - The maximum number of results to return in this request. The default value is 100.+listDatasets+    :: ListDatasets+listDatasets = ListDatasets' {_lNextToken = Nothing, _lMaxResults = Nothing}+++-- | The token for the next set of results.+lNextToken :: Lens' ListDatasets (Maybe Text)+lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a})++-- | The maximum number of results to return in this request. The default value is 100.+lMaxResults :: Lens' ListDatasets (Maybe Natural)+lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a}) . mapping _Nat++instance AWSRequest ListDatasets where+        type Rs ListDatasets = ListDatasetsResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 ListDatasetsResponse' <$>+                   (x .?> "nextToken") <*>+                     (x .?> "datasetSummaries" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListDatasets where++instance NFData ListDatasets where++instance ToHeaders ListDatasets where+        toHeaders = const mempty++instance ToPath ListDatasets where+        toPath = const "/datasets"++instance ToQuery ListDatasets where+        toQuery ListDatasets'{..}+          = mconcat+              ["nextToken" =: _lNextToken,+               "maxResults" =: _lMaxResults]++-- | /See:/ 'listDatasetsResponse' smart constructor.+data ListDatasetsResponse = ListDatasetsResponse'+  { _lrsNextToken        :: !(Maybe Text)+  , _lrsDatasetSummaries :: !(Maybe [DatasetSummary])+  , _lrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDatasetsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrsNextToken' - The token to retrieve the next set of results, or @null@ if there are no more results.+--+-- * 'lrsDatasetSummaries' - A list of "DatasetSummary" objects.+--+-- * 'lrsResponseStatus' - -- | The response status code.+listDatasetsResponse+    :: Int -- ^ 'lrsResponseStatus'+    -> ListDatasetsResponse+listDatasetsResponse pResponseStatus_ =+  ListDatasetsResponse'+    { _lrsNextToken = Nothing+    , _lrsDatasetSummaries = Nothing+    , _lrsResponseStatus = pResponseStatus_+    }+++-- | The token to retrieve the next set of results, or @null@ if there are no more results.+lrsNextToken :: Lens' ListDatasetsResponse (Maybe Text)+lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a})++-- | A list of "DatasetSummary" objects.+lrsDatasetSummaries :: Lens' ListDatasetsResponse [DatasetSummary]+lrsDatasetSummaries = lens _lrsDatasetSummaries (\ s a -> s{_lrsDatasetSummaries = a}) . _Default . _Coerce++-- | -- | The response status code.+lrsResponseStatus :: Lens' ListDatasetsResponse Int+lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a})++instance NFData ListDatasetsResponse where
+ gen/Network/AWS/IoTAnalytics/ListDatastores.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.ListDatastores+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of data stores.+--+--+module Network.AWS.IoTAnalytics.ListDatastores+    (+    -- * Creating a Request+      listDatastores+    , ListDatastores+    -- * Request Lenses+    , ldNextToken+    , ldMaxResults++    -- * Destructuring the Response+    , listDatastoresResponse+    , ListDatastoresResponse+    -- * Response Lenses+    , ldrsNextToken+    , ldrsDatastoreSummaries+    , ldrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listDatastores' smart constructor.+data ListDatastores = ListDatastores'+  { _ldNextToken  :: !(Maybe Text)+  , _ldMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDatastores' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldNextToken' - The token for the next set of results.+--+-- * 'ldMaxResults' - The maximum number of results to return in this request. The default value is 100.+listDatastores+    :: ListDatastores+listDatastores =+  ListDatastores' {_ldNextToken = Nothing, _ldMaxResults = Nothing}+++-- | The token for the next set of results.+ldNextToken :: Lens' ListDatastores (Maybe Text)+ldNextToken = lens _ldNextToken (\ s a -> s{_ldNextToken = a})++-- | The maximum number of results to return in this request. The default value is 100.+ldMaxResults :: Lens' ListDatastores (Maybe Natural)+ldMaxResults = lens _ldMaxResults (\ s a -> s{_ldMaxResults = a}) . mapping _Nat++instance AWSRequest ListDatastores where+        type Rs ListDatastores = ListDatastoresResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 ListDatastoresResponse' <$>+                   (x .?> "nextToken") <*>+                     (x .?> "datastoreSummaries" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListDatastores where++instance NFData ListDatastores where++instance ToHeaders ListDatastores where+        toHeaders = const mempty++instance ToPath ListDatastores where+        toPath = const "/datastores"++instance ToQuery ListDatastores where+        toQuery ListDatastores'{..}+          = mconcat+              ["nextToken" =: _ldNextToken,+               "maxResults" =: _ldMaxResults]++-- | /See:/ 'listDatastoresResponse' smart constructor.+data ListDatastoresResponse = ListDatastoresResponse'+  { _ldrsNextToken          :: !(Maybe Text)+  , _ldrsDatastoreSummaries :: !(Maybe [DatastoreSummary])+  , _ldrsResponseStatus     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDatastoresResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldrsNextToken' - The token to retrieve the next set of results, or @null@ if there are no more results.+--+-- * 'ldrsDatastoreSummaries' - A list of "DatastoreSummary" objects.+--+-- * 'ldrsResponseStatus' - -- | The response status code.+listDatastoresResponse+    :: Int -- ^ 'ldrsResponseStatus'+    -> ListDatastoresResponse+listDatastoresResponse pResponseStatus_ =+  ListDatastoresResponse'+    { _ldrsNextToken = Nothing+    , _ldrsDatastoreSummaries = Nothing+    , _ldrsResponseStatus = pResponseStatus_+    }+++-- | The token to retrieve the next set of results, or @null@ if there are no more results.+ldrsNextToken :: Lens' ListDatastoresResponse (Maybe Text)+ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a})++-- | A list of "DatastoreSummary" objects.+ldrsDatastoreSummaries :: Lens' ListDatastoresResponse [DatastoreSummary]+ldrsDatastoreSummaries = lens _ldrsDatastoreSummaries (\ s a -> s{_ldrsDatastoreSummaries = a}) . _Default . _Coerce++-- | -- | The response status code.+ldrsResponseStatus :: Lens' ListDatastoresResponse Int+ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a})++instance NFData ListDatastoresResponse where
+ gen/Network/AWS/IoTAnalytics/ListPipelines.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.ListPipelines+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of pipelines.+--+--+module Network.AWS.IoTAnalytics.ListPipelines+    (+    -- * Creating a Request+      listPipelines+    , ListPipelines+    -- * Request Lenses+    , lpNextToken+    , lpMaxResults++    -- * Destructuring the Response+    , listPipelinesResponse+    , ListPipelinesResponse+    -- * Response Lenses+    , lprsPipelineSummaries+    , lprsNextToken+    , lprsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listPipelines' smart constructor.+data ListPipelines = ListPipelines'+  { _lpNextToken  :: !(Maybe Text)+  , _lpMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListPipelines' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpNextToken' - The token for the next set of results.+--+-- * 'lpMaxResults' - The maximum number of results to return in this request. The default value is 100.+listPipelines+    :: ListPipelines+listPipelines = ListPipelines' {_lpNextToken = Nothing, _lpMaxResults = Nothing}+++-- | The token for the next set of results.+lpNextToken :: Lens' ListPipelines (Maybe Text)+lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a})++-- | The maximum number of results to return in this request. The default value is 100.+lpMaxResults :: Lens' ListPipelines (Maybe Natural)+lpMaxResults = lens _lpMaxResults (\ s a -> s{_lpMaxResults = a}) . mapping _Nat++instance AWSRequest ListPipelines where+        type Rs ListPipelines = ListPipelinesResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 ListPipelinesResponse' <$>+                   (x .?> "pipelineSummaries" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListPipelines where++instance NFData ListPipelines where++instance ToHeaders ListPipelines where+        toHeaders = const mempty++instance ToPath ListPipelines where+        toPath = const "/pipelines"++instance ToQuery ListPipelines where+        toQuery ListPipelines'{..}+          = mconcat+              ["nextToken" =: _lpNextToken,+               "maxResults" =: _lpMaxResults]++-- | /See:/ 'listPipelinesResponse' smart constructor.+data ListPipelinesResponse = ListPipelinesResponse'+  { _lprsPipelineSummaries :: !(Maybe [PipelineSummary])+  , _lprsNextToken         :: !(Maybe Text)+  , _lprsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListPipelinesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lprsPipelineSummaries' - A list of "PipelineSummary" objects.+--+-- * 'lprsNextToken' - The token to retrieve the next set of results, or @null@ if there are no more results.+--+-- * 'lprsResponseStatus' - -- | The response status code.+listPipelinesResponse+    :: Int -- ^ 'lprsResponseStatus'+    -> ListPipelinesResponse+listPipelinesResponse pResponseStatus_ =+  ListPipelinesResponse'+    { _lprsPipelineSummaries = Nothing+    , _lprsNextToken = Nothing+    , _lprsResponseStatus = pResponseStatus_+    }+++-- | A list of "PipelineSummary" objects.+lprsPipelineSummaries :: Lens' ListPipelinesResponse [PipelineSummary]+lprsPipelineSummaries = lens _lprsPipelineSummaries (\ s a -> s{_lprsPipelineSummaries = a}) . _Default . _Coerce++-- | The token to retrieve the next set of results, or @null@ if there are no more results.+lprsNextToken :: Lens' ListPipelinesResponse (Maybe Text)+lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a})++-- | -- | The response status code.+lprsResponseStatus :: Lens' ListPipelinesResponse Int+lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a})++instance NFData ListPipelinesResponse where
+ gen/Network/AWS/IoTAnalytics/PutLoggingOptions.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.PutLoggingOptions+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets or updates the AWS IoT Analytics logging options.+--+--+module Network.AWS.IoTAnalytics.PutLoggingOptions+    (+    -- * Creating a Request+      putLoggingOptions+    , PutLoggingOptions+    -- * Request Lenses+    , ploLoggingOptions++    -- * Destructuring the Response+    , putLoggingOptionsResponse+    , PutLoggingOptionsResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'putLoggingOptions' smart constructor.+newtype PutLoggingOptions = PutLoggingOptions'+  { _ploLoggingOptions :: LoggingOptions+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PutLoggingOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ploLoggingOptions' - The new values of the AWS IoT Analytics logging options.+putLoggingOptions+    :: LoggingOptions -- ^ 'ploLoggingOptions'+    -> PutLoggingOptions+putLoggingOptions pLoggingOptions_ =+  PutLoggingOptions' {_ploLoggingOptions = pLoggingOptions_}+++-- | The new values of the AWS IoT Analytics logging options.+ploLoggingOptions :: Lens' PutLoggingOptions LoggingOptions+ploLoggingOptions = lens _ploLoggingOptions (\ s a -> s{_ploLoggingOptions = a})++instance AWSRequest PutLoggingOptions where+        type Rs PutLoggingOptions = PutLoggingOptionsResponse+        request = putJSON ioTAnalytics+        response = receiveNull PutLoggingOptionsResponse'++instance Hashable PutLoggingOptions where++instance NFData PutLoggingOptions where++instance ToHeaders PutLoggingOptions where+        toHeaders = const mempty++instance ToJSON PutLoggingOptions where+        toJSON PutLoggingOptions'{..}+          = object+              (catMaybes+                 [Just ("loggingOptions" .= _ploLoggingOptions)])++instance ToPath PutLoggingOptions where+        toPath = const "/logging"++instance ToQuery PutLoggingOptions where+        toQuery = const mempty++-- | /See:/ 'putLoggingOptionsResponse' smart constructor.+data PutLoggingOptionsResponse =+  PutLoggingOptionsResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PutLoggingOptionsResponse' with the minimum fields required to make a request.+--+putLoggingOptionsResponse+    :: PutLoggingOptionsResponse+putLoggingOptionsResponse = PutLoggingOptionsResponse'+++instance NFData PutLoggingOptionsResponse where
+ gen/Network/AWS/IoTAnalytics/RunPipelineActivity.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.RunPipelineActivity+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Simulates the results of running a pipeline activity on a message payload.+--+--+module Network.AWS.IoTAnalytics.RunPipelineActivity+    (+    -- * Creating a Request+      runPipelineActivity+    , RunPipelineActivity+    -- * Request Lenses+    , rpaPipelineActivity+    , rpaPayloads++    -- * Destructuring the Response+    , runPipelineActivityResponse+    , RunPipelineActivityResponse+    -- * Response Lenses+    , rparsLogResult+    , rparsPayloads+    , rparsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'runPipelineActivity' smart constructor.+data RunPipelineActivity = RunPipelineActivity'+  { _rpaPipelineActivity :: !PipelineActivity+  , _rpaPayloads         :: !(List1 Base64)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RunPipelineActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpaPipelineActivity' - The pipeline activity that is run. This must not be a 'channel' activity or a 'datastore' activity because these activities are used in a pipeline only to load the original message and to store the (possibly) transformed message. If a 'lambda' activity is specified, only short-running Lambda functions (those with a timeout of less than 30 seconds or less) can be used.+--+-- * 'rpaPayloads' - The sample message payloads on which the pipeline activity is run.+runPipelineActivity+    :: PipelineActivity -- ^ 'rpaPipelineActivity'+    -> NonEmpty ByteString -- ^ 'rpaPayloads'+    -> RunPipelineActivity+runPipelineActivity pPipelineActivity_ pPayloads_ =+  RunPipelineActivity'+    { _rpaPipelineActivity = pPipelineActivity_+    , _rpaPayloads = _List1 # pPayloads_+    }+++-- | The pipeline activity that is run. This must not be a 'channel' activity or a 'datastore' activity because these activities are used in a pipeline only to load the original message and to store the (possibly) transformed message. If a 'lambda' activity is specified, only short-running Lambda functions (those with a timeout of less than 30 seconds or less) can be used.+rpaPipelineActivity :: Lens' RunPipelineActivity PipelineActivity+rpaPipelineActivity = lens _rpaPipelineActivity (\ s a -> s{_rpaPipelineActivity = a})++-- | The sample message payloads on which the pipeline activity is run.+rpaPayloads :: Lens' RunPipelineActivity (NonEmpty ByteString)+rpaPayloads = lens _rpaPayloads (\ s a -> s{_rpaPayloads = a}) . _List1++instance AWSRequest RunPipelineActivity where+        type Rs RunPipelineActivity =+             RunPipelineActivityResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 RunPipelineActivityResponse' <$>+                   (x .?> "logResult") <*> (x .?> "payloads") <*>+                     (pure (fromEnum s)))++instance Hashable RunPipelineActivity where++instance NFData RunPipelineActivity where++instance ToHeaders RunPipelineActivity where+        toHeaders = const mempty++instance ToJSON RunPipelineActivity where+        toJSON RunPipelineActivity'{..}+          = object+              (catMaybes+                 [Just ("pipelineActivity" .= _rpaPipelineActivity),+                  Just ("payloads" .= _rpaPayloads)])++instance ToPath RunPipelineActivity where+        toPath = const "/pipelineactivities/run"++instance ToQuery RunPipelineActivity where+        toQuery = const mempty++-- | /See:/ 'runPipelineActivityResponse' smart constructor.+data RunPipelineActivityResponse = RunPipelineActivityResponse'+  { _rparsLogResult      :: !(Maybe Text)+  , _rparsPayloads       :: !(Maybe (List1 Base64))+  , _rparsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RunPipelineActivityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rparsLogResult' - In case the pipeline activity fails, the log message that is generated.+--+-- * 'rparsPayloads' - The enriched or transformed sample message payloads as base64-encoded strings. (The results of running the pipeline activity on each input sample message payload, encoded in base64.)+--+-- * 'rparsResponseStatus' - -- | The response status code.+runPipelineActivityResponse+    :: Int -- ^ 'rparsResponseStatus'+    -> RunPipelineActivityResponse+runPipelineActivityResponse pResponseStatus_ =+  RunPipelineActivityResponse'+    { _rparsLogResult = Nothing+    , _rparsPayloads = Nothing+    , _rparsResponseStatus = pResponseStatus_+    }+++-- | In case the pipeline activity fails, the log message that is generated.+rparsLogResult :: Lens' RunPipelineActivityResponse (Maybe Text)+rparsLogResult = lens _rparsLogResult (\ s a -> s{_rparsLogResult = a})++-- | The enriched or transformed sample message payloads as base64-encoded strings. (The results of running the pipeline activity on each input sample message payload, encoded in base64.)+rparsPayloads :: Lens' RunPipelineActivityResponse (Maybe (NonEmpty ByteString))+rparsPayloads = lens _rparsPayloads (\ s a -> s{_rparsPayloads = a}) . mapping _List1++-- | -- | The response status code.+rparsResponseStatus :: Lens' RunPipelineActivityResponse Int+rparsResponseStatus = lens _rparsResponseStatus (\ s a -> s{_rparsResponseStatus = a})++instance NFData RunPipelineActivityResponse where
+ gen/Network/AWS/IoTAnalytics/SampleChannelData.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.SampleChannelData+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a sample of messages from the specified channel ingested during the specified timeframe. Up to 10 messages can be retrieved.+--+--+module Network.AWS.IoTAnalytics.SampleChannelData+    (+    -- * Creating a Request+      sampleChannelData+    , SampleChannelData+    -- * Request Lenses+    , scdStartTime+    , scdMaxMessages+    , scdEndTime+    , scdChannelName++    -- * Destructuring the Response+    , sampleChannelDataResponse+    , SampleChannelDataResponse+    -- * Response Lenses+    , scdrsPayloads+    , scdrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'sampleChannelData' smart constructor.+data SampleChannelData = SampleChannelData'+  { _scdStartTime   :: !(Maybe POSIX)+  , _scdMaxMessages :: !(Maybe Nat)+  , _scdEndTime     :: !(Maybe POSIX)+  , _scdChannelName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SampleChannelData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scdStartTime' - The start of the time window from which sample messages are retrieved.+--+-- * 'scdMaxMessages' - The number of sample messages to be retrieved. The limit is 10, the default is also 10.+--+-- * 'scdEndTime' - The end of the time window from which sample messages are retrieved.+--+-- * 'scdChannelName' - The name of the channel whose message samples are retrieved.+sampleChannelData+    :: Text -- ^ 'scdChannelName'+    -> SampleChannelData+sampleChannelData pChannelName_ =+  SampleChannelData'+    { _scdStartTime = Nothing+    , _scdMaxMessages = Nothing+    , _scdEndTime = Nothing+    , _scdChannelName = pChannelName_+    }+++-- | The start of the time window from which sample messages are retrieved.+scdStartTime :: Lens' SampleChannelData (Maybe UTCTime)+scdStartTime = lens _scdStartTime (\ s a -> s{_scdStartTime = a}) . mapping _Time++-- | The number of sample messages to be retrieved. The limit is 10, the default is also 10.+scdMaxMessages :: Lens' SampleChannelData (Maybe Natural)+scdMaxMessages = lens _scdMaxMessages (\ s a -> s{_scdMaxMessages = a}) . mapping _Nat++-- | The end of the time window from which sample messages are retrieved.+scdEndTime :: Lens' SampleChannelData (Maybe UTCTime)+scdEndTime = lens _scdEndTime (\ s a -> s{_scdEndTime = a}) . mapping _Time++-- | The name of the channel whose message samples are retrieved.+scdChannelName :: Lens' SampleChannelData Text+scdChannelName = lens _scdChannelName (\ s a -> s{_scdChannelName = a})++instance AWSRequest SampleChannelData where+        type Rs SampleChannelData = SampleChannelDataResponse+        request = get ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 SampleChannelDataResponse' <$>+                   (x .?> "payloads") <*> (pure (fromEnum s)))++instance Hashable SampleChannelData where++instance NFData SampleChannelData where++instance ToHeaders SampleChannelData where+        toHeaders = const mempty++instance ToPath SampleChannelData where+        toPath SampleChannelData'{..}+          = mconcat+              ["/channels/", toBS _scdChannelName, "/sample"]++instance ToQuery SampleChannelData where+        toQuery SampleChannelData'{..}+          = mconcat+              ["startTime" =: _scdStartTime,+               "maxMessages" =: _scdMaxMessages,+               "endTime" =: _scdEndTime]++-- | /See:/ 'sampleChannelDataResponse' smart constructor.+data SampleChannelDataResponse = SampleChannelDataResponse'+  { _scdrsPayloads       :: !(Maybe (List1 Base64))+  , _scdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SampleChannelDataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scdrsPayloads' - The list of message samples. Each sample message is returned as a base64-encoded string.+--+-- * 'scdrsResponseStatus' - -- | The response status code.+sampleChannelDataResponse+    :: Int -- ^ 'scdrsResponseStatus'+    -> SampleChannelDataResponse+sampleChannelDataResponse pResponseStatus_ =+  SampleChannelDataResponse'+    {_scdrsPayloads = Nothing, _scdrsResponseStatus = pResponseStatus_}+++-- | The list of message samples. Each sample message is returned as a base64-encoded string.+scdrsPayloads :: Lens' SampleChannelDataResponse (Maybe (NonEmpty ByteString))+scdrsPayloads = lens _scdrsPayloads (\ s a -> s{_scdrsPayloads = a}) . mapping _List1++-- | -- | The response status code.+scdrsResponseStatus :: Lens' SampleChannelDataResponse Int+scdrsResponseStatus = lens _scdrsResponseStatus (\ s a -> s{_scdrsResponseStatus = a})++instance NFData SampleChannelDataResponse where
+ gen/Network/AWS/IoTAnalytics/StartPipelineReprocessing.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.StartPipelineReprocessing+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts the reprocessing of raw message data through the pipeline.+--+--+module Network.AWS.IoTAnalytics.StartPipelineReprocessing+    (+    -- * Creating a Request+      startPipelineReprocessing+    , StartPipelineReprocessing+    -- * Request Lenses+    , sprStartTime+    , sprEndTime+    , sprPipelineName++    -- * Destructuring the Response+    , startPipelineReprocessingResponse+    , StartPipelineReprocessingResponse+    -- * Response Lenses+    , sprrsReprocessingId+    , sprrsResponseStatus+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'startPipelineReprocessing' smart constructor.+data StartPipelineReprocessing = StartPipelineReprocessing'+  { _sprStartTime    :: !(Maybe POSIX)+  , _sprEndTime      :: !(Maybe POSIX)+  , _sprPipelineName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartPipelineReprocessing' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sprStartTime' - The start time (inclusive) of raw message data that is reprocessed.+--+-- * 'sprEndTime' - The end time (exclusive) of raw message data that is reprocessed.+--+-- * 'sprPipelineName' - The name of the pipeline on which to start reprocessing.+startPipelineReprocessing+    :: Text -- ^ 'sprPipelineName'+    -> StartPipelineReprocessing+startPipelineReprocessing pPipelineName_ =+  StartPipelineReprocessing'+    { _sprStartTime = Nothing+    , _sprEndTime = Nothing+    , _sprPipelineName = pPipelineName_+    }+++-- | The start time (inclusive) of raw message data that is reprocessed.+sprStartTime :: Lens' StartPipelineReprocessing (Maybe UTCTime)+sprStartTime = lens _sprStartTime (\ s a -> s{_sprStartTime = a}) . mapping _Time++-- | The end time (exclusive) of raw message data that is reprocessed.+sprEndTime :: Lens' StartPipelineReprocessing (Maybe UTCTime)+sprEndTime = lens _sprEndTime (\ s a -> s{_sprEndTime = a}) . mapping _Time++-- | The name of the pipeline on which to start reprocessing.+sprPipelineName :: Lens' StartPipelineReprocessing Text+sprPipelineName = lens _sprPipelineName (\ s a -> s{_sprPipelineName = a})++instance AWSRequest StartPipelineReprocessing where+        type Rs StartPipelineReprocessing =+             StartPipelineReprocessingResponse+        request = postJSON ioTAnalytics+        response+          = receiveJSON+              (\ s h x ->+                 StartPipelineReprocessingResponse' <$>+                   (x .?> "reprocessingId") <*> (pure (fromEnum s)))++instance Hashable StartPipelineReprocessing where++instance NFData StartPipelineReprocessing where++instance ToHeaders StartPipelineReprocessing where+        toHeaders = const mempty++instance ToJSON StartPipelineReprocessing where+        toJSON StartPipelineReprocessing'{..}+          = object+              (catMaybes+                 [("startTime" .=) <$> _sprStartTime,+                  ("endTime" .=) <$> _sprEndTime])++instance ToPath StartPipelineReprocessing where+        toPath StartPipelineReprocessing'{..}+          = mconcat+              ["/pipelines/", toBS _sprPipelineName,+               "/reprocessing"]++instance ToQuery StartPipelineReprocessing where+        toQuery = const mempty++-- | /See:/ 'startPipelineReprocessingResponse' smart constructor.+data StartPipelineReprocessingResponse = StartPipelineReprocessingResponse'+  { _sprrsReprocessingId :: !(Maybe Text)+  , _sprrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartPipelineReprocessingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sprrsReprocessingId' - The ID of the pipeline reprocessing activity that was started.+--+-- * 'sprrsResponseStatus' - -- | The response status code.+startPipelineReprocessingResponse+    :: Int -- ^ 'sprrsResponseStatus'+    -> StartPipelineReprocessingResponse+startPipelineReprocessingResponse pResponseStatus_ =+  StartPipelineReprocessingResponse'+    {_sprrsReprocessingId = Nothing, _sprrsResponseStatus = pResponseStatus_}+++-- | The ID of the pipeline reprocessing activity that was started.+sprrsReprocessingId :: Lens' StartPipelineReprocessingResponse (Maybe Text)+sprrsReprocessingId = lens _sprrsReprocessingId (\ s a -> s{_sprrsReprocessingId = a})++-- | -- | The response status code.+sprrsResponseStatus :: Lens' StartPipelineReprocessingResponse Int+sprrsResponseStatus = lens _sprrsResponseStatus (\ s a -> s{_sprrsResponseStatus = a})++instance NFData StartPipelineReprocessingResponse+         where
+ gen/Network/AWS/IoTAnalytics/Types.hs view
@@ -0,0 +1,374 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.Types+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.IoTAnalytics.Types+    (+    -- * Service Configuration+      ioTAnalytics++    -- * Errors+    , _InvalidRequestException+    , _ResourceAlreadyExistsException+    , _ThrottlingException+    , _InternalFailureException+    , _ServiceUnavailableException+    , _ResourceNotFoundException+    , _LimitExceededException++    -- * ChannelStatus+    , ChannelStatus (..)++    -- * DatasetContentState+    , DatasetContentState (..)++    -- * DatasetStatus+    , DatasetStatus (..)++    -- * DatastoreStatus+    , DatastoreStatus (..)++    -- * LoggingLevel+    , LoggingLevel (..)++    -- * ReprocessingStatus+    , ReprocessingStatus (..)++    -- * AddAttributesActivity+    , AddAttributesActivity+    , addAttributesActivity+    , aaaNext+    , aaaName+    , aaaAttributes++    -- * BatchPutMessageErrorEntry+    , BatchPutMessageErrorEntry+    , batchPutMessageErrorEntry+    , bpmeeErrorCode+    , bpmeeErrorMessage+    , bpmeeMessageId++    -- * Channel+    , Channel+    , channel+    , cCreationTime+    , cStatus+    , cArn+    , cRetentionPeriod+    , cName+    , cLastUpdateTime++    -- * ChannelActivity+    , ChannelActivity+    , channelActivity+    , caNext+    , caName+    , caChannelName++    -- * ChannelSummary+    , ChannelSummary+    , channelSummary+    , csCreationTime+    , csStatus+    , csChannelName+    , csLastUpdateTime++    -- * Dataset+    , Dataset+    , dataset+    , dCreationTime+    , dStatus+    , dArn+    , dActions+    , dTriggers+    , dName+    , dLastUpdateTime++    -- * DatasetAction+    , DatasetAction+    , datasetAction+    , daQueryAction+    , daActionName++    -- * DatasetContentStatus+    , DatasetContentStatus+    , datasetContentStatus+    , dcsState+    , dcsReason++    -- * DatasetEntry+    , DatasetEntry+    , datasetEntry+    , deEntryName+    , deDataURI++    -- * DatasetSummary+    , DatasetSummary+    , datasetSummary+    , dssCreationTime+    , dssStatus+    , dssDatasetName+    , dssLastUpdateTime++    -- * DatasetTrigger+    , DatasetTrigger+    , datasetTrigger+    , dtSchedule++    -- * Datastore+    , Datastore+    , datastore+    , datCreationTime+    , datStatus+    , datArn+    , datRetentionPeriod+    , datName+    , datLastUpdateTime++    -- * DatastoreActivity+    , DatastoreActivity+    , datastoreActivity+    , daName+    , daDatastoreName++    -- * DatastoreSummary+    , DatastoreSummary+    , datastoreSummary+    , dsCreationTime+    , dsStatus+    , dsDatastoreName+    , dsLastUpdateTime++    -- * DeviceRegistryEnrichActivity+    , DeviceRegistryEnrichActivity+    , deviceRegistryEnrichActivity+    , dreaNext+    , dreaName+    , dreaAttribute+    , dreaThingName+    , dreaRoleARN++    -- * DeviceShadowEnrichActivity+    , DeviceShadowEnrichActivity+    , deviceShadowEnrichActivity+    , dseaNext+    , dseaName+    , dseaAttribute+    , dseaThingName+    , dseaRoleARN++    -- * FilterActivity+    , FilterActivity+    , filterActivity+    , faNext+    , faName+    , faFilter++    -- * LambdaActivity+    , LambdaActivity+    , lambdaActivity+    , laNext+    , laName+    , laLambdaName+    , laBatchSize++    -- * LoggingOptions+    , LoggingOptions+    , loggingOptions+    , loRoleARN+    , loLevel+    , loEnabled++    -- * MathActivity+    , MathActivity+    , mathActivity+    , maNext+    , maName+    , maAttribute+    , maMath++    -- * Message+    , Message+    , message+    , mMessageId+    , mPayload++    -- * Pipeline+    , Pipeline+    , pipeline+    , pCreationTime+    , pArn+    , pActivities+    , pName+    , pReprocessingSummaries+    , pLastUpdateTime++    -- * PipelineActivity+    , PipelineActivity+    , pipelineActivity+    , paSelectAttributes+    , paChannel+    , paAddAttributes+    , paDeviceRegistryEnrich+    , paRemoveAttributes+    , paLambda+    , paDatastore+    , paDeviceShadowEnrich+    , paFilter+    , paMath++    -- * PipelineSummary+    , PipelineSummary+    , pipelineSummary+    , psCreationTime+    , psPipelineName+    , psReprocessingSummaries+    , psLastUpdateTime++    -- * RemoveAttributesActivity+    , RemoveAttributesActivity+    , removeAttributesActivity+    , raaNext+    , raaName+    , raaAttributes++    -- * ReprocessingSummary+    , ReprocessingSummary+    , reprocessingSummary+    , rsCreationTime+    , rsStatus+    , rsId++    -- * RetentionPeriod+    , RetentionPeriod+    , retentionPeriod+    , rpUnlimited+    , rpNumberOfDays++    -- * Schedule+    , Schedule+    , schedule+    , sExpression++    -- * SelectAttributesActivity+    , SelectAttributesActivity+    , selectAttributesActivity+    , saaNext+    , saaName+    , saaAttributes++    -- * SqlQueryDatasetAction+    , SqlQueryDatasetAction+    , sqlQueryDatasetAction+    , sqdaSqlQuery+    ) where++import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.IoTAnalytics.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | API version @2017-11-27@ of the Amazon IoT Analytics SDK configuration.+ioTAnalytics :: Service+ioTAnalytics =+  Service+    { _svcAbbrev = "IoTAnalytics"+    , _svcSigner = v4+    , _svcPrefix = "iotanalytics"+    , _svcVersion = "2017-11-27"+    , _svcEndpoint = defaultEndpoint ioTAnalytics+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "IoTAnalytics"+    , _svcRetry = retry+    }+  where+    retry =+      Exponential+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }+    check e+      | has (hasCode "ThrottledException" . hasStatus 400) e =+        Just "throttled_exception"+      | has (hasStatus 429) e = Just "too_many_requests"+      | has (hasCode "ThrottlingException" . hasStatus 400) e =+        Just "throttling_exception"+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+      | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"+      | has (hasStatus 502) e = Just "bad_gateway"+      | has (hasStatus 503) e = Just "service_unavailable"+      | has (hasStatus 500) e = Just "general_server_error"+      | has (hasStatus 509) e = Just "limit_exceeded"+      | otherwise = Nothing+++-- | The request was not valid.+--+--+_InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidRequestException =+  _MatchServiceError ioTAnalytics "InvalidRequestException" . hasStatus 400+++-- | A resource with the same name already exists.+--+--+_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceAlreadyExistsException =+  _MatchServiceError ioTAnalytics "ResourceAlreadyExistsException" .+  hasStatus 409+++-- | The request was denied due to request throttling.+--+--+_ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError+_ThrottlingException =+  _MatchServiceError ioTAnalytics "ThrottlingException" . hasStatus 429+++-- | There was an internal failure.+--+--+_InternalFailureException :: AsError a => Getting (First ServiceError) a ServiceError+_InternalFailureException =+  _MatchServiceError ioTAnalytics "InternalFailureException" . hasStatus 500+++-- | The service is temporarily unavailable.+--+--+_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceUnavailableException =+  _MatchServiceError ioTAnalytics "ServiceUnavailableException" . hasStatus 503+++-- | A resource with the specified name could not be found.+--+--+_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceNotFoundException =+  _MatchServiceError ioTAnalytics "ResourceNotFoundException" . hasStatus 404+++-- | The command caused an internal limit to be exceeded.+--+--+_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededException =+  _MatchServiceError ioTAnalytics "LimitExceededException" . hasStatus 410+
+ gen/Network/AWS/IoTAnalytics/Types/Product.hs view
@@ -0,0 +1,1949 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.Types.Product+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.IoTAnalytics.Types.Product where++import Network.AWS.IoTAnalytics.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | An activity that adds other attributes based on existing attributes in the message.+--+--+--+-- /See:/ 'addAttributesActivity' smart constructor.+data AddAttributesActivity = AddAttributesActivity'+  { _aaaNext       :: !(Maybe Text)+  , _aaaName       :: !Text+  , _aaaAttributes :: !(Map Text Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AddAttributesActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaaNext' - The next activity in the pipeline.+--+-- * 'aaaName' - The name of the 'addAttributes' activity.+--+-- * 'aaaAttributes' - A list of 1-50 "AttributeNameMapping" objects that map an existing attribute to a new attribute.+addAttributesActivity+    :: Text -- ^ 'aaaName'+    -> AddAttributesActivity+addAttributesActivity pName_ =+  AddAttributesActivity'+    {_aaaNext = Nothing, _aaaName = pName_, _aaaAttributes = mempty}+++-- | The next activity in the pipeline.+aaaNext :: Lens' AddAttributesActivity (Maybe Text)+aaaNext = lens _aaaNext (\ s a -> s{_aaaNext = a})++-- | The name of the 'addAttributes' activity.+aaaName :: Lens' AddAttributesActivity Text+aaaName = lens _aaaName (\ s a -> s{_aaaName = a})++-- | A list of 1-50 "AttributeNameMapping" objects that map an existing attribute to a new attribute.+aaaAttributes :: Lens' AddAttributesActivity (HashMap Text Text)+aaaAttributes = lens _aaaAttributes (\ s a -> s{_aaaAttributes = a}) . _Map++instance FromJSON AddAttributesActivity where+        parseJSON+          = withObject "AddAttributesActivity"+              (\ x ->+                 AddAttributesActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .:? "attributes" .!= mempty))++instance Hashable AddAttributesActivity where++instance NFData AddAttributesActivity where++instance ToJSON AddAttributesActivity where+        toJSON AddAttributesActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _aaaNext, Just ("name" .= _aaaName),+                  Just ("attributes" .= _aaaAttributes)])++-- | Contains informations about errors.+--+--+--+-- /See:/ 'batchPutMessageErrorEntry' smart constructor.+data BatchPutMessageErrorEntry = BatchPutMessageErrorEntry'+  { _bpmeeErrorCode    :: !(Maybe Text)+  , _bpmeeErrorMessage :: !(Maybe Text)+  , _bpmeeMessageId    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchPutMessageErrorEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpmeeErrorCode' - The code associated with the error.+--+-- * 'bpmeeErrorMessage' - The message associated with the error.+--+-- * 'bpmeeMessageId' - The ID of the message that caused the error. (See the value corresponding to the "messageId" key in the message object.)+batchPutMessageErrorEntry+    :: BatchPutMessageErrorEntry+batchPutMessageErrorEntry =+  BatchPutMessageErrorEntry'+    { _bpmeeErrorCode = Nothing+    , _bpmeeErrorMessage = Nothing+    , _bpmeeMessageId = Nothing+    }+++-- | The code associated with the error.+bpmeeErrorCode :: Lens' BatchPutMessageErrorEntry (Maybe Text)+bpmeeErrorCode = lens _bpmeeErrorCode (\ s a -> s{_bpmeeErrorCode = a})++-- | The message associated with the error.+bpmeeErrorMessage :: Lens' BatchPutMessageErrorEntry (Maybe Text)+bpmeeErrorMessage = lens _bpmeeErrorMessage (\ s a -> s{_bpmeeErrorMessage = a})++-- | The ID of the message that caused the error. (See the value corresponding to the "messageId" key in the message object.)+bpmeeMessageId :: Lens' BatchPutMessageErrorEntry (Maybe Text)+bpmeeMessageId = lens _bpmeeMessageId (\ s a -> s{_bpmeeMessageId = a})++instance FromJSON BatchPutMessageErrorEntry where+        parseJSON+          = withObject "BatchPutMessageErrorEntry"+              (\ x ->+                 BatchPutMessageErrorEntry' <$>+                   (x .:? "errorCode") <*> (x .:? "errorMessage") <*>+                     (x .:? "messageId"))++instance Hashable BatchPutMessageErrorEntry where++instance NFData BatchPutMessageErrorEntry where++-- | A collection of data from an MQTT topic. Channels archive the raw, unprocessed messages before publishing the data to a pipeline.+--+--+--+-- /See:/ 'channel' smart constructor.+data Channel = Channel'+  { _cCreationTime    :: !(Maybe POSIX)+  , _cStatus          :: !(Maybe ChannelStatus)+  , _cArn             :: !(Maybe Text)+  , _cRetentionPeriod :: !(Maybe RetentionPeriod)+  , _cName            :: !(Maybe Text)+  , _cLastUpdateTime  :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Channel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cCreationTime' - When the channel was created.+--+-- * 'cStatus' - The status of the channel.+--+-- * 'cArn' - The ARN of the channel.+--+-- * 'cRetentionPeriod' - How long, in days, message data is kept for the channel.+--+-- * 'cName' - The name of the channel.+--+-- * 'cLastUpdateTime' - When the channel was last updated.+channel+    :: Channel+channel =+  Channel'+    { _cCreationTime = Nothing+    , _cStatus = Nothing+    , _cArn = Nothing+    , _cRetentionPeriod = Nothing+    , _cName = Nothing+    , _cLastUpdateTime = Nothing+    }+++-- | When the channel was created.+cCreationTime :: Lens' Channel (Maybe UTCTime)+cCreationTime = lens _cCreationTime (\ s a -> s{_cCreationTime = a}) . mapping _Time++-- | The status of the channel.+cStatus :: Lens' Channel (Maybe ChannelStatus)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | The ARN of the channel.+cArn :: Lens' Channel (Maybe Text)+cArn = lens _cArn (\ s a -> s{_cArn = a})++-- | How long, in days, message data is kept for the channel.+cRetentionPeriod :: Lens' Channel (Maybe RetentionPeriod)+cRetentionPeriod = lens _cRetentionPeriod (\ s a -> s{_cRetentionPeriod = a})++-- | The name of the channel.+cName :: Lens' Channel (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | When the channel was last updated.+cLastUpdateTime :: Lens' Channel (Maybe UTCTime)+cLastUpdateTime = lens _cLastUpdateTime (\ s a -> s{_cLastUpdateTime = a}) . mapping _Time++instance FromJSON Channel where+        parseJSON+          = withObject "Channel"+              (\ x ->+                 Channel' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "arn")+                     <*> (x .:? "retentionPeriod")+                     <*> (x .:? "name")+                     <*> (x .:? "lastUpdateTime"))++instance Hashable Channel where++instance NFData Channel where++-- | The activity that determines the source of the messages to be processed.+--+--+--+-- /See:/ 'channelActivity' smart constructor.+data ChannelActivity = ChannelActivity'+  { _caNext        :: !(Maybe Text)+  , _caName        :: !Text+  , _caChannelName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChannelActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caNext' - The next activity in the pipeline.+--+-- * 'caName' - The name of the 'channel' activity.+--+-- * 'caChannelName' - The name of the channel from which the messages are processed.+channelActivity+    :: Text -- ^ 'caName'+    -> Text -- ^ 'caChannelName'+    -> ChannelActivity+channelActivity pName_ pChannelName_ =+  ChannelActivity'+    {_caNext = Nothing, _caName = pName_, _caChannelName = pChannelName_}+++-- | The next activity in the pipeline.+caNext :: Lens' ChannelActivity (Maybe Text)+caNext = lens _caNext (\ s a -> s{_caNext = a})++-- | The name of the 'channel' activity.+caName :: Lens' ChannelActivity Text+caName = lens _caName (\ s a -> s{_caName = a})++-- | The name of the channel from which the messages are processed.+caChannelName :: Lens' ChannelActivity Text+caChannelName = lens _caChannelName (\ s a -> s{_caChannelName = a})++instance FromJSON ChannelActivity where+        parseJSON+          = withObject "ChannelActivity"+              (\ x ->+                 ChannelActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "channelName"))++instance Hashable ChannelActivity where++instance NFData ChannelActivity where++instance ToJSON ChannelActivity where+        toJSON ChannelActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _caNext, Just ("name" .= _caName),+                  Just ("channelName" .= _caChannelName)])++-- | A summary of information about a channel.+--+--+--+-- /See:/ 'channelSummary' smart constructor.+data ChannelSummary = ChannelSummary'+  { _csCreationTime   :: !(Maybe POSIX)+  , _csStatus         :: !(Maybe ChannelStatus)+  , _csChannelName    :: !(Maybe Text)+  , _csLastUpdateTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChannelSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csCreationTime' - When the channel was created.+--+-- * 'csStatus' - The status of the channel.+--+-- * 'csChannelName' - The name of the channel.+--+-- * 'csLastUpdateTime' - The last time the channel was updated.+channelSummary+    :: ChannelSummary+channelSummary =+  ChannelSummary'+    { _csCreationTime = Nothing+    , _csStatus = Nothing+    , _csChannelName = Nothing+    , _csLastUpdateTime = Nothing+    }+++-- | When the channel was created.+csCreationTime :: Lens' ChannelSummary (Maybe UTCTime)+csCreationTime = lens _csCreationTime (\ s a -> s{_csCreationTime = a}) . mapping _Time++-- | The status of the channel.+csStatus :: Lens' ChannelSummary (Maybe ChannelStatus)+csStatus = lens _csStatus (\ s a -> s{_csStatus = a})++-- | The name of the channel.+csChannelName :: Lens' ChannelSummary (Maybe Text)+csChannelName = lens _csChannelName (\ s a -> s{_csChannelName = a})++-- | The last time the channel was updated.+csLastUpdateTime :: Lens' ChannelSummary (Maybe UTCTime)+csLastUpdateTime = lens _csLastUpdateTime (\ s a -> s{_csLastUpdateTime = a}) . mapping _Time++instance FromJSON ChannelSummary where+        parseJSON+          = withObject "ChannelSummary"+              (\ x ->+                 ChannelSummary' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "channelName")+                     <*> (x .:? "lastUpdateTime"))++instance Hashable ChannelSummary where++instance NFData ChannelSummary where++-- | Information about a data set.+--+--+--+-- /See:/ 'dataset' smart constructor.+data Dataset = Dataset'+  { _dCreationTime   :: !(Maybe POSIX)+  , _dStatus         :: !(Maybe DatasetStatus)+  , _dArn            :: !(Maybe Text)+  , _dActions        :: !(Maybe (List1 DatasetAction))+  , _dTriggers       :: !(Maybe [DatasetTrigger])+  , _dName           :: !(Maybe Text)+  , _dLastUpdateTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Dataset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dCreationTime' - When the data set was created.+--+-- * 'dStatus' - The status of the data set.+--+-- * 'dArn' - The ARN of the data set.+--+-- * 'dActions' - The "DatasetAction" objects that create the data set.+--+-- * 'dTriggers' - The "DatasetTrigger" objects that specify when the data set is automatically updated.+--+-- * 'dName' - The name of the data set.+--+-- * 'dLastUpdateTime' - The last time the data set was updated.+dataset+    :: Dataset+dataset =+  Dataset'+    { _dCreationTime = Nothing+    , _dStatus = Nothing+    , _dArn = Nothing+    , _dActions = Nothing+    , _dTriggers = Nothing+    , _dName = Nothing+    , _dLastUpdateTime = Nothing+    }+++-- | When the data set was created.+dCreationTime :: Lens' Dataset (Maybe UTCTime)+dCreationTime = lens _dCreationTime (\ s a -> s{_dCreationTime = a}) . mapping _Time++-- | The status of the data set.+dStatus :: Lens' Dataset (Maybe DatasetStatus)+dStatus = lens _dStatus (\ s a -> s{_dStatus = a})++-- | The ARN of the data set.+dArn :: Lens' Dataset (Maybe Text)+dArn = lens _dArn (\ s a -> s{_dArn = a})++-- | The "DatasetAction" objects that create the data set.+dActions :: Lens' Dataset (Maybe (NonEmpty DatasetAction))+dActions = lens _dActions (\ s a -> s{_dActions = a}) . mapping _List1++-- | The "DatasetTrigger" objects that specify when the data set is automatically updated.+dTriggers :: Lens' Dataset [DatasetTrigger]+dTriggers = lens _dTriggers (\ s a -> s{_dTriggers = a}) . _Default . _Coerce++-- | The name of the data set.+dName :: Lens' Dataset (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a})++-- | The last time the data set was updated.+dLastUpdateTime :: Lens' Dataset (Maybe UTCTime)+dLastUpdateTime = lens _dLastUpdateTime (\ s a -> s{_dLastUpdateTime = a}) . mapping _Time++instance FromJSON Dataset where+        parseJSON+          = withObject "Dataset"+              (\ x ->+                 Dataset' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "arn")+                     <*> (x .:? "actions")+                     <*> (x .:? "triggers" .!= mempty)+                     <*> (x .:? "name")+                     <*> (x .:? "lastUpdateTime"))++instance Hashable Dataset where++instance NFData Dataset where++-- | A "DatasetAction" object specifying the query that creates the data set content.+--+--+--+-- /See:/ 'datasetAction' smart constructor.+data DatasetAction = DatasetAction'+  { _daQueryAction :: !(Maybe SqlQueryDatasetAction)+  , _daActionName  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatasetAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daQueryAction' - An "SqlQueryDatasetAction" object that contains the SQL query to modify the message.+--+-- * 'daActionName' - The name of the data set action.+datasetAction+    :: DatasetAction+datasetAction =+  DatasetAction' {_daQueryAction = Nothing, _daActionName = Nothing}+++-- | An "SqlQueryDatasetAction" object that contains the SQL query to modify the message.+daQueryAction :: Lens' DatasetAction (Maybe SqlQueryDatasetAction)+daQueryAction = lens _daQueryAction (\ s a -> s{_daQueryAction = a})++-- | The name of the data set action.+daActionName :: Lens' DatasetAction (Maybe Text)+daActionName = lens _daActionName (\ s a -> s{_daActionName = a})++instance FromJSON DatasetAction where+        parseJSON+          = withObject "DatasetAction"+              (\ x ->+                 DatasetAction' <$>+                   (x .:? "queryAction") <*> (x .:? "actionName"))++instance Hashable DatasetAction where++instance NFData DatasetAction where++instance ToJSON DatasetAction where+        toJSON DatasetAction'{..}+          = object+              (catMaybes+                 [("queryAction" .=) <$> _daQueryAction,+                  ("actionName" .=) <$> _daActionName])++-- | The state of the data set and the reason it is in this state.+--+--+--+-- /See:/ 'datasetContentStatus' smart constructor.+data DatasetContentStatus = DatasetContentStatus'+  { _dcsState  :: !(Maybe DatasetContentState)+  , _dcsReason :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatasetContentStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsState' - The state of the data set. Can be one of "CREATING", "SUCCEEDED" or "FAILED".+--+-- * 'dcsReason' - The reason the data set is in this state.+datasetContentStatus+    :: DatasetContentStatus+datasetContentStatus =+  DatasetContentStatus' {_dcsState = Nothing, _dcsReason = Nothing}+++-- | The state of the data set. Can be one of "CREATING", "SUCCEEDED" or "FAILED".+dcsState :: Lens' DatasetContentStatus (Maybe DatasetContentState)+dcsState = lens _dcsState (\ s a -> s{_dcsState = a})++-- | The reason the data set is in this state.+dcsReason :: Lens' DatasetContentStatus (Maybe Text)+dcsReason = lens _dcsReason (\ s a -> s{_dcsReason = a})++instance FromJSON DatasetContentStatus where+        parseJSON+          = withObject "DatasetContentStatus"+              (\ x ->+                 DatasetContentStatus' <$>+                   (x .:? "state") <*> (x .:? "reason"))++instance Hashable DatasetContentStatus where++instance NFData DatasetContentStatus where++-- | The reference to a data set entry.+--+--+--+-- /See:/ 'datasetEntry' smart constructor.+data DatasetEntry = DatasetEntry'+  { _deEntryName :: !(Maybe Text)+  , _deDataURI   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatasetEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deEntryName' - The name of the data set item.+--+-- * 'deDataURI' - The pre-signed URI of the data set item.+datasetEntry+    :: DatasetEntry+datasetEntry = DatasetEntry' {_deEntryName = Nothing, _deDataURI = Nothing}+++-- | The name of the data set item.+deEntryName :: Lens' DatasetEntry (Maybe Text)+deEntryName = lens _deEntryName (\ s a -> s{_deEntryName = a})++-- | The pre-signed URI of the data set item.+deDataURI :: Lens' DatasetEntry (Maybe Text)+deDataURI = lens _deDataURI (\ s a -> s{_deDataURI = a})++instance FromJSON DatasetEntry where+        parseJSON+          = withObject "DatasetEntry"+              (\ x ->+                 DatasetEntry' <$>+                   (x .:? "entryName") <*> (x .:? "dataURI"))++instance Hashable DatasetEntry where++instance NFData DatasetEntry where++-- | A summary of information about a data set.+--+--+--+-- /See:/ 'datasetSummary' smart constructor.+data DatasetSummary = DatasetSummary'+  { _dssCreationTime   :: !(Maybe POSIX)+  , _dssStatus         :: !(Maybe DatasetStatus)+  , _dssDatasetName    :: !(Maybe Text)+  , _dssLastUpdateTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatasetSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssCreationTime' - The time the data set was created.+--+-- * 'dssStatus' - The status of the data set.+--+-- * 'dssDatasetName' - The name of the data set.+--+-- * 'dssLastUpdateTime' - The last time the data set was updated.+datasetSummary+    :: DatasetSummary+datasetSummary =+  DatasetSummary'+    { _dssCreationTime = Nothing+    , _dssStatus = Nothing+    , _dssDatasetName = Nothing+    , _dssLastUpdateTime = Nothing+    }+++-- | The time the data set was created.+dssCreationTime :: Lens' DatasetSummary (Maybe UTCTime)+dssCreationTime = lens _dssCreationTime (\ s a -> s{_dssCreationTime = a}) . mapping _Time++-- | The status of the data set.+dssStatus :: Lens' DatasetSummary (Maybe DatasetStatus)+dssStatus = lens _dssStatus (\ s a -> s{_dssStatus = a})++-- | The name of the data set.+dssDatasetName :: Lens' DatasetSummary (Maybe Text)+dssDatasetName = lens _dssDatasetName (\ s a -> s{_dssDatasetName = a})++-- | The last time the data set was updated.+dssLastUpdateTime :: Lens' DatasetSummary (Maybe UTCTime)+dssLastUpdateTime = lens _dssLastUpdateTime (\ s a -> s{_dssLastUpdateTime = a}) . mapping _Time++instance FromJSON DatasetSummary where+        parseJSON+          = withObject "DatasetSummary"+              (\ x ->+                 DatasetSummary' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "datasetName")+                     <*> (x .:? "lastUpdateTime"))++instance Hashable DatasetSummary where++instance NFData DatasetSummary where++-- | The "DatasetTrigger" that specifies when the data set is automatically updated.+--+--+--+-- /See:/ 'datasetTrigger' smart constructor.+newtype DatasetTrigger = DatasetTrigger'+  { _dtSchedule :: Maybe Schedule+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatasetTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtSchedule' - The "Schedule" when the trigger is initiated.+datasetTrigger+    :: DatasetTrigger+datasetTrigger = DatasetTrigger' {_dtSchedule = Nothing}+++-- | The "Schedule" when the trigger is initiated.+dtSchedule :: Lens' DatasetTrigger (Maybe Schedule)+dtSchedule = lens _dtSchedule (\ s a -> s{_dtSchedule = a})++instance FromJSON DatasetTrigger where+        parseJSON+          = withObject "DatasetTrigger"+              (\ x -> DatasetTrigger' <$> (x .:? "schedule"))++instance Hashable DatasetTrigger where++instance NFData DatasetTrigger where++instance ToJSON DatasetTrigger where+        toJSON DatasetTrigger'{..}+          = object+              (catMaybes [("schedule" .=) <$> _dtSchedule])++-- | Information about a data store.+--+--+--+-- /See:/ 'datastore' smart constructor.+data Datastore = Datastore'+  { _datCreationTime    :: !(Maybe POSIX)+  , _datStatus          :: !(Maybe DatastoreStatus)+  , _datArn             :: !(Maybe Text)+  , _datRetentionPeriod :: !(Maybe RetentionPeriod)+  , _datName            :: !(Maybe Text)+  , _datLastUpdateTime  :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Datastore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'datCreationTime' - When the data store was created.+--+-- * 'datStatus' - The status of a data store:     * CREATING    * The data store is being created.     * ACTIVE    * The data store has been created and can be used.     * DELETING    * The data store is being deleted.+--+-- * 'datArn' - The ARN of the data store.+--+-- * 'datRetentionPeriod' - How long, in days, message data is kept for the data store.+--+-- * 'datName' - The name of the data store.+--+-- * 'datLastUpdateTime' - The last time the data store was updated.+datastore+    :: Datastore+datastore =+  Datastore'+    { _datCreationTime = Nothing+    , _datStatus = Nothing+    , _datArn = Nothing+    , _datRetentionPeriod = Nothing+    , _datName = Nothing+    , _datLastUpdateTime = Nothing+    }+++-- | When the data store was created.+datCreationTime :: Lens' Datastore (Maybe UTCTime)+datCreationTime = lens _datCreationTime (\ s a -> s{_datCreationTime = a}) . mapping _Time++-- | The status of a data store:     * CREATING    * The data store is being created.     * ACTIVE    * The data store has been created and can be used.     * DELETING    * The data store is being deleted.+datStatus :: Lens' Datastore (Maybe DatastoreStatus)+datStatus = lens _datStatus (\ s a -> s{_datStatus = a})++-- | The ARN of the data store.+datArn :: Lens' Datastore (Maybe Text)+datArn = lens _datArn (\ s a -> s{_datArn = a})++-- | How long, in days, message data is kept for the data store.+datRetentionPeriod :: Lens' Datastore (Maybe RetentionPeriod)+datRetentionPeriod = lens _datRetentionPeriod (\ s a -> s{_datRetentionPeriod = a})++-- | The name of the data store.+datName :: Lens' Datastore (Maybe Text)+datName = lens _datName (\ s a -> s{_datName = a})++-- | The last time the data store was updated.+datLastUpdateTime :: Lens' Datastore (Maybe UTCTime)+datLastUpdateTime = lens _datLastUpdateTime (\ s a -> s{_datLastUpdateTime = a}) . mapping _Time++instance FromJSON Datastore where+        parseJSON+          = withObject "Datastore"+              (\ x ->+                 Datastore' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "arn")+                     <*> (x .:? "retentionPeriod")+                     <*> (x .:? "name")+                     <*> (x .:? "lastUpdateTime"))++instance Hashable Datastore where++instance NFData Datastore where++-- | The 'datastore' activity that specifies where to store the processed data.+--+--+--+-- /See:/ 'datastoreActivity' smart constructor.+data DatastoreActivity = DatastoreActivity'+  { _daName          :: !Text+  , _daDatastoreName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatastoreActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daName' - The name of the 'datastore' activity.+--+-- * 'daDatastoreName' - The name of the data store where processed messages are stored.+datastoreActivity+    :: Text -- ^ 'daName'+    -> Text -- ^ 'daDatastoreName'+    -> DatastoreActivity+datastoreActivity pName_ pDatastoreName_ =+  DatastoreActivity' {_daName = pName_, _daDatastoreName = pDatastoreName_}+++-- | The name of the 'datastore' activity.+daName :: Lens' DatastoreActivity Text+daName = lens _daName (\ s a -> s{_daName = a})++-- | The name of the data store where processed messages are stored.+daDatastoreName :: Lens' DatastoreActivity Text+daDatastoreName = lens _daDatastoreName (\ s a -> s{_daDatastoreName = a})++instance FromJSON DatastoreActivity where+        parseJSON+          = withObject "DatastoreActivity"+              (\ x ->+                 DatastoreActivity' <$>+                   (x .: "name") <*> (x .: "datastoreName"))++instance Hashable DatastoreActivity where++instance NFData DatastoreActivity where++instance ToJSON DatastoreActivity where+        toJSON DatastoreActivity'{..}+          = object+              (catMaybes+                 [Just ("name" .= _daName),+                  Just ("datastoreName" .= _daDatastoreName)])++-- | A summary of information about a data store.+--+--+--+-- /See:/ 'datastoreSummary' smart constructor.+data DatastoreSummary = DatastoreSummary'+  { _dsCreationTime   :: !(Maybe POSIX)+  , _dsStatus         :: !(Maybe DatastoreStatus)+  , _dsDatastoreName  :: !(Maybe Text)+  , _dsLastUpdateTime :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatastoreSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsCreationTime' - When the data store was created.+--+-- * 'dsStatus' - The status of the data store.+--+-- * 'dsDatastoreName' - The name of the data store.+--+-- * 'dsLastUpdateTime' - The last time the data store was updated.+datastoreSummary+    :: DatastoreSummary+datastoreSummary =+  DatastoreSummary'+    { _dsCreationTime = Nothing+    , _dsStatus = Nothing+    , _dsDatastoreName = Nothing+    , _dsLastUpdateTime = Nothing+    }+++-- | When the data store was created.+dsCreationTime :: Lens' DatastoreSummary (Maybe UTCTime)+dsCreationTime = lens _dsCreationTime (\ s a -> s{_dsCreationTime = a}) . mapping _Time++-- | The status of the data store.+dsStatus :: Lens' DatastoreSummary (Maybe DatastoreStatus)+dsStatus = lens _dsStatus (\ s a -> s{_dsStatus = a})++-- | The name of the data store.+dsDatastoreName :: Lens' DatastoreSummary (Maybe Text)+dsDatastoreName = lens _dsDatastoreName (\ s a -> s{_dsDatastoreName = a})++-- | The last time the data store was updated.+dsLastUpdateTime :: Lens' DatastoreSummary (Maybe UTCTime)+dsLastUpdateTime = lens _dsLastUpdateTime (\ s a -> s{_dsLastUpdateTime = a}) . mapping _Time++instance FromJSON DatastoreSummary where+        parseJSON+          = withObject "DatastoreSummary"+              (\ x ->+                 DatastoreSummary' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "datastoreName")+                     <*> (x .:? "lastUpdateTime"))++instance Hashable DatastoreSummary where++instance NFData DatastoreSummary where++-- | An activity that adds data from the AWS IoT device registry to your message.+--+--+--+-- /See:/ 'deviceRegistryEnrichActivity' smart constructor.+data DeviceRegistryEnrichActivity = DeviceRegistryEnrichActivity'+  { _dreaNext      :: !(Maybe Text)+  , _dreaName      :: !Text+  , _dreaAttribute :: !Text+  , _dreaThingName :: !Text+  , _dreaRoleARN   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeviceRegistryEnrichActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dreaNext' - The next activity in the pipeline.+--+-- * 'dreaName' - The name of the 'deviceRegistryEnrich' activity.+--+-- * 'dreaAttribute' - The name of the attribute that is added to the message.+--+-- * 'dreaThingName' - The name of the IoT device whose registry information is added to the message.+--+-- * 'dreaRoleARN' - The ARN of the role that allows access to the device's registry information.+deviceRegistryEnrichActivity+    :: Text -- ^ 'dreaName'+    -> Text -- ^ 'dreaAttribute'+    -> Text -- ^ 'dreaThingName'+    -> Text -- ^ 'dreaRoleARN'+    -> DeviceRegistryEnrichActivity+deviceRegistryEnrichActivity pName_ pAttribute_ pThingName_ pRoleARN_ =+  DeviceRegistryEnrichActivity'+    { _dreaNext = Nothing+    , _dreaName = pName_+    , _dreaAttribute = pAttribute_+    , _dreaThingName = pThingName_+    , _dreaRoleARN = pRoleARN_+    }+++-- | The next activity in the pipeline.+dreaNext :: Lens' DeviceRegistryEnrichActivity (Maybe Text)+dreaNext = lens _dreaNext (\ s a -> s{_dreaNext = a})++-- | The name of the 'deviceRegistryEnrich' activity.+dreaName :: Lens' DeviceRegistryEnrichActivity Text+dreaName = lens _dreaName (\ s a -> s{_dreaName = a})++-- | The name of the attribute that is added to the message.+dreaAttribute :: Lens' DeviceRegistryEnrichActivity Text+dreaAttribute = lens _dreaAttribute (\ s a -> s{_dreaAttribute = a})++-- | The name of the IoT device whose registry information is added to the message.+dreaThingName :: Lens' DeviceRegistryEnrichActivity Text+dreaThingName = lens _dreaThingName (\ s a -> s{_dreaThingName = a})++-- | The ARN of the role that allows access to the device's registry information.+dreaRoleARN :: Lens' DeviceRegistryEnrichActivity Text+dreaRoleARN = lens _dreaRoleARN (\ s a -> s{_dreaRoleARN = a})++instance FromJSON DeviceRegistryEnrichActivity where+        parseJSON+          = withObject "DeviceRegistryEnrichActivity"+              (\ x ->+                 DeviceRegistryEnrichActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "attribute")+                     <*> (x .: "thingName")+                     <*> (x .: "roleArn"))++instance Hashable DeviceRegistryEnrichActivity where++instance NFData DeviceRegistryEnrichActivity where++instance ToJSON DeviceRegistryEnrichActivity where+        toJSON DeviceRegistryEnrichActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _dreaNext,+                  Just ("name" .= _dreaName),+                  Just ("attribute" .= _dreaAttribute),+                  Just ("thingName" .= _dreaThingName),+                  Just ("roleArn" .= _dreaRoleARN)])++-- | An activity that adds information from the AWS IoT Device Shadows service to a message.+--+--+--+-- /See:/ 'deviceShadowEnrichActivity' smart constructor.+data DeviceShadowEnrichActivity = DeviceShadowEnrichActivity'+  { _dseaNext      :: !(Maybe Text)+  , _dseaName      :: !Text+  , _dseaAttribute :: !Text+  , _dseaThingName :: !Text+  , _dseaRoleARN   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeviceShadowEnrichActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dseaNext' - The next activity in the pipeline.+--+-- * 'dseaName' - The name of the 'deviceShadowEnrich' activity.+--+-- * 'dseaAttribute' - The name of the attribute that is added to the message.+--+-- * 'dseaThingName' - The name of the IoT device whose shadow information is added to the message.+--+-- * 'dseaRoleARN' - The ARN of the role that allows access to the device's shadow.+deviceShadowEnrichActivity+    :: Text -- ^ 'dseaName'+    -> Text -- ^ 'dseaAttribute'+    -> Text -- ^ 'dseaThingName'+    -> Text -- ^ 'dseaRoleARN'+    -> DeviceShadowEnrichActivity+deviceShadowEnrichActivity pName_ pAttribute_ pThingName_ pRoleARN_ =+  DeviceShadowEnrichActivity'+    { _dseaNext = Nothing+    , _dseaName = pName_+    , _dseaAttribute = pAttribute_+    , _dseaThingName = pThingName_+    , _dseaRoleARN = pRoleARN_+    }+++-- | The next activity in the pipeline.+dseaNext :: Lens' DeviceShadowEnrichActivity (Maybe Text)+dseaNext = lens _dseaNext (\ s a -> s{_dseaNext = a})++-- | The name of the 'deviceShadowEnrich' activity.+dseaName :: Lens' DeviceShadowEnrichActivity Text+dseaName = lens _dseaName (\ s a -> s{_dseaName = a})++-- | The name of the attribute that is added to the message.+dseaAttribute :: Lens' DeviceShadowEnrichActivity Text+dseaAttribute = lens _dseaAttribute (\ s a -> s{_dseaAttribute = a})++-- | The name of the IoT device whose shadow information is added to the message.+dseaThingName :: Lens' DeviceShadowEnrichActivity Text+dseaThingName = lens _dseaThingName (\ s a -> s{_dseaThingName = a})++-- | The ARN of the role that allows access to the device's shadow.+dseaRoleARN :: Lens' DeviceShadowEnrichActivity Text+dseaRoleARN = lens _dseaRoleARN (\ s a -> s{_dseaRoleARN = a})++instance FromJSON DeviceShadowEnrichActivity where+        parseJSON+          = withObject "DeviceShadowEnrichActivity"+              (\ x ->+                 DeviceShadowEnrichActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "attribute")+                     <*> (x .: "thingName")+                     <*> (x .: "roleArn"))++instance Hashable DeviceShadowEnrichActivity where++instance NFData DeviceShadowEnrichActivity where++instance ToJSON DeviceShadowEnrichActivity where+        toJSON DeviceShadowEnrichActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _dseaNext,+                  Just ("name" .= _dseaName),+                  Just ("attribute" .= _dseaAttribute),+                  Just ("thingName" .= _dseaThingName),+                  Just ("roleArn" .= _dseaRoleARN)])++-- | An activity that filters a message based on its attributes.+--+--+--+-- /See:/ 'filterActivity' smart constructor.+data FilterActivity = FilterActivity'+  { _faNext   :: !(Maybe Text)+  , _faName   :: !Text+  , _faFilter :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FilterActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faNext' - The next activity in the pipeline.+--+-- * 'faName' - The name of the 'filter' activity.+--+-- * 'faFilter' - An expression that looks like an SQL WHERE clause that must return a Boolean value.+filterActivity+    :: Text -- ^ 'faName'+    -> Text -- ^ 'faFilter'+    -> FilterActivity+filterActivity pName_ pFilter_ =+  FilterActivity' {_faNext = Nothing, _faName = pName_, _faFilter = pFilter_}+++-- | The next activity in the pipeline.+faNext :: Lens' FilterActivity (Maybe Text)+faNext = lens _faNext (\ s a -> s{_faNext = a})++-- | The name of the 'filter' activity.+faName :: Lens' FilterActivity Text+faName = lens _faName (\ s a -> s{_faName = a})++-- | An expression that looks like an SQL WHERE clause that must return a Boolean value.+faFilter :: Lens' FilterActivity Text+faFilter = lens _faFilter (\ s a -> s{_faFilter = a})++instance FromJSON FilterActivity where+        parseJSON+          = withObject "FilterActivity"+              (\ x ->+                 FilterActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*> (x .: "filter"))++instance Hashable FilterActivity where++instance NFData FilterActivity where++instance ToJSON FilterActivity where+        toJSON FilterActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _faNext, Just ("name" .= _faName),+                  Just ("filter" .= _faFilter)])++-- | An activity that runs a Lambda function to modify the message.+--+--+--+-- /See:/ 'lambdaActivity' smart constructor.+data LambdaActivity = LambdaActivity'+  { _laNext       :: !(Maybe Text)+  , _laName       :: !Text+  , _laLambdaName :: !Text+  , _laBatchSize  :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LambdaActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'laNext' - The next activity in the pipeline.+--+-- * 'laName' - The name of the 'lambda' activity.+--+-- * 'laLambdaName' - The name of the Lambda function that is run on the message.+--+-- * 'laBatchSize' - The number of messages passed to the Lambda function for processing. The AWS Lambda function must be able to process all of these messages within five minutes, which is the maximum timeout duration for Lambda functions.+lambdaActivity+    :: Text -- ^ 'laName'+    -> Text -- ^ 'laLambdaName'+    -> Natural -- ^ 'laBatchSize'+    -> LambdaActivity+lambdaActivity pName_ pLambdaName_ pBatchSize_ =+  LambdaActivity'+    { _laNext = Nothing+    , _laName = pName_+    , _laLambdaName = pLambdaName_+    , _laBatchSize = _Nat # pBatchSize_+    }+++-- | The next activity in the pipeline.+laNext :: Lens' LambdaActivity (Maybe Text)+laNext = lens _laNext (\ s a -> s{_laNext = a})++-- | The name of the 'lambda' activity.+laName :: Lens' LambdaActivity Text+laName = lens _laName (\ s a -> s{_laName = a})++-- | The name of the Lambda function that is run on the message.+laLambdaName :: Lens' LambdaActivity Text+laLambdaName = lens _laLambdaName (\ s a -> s{_laLambdaName = a})++-- | The number of messages passed to the Lambda function for processing. The AWS Lambda function must be able to process all of these messages within five minutes, which is the maximum timeout duration for Lambda functions.+laBatchSize :: Lens' LambdaActivity Natural+laBatchSize = lens _laBatchSize (\ s a -> s{_laBatchSize = a}) . _Nat++instance FromJSON LambdaActivity where+        parseJSON+          = withObject "LambdaActivity"+              (\ x ->+                 LambdaActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "lambdaName")+                     <*> (x .: "batchSize"))++instance Hashable LambdaActivity where++instance NFData LambdaActivity where++instance ToJSON LambdaActivity where+        toJSON LambdaActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _laNext, Just ("name" .= _laName),+                  Just ("lambdaName" .= _laLambdaName),+                  Just ("batchSize" .= _laBatchSize)])++-- | Information about logging options.+--+--+--+-- /See:/ 'loggingOptions' smart constructor.+data LoggingOptions = LoggingOptions'+  { _loRoleARN :: !Text+  , _loLevel   :: !LoggingLevel+  , _loEnabled :: !Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoggingOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'loRoleARN' - The ARN of the role that grants permission to AWS IoT Analytics to perform logging.+--+-- * 'loLevel' - The logging level. Currently, only "ERROR" is supported.+--+-- * 'loEnabled' - If true, logging is enabled for AWS IoT Analytics.+loggingOptions+    :: Text -- ^ 'loRoleARN'+    -> LoggingLevel -- ^ 'loLevel'+    -> Bool -- ^ 'loEnabled'+    -> LoggingOptions+loggingOptions pRoleARN_ pLevel_ pEnabled_ =+  LoggingOptions'+    {_loRoleARN = pRoleARN_, _loLevel = pLevel_, _loEnabled = pEnabled_}+++-- | The ARN of the role that grants permission to AWS IoT Analytics to perform logging.+loRoleARN :: Lens' LoggingOptions Text+loRoleARN = lens _loRoleARN (\ s a -> s{_loRoleARN = a})++-- | The logging level. Currently, only "ERROR" is supported.+loLevel :: Lens' LoggingOptions LoggingLevel+loLevel = lens _loLevel (\ s a -> s{_loLevel = a})++-- | If true, logging is enabled for AWS IoT Analytics.+loEnabled :: Lens' LoggingOptions Bool+loEnabled = lens _loEnabled (\ s a -> s{_loEnabled = a})++instance FromJSON LoggingOptions where+        parseJSON+          = withObject "LoggingOptions"+              (\ x ->+                 LoggingOptions' <$>+                   (x .: "roleArn") <*> (x .: "level") <*>+                     (x .: "enabled"))++instance Hashable LoggingOptions where++instance NFData LoggingOptions where++instance ToJSON LoggingOptions where+        toJSON LoggingOptions'{..}+          = object+              (catMaybes+                 [Just ("roleArn" .= _loRoleARN),+                  Just ("level" .= _loLevel),+                  Just ("enabled" .= _loEnabled)])++-- | An activity that computes an arithmetic expression using the message's attributes.+--+--+--+-- /See:/ 'mathActivity' smart constructor.+data MathActivity = MathActivity'+  { _maNext      :: !(Maybe Text)+  , _maName      :: !Text+  , _maAttribute :: !Text+  , _maMath      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MathActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'maNext' - The next activity in the pipeline.+--+-- * 'maName' - The name of the 'math' activity.+--+-- * 'maAttribute' - The name of the attribute that will contain the result of the math operation.+--+-- * 'maMath' - An expression that uses one or more existing attributes and must return an integer value.+mathActivity+    :: Text -- ^ 'maName'+    -> Text -- ^ 'maAttribute'+    -> Text -- ^ 'maMath'+    -> MathActivity+mathActivity pName_ pAttribute_ pMath_ =+  MathActivity'+    { _maNext = Nothing+    , _maName = pName_+    , _maAttribute = pAttribute_+    , _maMath = pMath_+    }+++-- | The next activity in the pipeline.+maNext :: Lens' MathActivity (Maybe Text)+maNext = lens _maNext (\ s a -> s{_maNext = a})++-- | The name of the 'math' activity.+maName :: Lens' MathActivity Text+maName = lens _maName (\ s a -> s{_maName = a})++-- | The name of the attribute that will contain the result of the math operation.+maAttribute :: Lens' MathActivity Text+maAttribute = lens _maAttribute (\ s a -> s{_maAttribute = a})++-- | An expression that uses one or more existing attributes and must return an integer value.+maMath :: Lens' MathActivity Text+maMath = lens _maMath (\ s a -> s{_maMath = a})++instance FromJSON MathActivity where+        parseJSON+          = withObject "MathActivity"+              (\ x ->+                 MathActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "attribute")+                     <*> (x .: "math"))++instance Hashable MathActivity where++instance NFData MathActivity where++instance ToJSON MathActivity where+        toJSON MathActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _maNext, Just ("name" .= _maName),+                  Just ("attribute" .= _maAttribute),+                  Just ("math" .= _maMath)])++-- | Information about a message.+--+--+--+-- /See:/ 'message' smart constructor.+data Message = Message'+  { _mMessageId :: !Text+  , _mPayload   :: !Base64+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Message' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mMessageId' - The ID you wish to assign to the message.+--+-- * 'mPayload' - The payload of the message.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+message+    :: Text -- ^ 'mMessageId'+    -> ByteString -- ^ 'mPayload'+    -> Message+message pMessageId_ pPayload_ =+  Message' {_mMessageId = pMessageId_, _mPayload = _Base64 # pPayload_}+++-- | The ID you wish to assign to the message.+mMessageId :: Lens' Message Text+mMessageId = lens _mMessageId (\ s a -> s{_mMessageId = a})++-- | The payload of the message.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.+mPayload :: Lens' Message ByteString+mPayload = lens _mPayload (\ s a -> s{_mPayload = a}) . _Base64++instance Hashable Message where++instance NFData Message where++instance ToJSON Message where+        toJSON Message'{..}+          = object+              (catMaybes+                 [Just ("messageId" .= _mMessageId),+                  Just ("payload" .= _mPayload)])++-- | Contains information about a pipeline.+--+--+--+-- /See:/ 'pipeline' smart constructor.+data Pipeline = Pipeline'+  { _pCreationTime          :: !(Maybe POSIX)+  , _pArn                   :: !(Maybe Text)+  , _pActivities            :: !(Maybe (List1 PipelineActivity))+  , _pName                  :: !(Maybe Text)+  , _pReprocessingSummaries :: !(Maybe [ReprocessingSummary])+  , _pLastUpdateTime        :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Pipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pCreationTime' - When the pipeline was created.+--+-- * 'pArn' - The ARN of the pipeline.+--+-- * 'pActivities' - The activities that perform transformations on the messages.+--+-- * 'pName' - The name of the pipeline.+--+-- * 'pReprocessingSummaries' - A summary of information about the pipeline reprocessing.+--+-- * 'pLastUpdateTime' - The last time the pipeline was updated.+pipeline+    :: Pipeline+pipeline =+  Pipeline'+    { _pCreationTime = Nothing+    , _pArn = Nothing+    , _pActivities = Nothing+    , _pName = Nothing+    , _pReprocessingSummaries = Nothing+    , _pLastUpdateTime = Nothing+    }+++-- | When the pipeline was created.+pCreationTime :: Lens' Pipeline (Maybe UTCTime)+pCreationTime = lens _pCreationTime (\ s a -> s{_pCreationTime = a}) . mapping _Time++-- | The ARN of the pipeline.+pArn :: Lens' Pipeline (Maybe Text)+pArn = lens _pArn (\ s a -> s{_pArn = a})++-- | The activities that perform transformations on the messages.+pActivities :: Lens' Pipeline (Maybe (NonEmpty PipelineActivity))+pActivities = lens _pActivities (\ s a -> s{_pActivities = a}) . mapping _List1++-- | The name of the pipeline.+pName :: Lens' Pipeline (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++-- | A summary of information about the pipeline reprocessing.+pReprocessingSummaries :: Lens' Pipeline [ReprocessingSummary]+pReprocessingSummaries = lens _pReprocessingSummaries (\ s a -> s{_pReprocessingSummaries = a}) . _Default . _Coerce++-- | The last time the pipeline was updated.+pLastUpdateTime :: Lens' Pipeline (Maybe UTCTime)+pLastUpdateTime = lens _pLastUpdateTime (\ s a -> s{_pLastUpdateTime = a}) . mapping _Time++instance FromJSON Pipeline where+        parseJSON+          = withObject "Pipeline"+              (\ x ->+                 Pipeline' <$>+                   (x .:? "creationTime") <*> (x .:? "arn") <*>+                     (x .:? "activities")+                     <*> (x .:? "name")+                     <*> (x .:? "reprocessingSummaries" .!= mempty)+                     <*> (x .:? "lastUpdateTime"))++instance Hashable Pipeline where++instance NFData Pipeline where++-- | An activity that performs a transformation on a message.+--+--+--+-- /See:/ 'pipelineActivity' smart constructor.+data PipelineActivity = PipelineActivity'+  { _paSelectAttributes     :: !(Maybe SelectAttributesActivity)+  , _paChannel              :: !(Maybe ChannelActivity)+  , _paAddAttributes        :: !(Maybe AddAttributesActivity)+  , _paDeviceRegistryEnrich :: !(Maybe DeviceRegistryEnrichActivity)+  , _paRemoveAttributes     :: !(Maybe RemoveAttributesActivity)+  , _paLambda               :: !(Maybe LambdaActivity)+  , _paDatastore            :: !(Maybe DatastoreActivity)+  , _paDeviceShadowEnrich   :: !(Maybe DeviceShadowEnrichActivity)+  , _paFilter               :: !(Maybe FilterActivity)+  , _paMath                 :: !(Maybe MathActivity)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PipelineActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'paSelectAttributes' - Creates a new message using only the specified attributes from the original message.+--+-- * 'paChannel' - Determines the source of the messages to be processed.+--+-- * 'paAddAttributes' - Adds other attributes based on existing attributes in the message.+--+-- * 'paDeviceRegistryEnrich' - Adds data from the AWS IoT device registry to your message.+--+-- * 'paRemoveAttributes' - Removes attributes from a message.+--+-- * 'paLambda' - Runs a Lambda function to modify the message.+--+-- * 'paDatastore' - Specifies where to store the processed message data.+--+-- * 'paDeviceShadowEnrich' - Adds information from the AWS IoT Device Shadows service to a message.+--+-- * 'paFilter' - Filters a message based on its attributes.+--+-- * 'paMath' - Computes an arithmetic expression using the message's attributes and adds it to the message.+pipelineActivity+    :: PipelineActivity+pipelineActivity =+  PipelineActivity'+    { _paSelectAttributes = Nothing+    , _paChannel = Nothing+    , _paAddAttributes = Nothing+    , _paDeviceRegistryEnrich = Nothing+    , _paRemoveAttributes = Nothing+    , _paLambda = Nothing+    , _paDatastore = Nothing+    , _paDeviceShadowEnrich = Nothing+    , _paFilter = Nothing+    , _paMath = Nothing+    }+++-- | Creates a new message using only the specified attributes from the original message.+paSelectAttributes :: Lens' PipelineActivity (Maybe SelectAttributesActivity)+paSelectAttributes = lens _paSelectAttributes (\ s a -> s{_paSelectAttributes = a})++-- | Determines the source of the messages to be processed.+paChannel :: Lens' PipelineActivity (Maybe ChannelActivity)+paChannel = lens _paChannel (\ s a -> s{_paChannel = a})++-- | Adds other attributes based on existing attributes in the message.+paAddAttributes :: Lens' PipelineActivity (Maybe AddAttributesActivity)+paAddAttributes = lens _paAddAttributes (\ s a -> s{_paAddAttributes = a})++-- | Adds data from the AWS IoT device registry to your message.+paDeviceRegistryEnrich :: Lens' PipelineActivity (Maybe DeviceRegistryEnrichActivity)+paDeviceRegistryEnrich = lens _paDeviceRegistryEnrich (\ s a -> s{_paDeviceRegistryEnrich = a})++-- | Removes attributes from a message.+paRemoveAttributes :: Lens' PipelineActivity (Maybe RemoveAttributesActivity)+paRemoveAttributes = lens _paRemoveAttributes (\ s a -> s{_paRemoveAttributes = a})++-- | Runs a Lambda function to modify the message.+paLambda :: Lens' PipelineActivity (Maybe LambdaActivity)+paLambda = lens _paLambda (\ s a -> s{_paLambda = a})++-- | Specifies where to store the processed message data.+paDatastore :: Lens' PipelineActivity (Maybe DatastoreActivity)+paDatastore = lens _paDatastore (\ s a -> s{_paDatastore = a})++-- | Adds information from the AWS IoT Device Shadows service to a message.+paDeviceShadowEnrich :: Lens' PipelineActivity (Maybe DeviceShadowEnrichActivity)+paDeviceShadowEnrich = lens _paDeviceShadowEnrich (\ s a -> s{_paDeviceShadowEnrich = a})++-- | Filters a message based on its attributes.+paFilter :: Lens' PipelineActivity (Maybe FilterActivity)+paFilter = lens _paFilter (\ s a -> s{_paFilter = a})++-- | Computes an arithmetic expression using the message's attributes and adds it to the message.+paMath :: Lens' PipelineActivity (Maybe MathActivity)+paMath = lens _paMath (\ s a -> s{_paMath = a})++instance FromJSON PipelineActivity where+        parseJSON+          = withObject "PipelineActivity"+              (\ x ->+                 PipelineActivity' <$>+                   (x .:? "selectAttributes") <*> (x .:? "channel") <*>+                     (x .:? "addAttributes")+                     <*> (x .:? "deviceRegistryEnrich")+                     <*> (x .:? "removeAttributes")+                     <*> (x .:? "lambda")+                     <*> (x .:? "datastore")+                     <*> (x .:? "deviceShadowEnrich")+                     <*> (x .:? "filter")+                     <*> (x .:? "math"))++instance Hashable PipelineActivity where++instance NFData PipelineActivity where++instance ToJSON PipelineActivity where+        toJSON PipelineActivity'{..}+          = object+              (catMaybes+                 [("selectAttributes" .=) <$> _paSelectAttributes,+                  ("channel" .=) <$> _paChannel,+                  ("addAttributes" .=) <$> _paAddAttributes,+                  ("deviceRegistryEnrich" .=) <$>+                    _paDeviceRegistryEnrich,+                  ("removeAttributes" .=) <$> _paRemoveAttributes,+                  ("lambda" .=) <$> _paLambda,+                  ("datastore" .=) <$> _paDatastore,+                  ("deviceShadowEnrich" .=) <$> _paDeviceShadowEnrich,+                  ("filter" .=) <$> _paFilter,+                  ("math" .=) <$> _paMath])++-- | A summary of information about a pipeline.+--+--+--+-- /See:/ 'pipelineSummary' smart constructor.+data PipelineSummary = PipelineSummary'+  { _psCreationTime          :: !(Maybe POSIX)+  , _psPipelineName          :: !(Maybe Text)+  , _psReprocessingSummaries :: !(Maybe [ReprocessingSummary])+  , _psLastUpdateTime        :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PipelineSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psCreationTime' - When the pipeline was created.+--+-- * 'psPipelineName' - The name of the pipeline.+--+-- * 'psReprocessingSummaries' - A summary of information about the pipeline reprocessing.+--+-- * 'psLastUpdateTime' - When the pipeline was last updated.+pipelineSummary+    :: PipelineSummary+pipelineSummary =+  PipelineSummary'+    { _psCreationTime = Nothing+    , _psPipelineName = Nothing+    , _psReprocessingSummaries = Nothing+    , _psLastUpdateTime = Nothing+    }+++-- | When the pipeline was created.+psCreationTime :: Lens' PipelineSummary (Maybe UTCTime)+psCreationTime = lens _psCreationTime (\ s a -> s{_psCreationTime = a}) . mapping _Time++-- | The name of the pipeline.+psPipelineName :: Lens' PipelineSummary (Maybe Text)+psPipelineName = lens _psPipelineName (\ s a -> s{_psPipelineName = a})++-- | A summary of information about the pipeline reprocessing.+psReprocessingSummaries :: Lens' PipelineSummary [ReprocessingSummary]+psReprocessingSummaries = lens _psReprocessingSummaries (\ s a -> s{_psReprocessingSummaries = a}) . _Default . _Coerce++-- | When the pipeline was last updated.+psLastUpdateTime :: Lens' PipelineSummary (Maybe UTCTime)+psLastUpdateTime = lens _psLastUpdateTime (\ s a -> s{_psLastUpdateTime = a}) . mapping _Time++instance FromJSON PipelineSummary where+        parseJSON+          = withObject "PipelineSummary"+              (\ x ->+                 PipelineSummary' <$>+                   (x .:? "creationTime") <*> (x .:? "pipelineName") <*>+                     (x .:? "reprocessingSummaries" .!= mempty)+                     <*> (x .:? "lastUpdateTime"))++instance Hashable PipelineSummary where++instance NFData PipelineSummary where++-- | An activity that removes attributes from a message.+--+--+--+-- /See:/ 'removeAttributesActivity' smart constructor.+data RemoveAttributesActivity = RemoveAttributesActivity'+  { _raaNext       :: !(Maybe Text)+  , _raaName       :: !Text+  , _raaAttributes :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RemoveAttributesActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raaNext' - The next activity in the pipeline.+--+-- * 'raaName' - The name of the 'removeAttributes' activity.+--+-- * 'raaAttributes' - A list of 1-50 attributes to remove from the message.+removeAttributesActivity+    :: Text -- ^ 'raaName'+    -> NonEmpty Text -- ^ 'raaAttributes'+    -> RemoveAttributesActivity+removeAttributesActivity pName_ pAttributes_ =+  RemoveAttributesActivity'+    { _raaNext = Nothing+    , _raaName = pName_+    , _raaAttributes = _List1 # pAttributes_+    }+++-- | The next activity in the pipeline.+raaNext :: Lens' RemoveAttributesActivity (Maybe Text)+raaNext = lens _raaNext (\ s a -> s{_raaNext = a})++-- | The name of the 'removeAttributes' activity.+raaName :: Lens' RemoveAttributesActivity Text+raaName = lens _raaName (\ s a -> s{_raaName = a})++-- | A list of 1-50 attributes to remove from the message.+raaAttributes :: Lens' RemoveAttributesActivity (NonEmpty Text)+raaAttributes = lens _raaAttributes (\ s a -> s{_raaAttributes = a}) . _List1++instance FromJSON RemoveAttributesActivity where+        parseJSON+          = withObject "RemoveAttributesActivity"+              (\ x ->+                 RemoveAttributesActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "attributes"))++instance Hashable RemoveAttributesActivity where++instance NFData RemoveAttributesActivity where++instance ToJSON RemoveAttributesActivity where+        toJSON RemoveAttributesActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _raaNext, Just ("name" .= _raaName),+                  Just ("attributes" .= _raaAttributes)])++-- | Information about pipeline reprocessing.+--+--+--+-- /See:/ 'reprocessingSummary' smart constructor.+data ReprocessingSummary = ReprocessingSummary'+  { _rsCreationTime :: !(Maybe POSIX)+  , _rsStatus       :: !(Maybe ReprocessingStatus)+  , _rsId           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReprocessingSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsCreationTime' - The time the pipeline reprocessing was created.+--+-- * 'rsStatus' - The status of the pipeline reprocessing.+--+-- * 'rsId' - The 'reprocessingId' returned by "StartPipelineReprocessing".+reprocessingSummary+    :: ReprocessingSummary+reprocessingSummary =+  ReprocessingSummary'+    {_rsCreationTime = Nothing, _rsStatus = Nothing, _rsId = Nothing}+++-- | The time the pipeline reprocessing was created.+rsCreationTime :: Lens' ReprocessingSummary (Maybe UTCTime)+rsCreationTime = lens _rsCreationTime (\ s a -> s{_rsCreationTime = a}) . mapping _Time++-- | The status of the pipeline reprocessing.+rsStatus :: Lens' ReprocessingSummary (Maybe ReprocessingStatus)+rsStatus = lens _rsStatus (\ s a -> s{_rsStatus = a})++-- | The 'reprocessingId' returned by "StartPipelineReprocessing".+rsId :: Lens' ReprocessingSummary (Maybe Text)+rsId = lens _rsId (\ s a -> s{_rsId = a})++instance FromJSON ReprocessingSummary where+        parseJSON+          = withObject "ReprocessingSummary"+              (\ x ->+                 ReprocessingSummary' <$>+                   (x .:? "creationTime") <*> (x .:? "status") <*>+                     (x .:? "id"))++instance Hashable ReprocessingSummary where++instance NFData ReprocessingSummary where++-- | How long, in days, message data is kept.+--+--+--+-- /See:/ 'retentionPeriod' smart constructor.+data RetentionPeriod = RetentionPeriod'+  { _rpUnlimited    :: !(Maybe Bool)+  , _rpNumberOfDays :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RetentionPeriod' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpUnlimited' - If true, message data is kept indefinitely.+--+-- * 'rpNumberOfDays' - The number of days that message data is kept. The "unlimited" parameter must be false.+retentionPeriod+    :: RetentionPeriod+retentionPeriod =+  RetentionPeriod' {_rpUnlimited = Nothing, _rpNumberOfDays = Nothing}+++-- | If true, message data is kept indefinitely.+rpUnlimited :: Lens' RetentionPeriod (Maybe Bool)+rpUnlimited = lens _rpUnlimited (\ s a -> s{_rpUnlimited = a})++-- | The number of days that message data is kept. The "unlimited" parameter must be false.+rpNumberOfDays :: Lens' RetentionPeriod (Maybe Natural)+rpNumberOfDays = lens _rpNumberOfDays (\ s a -> s{_rpNumberOfDays = a}) . mapping _Nat++instance FromJSON RetentionPeriod where+        parseJSON+          = withObject "RetentionPeriod"+              (\ x ->+                 RetentionPeriod' <$>+                   (x .:? "unlimited") <*> (x .:? "numberOfDays"))++instance Hashable RetentionPeriod where++instance NFData RetentionPeriod where++instance ToJSON RetentionPeriod where+        toJSON RetentionPeriod'{..}+          = object+              (catMaybes+                 [("unlimited" .=) <$> _rpUnlimited,+                  ("numberOfDays" .=) <$> _rpNumberOfDays])++-- | The schedule for when to trigger an update.+--+--+--+-- /See:/ 'schedule' smart constructor.+newtype Schedule = Schedule'+  { _sExpression :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Schedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sExpression' - The expression that defines when to trigger an update. For more information, see <https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html Schedule Expressions for Rules> in the Amazon CloudWatch documentation.+schedule+    :: Schedule+schedule = Schedule' {_sExpression = Nothing}+++-- | The expression that defines when to trigger an update. For more information, see <https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html Schedule Expressions for Rules> in the Amazon CloudWatch documentation.+sExpression :: Lens' Schedule (Maybe Text)+sExpression = lens _sExpression (\ s a -> s{_sExpression = a})++instance FromJSON Schedule where+        parseJSON+          = withObject "Schedule"+              (\ x -> Schedule' <$> (x .:? "expression"))++instance Hashable Schedule where++instance NFData Schedule where++instance ToJSON Schedule where+        toJSON Schedule'{..}+          = object+              (catMaybes [("expression" .=) <$> _sExpression])++-- | Creates a new message using only the specified attributes from the original message.+--+--+--+-- /See:/ 'selectAttributesActivity' smart constructor.+data SelectAttributesActivity = SelectAttributesActivity'+  { _saaNext       :: !(Maybe Text)+  , _saaName       :: !Text+  , _saaAttributes :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SelectAttributesActivity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saaNext' - The next activity in the pipeline.+--+-- * 'saaName' - The name of the 'selectAttributes' activity.+--+-- * 'saaAttributes' - A list of the attributes to select from the message.+selectAttributesActivity+    :: Text -- ^ 'saaName'+    -> NonEmpty Text -- ^ 'saaAttributes'+    -> SelectAttributesActivity+selectAttributesActivity pName_ pAttributes_ =+  SelectAttributesActivity'+    { _saaNext = Nothing+    , _saaName = pName_+    , _saaAttributes = _List1 # pAttributes_+    }+++-- | The next activity in the pipeline.+saaNext :: Lens' SelectAttributesActivity (Maybe Text)+saaNext = lens _saaNext (\ s a -> s{_saaNext = a})++-- | The name of the 'selectAttributes' activity.+saaName :: Lens' SelectAttributesActivity Text+saaName = lens _saaName (\ s a -> s{_saaName = a})++-- | A list of the attributes to select from the message.+saaAttributes :: Lens' SelectAttributesActivity (NonEmpty Text)+saaAttributes = lens _saaAttributes (\ s a -> s{_saaAttributes = a}) . _List1++instance FromJSON SelectAttributesActivity where+        parseJSON+          = withObject "SelectAttributesActivity"+              (\ x ->+                 SelectAttributesActivity' <$>+                   (x .:? "next") <*> (x .: "name") <*>+                     (x .: "attributes"))++instance Hashable SelectAttributesActivity where++instance NFData SelectAttributesActivity where++instance ToJSON SelectAttributesActivity where+        toJSON SelectAttributesActivity'{..}+          = object+              (catMaybes+                 [("next" .=) <$> _saaNext, Just ("name" .= _saaName),+                  Just ("attributes" .= _saaAttributes)])++-- | The SQL query to modify the message.+--+--+--+-- /See:/ 'sqlQueryDatasetAction' smart constructor.+newtype SqlQueryDatasetAction = SqlQueryDatasetAction'+  { _sqdaSqlQuery :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SqlQueryDatasetAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sqdaSqlQuery' - An SQL query string.+sqlQueryDatasetAction+    :: Text -- ^ 'sqdaSqlQuery'+    -> SqlQueryDatasetAction+sqlQueryDatasetAction pSqlQuery_ =+  SqlQueryDatasetAction' {_sqdaSqlQuery = pSqlQuery_}+++-- | An SQL query string.+sqdaSqlQuery :: Lens' SqlQueryDatasetAction Text+sqdaSqlQuery = lens _sqdaSqlQuery (\ s a -> s{_sqdaSqlQuery = a})++instance FromJSON SqlQueryDatasetAction where+        parseJSON+          = withObject "SqlQueryDatasetAction"+              (\ x -> SqlQueryDatasetAction' <$> (x .: "sqlQuery"))++instance Hashable SqlQueryDatasetAction where++instance NFData SqlQueryDatasetAction where++instance ToJSON SqlQueryDatasetAction where+        toJSON SqlQueryDatasetAction'{..}+          = object+              (catMaybes [Just ("sqlQuery" .= _sqdaSqlQuery)])
+ gen/Network/AWS/IoTAnalytics/Types/Sum.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.Types.Sum+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.IoTAnalytics.Types.Sum where++import Network.AWS.Prelude++data ChannelStatus+  = CSActive+  | CSCreating+  | CSDeleting+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ChannelStatus where+    parser = takeLowerText >>= \case+        "active" -> pure CSActive+        "creating" -> pure CSCreating+        "deleting" -> pure CSDeleting+        e -> fromTextError $ "Failure parsing ChannelStatus from value: '" <> e+           <> "'. Accepted values: active, creating, deleting"++instance ToText ChannelStatus where+    toText = \case+        CSActive -> "ACTIVE"+        CSCreating -> "CREATING"+        CSDeleting -> "DELETING"++instance Hashable     ChannelStatus+instance NFData       ChannelStatus+instance ToByteString ChannelStatus+instance ToQuery      ChannelStatus+instance ToHeader     ChannelStatus++instance FromJSON ChannelStatus where+    parseJSON = parseJSONText "ChannelStatus"++data DatasetContentState+  = DCSCreating+  | DCSFailed+  | DCSSucceeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DatasetContentState where+    parser = takeLowerText >>= \case+        "creating" -> pure DCSCreating+        "failed" -> pure DCSFailed+        "succeeded" -> pure DCSSucceeded+        e -> fromTextError $ "Failure parsing DatasetContentState from value: '" <> e+           <> "'. Accepted values: creating, failed, succeeded"++instance ToText DatasetContentState where+    toText = \case+        DCSCreating -> "CREATING"+        DCSFailed -> "FAILED"+        DCSSucceeded -> "SUCCEEDED"++instance Hashable     DatasetContentState+instance NFData       DatasetContentState+instance ToByteString DatasetContentState+instance ToQuery      DatasetContentState+instance ToHeader     DatasetContentState++instance FromJSON DatasetContentState where+    parseJSON = parseJSONText "DatasetContentState"++data DatasetStatus+  = Active+  | Creating+  | Deleting+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DatasetStatus where+    parser = takeLowerText >>= \case+        "active" -> pure Active+        "creating" -> pure Creating+        "deleting" -> pure Deleting+        e -> fromTextError $ "Failure parsing DatasetStatus from value: '" <> e+           <> "'. Accepted values: active, creating, deleting"++instance ToText DatasetStatus where+    toText = \case+        Active -> "ACTIVE"+        Creating -> "CREATING"+        Deleting -> "DELETING"++instance Hashable     DatasetStatus+instance NFData       DatasetStatus+instance ToByteString DatasetStatus+instance ToQuery      DatasetStatus+instance ToHeader     DatasetStatus++instance FromJSON DatasetStatus where+    parseJSON = parseJSONText "DatasetStatus"++data DatastoreStatus+  = DSActive+  | DSCreating+  | DSDeleting+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DatastoreStatus where+    parser = takeLowerText >>= \case+        "active" -> pure DSActive+        "creating" -> pure DSCreating+        "deleting" -> pure DSDeleting+        e -> fromTextError $ "Failure parsing DatastoreStatus from value: '" <> e+           <> "'. Accepted values: active, creating, deleting"++instance ToText DatastoreStatus where+    toText = \case+        DSActive -> "ACTIVE"+        DSCreating -> "CREATING"+        DSDeleting -> "DELETING"++instance Hashable     DatastoreStatus+instance NFData       DatastoreStatus+instance ToByteString DatastoreStatus+instance ToQuery      DatastoreStatus+instance ToHeader     DatastoreStatus++instance FromJSON DatastoreStatus where+    parseJSON = parseJSONText "DatastoreStatus"++data LoggingLevel =+  Error'+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoggingLevel where+    parser = takeLowerText >>= \case+        "error" -> pure Error'+        e -> fromTextError $ "Failure parsing LoggingLevel from value: '" <> e+           <> "'. Accepted values: error"++instance ToText LoggingLevel where+    toText = \case+        Error' -> "ERROR"++instance Hashable     LoggingLevel+instance NFData       LoggingLevel+instance ToByteString LoggingLevel+instance ToQuery      LoggingLevel+instance ToHeader     LoggingLevel++instance ToJSON LoggingLevel where+    toJSON = toJSONText++instance FromJSON LoggingLevel where+    parseJSON = parseJSONText "LoggingLevel"++data ReprocessingStatus+  = Cancelled+  | Failed+  | Running+  | Succeeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ReprocessingStatus where+    parser = takeLowerText >>= \case+        "cancelled" -> pure Cancelled+        "failed" -> pure Failed+        "running" -> pure Running+        "succeeded" -> pure Succeeded+        e -> fromTextError $ "Failure parsing ReprocessingStatus from value: '" <> e+           <> "'. Accepted values: cancelled, failed, running, succeeded"++instance ToText ReprocessingStatus where+    toText = \case+        Cancelled -> "CANCELLED"+        Failed -> "FAILED"+        Running -> "RUNNING"+        Succeeded -> "SUCCEEDED"++instance Hashable     ReprocessingStatus+instance NFData       ReprocessingStatus+instance ToByteString ReprocessingStatus+instance ToQuery      ReprocessingStatus+instance ToHeader     ReprocessingStatus++instance FromJSON ReprocessingStatus where+    parseJSON = parseJSONText "ReprocessingStatus"
+ gen/Network/AWS/IoTAnalytics/UpdateChannel.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.UpdateChannel+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the settings of a channel.+--+--+module Network.AWS.IoTAnalytics.UpdateChannel+    (+    -- * Creating a Request+      updateChannel+    , UpdateChannel+    -- * Request Lenses+    , ucRetentionPeriod+    , ucChannelName++    -- * Destructuring the Response+    , updateChannelResponse+    , UpdateChannelResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateChannel' smart constructor.+data UpdateChannel = UpdateChannel'+  { _ucRetentionPeriod :: !(Maybe RetentionPeriod)+  , _ucChannelName     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateChannel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucRetentionPeriod' - How long, in days, message data is kept for the channel.+--+-- * 'ucChannelName' - The name of the channel to be updated.+updateChannel+    :: Text -- ^ 'ucChannelName'+    -> UpdateChannel+updateChannel pChannelName_ =+  UpdateChannel' {_ucRetentionPeriod = Nothing, _ucChannelName = pChannelName_}+++-- | How long, in days, message data is kept for the channel.+ucRetentionPeriod :: Lens' UpdateChannel (Maybe RetentionPeriod)+ucRetentionPeriod = lens _ucRetentionPeriod (\ s a -> s{_ucRetentionPeriod = a})++-- | The name of the channel to be updated.+ucChannelName :: Lens' UpdateChannel Text+ucChannelName = lens _ucChannelName (\ s a -> s{_ucChannelName = a})++instance AWSRequest UpdateChannel where+        type Rs UpdateChannel = UpdateChannelResponse+        request = putJSON ioTAnalytics+        response = receiveNull UpdateChannelResponse'++instance Hashable UpdateChannel where++instance NFData UpdateChannel where++instance ToHeaders UpdateChannel where+        toHeaders = const mempty++instance ToJSON UpdateChannel where+        toJSON UpdateChannel'{..}+          = object+              (catMaybes+                 [("retentionPeriod" .=) <$> _ucRetentionPeriod])++instance ToPath UpdateChannel where+        toPath UpdateChannel'{..}+          = mconcat ["/channels/", toBS _ucChannelName]++instance ToQuery UpdateChannel where+        toQuery = const mempty++-- | /See:/ 'updateChannelResponse' smart constructor.+data UpdateChannelResponse =+  UpdateChannelResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateChannelResponse' with the minimum fields required to make a request.+--+updateChannelResponse+    :: UpdateChannelResponse+updateChannelResponse = UpdateChannelResponse'+++instance NFData UpdateChannelResponse where
+ gen/Network/AWS/IoTAnalytics/UpdateDataset.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.UpdateDataset+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the settings of a data set.+--+--+module Network.AWS.IoTAnalytics.UpdateDataset+    (+    -- * Creating a Request+      updateDataset+    , UpdateDataset+    -- * Request Lenses+    , udTriggers+    , udDatasetName+    , udActions++    -- * Destructuring the Response+    , updateDatasetResponse+    , UpdateDatasetResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateDataset' smart constructor.+data UpdateDataset = UpdateDataset'+  { _udTriggers    :: !(Maybe [DatasetTrigger])+  , _udDatasetName :: !Text+  , _udActions     :: !(List1 DatasetAction)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDataset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udTriggers' - A list of "DatasetTrigger" objects. The list can be empty or can contain up to five __DataSetTrigger__ objects.+--+-- * 'udDatasetName' - The name of the data set to update.+--+-- * 'udActions' - A list of "DatasetAction" objects. Only one action is supported at this time.+updateDataset+    :: Text -- ^ 'udDatasetName'+    -> NonEmpty DatasetAction -- ^ 'udActions'+    -> UpdateDataset+updateDataset pDatasetName_ pActions_ =+  UpdateDataset'+    { _udTriggers = Nothing+    , _udDatasetName = pDatasetName_+    , _udActions = _List1 # pActions_+    }+++-- | A list of "DatasetTrigger" objects. The list can be empty or can contain up to five __DataSetTrigger__ objects.+udTriggers :: Lens' UpdateDataset [DatasetTrigger]+udTriggers = lens _udTriggers (\ s a -> s{_udTriggers = a}) . _Default . _Coerce++-- | The name of the data set to update.+udDatasetName :: Lens' UpdateDataset Text+udDatasetName = lens _udDatasetName (\ s a -> s{_udDatasetName = a})++-- | A list of "DatasetAction" objects. Only one action is supported at this time.+udActions :: Lens' UpdateDataset (NonEmpty DatasetAction)+udActions = lens _udActions (\ s a -> s{_udActions = a}) . _List1++instance AWSRequest UpdateDataset where+        type Rs UpdateDataset = UpdateDatasetResponse+        request = putJSON ioTAnalytics+        response = receiveNull UpdateDatasetResponse'++instance Hashable UpdateDataset where++instance NFData UpdateDataset where++instance ToHeaders UpdateDataset where+        toHeaders = const mempty++instance ToJSON UpdateDataset where+        toJSON UpdateDataset'{..}+          = object+              (catMaybes+                 [("triggers" .=) <$> _udTriggers,+                  Just ("actions" .= _udActions)])++instance ToPath UpdateDataset where+        toPath UpdateDataset'{..}+          = mconcat ["/datasets/", toBS _udDatasetName]++instance ToQuery UpdateDataset where+        toQuery = const mempty++-- | /See:/ 'updateDatasetResponse' smart constructor.+data UpdateDatasetResponse =+  UpdateDatasetResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDatasetResponse' with the minimum fields required to make a request.+--+updateDatasetResponse+    :: UpdateDatasetResponse+updateDatasetResponse = UpdateDatasetResponse'+++instance NFData UpdateDatasetResponse where
+ gen/Network/AWS/IoTAnalytics/UpdateDatastore.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.UpdateDatastore+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the settings of a data store.+--+--+module Network.AWS.IoTAnalytics.UpdateDatastore+    (+    -- * Creating a Request+      updateDatastore+    , UpdateDatastore+    -- * Request Lenses+    , udRetentionPeriod+    , udDatastoreName++    -- * Destructuring the Response+    , updateDatastoreResponse+    , UpdateDatastoreResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateDatastore' smart constructor.+data UpdateDatastore = UpdateDatastore'+  { _udRetentionPeriod :: !(Maybe RetentionPeriod)+  , _udDatastoreName   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDatastore' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udRetentionPeriod' - How long, in days, message data is kept for the data store.+--+-- * 'udDatastoreName' - The name of the data store to be updated.+updateDatastore+    :: Text -- ^ 'udDatastoreName'+    -> UpdateDatastore+updateDatastore pDatastoreName_ =+  UpdateDatastore'+    {_udRetentionPeriod = Nothing, _udDatastoreName = pDatastoreName_}+++-- | How long, in days, message data is kept for the data store.+udRetentionPeriod :: Lens' UpdateDatastore (Maybe RetentionPeriod)+udRetentionPeriod = lens _udRetentionPeriod (\ s a -> s{_udRetentionPeriod = a})++-- | The name of the data store to be updated.+udDatastoreName :: Lens' UpdateDatastore Text+udDatastoreName = lens _udDatastoreName (\ s a -> s{_udDatastoreName = a})++instance AWSRequest UpdateDatastore where+        type Rs UpdateDatastore = UpdateDatastoreResponse+        request = putJSON ioTAnalytics+        response = receiveNull UpdateDatastoreResponse'++instance Hashable UpdateDatastore where++instance NFData UpdateDatastore where++instance ToHeaders UpdateDatastore where+        toHeaders = const mempty++instance ToJSON UpdateDatastore where+        toJSON UpdateDatastore'{..}+          = object+              (catMaybes+                 [("retentionPeriod" .=) <$> _udRetentionPeriod])++instance ToPath UpdateDatastore where+        toPath UpdateDatastore'{..}+          = mconcat ["/datastores/", toBS _udDatastoreName]++instance ToQuery UpdateDatastore where+        toQuery = const mempty++-- | /See:/ 'updateDatastoreResponse' smart constructor.+data UpdateDatastoreResponse =+  UpdateDatastoreResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDatastoreResponse' with the minimum fields required to make a request.+--+updateDatastoreResponse+    :: UpdateDatastoreResponse+updateDatastoreResponse = UpdateDatastoreResponse'+++instance NFData UpdateDatastoreResponse where
+ gen/Network/AWS/IoTAnalytics/UpdatePipeline.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.UpdatePipeline+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the settings of a pipeline.+--+--+module Network.AWS.IoTAnalytics.UpdatePipeline+    (+    -- * Creating a Request+      updatePipeline+    , UpdatePipeline+    -- * Request Lenses+    , upPipelineName+    , upPipelineActivities++    -- * Destructuring the Response+    , updatePipelineResponse+    , UpdatePipelineResponse+    ) where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.IoTAnalytics.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updatePipeline' smart constructor.+data UpdatePipeline = UpdatePipeline'+  { _upPipelineName       :: !Text+  , _upPipelineActivities :: !(List1 PipelineActivity)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdatePipeline' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upPipelineName' - The name of the pipeline to update.+--+-- * 'upPipelineActivities' - A list of "PipelineActivity" objects. The list can be 1-25 __PipelineActivity__ objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.+updatePipeline+    :: Text -- ^ 'upPipelineName'+    -> NonEmpty PipelineActivity -- ^ 'upPipelineActivities'+    -> UpdatePipeline+updatePipeline pPipelineName_ pPipelineActivities_ =+  UpdatePipeline'+    { _upPipelineName = pPipelineName_+    , _upPipelineActivities = _List1 # pPipelineActivities_+    }+++-- | The name of the pipeline to update.+upPipelineName :: Lens' UpdatePipeline Text+upPipelineName = lens _upPipelineName (\ s a -> s{_upPipelineName = a})++-- | A list of "PipelineActivity" objects. The list can be 1-25 __PipelineActivity__ objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.+upPipelineActivities :: Lens' UpdatePipeline (NonEmpty PipelineActivity)+upPipelineActivities = lens _upPipelineActivities (\ s a -> s{_upPipelineActivities = a}) . _List1++instance AWSRequest UpdatePipeline where+        type Rs UpdatePipeline = UpdatePipelineResponse+        request = putJSON ioTAnalytics+        response = receiveNull UpdatePipelineResponse'++instance Hashable UpdatePipeline where++instance NFData UpdatePipeline where++instance ToHeaders UpdatePipeline where+        toHeaders = const mempty++instance ToJSON UpdatePipeline where+        toJSON UpdatePipeline'{..}+          = object+              (catMaybes+                 [Just+                    ("pipelineActivities" .= _upPipelineActivities)])++instance ToPath UpdatePipeline where+        toPath UpdatePipeline'{..}+          = mconcat ["/pipelines/", toBS _upPipelineName]++instance ToQuery UpdatePipeline where+        toQuery = const mempty++-- | /See:/ 'updatePipelineResponse' smart constructor.+data UpdatePipelineResponse =+  UpdatePipelineResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdatePipelineResponse' with the minimum fields required to make a request.+--+updatePipelineResponse+    :: UpdatePipelineResponse+updatePipelineResponse = UpdatePipelineResponse'+++instance NFData UpdatePipelineResponse where
+ gen/Network/AWS/IoTAnalytics/Waiters.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.IoTAnalytics.Waiters+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.IoTAnalytics.Waiters where++import Network.AWS.IoTAnalytics.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.IoTAnalytics+import Test.AWS.IoTAnalytics.Internal++main :: IO ()+main = defaultMain $ testGroup "IoTAnalytics"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/IoTAnalytics.hs view
@@ -0,0 +1,579 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.IoTAnalytics+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.IoTAnalytics where++import Data.Proxy+import Network.AWS.IoTAnalytics+import Test.AWS.Fixture+import Test.AWS.IoTAnalytics.Internal+import Test.AWS.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"+--         [ requestDescribePipeline $+--             describePipeline+--+--         , requestDescribeDataset $+--             describeDataset+--+--         , requestListChannels $+--             listChannels+--+--         , requestPutLoggingOptions $+--             putLoggingOptions+--+--         , requestDeleteChannel $+--             deleteChannel+--+--         , requestUpdateChannel $+--             updateChannel+--+--         , requestSampleChannelData $+--             sampleChannelData+--+--         , requestCancelPipelineReprocessing $+--             cancelPipelineReprocessing+--+--         , requestCreateDatastore $+--             createDatastore+--+--         , requestUpdatePipeline $+--             updatePipeline+--+--         , requestDeletePipeline $+--             deletePipeline+--+--         , requestDeleteDataset $+--             deleteDataset+--+--         , requestUpdateDataset $+--             updateDataset+--+--         , requestListPipelines $+--             listPipelines+--+--         , requestDeleteDatastore $+--             deleteDatastore+--+--         , requestUpdateDatastore $+--             updateDatastore+--+--         , requestCreateDataset $+--             createDataset+--+--         , requestBatchPutMessage $+--             batchPutMessage+--+--         , requestListDatastores $+--             listDatastores+--+--         , requestCreateDatasetContent $+--             createDatasetContent+--+--         , requestCreateChannel $+--             createChannel+--+--         , requestDeleteDatasetContent $+--             deleteDatasetContent+--+--         , requestDescribeDatastore $+--             describeDatastore+--+--         , requestGetDatasetContent $+--             getDatasetContent+--+--         , requestListDatasets $+--             listDatasets+--+--         , requestRunPipelineActivity $+--             runPipelineActivity+--+--         , requestDescribeChannel $+--             describeChannel+--+--         , requestCreatePipeline $+--             createPipeline+--+--         , requestStartPipelineReprocessing $+--             startPipelineReprocessing+--+--         , requestDescribeLoggingOptions $+--             describeLoggingOptions+--+--           ]++--     , testGroup "response"+--         [ responseDescribePipeline $+--             describePipelineResponse+--+--         , responseDescribeDataset $+--             describeDatasetResponse+--+--         , responseListChannels $+--             listChannelsResponse+--+--         , responsePutLoggingOptions $+--             putLoggingOptionsResponse+--+--         , responseDeleteChannel $+--             deleteChannelResponse+--+--         , responseUpdateChannel $+--             updateChannelResponse+--+--         , responseSampleChannelData $+--             sampleChannelDataResponse+--+--         , responseCancelPipelineReprocessing $+--             cancelPipelineReprocessingResponse+--+--         , responseCreateDatastore $+--             createDatastoreResponse+--+--         , responseUpdatePipeline $+--             updatePipelineResponse+--+--         , responseDeletePipeline $+--             deletePipelineResponse+--+--         , responseDeleteDataset $+--             deleteDatasetResponse+--+--         , responseUpdateDataset $+--             updateDatasetResponse+--+--         , responseListPipelines $+--             listPipelinesResponse+--+--         , responseDeleteDatastore $+--             deleteDatastoreResponse+--+--         , responseUpdateDatastore $+--             updateDatastoreResponse+--+--         , responseCreateDataset $+--             createDatasetResponse+--+--         , responseBatchPutMessage $+--             batchPutMessageResponse+--+--         , responseListDatastores $+--             listDatastoresResponse+--+--         , responseCreateDatasetContent $+--             createDatasetContentResponse+--+--         , responseCreateChannel $+--             createChannelResponse+--+--         , responseDeleteDatasetContent $+--             deleteDatasetContentResponse+--+--         , responseDescribeDatastore $+--             describeDatastoreResponse+--+--         , responseGetDatasetContent $+--             getDatasetContentResponse+--+--         , responseListDatasets $+--             listDatasetsResponse+--+--         , responseRunPipelineActivity $+--             runPipelineActivityResponse+--+--         , responseDescribeChannel $+--             describeChannelResponse+--+--         , responseCreatePipeline $+--             createPipelineResponse+--+--         , responseStartPipelineReprocessing $+--             startPipelineReprocessingResponse+--+--         , responseDescribeLoggingOptions $+--             describeLoggingOptionsResponse+--+--           ]+--     ]++-- Requests++requestDescribePipeline :: DescribePipeline -> TestTree+requestDescribePipeline = req+    "DescribePipeline"+    "fixture/DescribePipeline.yaml"++requestDescribeDataset :: DescribeDataset -> TestTree+requestDescribeDataset = req+    "DescribeDataset"+    "fixture/DescribeDataset.yaml"++requestListChannels :: ListChannels -> TestTree+requestListChannels = req+    "ListChannels"+    "fixture/ListChannels.yaml"++requestPutLoggingOptions :: PutLoggingOptions -> TestTree+requestPutLoggingOptions = req+    "PutLoggingOptions"+    "fixture/PutLoggingOptions.yaml"++requestDeleteChannel :: DeleteChannel -> TestTree+requestDeleteChannel = req+    "DeleteChannel"+    "fixture/DeleteChannel.yaml"++requestUpdateChannel :: UpdateChannel -> TestTree+requestUpdateChannel = req+    "UpdateChannel"+    "fixture/UpdateChannel.yaml"++requestSampleChannelData :: SampleChannelData -> TestTree+requestSampleChannelData = req+    "SampleChannelData"+    "fixture/SampleChannelData.yaml"++requestCancelPipelineReprocessing :: CancelPipelineReprocessing -> TestTree+requestCancelPipelineReprocessing = req+    "CancelPipelineReprocessing"+    "fixture/CancelPipelineReprocessing.yaml"++requestCreateDatastore :: CreateDatastore -> TestTree+requestCreateDatastore = req+    "CreateDatastore"+    "fixture/CreateDatastore.yaml"++requestUpdatePipeline :: UpdatePipeline -> TestTree+requestUpdatePipeline = req+    "UpdatePipeline"+    "fixture/UpdatePipeline.yaml"++requestDeletePipeline :: DeletePipeline -> TestTree+requestDeletePipeline = req+    "DeletePipeline"+    "fixture/DeletePipeline.yaml"++requestDeleteDataset :: DeleteDataset -> TestTree+requestDeleteDataset = req+    "DeleteDataset"+    "fixture/DeleteDataset.yaml"++requestUpdateDataset :: UpdateDataset -> TestTree+requestUpdateDataset = req+    "UpdateDataset"+    "fixture/UpdateDataset.yaml"++requestListPipelines :: ListPipelines -> TestTree+requestListPipelines = req+    "ListPipelines"+    "fixture/ListPipelines.yaml"++requestDeleteDatastore :: DeleteDatastore -> TestTree+requestDeleteDatastore = req+    "DeleteDatastore"+    "fixture/DeleteDatastore.yaml"++requestUpdateDatastore :: UpdateDatastore -> TestTree+requestUpdateDatastore = req+    "UpdateDatastore"+    "fixture/UpdateDatastore.yaml"++requestCreateDataset :: CreateDataset -> TestTree+requestCreateDataset = req+    "CreateDataset"+    "fixture/CreateDataset.yaml"++requestBatchPutMessage :: BatchPutMessage -> TestTree+requestBatchPutMessage = req+    "BatchPutMessage"+    "fixture/BatchPutMessage.yaml"++requestListDatastores :: ListDatastores -> TestTree+requestListDatastores = req+    "ListDatastores"+    "fixture/ListDatastores.yaml"++requestCreateDatasetContent :: CreateDatasetContent -> TestTree+requestCreateDatasetContent = req+    "CreateDatasetContent"+    "fixture/CreateDatasetContent.yaml"++requestCreateChannel :: CreateChannel -> TestTree+requestCreateChannel = req+    "CreateChannel"+    "fixture/CreateChannel.yaml"++requestDeleteDatasetContent :: DeleteDatasetContent -> TestTree+requestDeleteDatasetContent = req+    "DeleteDatasetContent"+    "fixture/DeleteDatasetContent.yaml"++requestDescribeDatastore :: DescribeDatastore -> TestTree+requestDescribeDatastore = req+    "DescribeDatastore"+    "fixture/DescribeDatastore.yaml"++requestGetDatasetContent :: GetDatasetContent -> TestTree+requestGetDatasetContent = req+    "GetDatasetContent"+    "fixture/GetDatasetContent.yaml"++requestListDatasets :: ListDatasets -> TestTree+requestListDatasets = req+    "ListDatasets"+    "fixture/ListDatasets.yaml"++requestRunPipelineActivity :: RunPipelineActivity -> TestTree+requestRunPipelineActivity = req+    "RunPipelineActivity"+    "fixture/RunPipelineActivity.yaml"++requestDescribeChannel :: DescribeChannel -> TestTree+requestDescribeChannel = req+    "DescribeChannel"+    "fixture/DescribeChannel.yaml"++requestCreatePipeline :: CreatePipeline -> TestTree+requestCreatePipeline = req+    "CreatePipeline"+    "fixture/CreatePipeline.yaml"++requestStartPipelineReprocessing :: StartPipelineReprocessing -> TestTree+requestStartPipelineReprocessing = req+    "StartPipelineReprocessing"+    "fixture/StartPipelineReprocessing.yaml"++requestDescribeLoggingOptions :: DescribeLoggingOptions -> TestTree+requestDescribeLoggingOptions = req+    "DescribeLoggingOptions"+    "fixture/DescribeLoggingOptions.yaml"++-- Responses++responseDescribePipeline :: DescribePipelineResponse -> TestTree+responseDescribePipeline = res+    "DescribePipelineResponse"+    "fixture/DescribePipelineResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DescribePipeline)++responseDescribeDataset :: DescribeDatasetResponse -> TestTree+responseDescribeDataset = res+    "DescribeDatasetResponse"+    "fixture/DescribeDatasetResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DescribeDataset)++responseListChannels :: ListChannelsResponse -> TestTree+responseListChannels = res+    "ListChannelsResponse"+    "fixture/ListChannelsResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy ListChannels)++responsePutLoggingOptions :: PutLoggingOptionsResponse -> TestTree+responsePutLoggingOptions = res+    "PutLoggingOptionsResponse"+    "fixture/PutLoggingOptionsResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy PutLoggingOptions)++responseDeleteChannel :: DeleteChannelResponse -> TestTree+responseDeleteChannel = res+    "DeleteChannelResponse"+    "fixture/DeleteChannelResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DeleteChannel)++responseUpdateChannel :: UpdateChannelResponse -> TestTree+responseUpdateChannel = res+    "UpdateChannelResponse"+    "fixture/UpdateChannelResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy UpdateChannel)++responseSampleChannelData :: SampleChannelDataResponse -> TestTree+responseSampleChannelData = res+    "SampleChannelDataResponse"+    "fixture/SampleChannelDataResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy SampleChannelData)++responseCancelPipelineReprocessing :: CancelPipelineReprocessingResponse -> TestTree+responseCancelPipelineReprocessing = res+    "CancelPipelineReprocessingResponse"+    "fixture/CancelPipelineReprocessingResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy CancelPipelineReprocessing)++responseCreateDatastore :: CreateDatastoreResponse -> TestTree+responseCreateDatastore = res+    "CreateDatastoreResponse"+    "fixture/CreateDatastoreResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy CreateDatastore)++responseUpdatePipeline :: UpdatePipelineResponse -> TestTree+responseUpdatePipeline = res+    "UpdatePipelineResponse"+    "fixture/UpdatePipelineResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy UpdatePipeline)++responseDeletePipeline :: DeletePipelineResponse -> TestTree+responseDeletePipeline = res+    "DeletePipelineResponse"+    "fixture/DeletePipelineResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DeletePipeline)++responseDeleteDataset :: DeleteDatasetResponse -> TestTree+responseDeleteDataset = res+    "DeleteDatasetResponse"+    "fixture/DeleteDatasetResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DeleteDataset)++responseUpdateDataset :: UpdateDatasetResponse -> TestTree+responseUpdateDataset = res+    "UpdateDatasetResponse"+    "fixture/UpdateDatasetResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy UpdateDataset)++responseListPipelines :: ListPipelinesResponse -> TestTree+responseListPipelines = res+    "ListPipelinesResponse"+    "fixture/ListPipelinesResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy ListPipelines)++responseDeleteDatastore :: DeleteDatastoreResponse -> TestTree+responseDeleteDatastore = res+    "DeleteDatastoreResponse"+    "fixture/DeleteDatastoreResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DeleteDatastore)++responseUpdateDatastore :: UpdateDatastoreResponse -> TestTree+responseUpdateDatastore = res+    "UpdateDatastoreResponse"+    "fixture/UpdateDatastoreResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy UpdateDatastore)++responseCreateDataset :: CreateDatasetResponse -> TestTree+responseCreateDataset = res+    "CreateDatasetResponse"+    "fixture/CreateDatasetResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy CreateDataset)++responseBatchPutMessage :: BatchPutMessageResponse -> TestTree+responseBatchPutMessage = res+    "BatchPutMessageResponse"+    "fixture/BatchPutMessageResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy BatchPutMessage)++responseListDatastores :: ListDatastoresResponse -> TestTree+responseListDatastores = res+    "ListDatastoresResponse"+    "fixture/ListDatastoresResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy ListDatastores)++responseCreateDatasetContent :: CreateDatasetContentResponse -> TestTree+responseCreateDatasetContent = res+    "CreateDatasetContentResponse"+    "fixture/CreateDatasetContentResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy CreateDatasetContent)++responseCreateChannel :: CreateChannelResponse -> TestTree+responseCreateChannel = res+    "CreateChannelResponse"+    "fixture/CreateChannelResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy CreateChannel)++responseDeleteDatasetContent :: DeleteDatasetContentResponse -> TestTree+responseDeleteDatasetContent = res+    "DeleteDatasetContentResponse"+    "fixture/DeleteDatasetContentResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DeleteDatasetContent)++responseDescribeDatastore :: DescribeDatastoreResponse -> TestTree+responseDescribeDatastore = res+    "DescribeDatastoreResponse"+    "fixture/DescribeDatastoreResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DescribeDatastore)++responseGetDatasetContent :: GetDatasetContentResponse -> TestTree+responseGetDatasetContent = res+    "GetDatasetContentResponse"+    "fixture/GetDatasetContentResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy GetDatasetContent)++responseListDatasets :: ListDatasetsResponse -> TestTree+responseListDatasets = res+    "ListDatasetsResponse"+    "fixture/ListDatasetsResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy ListDatasets)++responseRunPipelineActivity :: RunPipelineActivityResponse -> TestTree+responseRunPipelineActivity = res+    "RunPipelineActivityResponse"+    "fixture/RunPipelineActivityResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy RunPipelineActivity)++responseDescribeChannel :: DescribeChannelResponse -> TestTree+responseDescribeChannel = res+    "DescribeChannelResponse"+    "fixture/DescribeChannelResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DescribeChannel)++responseCreatePipeline :: CreatePipelineResponse -> TestTree+responseCreatePipeline = res+    "CreatePipelineResponse"+    "fixture/CreatePipelineResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy CreatePipeline)++responseStartPipelineReprocessing :: StartPipelineReprocessingResponse -> TestTree+responseStartPipelineReprocessing = res+    "StartPipelineReprocessingResponse"+    "fixture/StartPipelineReprocessingResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy StartPipelineReprocessing)++responseDescribeLoggingOptions :: DescribeLoggingOptionsResponse -> TestTree+responseDescribeLoggingOptions = res+    "DescribeLoggingOptionsResponse"+    "fixture/DescribeLoggingOptionsResponse.proto"+    ioTAnalytics+    (Proxy :: Proxy DescribeLoggingOptions)
+ test/Test/AWS/IoTAnalytics.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.AWS.IoTAnalytics+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.IoTAnalytics+    ( tests+    , fixtures+    ) where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/IoTAnalytics/Internal.hs view
@@ -0,0 +1,9 @@+-- |+-- Module      : Test.AWS.IoTAnalytics.Internal+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.IoTAnalytics.Internal where