packages feed

amazonka-mobile (empty) → 1.5.0

raw patch · 41 files changed

+2995/−0 lines, 41 filesdep +amazonka-coredep +amazonka-mobiledep +amazonka-testsetup-changed

Dependencies added: amazonka-core, amazonka-mobile, 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 Mobile SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.5.0`+++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-mobile)+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.Mobile](http://hackage.haskell.org/package/amazonka-mobile/docs/Network-AWS-Mobile.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-mobile` 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-mobile.cabal view
@@ -0,0 +1,94 @@+name:                  amazonka-mobile+version:               1.5.0+synopsis:              Amazon Mobile 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-2017 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.Mobile" 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-mobile++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.Mobile+        , Network.AWS.Mobile.CreateProject+        , Network.AWS.Mobile.DeleteProject+        , Network.AWS.Mobile.DescribeBundle+        , Network.AWS.Mobile.DescribeProject+        , Network.AWS.Mobile.ExportBundle+        , Network.AWS.Mobile.ExportProject+        , Network.AWS.Mobile.ListBundles+        , Network.AWS.Mobile.ListProjects+        , Network.AWS.Mobile.Types+        , Network.AWS.Mobile.UpdateProject+        , Network.AWS.Mobile.Waiters++    other-modules:+          Network.AWS.Mobile.Types.Product+        , Network.AWS.Mobile.Types.Sum++    build-depends:+          amazonka-core == 1.5.0.*+        , base          >= 4.7     && < 5++test-suite amazonka-mobile-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.Mobile+        , Test.AWS.Gen.Mobile+        , Test.AWS.Mobile.Internal++    build-depends:+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-mobile+        , base+        , bytestring+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/CreateProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/CreateProjectResponse.proto view
+ fixture/DeleteProject.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/DeleteProjectResponse.proto view
+ fixture/DescribeBundle.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/DescribeBundleResponse.proto view
+ fixture/DescribeProject.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/DescribeProjectResponse.proto view
+ fixture/ExportBundle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/ExportBundleResponse.proto view
+ fixture/ExportProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/ExportProjectResponse.proto view
+ fixture/ListBundles.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/ListBundlesResponse.proto view
+ fixture/ListProjects.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/ListProjectsResponse.proto view
+ fixture/UpdateProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mobile/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  mobile.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/UpdateProjectResponse.proto view
+ gen/Network/AWS/Mobile.hs view
@@ -0,0 +1,168 @@+{-# 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.Mobile+-- Copyright   : (c) 2013-2017 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 Mobile Service provides mobile app and website developers with capabilities required to configure AWS resources and bootstrap their developer desktop projects with the necessary SDKs, constants, tools and samples to make use of those resources.+--+--+module Network.AWS.Mobile+    (+    -- * Service Configuration+      mobile++    -- * Errors+    -- $errors++    -- ** NotFoundException+    , _NotFoundException++    -- ** TooManyRequestsException+    , _TooManyRequestsException++    -- ** InternalFailureException+    , _InternalFailureException++    -- ** ServiceUnavailableException+    , _ServiceUnavailableException++    -- ** UnauthorizedException+    , _UnauthorizedException++    -- ** BadRequestException+    , _BadRequestException++    -- ** LimitExceededException+    , _LimitExceededException++    -- ** AccountActionRequiredException+    , _AccountActionRequiredException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** ListProjects+    , module Network.AWS.Mobile.ListProjects++    -- ** DeleteProject+    , module Network.AWS.Mobile.DeleteProject++    -- ** UpdateProject+    , module Network.AWS.Mobile.UpdateProject++    -- ** ListBundles+    , module Network.AWS.Mobile.ListBundles++    -- ** DescribeProject+    , module Network.AWS.Mobile.DescribeProject++    -- ** ExportProject+    , module Network.AWS.Mobile.ExportProject++    -- ** DescribeBundle+    , module Network.AWS.Mobile.DescribeBundle++    -- ** ExportBundle+    , module Network.AWS.Mobile.ExportBundle++    -- ** CreateProject+    , module Network.AWS.Mobile.CreateProject++    -- * Types++    -- ** Platform+    , Platform (..)++    -- ** ProjectState+    , ProjectState (..)++    -- ** BundleDetails+    , BundleDetails+    , bundleDetails+    , bdAvailablePlatforms+    , bdBundleId+    , bdVersion+    , bdIconURL+    , bdTitle+    , bdDescription++    -- ** ProjectDetails+    , ProjectDetails+    , projectDetails+    , pdState+    , pdResources+    , pdCreatedDate+    , pdConsoleURL+    , pdName+    , pdRegion+    , pdProjectId+    , pdLastUpdatedDate++    -- ** ProjectSummary+    , ProjectSummary+    , projectSummary+    , psName+    , psProjectId++    -- ** Resource+    , Resource+    , resource+    , rFeature+    , rArn+    , rName+    , rAttributes+    , rType+    ) where++import Network.AWS.Mobile.CreateProject+import Network.AWS.Mobile.DeleteProject+import Network.AWS.Mobile.DescribeBundle+import Network.AWS.Mobile.DescribeProject+import Network.AWS.Mobile.ExportBundle+import Network.AWS.Mobile.ExportProject+import Network.AWS.Mobile.ListBundles+import Network.AWS.Mobile.ListProjects+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.UpdateProject+import Network.AWS.Mobile.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 'Mobile'.+-}++{- $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/Mobile/CreateProject.hs view
@@ -0,0 +1,167 @@+{-# 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.Mobile.CreateProject+-- Copyright   : (c) 2013-2017 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 an AWS Mobile Hub project.+--+--+module Network.AWS.Mobile.CreateProject+    (+    -- * Creating a Request+      createProject+    , CreateProject+    -- * Request Lenses+    , cpContents+    , cpName+    , cpRegion+    , cpSnapshotId++    -- * Destructuring the Response+    , createProjectResponse+    , CreateProjectResponse+    -- * Response Lenses+    , cprsDetails+    , cprsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used to request a project be created.+--+--+--+-- /See:/ 'createProject' smart constructor.+data CreateProject = CreateProject'+  { _cpContents   :: !(Maybe Base64)+  , _cpName       :: !(Maybe Text)+  , _cpRegion     :: !(Maybe Text)+  , _cpSnapshotId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpContents' - ZIP or YAML file which contains configuration settings to be used when creating the project. This may be the contents of the file downloaded from the URL provided in an export project operation. -- /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.+--+-- * 'cpName' - Name of the project.+--+-- * 'cpRegion' - Default region where project resources should be created.+--+-- * 'cpSnapshotId' - Unique identifier for an exported snapshot of project configuration. This snapshot identifier is included in the share URL when a project is exported.+createProject+    :: CreateProject+createProject =+  CreateProject'+  { _cpContents = Nothing+  , _cpName = Nothing+  , _cpRegion = Nothing+  , _cpSnapshotId = Nothing+  }+++-- | ZIP or YAML file which contains configuration settings to be used when creating the project. This may be the contents of the file downloaded from the URL provided in an export project operation. -- /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.+cpContents :: Lens' CreateProject (Maybe ByteString)+cpContents = lens _cpContents (\ s a -> s{_cpContents = a}) . mapping _Base64;++-- | Name of the project.+cpName :: Lens' CreateProject (Maybe Text)+cpName = lens _cpName (\ s a -> s{_cpName = a});++-- | Default region where project resources should be created.+cpRegion :: Lens' CreateProject (Maybe Text)+cpRegion = lens _cpRegion (\ s a -> s{_cpRegion = a});++-- | Unique identifier for an exported snapshot of project configuration. This snapshot identifier is included in the share URL when a project is exported.+cpSnapshotId :: Lens' CreateProject (Maybe Text)+cpSnapshotId = lens _cpSnapshotId (\ s a -> s{_cpSnapshotId = a});++instance AWSRequest CreateProject where+        type Rs CreateProject = CreateProjectResponse+        request = postBody mobile+        response+          = receiveJSON+              (\ s h x ->+                 CreateProjectResponse' <$>+                   (x .?> "details") <*> (pure (fromEnum s)))++instance Hashable CreateProject where++instance NFData CreateProject where++instance ToBody CreateProject where+        toBody = toBody . _cpContents++instance ToHeaders CreateProject where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath CreateProject where+        toPath = const "/projects"++instance ToQuery CreateProject where+        toQuery CreateProject'{..}+          = mconcat+              ["name" =: _cpName, "region" =: _cpRegion,+               "snapshotId" =: _cpSnapshotId]++-- | Result structure used in response to a request to create a project.+--+--+--+-- /See:/ 'createProjectResponse' smart constructor.+data CreateProjectResponse = CreateProjectResponse'+  { _cprsDetails        :: !(Maybe ProjectDetails)+  , _cprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprsDetails' - Detailed information about the created AWS Mobile Hub project.+--+-- * 'cprsResponseStatus' - -- | The response status code.+createProjectResponse+    :: Int -- ^ 'cprsResponseStatus'+    -> CreateProjectResponse+createProjectResponse pResponseStatus_ =+  CreateProjectResponse'+  {_cprsDetails = Nothing, _cprsResponseStatus = pResponseStatus_}+++-- | Detailed information about the created AWS Mobile Hub project.+cprsDetails :: Lens' CreateProjectResponse (Maybe ProjectDetails)+cprsDetails = lens _cprsDetails (\ s a -> s{_cprsDetails = a});++-- | -- | The response status code.+cprsResponseStatus :: Lens' CreateProjectResponse Int+cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a});++instance NFData CreateProjectResponse where
+ gen/Network/AWS/Mobile/DeleteProject.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Mobile.DeleteProject+-- Copyright   : (c) 2013-2017 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)+--+-- Delets a project in AWS Mobile Hub.+--+--+module Network.AWS.Mobile.DeleteProject+    (+    -- * Creating a Request+      deleteProject+    , DeleteProject+    -- * Request Lenses+    , dpProjectId++    -- * Destructuring the Response+    , deleteProjectResponse+    , DeleteProjectResponse+    -- * Response Lenses+    , dprsDeletedResources+    , dprsOrphanedResources+    , dprsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used to request a project be deleted.+--+--+--+-- /See:/ 'deleteProject' smart constructor.+newtype DeleteProject = DeleteProject'+  { _dpProjectId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpProjectId' - Unique project identifier.+deleteProject+    :: Text -- ^ 'dpProjectId'+    -> DeleteProject+deleteProject pProjectId_ = DeleteProject' {_dpProjectId = pProjectId_}+++-- | Unique project identifier.+dpProjectId :: Lens' DeleteProject Text+dpProjectId = lens _dpProjectId (\ s a -> s{_dpProjectId = a});++instance AWSRequest DeleteProject where+        type Rs DeleteProject = DeleteProjectResponse+        request = delete mobile+        response+          = receiveJSON+              (\ s h x ->+                 DeleteProjectResponse' <$>+                   (x .?> "deletedResources" .!@ mempty) <*>+                     (x .?> "orphanedResources" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DeleteProject where++instance NFData DeleteProject where++instance ToHeaders DeleteProject where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteProject where+        toPath DeleteProject'{..}+          = mconcat ["/projects/", toBS _dpProjectId]++instance ToQuery DeleteProject where+        toQuery = const mempty++-- | Result structure used in response to request to delete a project.+--+--+--+-- /See:/ 'deleteProjectResponse' smart constructor.+data DeleteProjectResponse = DeleteProjectResponse'+  { _dprsDeletedResources  :: !(Maybe [Resource])+  , _dprsOrphanedResources :: !(Maybe [Resource])+  , _dprsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dprsDeletedResources' - Resources which were deleted.+--+-- * 'dprsOrphanedResources' - Resources which were not deleted, due to a risk of losing potentially important data or files.+--+-- * 'dprsResponseStatus' - -- | The response status code.+deleteProjectResponse+    :: Int -- ^ 'dprsResponseStatus'+    -> DeleteProjectResponse+deleteProjectResponse pResponseStatus_ =+  DeleteProjectResponse'+  { _dprsDeletedResources = Nothing+  , _dprsOrphanedResources = Nothing+  , _dprsResponseStatus = pResponseStatus_+  }+++-- | Resources which were deleted.+dprsDeletedResources :: Lens' DeleteProjectResponse [Resource]+dprsDeletedResources = lens _dprsDeletedResources (\ s a -> s{_dprsDeletedResources = a}) . _Default . _Coerce;++-- | Resources which were not deleted, due to a risk of losing potentially important data or files.+dprsOrphanedResources :: Lens' DeleteProjectResponse [Resource]+dprsOrphanedResources = lens _dprsOrphanedResources (\ s a -> s{_dprsOrphanedResources = a}) . _Default . _Coerce;++-- | -- | The response status code.+dprsResponseStatus :: Lens' DeleteProjectResponse Int+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});++instance NFData DeleteProjectResponse where
+ gen/Network/AWS/Mobile/DescribeBundle.hs view
@@ -0,0 +1,133 @@+{-# 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.Mobile.DescribeBundle+-- Copyright   : (c) 2013-2017 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)+--+-- Get the bundle details for the requested bundle id.+--+--+module Network.AWS.Mobile.DescribeBundle+    (+    -- * Creating a Request+      describeBundle+    , DescribeBundle+    -- * Request Lenses+    , dbBundleId++    -- * Destructuring the Response+    , describeBundleResponse+    , DescribeBundleResponse+    -- * Response Lenses+    , dbrsDetails+    , dbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure to request the details of a specific bundle.+--+--+--+-- /See:/ 'describeBundle' smart constructor.+newtype DescribeBundle = DescribeBundle'+  { _dbBundleId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeBundle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbBundleId' - Unique bundle identifier.+describeBundle+    :: Text -- ^ 'dbBundleId'+    -> DescribeBundle+describeBundle pBundleId_ = DescribeBundle' {_dbBundleId = pBundleId_}+++-- | Unique bundle identifier.+dbBundleId :: Lens' DescribeBundle Text+dbBundleId = lens _dbBundleId (\ s a -> s{_dbBundleId = a});++instance AWSRequest DescribeBundle where+        type Rs DescribeBundle = DescribeBundleResponse+        request = get mobile+        response+          = receiveJSON+              (\ s h x ->+                 DescribeBundleResponse' <$>+                   (x .?> "details") <*> (pure (fromEnum s)))++instance Hashable DescribeBundle where++instance NFData DescribeBundle where++instance ToHeaders DescribeBundle where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DescribeBundle where+        toPath DescribeBundle'{..}+          = mconcat ["/bundles/", toBS _dbBundleId]++instance ToQuery DescribeBundle where+        toQuery = const mempty++-- | Result structure contains the details of the bundle.+--+--+--+-- /See:/ 'describeBundleResponse' smart constructor.+data DescribeBundleResponse = DescribeBundleResponse'+  { _dbrsDetails        :: !(Maybe BundleDetails)+  , _dbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeBundleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbrsDetails' - The details of the bundle.+--+-- * 'dbrsResponseStatus' - -- | The response status code.+describeBundleResponse+    :: Int -- ^ 'dbrsResponseStatus'+    -> DescribeBundleResponse+describeBundleResponse pResponseStatus_ =+  DescribeBundleResponse'+  {_dbrsDetails = Nothing, _dbrsResponseStatus = pResponseStatus_}+++-- | The details of the bundle.+dbrsDetails :: Lens' DescribeBundleResponse (Maybe BundleDetails)+dbrsDetails = lens _dbrsDetails (\ s a -> s{_dbrsDetails = a});++-- | -- | The response status code.+dbrsResponseStatus :: Lens' DescribeBundleResponse Int+dbrsResponseStatus = lens _dbrsResponseStatus (\ s a -> s{_dbrsResponseStatus = a});++instance NFData DescribeBundleResponse where
+ gen/Network/AWS/Mobile/DescribeProject.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.Mobile.DescribeProject+-- Copyright   : (c) 2013-2017 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)+--+-- Gets details about a project in AWS Mobile Hub.+--+--+module Network.AWS.Mobile.DescribeProject+    (+    -- * Creating a Request+      describeProject+    , DescribeProject+    -- * Request Lenses+    , dSyncFromResources+    , dProjectId++    -- * Destructuring the Response+    , describeProjectResponse+    , DescribeProjectResponse+    -- * Response Lenses+    , drsDetails+    , drsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used to request details about a project.+--+--+--+-- /See:/ 'describeProject' smart constructor.+data DescribeProject = DescribeProject'+  { _dSyncFromResources :: !(Maybe Bool)+  , _dProjectId         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dSyncFromResources' - If set to true, causes AWS Mobile Hub to synchronize information from other services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile Hub project.+--+-- * 'dProjectId' - Unique project identifier.+describeProject+    :: Text -- ^ 'dProjectId'+    -> DescribeProject+describeProject pProjectId_ =+  DescribeProject' {_dSyncFromResources = Nothing, _dProjectId = pProjectId_}+++-- | If set to true, causes AWS Mobile Hub to synchronize information from other services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile Hub project.+dSyncFromResources :: Lens' DescribeProject (Maybe Bool)+dSyncFromResources = lens _dSyncFromResources (\ s a -> s{_dSyncFromResources = a});++-- | Unique project identifier.+dProjectId :: Lens' DescribeProject Text+dProjectId = lens _dProjectId (\ s a -> s{_dProjectId = a});++instance AWSRequest DescribeProject where+        type Rs DescribeProject = DescribeProjectResponse+        request = get mobile+        response+          = receiveJSON+              (\ s h x ->+                 DescribeProjectResponse' <$>+                   (x .?> "details") <*> (pure (fromEnum s)))++instance Hashable DescribeProject where++instance NFData DescribeProject where++instance ToHeaders DescribeProject where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DescribeProject where+        toPath = const "/project"++instance ToQuery DescribeProject where+        toQuery DescribeProject'{..}+          = mconcat+              ["syncFromResources" =: _dSyncFromResources,+               "projectId" =: _dProjectId]++-- | Result structure used for requests of project details.+--+--+--+-- /See:/ 'describeProjectResponse' smart constructor.+data DescribeProjectResponse = DescribeProjectResponse'+  { _drsDetails        :: !(Maybe ProjectDetails)+  , _drsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsDetails' - Undocumented member.+--+-- * 'drsResponseStatus' - -- | The response status code.+describeProjectResponse+    :: Int -- ^ 'drsResponseStatus'+    -> DescribeProjectResponse+describeProjectResponse pResponseStatus_ =+  DescribeProjectResponse'+  {_drsDetails = Nothing, _drsResponseStatus = pResponseStatus_}+++-- | Undocumented member.+drsDetails :: Lens' DescribeProjectResponse (Maybe ProjectDetails)+drsDetails = lens _drsDetails (\ s a -> s{_drsDetails = a});++-- | -- | The response status code.+drsResponseStatus :: Lens' DescribeProjectResponse Int+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});++instance NFData DescribeProjectResponse where
+ gen/Network/AWS/Mobile/ExportBundle.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Mobile.ExportBundle+-- Copyright   : (c) 2013-2017 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)+--+-- Generates customized software development kit (SDK) and or tool packages used to integrate mobile web or mobile app clients with backend AWS resources.+--+--+module Network.AWS.Mobile.ExportBundle+    (+    -- * Creating a Request+      exportBundle+    , ExportBundle+    -- * Request Lenses+    , ebPlatform+    , ebProjectId+    , ebBundleId++    -- * Destructuring the Response+    , exportBundleResponse+    , ExportBundleResponse+    -- * Response Lenses+    , ebrsDownloadURL+    , ebrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used to request generation of custom SDK and tool packages required to integrate mobile web or app clients with backed AWS resources.+--+--+--+-- /See:/ 'exportBundle' smart constructor.+data ExportBundle = ExportBundle'+  { _ebPlatform  :: !(Maybe Platform)+  , _ebProjectId :: !(Maybe Text)+  , _ebBundleId  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExportBundle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebPlatform' - Developer desktop or target application platform.+--+-- * 'ebProjectId' - Unique project identifier.+--+-- * 'ebBundleId' - Unique bundle identifier.+exportBundle+    :: Text -- ^ 'ebBundleId'+    -> ExportBundle+exportBundle pBundleId_ =+  ExportBundle'+  {_ebPlatform = Nothing, _ebProjectId = Nothing, _ebBundleId = pBundleId_}+++-- | Developer desktop or target application platform.+ebPlatform :: Lens' ExportBundle (Maybe Platform)+ebPlatform = lens _ebPlatform (\ s a -> s{_ebPlatform = a});++-- | Unique project identifier.+ebProjectId :: Lens' ExportBundle (Maybe Text)+ebProjectId = lens _ebProjectId (\ s a -> s{_ebProjectId = a});++-- | Unique bundle identifier.+ebBundleId :: Lens' ExportBundle Text+ebBundleId = lens _ebBundleId (\ s a -> s{_ebBundleId = a});++instance AWSRequest ExportBundle where+        type Rs ExportBundle = ExportBundleResponse+        request = postJSON mobile+        response+          = receiveJSON+              (\ s h x ->+                 ExportBundleResponse' <$>+                   (x .?> "downloadUrl") <*> (pure (fromEnum s)))++instance Hashable ExportBundle where++instance NFData ExportBundle where++instance ToHeaders ExportBundle where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ExportBundle where+        toJSON = const (Object mempty)++instance ToPath ExportBundle where+        toPath ExportBundle'{..}+          = mconcat ["/bundles/", toBS _ebBundleId]++instance ToQuery ExportBundle where+        toQuery ExportBundle'{..}+          = mconcat+              ["platform" =: _ebPlatform,+               "projectId" =: _ebProjectId]++-- | Result structure which contains link to download custom-generated SDK and tool packages used to integrate mobile web or app clients with backed AWS resources.+--+--+--+-- /See:/ 'exportBundleResponse' smart constructor.+data ExportBundleResponse = ExportBundleResponse'+  { _ebrsDownloadURL    :: !(Maybe Text)+  , _ebrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExportBundleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebrsDownloadURL' - URL which contains the custom-generated SDK and tool packages used to integrate the client mobile app or web app with the AWS resources created by the AWS Mobile Hub project.+--+-- * 'ebrsResponseStatus' - -- | The response status code.+exportBundleResponse+    :: Int -- ^ 'ebrsResponseStatus'+    -> ExportBundleResponse+exportBundleResponse pResponseStatus_ =+  ExportBundleResponse'+  {_ebrsDownloadURL = Nothing, _ebrsResponseStatus = pResponseStatus_}+++-- | URL which contains the custom-generated SDK and tool packages used to integrate the client mobile app or web app with the AWS resources created by the AWS Mobile Hub project.+ebrsDownloadURL :: Lens' ExportBundleResponse (Maybe Text)+ebrsDownloadURL = lens _ebrsDownloadURL (\ s a -> s{_ebrsDownloadURL = a});++-- | -- | The response status code.+ebrsResponseStatus :: Lens' ExportBundleResponse Int+ebrsResponseStatus = lens _ebrsResponseStatus (\ s a -> s{_ebrsResponseStatus = a});++instance NFData ExportBundleResponse where
+ gen/Network/AWS/Mobile/ExportProject.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.Mobile.ExportProject+-- Copyright   : (c) 2013-2017 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)+--+-- Exports project configuration to a snapshot which can be downloaded and shared. Note that mobile app push credentials are encrypted in exported projects, so they can only be shared successfully within the same AWS account.+--+--+module Network.AWS.Mobile.ExportProject+    (+    -- * Creating a Request+      exportProject+    , ExportProject+    -- * Request Lenses+    , epProjectId++    -- * Destructuring the Response+    , exportProjectResponse+    , ExportProjectResponse+    -- * Response Lenses+    , eprsShareURL+    , eprsDownloadURL+    , eprsSnapshotId+    , eprsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used in requests to export project configuration details.+--+--+--+-- /See:/ 'exportProject' smart constructor.+newtype ExportProject = ExportProject'+  { _epProjectId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExportProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epProjectId' - Unique project identifier.+exportProject+    :: Text -- ^ 'epProjectId'+    -> ExportProject+exportProject pProjectId_ = ExportProject' {_epProjectId = pProjectId_}+++-- | Unique project identifier.+epProjectId :: Lens' ExportProject Text+epProjectId = lens _epProjectId (\ s a -> s{_epProjectId = a});++instance AWSRequest ExportProject where+        type Rs ExportProject = ExportProjectResponse+        request = postJSON mobile+        response+          = receiveJSON+              (\ s h x ->+                 ExportProjectResponse' <$>+                   (x .?> "shareUrl") <*> (x .?> "downloadUrl") <*>+                     (x .?> "snapshotId")+                     <*> (pure (fromEnum s)))++instance Hashable ExportProject where++instance NFData ExportProject where++instance ToHeaders ExportProject where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ExportProject where+        toJSON = const (Object mempty)++instance ToPath ExportProject where+        toPath ExportProject'{..}+          = mconcat ["/exports/", toBS _epProjectId]++instance ToQuery ExportProject where+        toQuery = const mempty++-- | Result structure used for requests to export project configuration details.+--+--+--+-- /See:/ 'exportProjectResponse' smart constructor.+data ExportProjectResponse = ExportProjectResponse'+  { _eprsShareURL       :: !(Maybe Text)+  , _eprsDownloadURL    :: !(Maybe Text)+  , _eprsSnapshotId     :: !(Maybe Text)+  , _eprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExportProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eprsShareURL' - URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.+--+-- * 'eprsDownloadURL' - URL which can be used to download the exported project configuation file(s).+--+-- * 'eprsSnapshotId' - Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.+--+-- * 'eprsResponseStatus' - -- | The response status code.+exportProjectResponse+    :: Int -- ^ 'eprsResponseStatus'+    -> ExportProjectResponse+exportProjectResponse pResponseStatus_ =+  ExportProjectResponse'+  { _eprsShareURL = Nothing+  , _eprsDownloadURL = Nothing+  , _eprsSnapshotId = Nothing+  , _eprsResponseStatus = pResponseStatus_+  }+++-- | URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.+eprsShareURL :: Lens' ExportProjectResponse (Maybe Text)+eprsShareURL = lens _eprsShareURL (\ s a -> s{_eprsShareURL = a});++-- | URL which can be used to download the exported project configuation file(s).+eprsDownloadURL :: Lens' ExportProjectResponse (Maybe Text)+eprsDownloadURL = lens _eprsDownloadURL (\ s a -> s{_eprsDownloadURL = a});++-- | Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.+eprsSnapshotId :: Lens' ExportProjectResponse (Maybe Text)+eprsSnapshotId = lens _eprsSnapshotId (\ s a -> s{_eprsSnapshotId = a});++-- | -- | The response status code.+eprsResponseStatus :: Lens' ExportProjectResponse Int+eprsResponseStatus = lens _eprsResponseStatus (\ s a -> s{_eprsResponseStatus = a});++instance NFData ExportProjectResponse where
+ gen/Network/AWS/Mobile/ListBundles.hs view
@@ -0,0 +1,155 @@+{-# 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.Mobile.ListBundles+-- Copyright   : (c) 2013-2017 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)+--+-- List all available bundles.+--+--+module Network.AWS.Mobile.ListBundles+    (+    -- * Creating a Request+      listBundles+    , ListBundles+    -- * Request Lenses+    , lbNextToken+    , lbMaxResults++    -- * Destructuring the Response+    , listBundlesResponse+    , ListBundlesResponse+    -- * Response Lenses+    , lbrsBundleList+    , lbrsNextToken+    , lbrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure to request all available bundles.+--+--+--+-- /See:/ 'listBundles' smart constructor.+data ListBundles = ListBundles'+  { _lbNextToken  :: !(Maybe Text)+  , _lbMaxResults :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListBundles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbNextToken' - Pagination token. Set to null to start listing bundles from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more bundles.+--+-- * 'lbMaxResults' - Maximum number of records to list in a single response.+listBundles+    :: ListBundles+listBundles = ListBundles' {_lbNextToken = Nothing, _lbMaxResults = Nothing}+++-- | Pagination token. Set to null to start listing bundles from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more bundles.+lbNextToken :: Lens' ListBundles (Maybe Text)+lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a});++-- | Maximum number of records to list in a single response.+lbMaxResults :: Lens' ListBundles (Maybe Int)+lbMaxResults = lens _lbMaxResults (\ s a -> s{_lbMaxResults = a});++instance AWSRequest ListBundles where+        type Rs ListBundles = ListBundlesResponse+        request = get mobile+        response+          = receiveJSON+              (\ s h x ->+                 ListBundlesResponse' <$>+                   (x .?> "bundleList" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListBundles where++instance NFData ListBundles where++instance ToHeaders ListBundles where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListBundles where+        toPath = const "/bundles"++instance ToQuery ListBundles where+        toQuery ListBundles'{..}+          = mconcat+              ["nextToken" =: _lbNextToken,+               "maxResults" =: _lbMaxResults]++-- | Result structure contains a list of all available bundles with details.+--+--+--+-- /See:/ 'listBundlesResponse' smart constructor.+data ListBundlesResponse = ListBundlesResponse'+  { _lbrsBundleList     :: !(Maybe [BundleDetails])+  , _lbrsNextToken      :: !(Maybe Text)+  , _lbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListBundlesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbrsBundleList' - A list of bundles.+--+-- * 'lbrsNextToken' - Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.+--+-- * 'lbrsResponseStatus' - -- | The response status code.+listBundlesResponse+    :: Int -- ^ 'lbrsResponseStatus'+    -> ListBundlesResponse+listBundlesResponse pResponseStatus_ =+  ListBundlesResponse'+  { _lbrsBundleList = Nothing+  , _lbrsNextToken = Nothing+  , _lbrsResponseStatus = pResponseStatus_+  }+++-- | A list of bundles.+lbrsBundleList :: Lens' ListBundlesResponse [BundleDetails]+lbrsBundleList = lens _lbrsBundleList (\ s a -> s{_lbrsBundleList = a}) . _Default . _Coerce;++-- | Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.+lbrsNextToken :: Lens' ListBundlesResponse (Maybe Text)+lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a});++-- | -- | The response status code.+lbrsResponseStatus :: Lens' ListBundlesResponse Int+lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a});++instance NFData ListBundlesResponse where
+ gen/Network/AWS/Mobile/ListProjects.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.Mobile.ListProjects+-- Copyright   : (c) 2013-2017 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)+--+-- Lists projects in AWS Mobile Hub.+--+--+module Network.AWS.Mobile.ListProjects+    (+    -- * Creating a Request+      listProjects+    , ListProjects+    -- * Request Lenses+    , lpNextToken+    , lpMaxResults++    -- * Destructuring the Response+    , listProjectsResponse+    , ListProjectsResponse+    -- * Response Lenses+    , lprsNextToken+    , lprsProjects+    , lprsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used to request projects list in AWS Mobile Hub.+--+--+--+-- /See:/ 'listProjects' smart constructor.+data ListProjects = ListProjects'+  { _lpNextToken  :: !(Maybe Text)+  , _lpMaxResults :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListProjects' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpNextToken' - Pagination token. Set to null to start listing projects from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more projects.+--+-- * 'lpMaxResults' - Maximum number of records to list in a single response.+listProjects+    :: ListProjects+listProjects = ListProjects' {_lpNextToken = Nothing, _lpMaxResults = Nothing}+++-- | Pagination token. Set to null to start listing projects from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more projects.+lpNextToken :: Lens' ListProjects (Maybe Text)+lpNextToken = lens _lpNextToken (\ s a -> s{_lpNextToken = a});++-- | Maximum number of records to list in a single response.+lpMaxResults :: Lens' ListProjects (Maybe Int)+lpMaxResults = lens _lpMaxResults (\ s a -> s{_lpMaxResults = a});++instance AWSRequest ListProjects where+        type Rs ListProjects = ListProjectsResponse+        request = get mobile+        response+          = receiveJSON+              (\ s h x ->+                 ListProjectsResponse' <$>+                   (x .?> "nextToken") <*> (x .?> "projects" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListProjects where++instance NFData ListProjects where++instance ToHeaders ListProjects where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListProjects where+        toPath = const "/projects"++instance ToQuery ListProjects where+        toQuery ListProjects'{..}+          = mconcat+              ["nextToken" =: _lpNextToken,+               "maxResults" =: _lpMaxResults]++-- | Result structure used for requests to list projects in AWS Mobile Hub.+--+--+--+-- /See:/ 'listProjectsResponse' smart constructor.+data ListProjectsResponse = ListProjectsResponse'+  { _lprsNextToken      :: !(Maybe Text)+  , _lprsProjects       :: !(Maybe [ProjectSummary])+  , _lprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListProjectsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lprsNextToken' - Undocumented member.+--+-- * 'lprsProjects' - Undocumented member.+--+-- * 'lprsResponseStatus' - -- | The response status code.+listProjectsResponse+    :: Int -- ^ 'lprsResponseStatus'+    -> ListProjectsResponse+listProjectsResponse pResponseStatus_ =+  ListProjectsResponse'+  { _lprsNextToken = Nothing+  , _lprsProjects = Nothing+  , _lprsResponseStatus = pResponseStatus_+  }+++-- | Undocumented member.+lprsNextToken :: Lens' ListProjectsResponse (Maybe Text)+lprsNextToken = lens _lprsNextToken (\ s a -> s{_lprsNextToken = a});++-- | Undocumented member.+lprsProjects :: Lens' ListProjectsResponse [ProjectSummary]+lprsProjects = lens _lprsProjects (\ s a -> s{_lprsProjects = a}) . _Default . _Coerce;++-- | -- | The response status code.+lprsResponseStatus :: Lens' ListProjectsResponse Int+lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a});++instance NFData ListProjectsResponse where
+ gen/Network/AWS/Mobile/Types.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Mobile.Types+-- Copyright   : (c) 2013-2017 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.Mobile.Types+    (+    -- * Service Configuration+      mobile++    -- * Errors+    , _NotFoundException+    , _TooManyRequestsException+    , _InternalFailureException+    , _ServiceUnavailableException+    , _UnauthorizedException+    , _BadRequestException+    , _LimitExceededException+    , _AccountActionRequiredException++    -- * Platform+    , Platform (..)++    -- * ProjectState+    , ProjectState (..)++    -- * BundleDetails+    , BundleDetails+    , bundleDetails+    , bdAvailablePlatforms+    , bdBundleId+    , bdVersion+    , bdIconURL+    , bdTitle+    , bdDescription++    -- * ProjectDetails+    , ProjectDetails+    , projectDetails+    , pdState+    , pdResources+    , pdCreatedDate+    , pdConsoleURL+    , pdName+    , pdRegion+    , pdProjectId+    , pdLastUpdatedDate++    -- * ProjectSummary+    , ProjectSummary+    , projectSummary+    , psName+    , psProjectId++    -- * Resource+    , Resource+    , resource+    , rFeature+    , rArn+    , rName+    , rAttributes+    , rType+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types.Product+import Network.AWS.Mobile.Types.Sum+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | API version @2017-07-01@ of the Amazon Mobile SDK configuration.+mobile :: Service+mobile =+  Service+  { _svcAbbrev = "Mobile"+  , _svcSigner = v4+  , _svcPrefix = "mobile"+  , _svcVersion = "2017-07-01"+  , _svcEndpoint = defaultEndpoint mobile+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseJSONError "Mobile"+  , _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 (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+++-- | No entity can be found with the specified identifier.+--+--+_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_NotFoundException =+  _MatchServiceError mobile "NotFoundException" . hasStatus 404+++-- | Too many requests have been received for this AWS account in too short a time. The request should be retried after some time delay.+--+--+_TooManyRequestsException :: AsError a => Getting (First ServiceError) a ServiceError+_TooManyRequestsException =+  _MatchServiceError mobile "TooManyRequestsException" . hasStatus 429+++-- | The service has encountered an unexpected error condition which prevents it from servicing the request.+--+--+_InternalFailureException :: AsError a => Getting (First ServiceError) a ServiceError+_InternalFailureException =+  _MatchServiceError mobile "InternalFailureException" . hasStatus 500+++-- | The service is temporarily unavailable. The request should be retried after some time delay.+--+--+_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceUnavailableException =+  _MatchServiceError mobile "ServiceUnavailableException" . hasStatus 503+++-- | Credentials of the caller are insufficient to authorize the request.+--+--+_UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError+_UnauthorizedException =+  _MatchServiceError mobile "UnauthorizedException" . hasStatus 401+++-- | The request cannot be processed because some parameter is not valid or the project state prevents the operation from being performed.+--+--+_BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_BadRequestException =+  _MatchServiceError mobile "BadRequestException" . hasStatus 400+++-- | There are too many AWS Mobile Hub projects in the account or the account has exceeded the maximum number of resources in some AWS service. You should create another sub-account using AWS Organizations or remove some resources and retry your request.+--+--+_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededException =+  _MatchServiceError mobile "LimitExceededException" . hasStatus 429+++-- | Account Action is required in order to continue the request.+--+--+_AccountActionRequiredException :: AsError a => Getting (First ServiceError) a ServiceError+_AccountActionRequiredException =+  _MatchServiceError mobile "AccountActionRequiredException" . hasStatus 403+
+ gen/Network/AWS/Mobile/Types/Product.hs view
@@ -0,0 +1,320 @@+{-# 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.Mobile.Types.Product+-- Copyright   : (c) 2013-2017 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.Mobile.Types.Product where++import Network.AWS.Lens+import Network.AWS.Mobile.Types.Sum+import Network.AWS.Prelude++-- | The details of the bundle.+--+--+--+-- /See:/ 'bundleDetails' smart constructor.+data BundleDetails = BundleDetails'+  { _bdAvailablePlatforms :: !(Maybe [Platform])+  , _bdBundleId           :: !(Maybe Text)+  , _bdVersion            :: !(Maybe Text)+  , _bdIconURL            :: !(Maybe Text)+  , _bdTitle              :: !(Maybe Text)+  , _bdDescription        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BundleDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdAvailablePlatforms' - Undocumented member.+--+-- * 'bdBundleId' - Undocumented member.+--+-- * 'bdVersion' - Undocumented member.+--+-- * 'bdIconURL' - Undocumented member.+--+-- * 'bdTitle' - Undocumented member.+--+-- * 'bdDescription' - Undocumented member.+bundleDetails+    :: BundleDetails+bundleDetails =+  BundleDetails'+  { _bdAvailablePlatforms = Nothing+  , _bdBundleId = Nothing+  , _bdVersion = Nothing+  , _bdIconURL = Nothing+  , _bdTitle = Nothing+  , _bdDescription = Nothing+  }+++-- | Undocumented member.+bdAvailablePlatforms :: Lens' BundleDetails [Platform]+bdAvailablePlatforms = lens _bdAvailablePlatforms (\ s a -> s{_bdAvailablePlatforms = a}) . _Default . _Coerce;++-- | Undocumented member.+bdBundleId :: Lens' BundleDetails (Maybe Text)+bdBundleId = lens _bdBundleId (\ s a -> s{_bdBundleId = a});++-- | Undocumented member.+bdVersion :: Lens' BundleDetails (Maybe Text)+bdVersion = lens _bdVersion (\ s a -> s{_bdVersion = a});++-- | Undocumented member.+bdIconURL :: Lens' BundleDetails (Maybe Text)+bdIconURL = lens _bdIconURL (\ s a -> s{_bdIconURL = a});++-- | Undocumented member.+bdTitle :: Lens' BundleDetails (Maybe Text)+bdTitle = lens _bdTitle (\ s a -> s{_bdTitle = a});++-- | Undocumented member.+bdDescription :: Lens' BundleDetails (Maybe Text)+bdDescription = lens _bdDescription (\ s a -> s{_bdDescription = a});++instance FromJSON BundleDetails where+        parseJSON+          = withObject "BundleDetails"+              (\ x ->+                 BundleDetails' <$>+                   (x .:? "availablePlatforms" .!= mempty) <*>+                     (x .:? "bundleId")+                     <*> (x .:? "version")+                     <*> (x .:? "iconUrl")+                     <*> (x .:? "title")+                     <*> (x .:? "description"))++instance Hashable BundleDetails where++instance NFData BundleDetails where++-- | Detailed information about an AWS Mobile Hub project.+--+--+--+-- /See:/ 'projectDetails' smart constructor.+data ProjectDetails = ProjectDetails'+  { _pdState           :: !(Maybe ProjectState)+  , _pdResources       :: !(Maybe [Resource])+  , _pdCreatedDate     :: !(Maybe POSIX)+  , _pdConsoleURL      :: !(Maybe Text)+  , _pdName            :: !(Maybe Text)+  , _pdRegion          :: !(Maybe Text)+  , _pdProjectId       :: !(Maybe Text)+  , _pdLastUpdatedDate :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdState' - Undocumented member.+--+-- * 'pdResources' - Undocumented member.+--+-- * 'pdCreatedDate' - Date the project was created.+--+-- * 'pdConsoleURL' - Website URL for this project in the AWS Mobile Hub console.+--+-- * 'pdName' - Undocumented member.+--+-- * 'pdRegion' - Undocumented member.+--+-- * 'pdProjectId' - Undocumented member.+--+-- * 'pdLastUpdatedDate' - Date of the last modification of the project.+projectDetails+    :: ProjectDetails+projectDetails =+  ProjectDetails'+  { _pdState = Nothing+  , _pdResources = Nothing+  , _pdCreatedDate = Nothing+  , _pdConsoleURL = Nothing+  , _pdName = Nothing+  , _pdRegion = Nothing+  , _pdProjectId = Nothing+  , _pdLastUpdatedDate = Nothing+  }+++-- | Undocumented member.+pdState :: Lens' ProjectDetails (Maybe ProjectState)+pdState = lens _pdState (\ s a -> s{_pdState = a});++-- | Undocumented member.+pdResources :: Lens' ProjectDetails [Resource]+pdResources = lens _pdResources (\ s a -> s{_pdResources = a}) . _Default . _Coerce;++-- | Date the project was created.+pdCreatedDate :: Lens' ProjectDetails (Maybe UTCTime)+pdCreatedDate = lens _pdCreatedDate (\ s a -> s{_pdCreatedDate = a}) . mapping _Time;++-- | Website URL for this project in the AWS Mobile Hub console.+pdConsoleURL :: Lens' ProjectDetails (Maybe Text)+pdConsoleURL = lens _pdConsoleURL (\ s a -> s{_pdConsoleURL = a});++-- | Undocumented member.+pdName :: Lens' ProjectDetails (Maybe Text)+pdName = lens _pdName (\ s a -> s{_pdName = a});++-- | Undocumented member.+pdRegion :: Lens' ProjectDetails (Maybe Text)+pdRegion = lens _pdRegion (\ s a -> s{_pdRegion = a});++-- | Undocumented member.+pdProjectId :: Lens' ProjectDetails (Maybe Text)+pdProjectId = lens _pdProjectId (\ s a -> s{_pdProjectId = a});++-- | Date of the last modification of the project.+pdLastUpdatedDate :: Lens' ProjectDetails (Maybe UTCTime)+pdLastUpdatedDate = lens _pdLastUpdatedDate (\ s a -> s{_pdLastUpdatedDate = a}) . mapping _Time;++instance FromJSON ProjectDetails where+        parseJSON+          = withObject "ProjectDetails"+              (\ x ->+                 ProjectDetails' <$>+                   (x .:? "state") <*> (x .:? "resources" .!= mempty)+                     <*> (x .:? "createdDate")+                     <*> (x .:? "consoleUrl")+                     <*> (x .:? "name")+                     <*> (x .:? "region")+                     <*> (x .:? "projectId")+                     <*> (x .:? "lastUpdatedDate"))++instance Hashable ProjectDetails where++instance NFData ProjectDetails where++-- | Summary information about an AWS Mobile Hub project.+--+--+--+-- /See:/ 'projectSummary' smart constructor.+data ProjectSummary = ProjectSummary'+  { _psName      :: !(Maybe Text)+  , _psProjectId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ProjectSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psName' - Name of the project.+--+-- * 'psProjectId' - Unique project identifier.+projectSummary+    :: ProjectSummary+projectSummary = ProjectSummary' {_psName = Nothing, _psProjectId = Nothing}+++-- | Name of the project.+psName :: Lens' ProjectSummary (Maybe Text)+psName = lens _psName (\ s a -> s{_psName = a});++-- | Unique project identifier.+psProjectId :: Lens' ProjectSummary (Maybe Text)+psProjectId = lens _psProjectId (\ s a -> s{_psProjectId = a});++instance FromJSON ProjectSummary where+        parseJSON+          = withObject "ProjectSummary"+              (\ x ->+                 ProjectSummary' <$>+                   (x .:? "name") <*> (x .:? "projectId"))++instance Hashable ProjectSummary where++instance NFData ProjectSummary where++-- | Information about an instance of an AWS resource associated with a project.+--+--+--+-- /See:/ 'resource' smart constructor.+data Resource = Resource'+  { _rFeature    :: !(Maybe Text)+  , _rArn        :: !(Maybe Text)+  , _rName       :: !(Maybe Text)+  , _rAttributes :: !(Maybe (Map Text Text))+  , _rType       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Resource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rFeature' - Undocumented member.+--+-- * 'rArn' - Undocumented member.+--+-- * 'rName' - Undocumented member.+--+-- * 'rAttributes' - Undocumented member.+--+-- * 'rType' - Undocumented member.+resource+    :: Resource+resource =+  Resource'+  { _rFeature = Nothing+  , _rArn = Nothing+  , _rName = Nothing+  , _rAttributes = Nothing+  , _rType = Nothing+  }+++-- | Undocumented member.+rFeature :: Lens' Resource (Maybe Text)+rFeature = lens _rFeature (\ s a -> s{_rFeature = a});++-- | Undocumented member.+rArn :: Lens' Resource (Maybe Text)+rArn = lens _rArn (\ s a -> s{_rArn = a});++-- | Undocumented member.+rName :: Lens' Resource (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a});++-- | Undocumented member.+rAttributes :: Lens' Resource (HashMap Text Text)+rAttributes = lens _rAttributes (\ s a -> s{_rAttributes = a}) . _Default . _Map;++-- | Undocumented member.+rType :: Lens' Resource (Maybe Text)+rType = lens _rType (\ s a -> s{_rType = a});++instance FromJSON Resource where+        parseJSON+          = withObject "Resource"+              (\ x ->+                 Resource' <$>+                   (x .:? "feature") <*> (x .:? "arn") <*>+                     (x .:? "name")+                     <*> (x .:? "attributes" .!= mempty)+                     <*> (x .:? "type"))++instance Hashable Resource where++instance NFData Resource where
+ gen/Network/AWS/Mobile/Types/Sum.hs view
@@ -0,0 +1,101 @@+{-# 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.Mobile.Types.Sum+-- Copyright   : (c) 2013-2017 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.Mobile.Types.Sum where++import Network.AWS.Prelude++-- | Developer desktop or target mobile app or website platform.+--+--+data Platform+  = Android+  | Javascript+  | Linux+  | OSx+  | Objc+  | Swift+  | Windows+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText Platform where+    parser = takeLowerText >>= \case+        "android" -> pure Android+        "javascript" -> pure Javascript+        "linux" -> pure Linux+        "osx" -> pure OSx+        "objc" -> pure Objc+        "swift" -> pure Swift+        "windows" -> pure Windows+        e -> fromTextError $ "Failure parsing Platform from value: '" <> e+           <> "'. Accepted values: android, javascript, linux, osx, objc, swift, windows"++instance ToText Platform where+    toText = \case+        Android -> "ANDROID"+        Javascript -> "JAVASCRIPT"+        Linux -> "LINUX"+        OSx -> "OSX"+        Objc -> "OBJC"+        Swift -> "SWIFT"+        Windows -> "WINDOWS"++instance Hashable     Platform+instance NFData       Platform+instance ToByteString Platform+instance ToQuery      Platform+instance ToHeader     Platform++instance ToJSON Platform where+    toJSON = toJSONText++instance FromJSON Platform where+    parseJSON = parseJSONText "Platform"++-- | Synchronization state for a project.+--+--+data ProjectState+  = Importing+  | Normal+  | Syncing+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ProjectState where+    parser = takeLowerText >>= \case+        "importing" -> pure Importing+        "normal" -> pure Normal+        "syncing" -> pure Syncing+        e -> fromTextError $ "Failure parsing ProjectState from value: '" <> e+           <> "'. Accepted values: importing, normal, syncing"++instance ToText ProjectState where+    toText = \case+        Importing -> "IMPORTING"+        Normal -> "NORMAL"+        Syncing -> "SYNCING"++instance Hashable     ProjectState+instance NFData       ProjectState+instance ToByteString ProjectState+instance ToQuery      ProjectState+instance ToHeader     ProjectState++instance FromJSON ProjectState where+    parseJSON = parseJSONText "ProjectState"
+ gen/Network/AWS/Mobile/UpdateProject.hs view
@@ -0,0 +1,145 @@+{-# 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.Mobile.UpdateProject+-- Copyright   : (c) 2013-2017 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)+--+-- Update an existing project.+--+--+module Network.AWS.Mobile.UpdateProject+    (+    -- * Creating a Request+      updateProject+    , UpdateProject+    -- * Request Lenses+    , upContents+    , upProjectId++    -- * Destructuring the Response+    , updateProjectResponse+    , UpdateProjectResponse+    -- * Response Lenses+    , uprsDetails+    , uprsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+import Network.AWS.Mobile.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Request structure used for requests to update project configuration.+--+--+--+-- /See:/ 'updateProject' smart constructor.+data UpdateProject = UpdateProject'+  { _upContents  :: !(Maybe Base64)+  , _upProjectId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateProject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upContents' - ZIP or YAML file which contains project configuration to be updated. This should be the contents of the file downloaded from the URL provided in an export project operation. -- /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.+--+-- * 'upProjectId' - Unique project identifier.+updateProject+    :: Text -- ^ 'upProjectId'+    -> UpdateProject+updateProject pProjectId_ =+  UpdateProject' {_upContents = Nothing, _upProjectId = pProjectId_}+++-- | ZIP or YAML file which contains project configuration to be updated. This should be the contents of the file downloaded from the URL provided in an export project operation. -- /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.+upContents :: Lens' UpdateProject (Maybe ByteString)+upContents = lens _upContents (\ s a -> s{_upContents = a}) . mapping _Base64;++-- | Unique project identifier.+upProjectId :: Lens' UpdateProject Text+upProjectId = lens _upProjectId (\ s a -> s{_upProjectId = a});++instance AWSRequest UpdateProject where+        type Rs UpdateProject = UpdateProjectResponse+        request = postBody mobile+        response+          = receiveJSON+              (\ s h x ->+                 UpdateProjectResponse' <$>+                   (x .?> "details") <*> (pure (fromEnum s)))++instance Hashable UpdateProject where++instance NFData UpdateProject where++instance ToBody UpdateProject where+        toBody = toBody . _upContents++instance ToHeaders UpdateProject where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath UpdateProject where+        toPath = const "/update"++instance ToQuery UpdateProject where+        toQuery UpdateProject'{..}+          = mconcat ["projectId" =: _upProjectId]++-- | Result structure used for requests to updated project configuration.+--+--+--+-- /See:/ 'updateProjectResponse' smart constructor.+data UpdateProjectResponse = UpdateProjectResponse'+  { _uprsDetails        :: !(Maybe ProjectDetails)+  , _uprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateProjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uprsDetails' - Detailed information about the updated AWS Mobile Hub project.+--+-- * 'uprsResponseStatus' - -- | The response status code.+updateProjectResponse+    :: Int -- ^ 'uprsResponseStatus'+    -> UpdateProjectResponse+updateProjectResponse pResponseStatus_ =+  UpdateProjectResponse'+  {_uprsDetails = Nothing, _uprsResponseStatus = pResponseStatus_}+++-- | Detailed information about the updated AWS Mobile Hub project.+uprsDetails :: Lens' UpdateProjectResponse (Maybe ProjectDetails)+uprsDetails = lens _uprsDetails (\ s a -> s{_uprsDetails = a});++-- | -- | The response status code.+uprsResponseStatus :: Lens' UpdateProjectResponse Int+uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a});++instance NFData UpdateProjectResponse where
+ gen/Network/AWS/Mobile/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.Mobile.Waiters+-- Copyright   : (c) 2013-2017 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.Mobile.Waiters where++import Network.AWS.Lens+import Network.AWS.Mobile.Types+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-2017 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.Mobile+import Test.AWS.Mobile.Internal++main :: IO ()+main = defaultMain $ testGroup "Mobile"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/Mobile.hs view
@@ -0,0 +1,201 @@+{-# 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.Mobile+-- Copyright   : (c) 2013-2017 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.Mobile where++import Data.Proxy+import Network.AWS.Mobile+import Test.AWS.Fixture+import Test.AWS.Mobile.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"+--         [ requestListProjects $+--             listProjects+--+--         , requestDeleteProject $+--             deleteProject+--+--         , requestUpdateProject $+--             updateProject+--+--         , requestListBundles $+--             listBundles+--+--         , requestDescribeProject $+--             describeProject+--+--         , requestExportProject $+--             exportProject+--+--         , requestDescribeBundle $+--             describeBundle+--+--         , requestExportBundle $+--             exportBundle+--+--         , requestCreateProject $+--             createProject+--+--           ]++--     , testGroup "response"+--         [ responseListProjects $+--             listProjectsResponse+--+--         , responseDeleteProject $+--             deleteProjectResponse+--+--         , responseUpdateProject $+--             updateProjectResponse+--+--         , responseListBundles $+--             listBundlesResponse+--+--         , responseDescribeProject $+--             describeProjectResponse+--+--         , responseExportProject $+--             exportProjectResponse+--+--         , responseDescribeBundle $+--             describeBundleResponse+--+--         , responseExportBundle $+--             exportBundleResponse+--+--         , responseCreateProject $+--             createProjectResponse+--+--           ]+--     ]++-- Requests++requestListProjects :: ListProjects -> TestTree+requestListProjects = req+    "ListProjects"+    "fixture/ListProjects.yaml"++requestDeleteProject :: DeleteProject -> TestTree+requestDeleteProject = req+    "DeleteProject"+    "fixture/DeleteProject.yaml"++requestUpdateProject :: UpdateProject -> TestTree+requestUpdateProject = req+    "UpdateProject"+    "fixture/UpdateProject.yaml"++requestListBundles :: ListBundles -> TestTree+requestListBundles = req+    "ListBundles"+    "fixture/ListBundles.yaml"++requestDescribeProject :: DescribeProject -> TestTree+requestDescribeProject = req+    "DescribeProject"+    "fixture/DescribeProject.yaml"++requestExportProject :: ExportProject -> TestTree+requestExportProject = req+    "ExportProject"+    "fixture/ExportProject.yaml"++requestDescribeBundle :: DescribeBundle -> TestTree+requestDescribeBundle = req+    "DescribeBundle"+    "fixture/DescribeBundle.yaml"++requestExportBundle :: ExportBundle -> TestTree+requestExportBundle = req+    "ExportBundle"+    "fixture/ExportBundle.yaml"++requestCreateProject :: CreateProject -> TestTree+requestCreateProject = req+    "CreateProject"+    "fixture/CreateProject.yaml"++-- Responses++responseListProjects :: ListProjectsResponse -> TestTree+responseListProjects = res+    "ListProjectsResponse"+    "fixture/ListProjectsResponse.proto"+    mobile+    (Proxy :: Proxy ListProjects)++responseDeleteProject :: DeleteProjectResponse -> TestTree+responseDeleteProject = res+    "DeleteProjectResponse"+    "fixture/DeleteProjectResponse.proto"+    mobile+    (Proxy :: Proxy DeleteProject)++responseUpdateProject :: UpdateProjectResponse -> TestTree+responseUpdateProject = res+    "UpdateProjectResponse"+    "fixture/UpdateProjectResponse.proto"+    mobile+    (Proxy :: Proxy UpdateProject)++responseListBundles :: ListBundlesResponse -> TestTree+responseListBundles = res+    "ListBundlesResponse"+    "fixture/ListBundlesResponse.proto"+    mobile+    (Proxy :: Proxy ListBundles)++responseDescribeProject :: DescribeProjectResponse -> TestTree+responseDescribeProject = res+    "DescribeProjectResponse"+    "fixture/DescribeProjectResponse.proto"+    mobile+    (Proxy :: Proxy DescribeProject)++responseExportProject :: ExportProjectResponse -> TestTree+responseExportProject = res+    "ExportProjectResponse"+    "fixture/ExportProjectResponse.proto"+    mobile+    (Proxy :: Proxy ExportProject)++responseDescribeBundle :: DescribeBundleResponse -> TestTree+responseDescribeBundle = res+    "DescribeBundleResponse"+    "fixture/DescribeBundleResponse.proto"+    mobile+    (Proxy :: Proxy DescribeBundle)++responseExportBundle :: ExportBundleResponse -> TestTree+responseExportBundle = res+    "ExportBundleResponse"+    "fixture/ExportBundleResponse.proto"+    mobile+    (Proxy :: Proxy ExportBundle)++responseCreateProject :: CreateProjectResponse -> TestTree+responseCreateProject = res+    "CreateProjectResponse"+    "fixture/CreateProjectResponse.proto"+    mobile+    (Proxy :: Proxy CreateProject)
+ test/Test/AWS/Mobile.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.AWS.Mobile+-- Copyright   : (c) 2013-2017 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.Mobile+    ( tests+    , fixtures+    ) where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/Mobile/Internal.hs view
@@ -0,0 +1,9 @@+-- |+-- Module      : Test.AWS.Mobile.Internal+-- Copyright   : (c) 2013-2017 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.Mobile.Internal where