packages feed

amazonka-greengrass (empty) → 1.5.0

raw patch · 209 files changed

+15214/−0 lines, 209 filesdep +amazonka-coredep +amazonka-greengrassdep +amazonka-testsetup-changed

Dependencies added: amazonka-core, amazonka-greengrass, 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 Greengrass 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-greengrass)+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.Greengrass](http://hackage.haskell.org/package/amazonka-greengrass/docs/Network-AWS-Greengrass.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-greengrass` 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-greengrass.cabal view
@@ -0,0 +1,150 @@+name:                  amazonka-greengrass+version:               1.5.0+synopsis:              Amazon Greengrass 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.Greengrass" 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-greengrass++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.Greengrass+        , Network.AWS.Greengrass.AssociateRoleToGroup+        , Network.AWS.Greengrass.AssociateServiceRoleToAccount+        , Network.AWS.Greengrass.CreateCoreDefinition+        , Network.AWS.Greengrass.CreateCoreDefinitionVersion+        , Network.AWS.Greengrass.CreateDeployment+        , Network.AWS.Greengrass.CreateDeviceDefinition+        , Network.AWS.Greengrass.CreateDeviceDefinitionVersion+        , Network.AWS.Greengrass.CreateFunctionDefinition+        , Network.AWS.Greengrass.CreateFunctionDefinitionVersion+        , Network.AWS.Greengrass.CreateGroup+        , Network.AWS.Greengrass.CreateGroupCertificateAuthority+        , Network.AWS.Greengrass.CreateGroupVersion+        , Network.AWS.Greengrass.CreateLoggerDefinition+        , Network.AWS.Greengrass.CreateLoggerDefinitionVersion+        , Network.AWS.Greengrass.CreateSubscriptionDefinition+        , Network.AWS.Greengrass.CreateSubscriptionDefinitionVersion+        , Network.AWS.Greengrass.DeleteCoreDefinition+        , Network.AWS.Greengrass.DeleteDeviceDefinition+        , Network.AWS.Greengrass.DeleteFunctionDefinition+        , Network.AWS.Greengrass.DeleteGroup+        , Network.AWS.Greengrass.DeleteLoggerDefinition+        , Network.AWS.Greengrass.DeleteSubscriptionDefinition+        , Network.AWS.Greengrass.DisassociateRoleFromGroup+        , Network.AWS.Greengrass.DisassociateServiceRoleFromAccount+        , Network.AWS.Greengrass.GetAssociatedRole+        , Network.AWS.Greengrass.GetConnectivityInfo+        , Network.AWS.Greengrass.GetCoreDefinition+        , Network.AWS.Greengrass.GetCoreDefinitionVersion+        , Network.AWS.Greengrass.GetDeploymentStatus+        , Network.AWS.Greengrass.GetDeviceDefinition+        , Network.AWS.Greengrass.GetDeviceDefinitionVersion+        , Network.AWS.Greengrass.GetFunctionDefinition+        , Network.AWS.Greengrass.GetFunctionDefinitionVersion+        , Network.AWS.Greengrass.GetGroup+        , Network.AWS.Greengrass.GetGroupCertificateAuthority+        , Network.AWS.Greengrass.GetGroupCertificateConfiguration+        , Network.AWS.Greengrass.GetGroupVersion+        , Network.AWS.Greengrass.GetLoggerDefinition+        , Network.AWS.Greengrass.GetLoggerDefinitionVersion+        , Network.AWS.Greengrass.GetServiceRoleForAccount+        , Network.AWS.Greengrass.GetSubscriptionDefinition+        , Network.AWS.Greengrass.GetSubscriptionDefinitionVersion+        , Network.AWS.Greengrass.ListCoreDefinitionVersions+        , Network.AWS.Greengrass.ListCoreDefinitions+        , Network.AWS.Greengrass.ListDeployments+        , Network.AWS.Greengrass.ListDeviceDefinitionVersions+        , Network.AWS.Greengrass.ListDeviceDefinitions+        , Network.AWS.Greengrass.ListFunctionDefinitionVersions+        , Network.AWS.Greengrass.ListFunctionDefinitions+        , Network.AWS.Greengrass.ListGroupCertificateAuthorities+        , Network.AWS.Greengrass.ListGroupVersions+        , Network.AWS.Greengrass.ListGroups+        , Network.AWS.Greengrass.ListLoggerDefinitionVersions+        , Network.AWS.Greengrass.ListLoggerDefinitions+        , Network.AWS.Greengrass.ListSubscriptionDefinitionVersions+        , Network.AWS.Greengrass.ListSubscriptionDefinitions+        , Network.AWS.Greengrass.ResetDeployments+        , Network.AWS.Greengrass.Types+        , Network.AWS.Greengrass.UpdateConnectivityInfo+        , Network.AWS.Greengrass.UpdateCoreDefinition+        , Network.AWS.Greengrass.UpdateDeviceDefinition+        , Network.AWS.Greengrass.UpdateFunctionDefinition+        , Network.AWS.Greengrass.UpdateGroup+        , Network.AWS.Greengrass.UpdateGroupCertificateConfiguration+        , Network.AWS.Greengrass.UpdateLoggerDefinition+        , Network.AWS.Greengrass.UpdateSubscriptionDefinition+        , Network.AWS.Greengrass.Waiters++    other-modules:+          Network.AWS.Greengrass.Types.Product+        , Network.AWS.Greengrass.Types.Sum++    build-depends:+          amazonka-core == 1.5.0.*+        , base          >= 4.7     && < 5++test-suite amazonka-greengrass-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.Greengrass+        , Test.AWS.Gen.Greengrass+        , Test.AWS.Greengrass.Internal++    build-depends:+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-greengrass+        , base+        , bytestring+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/AssociateRoleToGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/AssociateRoleToGroupResponse.proto view
+ fixture/AssociateServiceRoleToAccount.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/AssociateServiceRoleToAccountResponse.proto view
+ fixture/CreateCoreDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateCoreDefinitionResponse.proto view
+ fixture/CreateCoreDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateCoreDefinitionVersionResponse.proto view
+ fixture/CreateDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateDeploymentResponse.proto view
+ fixture/CreateDeviceDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateDeviceDefinitionResponse.proto view
+ fixture/CreateDeviceDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateDeviceDefinitionVersionResponse.proto view
+ fixture/CreateFunctionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateFunctionDefinitionResponse.proto view
+ fixture/CreateFunctionDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateFunctionDefinitionVersionResponse.proto view
+ fixture/CreateGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateGroupCertificateAuthority.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateGroupCertificateAuthorityResponse.proto view
+ fixture/CreateGroupResponse.proto view
+ fixture/CreateGroupVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateGroupVersionResponse.proto view
+ fixture/CreateLoggerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateLoggerDefinitionResponse.proto view
+ fixture/CreateLoggerDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateLoggerDefinitionVersionResponse.proto view
+ fixture/CreateSubscriptionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateSubscriptionDefinitionResponse.proto view
+ fixture/CreateSubscriptionDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/CreateSubscriptionDefinitionVersionResponse.proto view
+ fixture/DeleteCoreDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DeleteCoreDefinitionResponse.proto view
+ fixture/DeleteDeviceDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DeleteDeviceDefinitionResponse.proto view
+ fixture/DeleteFunctionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DeleteFunctionDefinitionResponse.proto view
+ fixture/DeleteGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DeleteGroupResponse.proto view
+ fixture/DeleteLoggerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DeleteLoggerDefinitionResponse.proto view
+ fixture/DeleteSubscriptionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DeleteSubscriptionDefinitionResponse.proto view
+ fixture/DisassociateRoleFromGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DisassociateRoleFromGroupResponse.proto view
+ fixture/DisassociateServiceRoleFromAccount.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/DisassociateServiceRoleFromAccountResponse.proto view
+ fixture/GetAssociatedRole.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetAssociatedRoleResponse.proto view
+ fixture/GetConnectivityInfo.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetConnectivityInfoResponse.proto view
+ fixture/GetCoreDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetCoreDefinitionResponse.proto view
+ fixture/GetCoreDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetCoreDefinitionVersionResponse.proto view
+ fixture/GetDeploymentStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetDeploymentStatusResponse.proto view
+ fixture/GetDeviceDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetDeviceDefinitionResponse.proto view
+ fixture/GetDeviceDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetDeviceDefinitionVersionResponse.proto view
+ fixture/GetFunctionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetFunctionDefinitionResponse.proto view
+ fixture/GetFunctionDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetFunctionDefinitionVersionResponse.proto view
+ fixture/GetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetGroupCertificateAuthority.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetGroupCertificateAuthorityResponse.proto view
+ fixture/GetGroupCertificateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetGroupCertificateConfigurationResponse.proto view
+ fixture/GetGroupResponse.proto view
+ fixture/GetGroupVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetGroupVersionResponse.proto view
+ fixture/GetLoggerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetLoggerDefinitionResponse.proto view
+ fixture/GetLoggerDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetLoggerDefinitionVersionResponse.proto view
+ fixture/GetServiceRoleForAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetServiceRoleForAccountResponse.proto view
+ fixture/GetSubscriptionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetSubscriptionDefinitionResponse.proto view
+ fixture/GetSubscriptionDefinitionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/GetSubscriptionDefinitionVersionResponse.proto view
+ fixture/ListCoreDefinitionVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListCoreDefinitionVersionsResponse.proto view
+ fixture/ListCoreDefinitions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListCoreDefinitionsResponse.proto view
+ fixture/ListDeployments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListDeploymentsResponse.proto view
+ fixture/ListDeviceDefinitionVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListDeviceDefinitionVersionsResponse.proto view
+ fixture/ListDeviceDefinitions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListDeviceDefinitionsResponse.proto view
+ fixture/ListFunctionDefinitionVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListFunctionDefinitionVersionsResponse.proto view
+ fixture/ListFunctionDefinitions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListFunctionDefinitionsResponse.proto view
+ fixture/ListGroupCertificateAuthorities.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListGroupCertificateAuthoritiesResponse.proto view
+ fixture/ListGroupVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListGroupVersionsResponse.proto view
+ fixture/ListGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListGroupsResponse.proto view
+ fixture/ListLoggerDefinitionVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListLoggerDefinitionVersionsResponse.proto view
+ fixture/ListLoggerDefinitions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListLoggerDefinitionsResponse.proto view
+ fixture/ListSubscriptionDefinitionVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListSubscriptionDefinitionVersionsResponse.proto view
+ fixture/ListSubscriptionDefinitions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ListSubscriptionDefinitionsResponse.proto view
+ fixture/ResetDeployments.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/ResetDeploymentsResponse.proto view
+ fixture/UpdateConnectivityInfo.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateConnectivityInfoResponse.proto view
+ fixture/UpdateCoreDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateCoreDefinitionResponse.proto view
+ fixture/UpdateDeviceDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateDeviceDefinitionResponse.proto view
+ fixture/UpdateFunctionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateFunctionDefinitionResponse.proto view
+ fixture/UpdateGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateGroupCertificateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateGroupCertificateConfigurationResponse.proto view
+ fixture/UpdateGroupResponse.proto view
+ fixture/UpdateLoggerDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateLoggerDefinitionResponse.proto view
+ fixture/UpdateSubscriptionDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/greengrass/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  greengrass.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/UpdateSubscriptionDefinitionResponse.proto view
+ gen/Network/AWS/Greengrass.hs view
@@ -0,0 +1,489 @@+{-# 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.Greengrass+-- 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 Greengrass seamlessly extends AWS onto physical devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS Greengrass ensures your devices can respond quickly to local events and operate with intermittent connectivity. AWS Greengrass minimizes the cost of transmitting data to the cloud by allowing you to author AWS Lambda functions that execute locally.+module Network.AWS.Greengrass+    (+    -- * Service Configuration+      greengrass++    -- * Errors+    -- $errors++    -- ** InternalServerErrorException+    , _InternalServerErrorException++    -- ** BadRequestException+    , _BadRequestException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** GetGroupCertificateConfiguration+    , module Network.AWS.Greengrass.GetGroupCertificateConfiguration++    -- ** ListGroupVersions+    , module Network.AWS.Greengrass.ListGroupVersions++    -- ** ListFunctionDefinitionVersions+    , module Network.AWS.Greengrass.ListFunctionDefinitionVersions++    -- ** ListDeviceDefinitions+    , module Network.AWS.Greengrass.ListDeviceDefinitions++    -- ** AssociateRoleToGroup+    , module Network.AWS.Greengrass.AssociateRoleToGroup++    -- ** UpdateCoreDefinition+    , module Network.AWS.Greengrass.UpdateCoreDefinition++    -- ** DeleteCoreDefinition+    , module Network.AWS.Greengrass.DeleteCoreDefinition++    -- ** GetLoggerDefinition+    , module Network.AWS.Greengrass.GetLoggerDefinition++    -- ** ListGroupCertificateAuthorities+    , module Network.AWS.Greengrass.ListGroupCertificateAuthorities++    -- ** DisassociateRoleFromGroup+    , module Network.AWS.Greengrass.DisassociateRoleFromGroup++    -- ** UpdateSubscriptionDefinition+    , module Network.AWS.Greengrass.UpdateSubscriptionDefinition++    -- ** DeleteSubscriptionDefinition+    , module Network.AWS.Greengrass.DeleteSubscriptionDefinition++    -- ** ListCoreDefinitions+    , module Network.AWS.Greengrass.ListCoreDefinitions++    -- ** ListSubscriptionDefinitions+    , module Network.AWS.Greengrass.ListSubscriptionDefinitions++    -- ** CreateGroupCertificateAuthority+    , module Network.AWS.Greengrass.CreateGroupCertificateAuthority++    -- ** CreateLoggerDefinitionVersion+    , module Network.AWS.Greengrass.CreateLoggerDefinitionVersion++    -- ** CreateCoreDefinition+    , module Network.AWS.Greengrass.CreateCoreDefinition++    -- ** UpdateConnectivityInfo+    , module Network.AWS.Greengrass.UpdateConnectivityInfo++    -- ** CreateSubscriptionDefinition+    , module Network.AWS.Greengrass.CreateSubscriptionDefinition++    -- ** GetGroupCertificateAuthority+    , module Network.AWS.Greengrass.GetGroupCertificateAuthority++    -- ** GetLoggerDefinitionVersion+    , module Network.AWS.Greengrass.GetLoggerDefinitionVersion++    -- ** GetServiceRoleForAccount+    , module Network.AWS.Greengrass.GetServiceRoleForAccount++    -- ** CreateLoggerDefinition+    , module Network.AWS.Greengrass.CreateLoggerDefinition++    -- ** GetConnectivityInfo+    , module Network.AWS.Greengrass.GetConnectivityInfo++    -- ** CreateDeployment+    , module Network.AWS.Greengrass.CreateDeployment++    -- ** DeleteLoggerDefinition+    , module Network.AWS.Greengrass.DeleteLoggerDefinition++    -- ** UpdateLoggerDefinition+    , module Network.AWS.Greengrass.UpdateLoggerDefinition++    -- ** GetSubscriptionDefinition+    , module Network.AWS.Greengrass.GetSubscriptionDefinition++    -- ** GetCoreDefinition+    , module Network.AWS.Greengrass.GetCoreDefinition++    -- ** GetDeploymentStatus+    , module Network.AWS.Greengrass.GetDeploymentStatus++    -- ** UpdateFunctionDefinition+    , module Network.AWS.Greengrass.UpdateFunctionDefinition++    -- ** DeleteFunctionDefinition+    , module Network.AWS.Greengrass.DeleteFunctionDefinition++    -- ** DisassociateServiceRoleFromAccount+    , module Network.AWS.Greengrass.DisassociateServiceRoleFromAccount++    -- ** DeleteDeviceDefinition+    , module Network.AWS.Greengrass.DeleteDeviceDefinition++    -- ** UpdateDeviceDefinition+    , module Network.AWS.Greengrass.UpdateDeviceDefinition++    -- ** AssociateServiceRoleToAccount+    , module Network.AWS.Greengrass.AssociateServiceRoleToAccount++    -- ** ResetDeployments+    , module Network.AWS.Greengrass.ResetDeployments++    -- ** GetSubscriptionDefinitionVersion+    , module Network.AWS.Greengrass.GetSubscriptionDefinitionVersion++    -- ** GetAssociatedRole+    , module Network.AWS.Greengrass.GetAssociatedRole++    -- ** ListLoggerDefinitionVersions+    , module Network.AWS.Greengrass.ListLoggerDefinitionVersions++    -- ** GetCoreDefinitionVersion+    , module Network.AWS.Greengrass.GetCoreDefinitionVersion++    -- ** ListSubscriptionDefinitionVersions+    , module Network.AWS.Greengrass.ListSubscriptionDefinitionVersions++    -- ** ListCoreDefinitionVersions+    , module Network.AWS.Greengrass.ListCoreDefinitionVersions++    -- ** CreateCoreDefinitionVersion+    , module Network.AWS.Greengrass.CreateCoreDefinitionVersion++    -- ** ListDeployments+    , module Network.AWS.Greengrass.ListDeployments++    -- ** ListLoggerDefinitions+    , module Network.AWS.Greengrass.ListLoggerDefinitions++    -- ** CreateSubscriptionDefinitionVersion+    , module Network.AWS.Greengrass.CreateSubscriptionDefinitionVersion++    -- ** GetGroupVersion+    , module Network.AWS.Greengrass.GetGroupVersion++    -- ** UpdateGroupCertificateConfiguration+    , module Network.AWS.Greengrass.UpdateGroupCertificateConfiguration++    -- ** GetFunctionDefinitionVersion+    , module Network.AWS.Greengrass.GetFunctionDefinitionVersion++    -- ** GetDeviceDefinition+    , module Network.AWS.Greengrass.GetDeviceDefinition++    -- ** CreateGroup+    , module Network.AWS.Greengrass.CreateGroup++    -- ** CreateFunctionDefinition+    , module Network.AWS.Greengrass.CreateFunctionDefinition++    -- ** CreateDeviceDefinitionVersion+    , module Network.AWS.Greengrass.CreateDeviceDefinitionVersion++    -- ** DeleteGroup+    , module Network.AWS.Greengrass.DeleteGroup++    -- ** UpdateGroup+    , module Network.AWS.Greengrass.UpdateGroup++    -- ** ListGroups+    , module Network.AWS.Greengrass.ListGroups++    -- ** ListDeviceDefinitionVersions+    , module Network.AWS.Greengrass.ListDeviceDefinitionVersions++    -- ** ListFunctionDefinitions+    , module Network.AWS.Greengrass.ListFunctionDefinitions++    -- ** GetFunctionDefinition+    , module Network.AWS.Greengrass.GetFunctionDefinition++    -- ** GetGroup+    , module Network.AWS.Greengrass.GetGroup++    -- ** CreateDeviceDefinition+    , module Network.AWS.Greengrass.CreateDeviceDefinition++    -- ** CreateGroupVersion+    , module Network.AWS.Greengrass.CreateGroupVersion++    -- ** CreateFunctionDefinitionVersion+    , module Network.AWS.Greengrass.CreateFunctionDefinitionVersion++    -- ** GetDeviceDefinitionVersion+    , module Network.AWS.Greengrass.GetDeviceDefinitionVersion++    -- * Types++    -- ** DeploymentType+    , DeploymentType (..)++    -- ** LoggerComponent+    , LoggerComponent (..)++    -- ** LoggerLevel+    , LoggerLevel (..)++    -- ** LoggerType+    , LoggerType (..)++    -- ** ConnectivityInfo+    , ConnectivityInfo+    , connectivityInfo+    , ciPortNumber+    , ciId+    , ciMetadata+    , ciHostAddress++    -- ** Core+    , Core+    , core+    , cCertificateARN+    , cThingARN+    , cSyncShadow+    , cId++    -- ** CoreDefinitionVersion+    , CoreDefinitionVersion+    , coreDefinitionVersion+    , cdvCores++    -- ** DefinitionInformation+    , DefinitionInformation+    , definitionInformation+    , diLatestVersionARN+    , diARN+    , diName+    , diCreationTimestamp+    , diId+    , diLatestVersion+    , diLastUpdatedTimestamp++    -- ** Deployment+    , Deployment+    , deployment+    , dDeploymentId+    , dDeploymentARN+    , dCreatedAt+    , dDeploymentType+    , dGroupARN++    -- ** Device+    , Device+    , device+    , dCertificateARN+    , dThingARN+    , dSyncShadow+    , dId++    -- ** DeviceDefinitionVersion+    , DeviceDefinitionVersion+    , deviceDefinitionVersion+    , ddvDevices++    -- ** ErrorDetail+    , ErrorDetail+    , errorDetail+    , edDetailedErrorCode+    , edDetailedErrorMessage++    -- ** Function+    , Function+    , function+    , fFunctionARN+    , fFunctionConfiguration+    , fId++    -- ** FunctionConfiguration+    , FunctionConfiguration+    , functionConfiguration+    , fcMemorySize+    , fcExecArgs+    , fcEnvironment+    , fcExecutable+    , fcPinned+    , fcTimeout++    -- ** FunctionConfigurationEnvironment+    , FunctionConfigurationEnvironment+    , functionConfigurationEnvironment+    , fceVariables++    -- ** FunctionDefinitionVersion+    , FunctionDefinitionVersion+    , functionDefinitionVersion+    , fdvFunctions++    -- ** GreengrassLogger+    , GreengrassLogger+    , greengrassLogger+    , glSpace+    , glComponent+    , glId+    , glType+    , glLevel++    -- ** GroupCertificateAuthorityProperties+    , GroupCertificateAuthorityProperties+    , groupCertificateAuthorityProperties+    , gcapGroupCertificateAuthorityARN+    , gcapGroupCertificateAuthorityId++    -- ** GroupInformation+    , GroupInformation+    , groupInformation+    , giLatestVersionARN+    , giARN+    , giName+    , giCreationTimestamp+    , giId+    , giLatestVersion+    , giLastUpdatedTimestamp++    -- ** GroupVersion+    , GroupVersion+    , groupVersion+    , gvSubscriptionDefinitionVersionARN+    , gvCoreDefinitionVersionARN+    , gvDeviceDefinitionVersionARN+    , gvFunctionDefinitionVersionARN+    , gvLoggerDefinitionVersionARN++    -- ** LoggerDefinitionVersion+    , LoggerDefinitionVersion+    , loggerDefinitionVersion+    , ldvLoggers++    -- ** Subscription+    , Subscription+    , subscription+    , sSubject+    , sSource+    , sId+    , sTarget++    -- ** SubscriptionDefinitionVersion+    , SubscriptionDefinitionVersion+    , subscriptionDefinitionVersion+    , sdvSubscriptions++    -- ** VersionInformation+    , VersionInformation+    , versionInformation+    , viARN+    , viCreationTimestamp+    , viVersion+    , viId+    ) where++import Network.AWS.Greengrass.AssociateRoleToGroup+import Network.AWS.Greengrass.AssociateServiceRoleToAccount+import Network.AWS.Greengrass.CreateCoreDefinition+import Network.AWS.Greengrass.CreateCoreDefinitionVersion+import Network.AWS.Greengrass.CreateDeployment+import Network.AWS.Greengrass.CreateDeviceDefinition+import Network.AWS.Greengrass.CreateDeviceDefinitionVersion+import Network.AWS.Greengrass.CreateFunctionDefinition+import Network.AWS.Greengrass.CreateFunctionDefinitionVersion+import Network.AWS.Greengrass.CreateGroup+import Network.AWS.Greengrass.CreateGroupCertificateAuthority+import Network.AWS.Greengrass.CreateGroupVersion+import Network.AWS.Greengrass.CreateLoggerDefinition+import Network.AWS.Greengrass.CreateLoggerDefinitionVersion+import Network.AWS.Greengrass.CreateSubscriptionDefinition+import Network.AWS.Greengrass.CreateSubscriptionDefinitionVersion+import Network.AWS.Greengrass.DeleteCoreDefinition+import Network.AWS.Greengrass.DeleteDeviceDefinition+import Network.AWS.Greengrass.DeleteFunctionDefinition+import Network.AWS.Greengrass.DeleteGroup+import Network.AWS.Greengrass.DeleteLoggerDefinition+import Network.AWS.Greengrass.DeleteSubscriptionDefinition+import Network.AWS.Greengrass.DisassociateRoleFromGroup+import Network.AWS.Greengrass.DisassociateServiceRoleFromAccount+import Network.AWS.Greengrass.GetAssociatedRole+import Network.AWS.Greengrass.GetConnectivityInfo+import Network.AWS.Greengrass.GetCoreDefinition+import Network.AWS.Greengrass.GetCoreDefinitionVersion+import Network.AWS.Greengrass.GetDeploymentStatus+import Network.AWS.Greengrass.GetDeviceDefinition+import Network.AWS.Greengrass.GetDeviceDefinitionVersion+import Network.AWS.Greengrass.GetFunctionDefinition+import Network.AWS.Greengrass.GetFunctionDefinitionVersion+import Network.AWS.Greengrass.GetGroup+import Network.AWS.Greengrass.GetGroupCertificateAuthority+import Network.AWS.Greengrass.GetGroupCertificateConfiguration+import Network.AWS.Greengrass.GetGroupVersion+import Network.AWS.Greengrass.GetLoggerDefinition+import Network.AWS.Greengrass.GetLoggerDefinitionVersion+import Network.AWS.Greengrass.GetServiceRoleForAccount+import Network.AWS.Greengrass.GetSubscriptionDefinition+import Network.AWS.Greengrass.GetSubscriptionDefinitionVersion+import Network.AWS.Greengrass.ListCoreDefinitions+import Network.AWS.Greengrass.ListCoreDefinitionVersions+import Network.AWS.Greengrass.ListDeployments+import Network.AWS.Greengrass.ListDeviceDefinitions+import Network.AWS.Greengrass.ListDeviceDefinitionVersions+import Network.AWS.Greengrass.ListFunctionDefinitions+import Network.AWS.Greengrass.ListFunctionDefinitionVersions+import Network.AWS.Greengrass.ListGroupCertificateAuthorities+import Network.AWS.Greengrass.ListGroups+import Network.AWS.Greengrass.ListGroupVersions+import Network.AWS.Greengrass.ListLoggerDefinitions+import Network.AWS.Greengrass.ListLoggerDefinitionVersions+import Network.AWS.Greengrass.ListSubscriptionDefinitions+import Network.AWS.Greengrass.ListSubscriptionDefinitionVersions+import Network.AWS.Greengrass.ResetDeployments+import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.UpdateConnectivityInfo+import Network.AWS.Greengrass.UpdateCoreDefinition+import Network.AWS.Greengrass.UpdateDeviceDefinition+import Network.AWS.Greengrass.UpdateFunctionDefinition+import Network.AWS.Greengrass.UpdateGroup+import Network.AWS.Greengrass.UpdateGroupCertificateConfiguration+import Network.AWS.Greengrass.UpdateLoggerDefinition+import Network.AWS.Greengrass.UpdateSubscriptionDefinition+import Network.AWS.Greengrass.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 'Greengrass'.+-}++{- $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/Greengrass/AssociateRoleToGroup.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.AssociateRoleToGroup+-- 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)+--+-- Associates a role with a group. The role will be used by the AWS Greengrass core in order to access AWS cloud services. The role's permissions will allow Greengrass core Lambda functions to perform actions against the cloud.+module Network.AWS.Greengrass.AssociateRoleToGroup+    (+    -- * Creating a Request+      associateRoleToGroup+    , AssociateRoleToGroup+    -- * Request Lenses+    , artgRoleARN+    , artgGroupId++    -- * Destructuring the Response+    , associateRoleToGroupResponse+    , AssociateRoleToGroupResponse+    -- * Response Lenses+    , artgrsAssociatedAt+    , artgrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'associateRoleToGroup' smart constructor.+data AssociateRoleToGroup = AssociateRoleToGroup'+  { _artgRoleARN :: !(Maybe Text)+  , _artgGroupId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociateRoleToGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'artgRoleARN' - Role arn you wish to associate with this group.+--+-- * 'artgGroupId' - The unique Id of the AWS Greengrass Group+associateRoleToGroup+    :: Text -- ^ 'artgGroupId'+    -> AssociateRoleToGroup+associateRoleToGroup pGroupId_ =+  AssociateRoleToGroup' {_artgRoleARN = Nothing, _artgGroupId = pGroupId_}+++-- | Role arn you wish to associate with this group.+artgRoleARN :: Lens' AssociateRoleToGroup (Maybe Text)+artgRoleARN = lens _artgRoleARN (\ s a -> s{_artgRoleARN = a});++-- | The unique Id of the AWS Greengrass Group+artgGroupId :: Lens' AssociateRoleToGroup Text+artgGroupId = lens _artgGroupId (\ s a -> s{_artgGroupId = a});++instance AWSRequest AssociateRoleToGroup where+        type Rs AssociateRoleToGroup =+             AssociateRoleToGroupResponse+        request = putJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 AssociateRoleToGroupResponse' <$>+                   (x .?> "AssociatedAt") <*> (pure (fromEnum s)))++instance Hashable AssociateRoleToGroup where++instance NFData AssociateRoleToGroup where++instance ToHeaders AssociateRoleToGroup where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AssociateRoleToGroup where+        toJSON AssociateRoleToGroup'{..}+          = object+              (catMaybes [("RoleArn" .=) <$> _artgRoleARN])++instance ToPath AssociateRoleToGroup where+        toPath AssociateRoleToGroup'{..}+          = mconcat+              ["/greengrass/groups/", toBS _artgGroupId, "/role"]++instance ToQuery AssociateRoleToGroup where+        toQuery = const mempty++-- | /See:/ 'associateRoleToGroupResponse' smart constructor.+data AssociateRoleToGroupResponse = AssociateRoleToGroupResponse'+  { _artgrsAssociatedAt   :: !(Maybe Text)+  , _artgrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociateRoleToGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'artgrsAssociatedAt' - Time the role arn was associated to your group.+--+-- * 'artgrsResponseStatus' - -- | The response status code.+associateRoleToGroupResponse+    :: Int -- ^ 'artgrsResponseStatus'+    -> AssociateRoleToGroupResponse+associateRoleToGroupResponse pResponseStatus_ =+  AssociateRoleToGroupResponse'+  {_artgrsAssociatedAt = Nothing, _artgrsResponseStatus = pResponseStatus_}+++-- | Time the role arn was associated to your group.+artgrsAssociatedAt :: Lens' AssociateRoleToGroupResponse (Maybe Text)+artgrsAssociatedAt = lens _artgrsAssociatedAt (\ s a -> s{_artgrsAssociatedAt = a});++-- | -- | The response status code.+artgrsResponseStatus :: Lens' AssociateRoleToGroupResponse Int+artgrsResponseStatus = lens _artgrsResponseStatus (\ s a -> s{_artgrsResponseStatus = a});++instance NFData AssociateRoleToGroupResponse where
+ gen/Network/AWS/Greengrass/AssociateServiceRoleToAccount.hs view
@@ -0,0 +1,131 @@+{-# 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.Greengrass.AssociateServiceRoleToAccount+-- 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)+--+-- Associates a role which is used by AWS Greengrass. AWS Greengrass uses the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. It needs to have minimum permissions in policy ``AWSGreengrassResourceAccessRolePolicy``+module Network.AWS.Greengrass.AssociateServiceRoleToAccount+    (+    -- * Creating a Request+      associateServiceRoleToAccount+    , AssociateServiceRoleToAccount+    -- * Request Lenses+    , asrtaRoleARN++    -- * Destructuring the Response+    , associateServiceRoleToAccountResponse+    , AssociateServiceRoleToAccountResponse+    -- * Response Lenses+    , asrtarsAssociatedAt+    , asrtarsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'associateServiceRoleToAccount' smart constructor.+newtype AssociateServiceRoleToAccount = AssociateServiceRoleToAccount'+  { _asrtaRoleARN :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociateServiceRoleToAccount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asrtaRoleARN' - Role arn you wish to associate with this account.+associateServiceRoleToAccount+    :: AssociateServiceRoleToAccount+associateServiceRoleToAccount =+  AssociateServiceRoleToAccount' {_asrtaRoleARN = Nothing}+++-- | Role arn you wish to associate with this account.+asrtaRoleARN :: Lens' AssociateServiceRoleToAccount (Maybe Text)+asrtaRoleARN = lens _asrtaRoleARN (\ s a -> s{_asrtaRoleARN = a});++instance AWSRequest AssociateServiceRoleToAccount+         where+        type Rs AssociateServiceRoleToAccount =+             AssociateServiceRoleToAccountResponse+        request = putJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 AssociateServiceRoleToAccountResponse' <$>+                   (x .?> "AssociatedAt") <*> (pure (fromEnum s)))++instance Hashable AssociateServiceRoleToAccount where++instance NFData AssociateServiceRoleToAccount where++instance ToHeaders AssociateServiceRoleToAccount+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON AssociateServiceRoleToAccount where+        toJSON AssociateServiceRoleToAccount'{..}+          = object+              (catMaybes [("RoleArn" .=) <$> _asrtaRoleARN])++instance ToPath AssociateServiceRoleToAccount where+        toPath = const "/greengrass/servicerole"++instance ToQuery AssociateServiceRoleToAccount where+        toQuery = const mempty++-- | /See:/ 'associateServiceRoleToAccountResponse' smart constructor.+data AssociateServiceRoleToAccountResponse = AssociateServiceRoleToAccountResponse'+  { _asrtarsAssociatedAt   :: !(Maybe Text)+  , _asrtarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AssociateServiceRoleToAccountResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asrtarsAssociatedAt' - Time when the service role was associated to the account.+--+-- * 'asrtarsResponseStatus' - -- | The response status code.+associateServiceRoleToAccountResponse+    :: Int -- ^ 'asrtarsResponseStatus'+    -> AssociateServiceRoleToAccountResponse+associateServiceRoleToAccountResponse pResponseStatus_ =+  AssociateServiceRoleToAccountResponse'+  {_asrtarsAssociatedAt = Nothing, _asrtarsResponseStatus = pResponseStatus_}+++-- | Time when the service role was associated to the account.+asrtarsAssociatedAt :: Lens' AssociateServiceRoleToAccountResponse (Maybe Text)+asrtarsAssociatedAt = lens _asrtarsAssociatedAt (\ s a -> s{_asrtarsAssociatedAt = a});++-- | -- | The response status code.+asrtarsResponseStatus :: Lens' AssociateServiceRoleToAccountResponse Int+asrtarsResponseStatus = lens _asrtarsResponseStatus (\ s a -> s{_asrtarsResponseStatus = a});++instance NFData AssociateServiceRoleToAccountResponse+         where
+ gen/Network/AWS/Greengrass/CreateCoreDefinition.hs view
@@ -0,0 +1,214 @@+{-# 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.Greengrass.CreateCoreDefinition+-- 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 a core definition. You may optionally provide the initial version of the core definition or use ''CreateCoreDefinitionVersion'' at a later time. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core.+module Network.AWS.Greengrass.CreateCoreDefinition+    (+    -- * Creating a Request+      createCoreDefinition+    , CreateCoreDefinition+    -- * Request Lenses+    , ccdAmznClientToken+    , ccdInitialVersion+    , ccdName++    -- * Destructuring the Response+    , createCoreDefinitionResponse+    , CreateCoreDefinitionResponse+    -- * Response Lenses+    , ccdrsLatestVersionARN+    , ccdrsARN+    , ccdrsName+    , ccdrsCreationTimestamp+    , ccdrsId+    , ccdrsLatestVersion+    , ccdrsLastUpdatedTimestamp+    , ccdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Information on the core definition request+--+-- /See:/ 'createCoreDefinition' smart constructor.+data CreateCoreDefinition = CreateCoreDefinition'+  { _ccdAmznClientToken :: !(Maybe Text)+  , _ccdInitialVersion  :: !(Maybe CoreDefinitionVersion)+  , _ccdName            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateCoreDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccdAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'ccdInitialVersion' - Information on the initial version+--+-- * 'ccdName' - name of the core definition+createCoreDefinition+    :: CreateCoreDefinition+createCoreDefinition =+  CreateCoreDefinition'+  { _ccdAmznClientToken = Nothing+  , _ccdInitialVersion = Nothing+  , _ccdName = Nothing+  }+++-- | The client token used to request idempotent operations.+ccdAmznClientToken :: Lens' CreateCoreDefinition (Maybe Text)+ccdAmznClientToken = lens _ccdAmznClientToken (\ s a -> s{_ccdAmznClientToken = a});++-- | Information on the initial version+ccdInitialVersion :: Lens' CreateCoreDefinition (Maybe CoreDefinitionVersion)+ccdInitialVersion = lens _ccdInitialVersion (\ s a -> s{_ccdInitialVersion = a});++-- | name of the core definition+ccdName :: Lens' CreateCoreDefinition (Maybe Text)+ccdName = lens _ccdName (\ s a -> s{_ccdName = a});++instance AWSRequest CreateCoreDefinition where+        type Rs CreateCoreDefinition =+             CreateCoreDefinitionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateCoreDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable CreateCoreDefinition where++instance NFData CreateCoreDefinition where++instance ToHeaders CreateCoreDefinition where+        toHeaders CreateCoreDefinition'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _ccdAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateCoreDefinition where+        toJSON CreateCoreDefinition'{..}+          = object+              (catMaybes+                 [("InitialVersion" .=) <$> _ccdInitialVersion,+                  ("Name" .=) <$> _ccdName])++instance ToPath CreateCoreDefinition where+        toPath = const "/greengrass/definition/cores"++instance ToQuery CreateCoreDefinition where+        toQuery = const mempty++-- | /See:/ 'createCoreDefinitionResponse' smart constructor.+data CreateCoreDefinitionResponse = CreateCoreDefinitionResponse'+  { _ccdrsLatestVersionARN     :: !(Maybe Text)+  , _ccdrsARN                  :: !(Maybe Text)+  , _ccdrsName                 :: !(Maybe Text)+  , _ccdrsCreationTimestamp    :: !(Maybe Text)+  , _ccdrsId                   :: !(Maybe Text)+  , _ccdrsLatestVersion        :: !(Maybe Text)+  , _ccdrsLastUpdatedTimestamp :: !(Maybe Text)+  , _ccdrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateCoreDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccdrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'ccdrsARN' - Arn of the definition.+--+-- * 'ccdrsName' - Name of the definition.+--+-- * 'ccdrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'ccdrsId' - Id of the definition.+--+-- * 'ccdrsLatestVersion' - Last version of the definition.+--+-- * 'ccdrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'ccdrsResponseStatus' - -- | The response status code.+createCoreDefinitionResponse+    :: Int -- ^ 'ccdrsResponseStatus'+    -> CreateCoreDefinitionResponse+createCoreDefinitionResponse pResponseStatus_ =+  CreateCoreDefinitionResponse'+  { _ccdrsLatestVersionARN = Nothing+  , _ccdrsARN = Nothing+  , _ccdrsName = Nothing+  , _ccdrsCreationTimestamp = Nothing+  , _ccdrsId = Nothing+  , _ccdrsLatestVersion = Nothing+  , _ccdrsLastUpdatedTimestamp = Nothing+  , _ccdrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+ccdrsLatestVersionARN :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsLatestVersionARN = lens _ccdrsLatestVersionARN (\ s a -> s{_ccdrsLatestVersionARN = a});++-- | Arn of the definition.+ccdrsARN :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsARN = lens _ccdrsARN (\ s a -> s{_ccdrsARN = a});++-- | Name of the definition.+ccdrsName :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsName = lens _ccdrsName (\ s a -> s{_ccdrsName = a});++-- | Timestamp of when the definition was created.+ccdrsCreationTimestamp :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsCreationTimestamp = lens _ccdrsCreationTimestamp (\ s a -> s{_ccdrsCreationTimestamp = a});++-- | Id of the definition.+ccdrsId :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsId = lens _ccdrsId (\ s a -> s{_ccdrsId = a});++-- | Last version of the definition.+ccdrsLatestVersion :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsLatestVersion = lens _ccdrsLatestVersion (\ s a -> s{_ccdrsLatestVersion = a});++-- | Last updated timestamp of the definition.+ccdrsLastUpdatedTimestamp :: Lens' CreateCoreDefinitionResponse (Maybe Text)+ccdrsLastUpdatedTimestamp = lens _ccdrsLastUpdatedTimestamp (\ s a -> s{_ccdrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+ccdrsResponseStatus :: Lens' CreateCoreDefinitionResponse Int+ccdrsResponseStatus = lens _ccdrsResponseStatus (\ s a -> s{_ccdrsResponseStatus = a});++instance NFData CreateCoreDefinitionResponse where
+ gen/Network/AWS/Greengrass/CreateCoreDefinitionVersion.hs view
@@ -0,0 +1,184 @@+{-# 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.Greengrass.CreateCoreDefinitionVersion+-- 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 a version of a core definition that has already been defined. AWS Greengrass Groups must each contain exactly 1 AWS Greengrass Core.+module Network.AWS.Greengrass.CreateCoreDefinitionVersion+    (+    -- * Creating a Request+      createCoreDefinitionVersion+    , CreateCoreDefinitionVersion+    -- * Request Lenses+    , ccdvAmznClientToken+    , ccdvCores+    , ccdvCoreDefinitionId++    -- * Destructuring the Response+    , createCoreDefinitionVersionResponse+    , CreateCoreDefinitionVersionResponse+    -- * Response Lenses+    , ccdvrsARN+    , ccdvrsCreationTimestamp+    , ccdvrsVersion+    , ccdvrsId+    , ccdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createCoreDefinitionVersion' smart constructor.+data CreateCoreDefinitionVersion = CreateCoreDefinitionVersion'+  { _ccdvAmznClientToken  :: !(Maybe Text)+  , _ccdvCores            :: !(Maybe [Core])+  , _ccdvCoreDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateCoreDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccdvAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'ccdvCores' - Cores in the definition version.+--+-- * 'ccdvCoreDefinitionId' - core definition Id+createCoreDefinitionVersion+    :: Text -- ^ 'ccdvCoreDefinitionId'+    -> CreateCoreDefinitionVersion+createCoreDefinitionVersion pCoreDefinitionId_ =+  CreateCoreDefinitionVersion'+  { _ccdvAmznClientToken = Nothing+  , _ccdvCores = Nothing+  , _ccdvCoreDefinitionId = pCoreDefinitionId_+  }+++-- | The client token used to request idempotent operations.+ccdvAmznClientToken :: Lens' CreateCoreDefinitionVersion (Maybe Text)+ccdvAmznClientToken = lens _ccdvAmznClientToken (\ s a -> s{_ccdvAmznClientToken = a});++-- | Cores in the definition version.+ccdvCores :: Lens' CreateCoreDefinitionVersion [Core]+ccdvCores = lens _ccdvCores (\ s a -> s{_ccdvCores = a}) . _Default . _Coerce;++-- | core definition Id+ccdvCoreDefinitionId :: Lens' CreateCoreDefinitionVersion Text+ccdvCoreDefinitionId = lens _ccdvCoreDefinitionId (\ s a -> s{_ccdvCoreDefinitionId = a});++instance AWSRequest CreateCoreDefinitionVersion where+        type Rs CreateCoreDefinitionVersion =+             CreateCoreDefinitionVersionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateCoreDefinitionVersionResponse' <$>+                   (x .?> "Arn") <*> (x .?> "CreationTimestamp") <*>+                     (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable CreateCoreDefinitionVersion where++instance NFData CreateCoreDefinitionVersion where++instance ToHeaders CreateCoreDefinitionVersion where+        toHeaders CreateCoreDefinitionVersion'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _ccdvAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateCoreDefinitionVersion where+        toJSON CreateCoreDefinitionVersion'{..}+          = object (catMaybes [("Cores" .=) <$> _ccdvCores])++instance ToPath CreateCoreDefinitionVersion where+        toPath CreateCoreDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/cores/",+               toBS _ccdvCoreDefinitionId, "/versions"]++instance ToQuery CreateCoreDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'createCoreDefinitionVersionResponse' smart constructor.+data CreateCoreDefinitionVersionResponse = CreateCoreDefinitionVersionResponse'+  { _ccdvrsARN               :: !(Maybe Text)+  , _ccdvrsCreationTimestamp :: !(Maybe Text)+  , _ccdvrsVersion           :: !(Maybe Text)+  , _ccdvrsId                :: !(Maybe Text)+  , _ccdvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateCoreDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccdvrsARN' - Arn of the version.+--+-- * 'ccdvrsCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'ccdvrsVersion' - Unique Id of a version.+--+-- * 'ccdvrsId' - Id of the resource container.+--+-- * 'ccdvrsResponseStatus' - -- | The response status code.+createCoreDefinitionVersionResponse+    :: Int -- ^ 'ccdvrsResponseStatus'+    -> CreateCoreDefinitionVersionResponse+createCoreDefinitionVersionResponse pResponseStatus_ =+  CreateCoreDefinitionVersionResponse'+  { _ccdvrsARN = Nothing+  , _ccdvrsCreationTimestamp = Nothing+  , _ccdvrsVersion = Nothing+  , _ccdvrsId = Nothing+  , _ccdvrsResponseStatus = pResponseStatus_+  }+++-- | Arn of the version.+ccdvrsARN :: Lens' CreateCoreDefinitionVersionResponse (Maybe Text)+ccdvrsARN = lens _ccdvrsARN (\ s a -> s{_ccdvrsARN = a});++-- | Timestamp of when the version was created.+ccdvrsCreationTimestamp :: Lens' CreateCoreDefinitionVersionResponse (Maybe Text)+ccdvrsCreationTimestamp = lens _ccdvrsCreationTimestamp (\ s a -> s{_ccdvrsCreationTimestamp = a});++-- | Unique Id of a version.+ccdvrsVersion :: Lens' CreateCoreDefinitionVersionResponse (Maybe Text)+ccdvrsVersion = lens _ccdvrsVersion (\ s a -> s{_ccdvrsVersion = a});++-- | Id of the resource container.+ccdvrsId :: Lens' CreateCoreDefinitionVersionResponse (Maybe Text)+ccdvrsId = lens _ccdvrsId (\ s a -> s{_ccdvrsId = a});++-- | -- | The response status code.+ccdvrsResponseStatus :: Lens' CreateCoreDefinitionVersionResponse Int+ccdvrsResponseStatus = lens _ccdvrsResponseStatus (\ s a -> s{_ccdvrsResponseStatus = a});++instance NFData CreateCoreDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/CreateDeployment.hs view
@@ -0,0 +1,184 @@+{-# 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.Greengrass.CreateDeployment+-- 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 a deployment.+module Network.AWS.Greengrass.CreateDeployment+    (+    -- * Creating a Request+      createDeployment+    , CreateDeployment+    -- * Request Lenses+    , cdDeploymentId+    , cdAmznClientToken+    , cdDeploymentType+    , cdGroupVersionId+    , cdGroupId++    -- * Destructuring the Response+    , createDeploymentResponse+    , CreateDeploymentResponse+    -- * Response Lenses+    , cdrsDeploymentId+    , cdrsDeploymentARN+    , cdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDeployment' smart constructor.+data CreateDeployment = CreateDeployment'+  { _cdDeploymentId    :: !(Maybe Text)+  , _cdAmznClientToken :: !(Maybe Text)+  , _cdDeploymentType  :: !(Maybe DeploymentType)+  , _cdGroupVersionId  :: !(Maybe Text)+  , _cdGroupId         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDeployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdDeploymentId' - Id of the deployment if you wish to redeploy a previous deployment.+--+-- * 'cdAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cdDeploymentType' - Type of deployment. When used in CreateDeployment, only NewDeployment and Redeployment are valid.+--+-- * 'cdGroupVersionId' - Group Version you wish to deploy.+--+-- * 'cdGroupId' - The unique Id of the AWS Greengrass Group+createDeployment+    :: Text -- ^ 'cdGroupId'+    -> CreateDeployment+createDeployment pGroupId_ =+  CreateDeployment'+  { _cdDeploymentId = Nothing+  , _cdAmznClientToken = Nothing+  , _cdDeploymentType = Nothing+  , _cdGroupVersionId = Nothing+  , _cdGroupId = pGroupId_+  }+++-- | Id of the deployment if you wish to redeploy a previous deployment.+cdDeploymentId :: Lens' CreateDeployment (Maybe Text)+cdDeploymentId = lens _cdDeploymentId (\ s a -> s{_cdDeploymentId = a});++-- | The client token used to request idempotent operations.+cdAmznClientToken :: Lens' CreateDeployment (Maybe Text)+cdAmznClientToken = lens _cdAmznClientToken (\ s a -> s{_cdAmznClientToken = a});++-- | Type of deployment. When used in CreateDeployment, only NewDeployment and Redeployment are valid.+cdDeploymentType :: Lens' CreateDeployment (Maybe DeploymentType)+cdDeploymentType = lens _cdDeploymentType (\ s a -> s{_cdDeploymentType = a});++-- | Group Version you wish to deploy.+cdGroupVersionId :: Lens' CreateDeployment (Maybe Text)+cdGroupVersionId = lens _cdGroupVersionId (\ s a -> s{_cdGroupVersionId = a});++-- | The unique Id of the AWS Greengrass Group+cdGroupId :: Lens' CreateDeployment Text+cdGroupId = lens _cdGroupId (\ s a -> s{_cdGroupId = a});++instance AWSRequest CreateDeployment where+        type Rs CreateDeployment = CreateDeploymentResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateDeploymentResponse' <$>+                   (x .?> "DeploymentId") <*> (x .?> "DeploymentArn")+                     <*> (pure (fromEnum s)))++instance Hashable CreateDeployment where++instance NFData CreateDeployment where++instance ToHeaders CreateDeployment where+        toHeaders CreateDeployment'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cdAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateDeployment where+        toJSON CreateDeployment'{..}+          = object+              (catMaybes+                 [("DeploymentId" .=) <$> _cdDeploymentId,+                  ("DeploymentType" .=) <$> _cdDeploymentType,+                  ("GroupVersionId" .=) <$> _cdGroupVersionId])++instance ToPath CreateDeployment where+        toPath CreateDeployment'{..}+          = mconcat+              ["/greengrass/groups/", toBS _cdGroupId,+               "/deployments"]++instance ToQuery CreateDeployment where+        toQuery = const mempty++-- | /See:/ 'createDeploymentResponse' smart constructor.+data CreateDeploymentResponse = CreateDeploymentResponse'+  { _cdrsDeploymentId   :: !(Maybe Text)+  , _cdrsDeploymentARN  :: !(Maybe Text)+  , _cdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDeploymentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrsDeploymentId' - The id of the deployment.+--+-- * 'cdrsDeploymentARN' - The arn of the deployment.+--+-- * 'cdrsResponseStatus' - -- | The response status code.+createDeploymentResponse+    :: Int -- ^ 'cdrsResponseStatus'+    -> CreateDeploymentResponse+createDeploymentResponse pResponseStatus_ =+  CreateDeploymentResponse'+  { _cdrsDeploymentId = Nothing+  , _cdrsDeploymentARN = Nothing+  , _cdrsResponseStatus = pResponseStatus_+  }+++-- | The id of the deployment.+cdrsDeploymentId :: Lens' CreateDeploymentResponse (Maybe Text)+cdrsDeploymentId = lens _cdrsDeploymentId (\ s a -> s{_cdrsDeploymentId = a});++-- | The arn of the deployment.+cdrsDeploymentARN :: Lens' CreateDeploymentResponse (Maybe Text)+cdrsDeploymentARN = lens _cdrsDeploymentARN (\ s a -> s{_cdrsDeploymentARN = a});++-- | -- | The response status code.+cdrsResponseStatus :: Lens' CreateDeploymentResponse Int+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});++instance NFData CreateDeploymentResponse where
+ gen/Network/AWS/Greengrass/CreateDeviceDefinition.hs view
@@ -0,0 +1,212 @@+{-# 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.Greengrass.CreateDeviceDefinition+-- 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 a device definition. You may optinally provide the initial version of the device definition or use ``CreateDeviceDefinitionVersion`` at a later time.+module Network.AWS.Greengrass.CreateDeviceDefinition+    (+    -- * Creating a Request+      createDeviceDefinition+    , CreateDeviceDefinition+    -- * Request Lenses+    , cddAmznClientToken+    , cddInitialVersion+    , cddName++    -- * Destructuring the Response+    , createDeviceDefinitionResponse+    , CreateDeviceDefinitionResponse+    -- * Response Lenses+    , cddrsLatestVersionARN+    , cddrsARN+    , cddrsName+    , cddrsCreationTimestamp+    , cddrsId+    , cddrsLatestVersion+    , cddrsLastUpdatedTimestamp+    , cddrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDeviceDefinition' smart constructor.+data CreateDeviceDefinition = CreateDeviceDefinition'+  { _cddAmznClientToken :: !(Maybe Text)+  , _cddInitialVersion  :: !(Maybe DeviceDefinitionVersion)+  , _cddName            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDeviceDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cddAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cddInitialVersion' - Information on the initial version+--+-- * 'cddName' - name of the device definition+createDeviceDefinition+    :: CreateDeviceDefinition+createDeviceDefinition =+  CreateDeviceDefinition'+  { _cddAmznClientToken = Nothing+  , _cddInitialVersion = Nothing+  , _cddName = Nothing+  }+++-- | The client token used to request idempotent operations.+cddAmznClientToken :: Lens' CreateDeviceDefinition (Maybe Text)+cddAmznClientToken = lens _cddAmznClientToken (\ s a -> s{_cddAmznClientToken = a});++-- | Information on the initial version+cddInitialVersion :: Lens' CreateDeviceDefinition (Maybe DeviceDefinitionVersion)+cddInitialVersion = lens _cddInitialVersion (\ s a -> s{_cddInitialVersion = a});++-- | name of the device definition+cddName :: Lens' CreateDeviceDefinition (Maybe Text)+cddName = lens _cddName (\ s a -> s{_cddName = a});++instance AWSRequest CreateDeviceDefinition where+        type Rs CreateDeviceDefinition =+             CreateDeviceDefinitionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateDeviceDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable CreateDeviceDefinition where++instance NFData CreateDeviceDefinition where++instance ToHeaders CreateDeviceDefinition where+        toHeaders CreateDeviceDefinition'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cddAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateDeviceDefinition where+        toJSON CreateDeviceDefinition'{..}+          = object+              (catMaybes+                 [("InitialVersion" .=) <$> _cddInitialVersion,+                  ("Name" .=) <$> _cddName])++instance ToPath CreateDeviceDefinition where+        toPath = const "/greengrass/definition/devices"++instance ToQuery CreateDeviceDefinition where+        toQuery = const mempty++-- | /See:/ 'createDeviceDefinitionResponse' smart constructor.+data CreateDeviceDefinitionResponse = CreateDeviceDefinitionResponse'+  { _cddrsLatestVersionARN     :: !(Maybe Text)+  , _cddrsARN                  :: !(Maybe Text)+  , _cddrsName                 :: !(Maybe Text)+  , _cddrsCreationTimestamp    :: !(Maybe Text)+  , _cddrsId                   :: !(Maybe Text)+  , _cddrsLatestVersion        :: !(Maybe Text)+  , _cddrsLastUpdatedTimestamp :: !(Maybe Text)+  , _cddrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDeviceDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cddrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'cddrsARN' - Arn of the definition.+--+-- * 'cddrsName' - Name of the definition.+--+-- * 'cddrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'cddrsId' - Id of the definition.+--+-- * 'cddrsLatestVersion' - Last version of the definition.+--+-- * 'cddrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'cddrsResponseStatus' - -- | The response status code.+createDeviceDefinitionResponse+    :: Int -- ^ 'cddrsResponseStatus'+    -> CreateDeviceDefinitionResponse+createDeviceDefinitionResponse pResponseStatus_ =+  CreateDeviceDefinitionResponse'+  { _cddrsLatestVersionARN = Nothing+  , _cddrsARN = Nothing+  , _cddrsName = Nothing+  , _cddrsCreationTimestamp = Nothing+  , _cddrsId = Nothing+  , _cddrsLatestVersion = Nothing+  , _cddrsLastUpdatedTimestamp = Nothing+  , _cddrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+cddrsLatestVersionARN :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsLatestVersionARN = lens _cddrsLatestVersionARN (\ s a -> s{_cddrsLatestVersionARN = a});++-- | Arn of the definition.+cddrsARN :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsARN = lens _cddrsARN (\ s a -> s{_cddrsARN = a});++-- | Name of the definition.+cddrsName :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsName = lens _cddrsName (\ s a -> s{_cddrsName = a});++-- | Timestamp of when the definition was created.+cddrsCreationTimestamp :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsCreationTimestamp = lens _cddrsCreationTimestamp (\ s a -> s{_cddrsCreationTimestamp = a});++-- | Id of the definition.+cddrsId :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsId = lens _cddrsId (\ s a -> s{_cddrsId = a});++-- | Last version of the definition.+cddrsLatestVersion :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsLatestVersion = lens _cddrsLatestVersion (\ s a -> s{_cddrsLatestVersion = a});++-- | Last updated timestamp of the definition.+cddrsLastUpdatedTimestamp :: Lens' CreateDeviceDefinitionResponse (Maybe Text)+cddrsLastUpdatedTimestamp = lens _cddrsLastUpdatedTimestamp (\ s a -> s{_cddrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+cddrsResponseStatus :: Lens' CreateDeviceDefinitionResponse Int+cddrsResponseStatus = lens _cddrsResponseStatus (\ s a -> s{_cddrsResponseStatus = a});++instance NFData CreateDeviceDefinitionResponse where
+ gen/Network/AWS/Greengrass/CreateDeviceDefinitionVersion.hs view
@@ -0,0 +1,187 @@+{-# 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.Greengrass.CreateDeviceDefinitionVersion+-- 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 a version of a device definition that has already been defined.+module Network.AWS.Greengrass.CreateDeviceDefinitionVersion+    (+    -- * Creating a Request+      createDeviceDefinitionVersion+    , CreateDeviceDefinitionVersion+    -- * Request Lenses+    , cddvAmznClientToken+    , cddvDevices+    , cddvDeviceDefinitionId++    -- * Destructuring the Response+    , createDeviceDefinitionVersionResponse+    , CreateDeviceDefinitionVersionResponse+    -- * Response Lenses+    , cddvrsARN+    , cddvrsCreationTimestamp+    , cddvrsVersion+    , cddvrsId+    , cddvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDeviceDefinitionVersion' smart constructor.+data CreateDeviceDefinitionVersion = CreateDeviceDefinitionVersion'+  { _cddvAmznClientToken    :: !(Maybe Text)+  , _cddvDevices            :: !(Maybe [Device])+  , _cddvDeviceDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDeviceDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cddvAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cddvDevices' - Devices in the definition version.+--+-- * 'cddvDeviceDefinitionId' - device definition Id+createDeviceDefinitionVersion+    :: Text -- ^ 'cddvDeviceDefinitionId'+    -> CreateDeviceDefinitionVersion+createDeviceDefinitionVersion pDeviceDefinitionId_ =+  CreateDeviceDefinitionVersion'+  { _cddvAmznClientToken = Nothing+  , _cddvDevices = Nothing+  , _cddvDeviceDefinitionId = pDeviceDefinitionId_+  }+++-- | The client token used to request idempotent operations.+cddvAmznClientToken :: Lens' CreateDeviceDefinitionVersion (Maybe Text)+cddvAmznClientToken = lens _cddvAmznClientToken (\ s a -> s{_cddvAmznClientToken = a});++-- | Devices in the definition version.+cddvDevices :: Lens' CreateDeviceDefinitionVersion [Device]+cddvDevices = lens _cddvDevices (\ s a -> s{_cddvDevices = a}) . _Default . _Coerce;++-- | device definition Id+cddvDeviceDefinitionId :: Lens' CreateDeviceDefinitionVersion Text+cddvDeviceDefinitionId = lens _cddvDeviceDefinitionId (\ s a -> s{_cddvDeviceDefinitionId = a});++instance AWSRequest CreateDeviceDefinitionVersion+         where+        type Rs CreateDeviceDefinitionVersion =+             CreateDeviceDefinitionVersionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateDeviceDefinitionVersionResponse' <$>+                   (x .?> "Arn") <*> (x .?> "CreationTimestamp") <*>+                     (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable CreateDeviceDefinitionVersion where++instance NFData CreateDeviceDefinitionVersion where++instance ToHeaders CreateDeviceDefinitionVersion+         where+        toHeaders CreateDeviceDefinitionVersion'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cddvAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateDeviceDefinitionVersion where+        toJSON CreateDeviceDefinitionVersion'{..}+          = object+              (catMaybes [("Devices" .=) <$> _cddvDevices])++instance ToPath CreateDeviceDefinitionVersion where+        toPath CreateDeviceDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/devices/",+               toBS _cddvDeviceDefinitionId, "/versions"]++instance ToQuery CreateDeviceDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'createDeviceDefinitionVersionResponse' smart constructor.+data CreateDeviceDefinitionVersionResponse = CreateDeviceDefinitionVersionResponse'+  { _cddvrsARN               :: !(Maybe Text)+  , _cddvrsCreationTimestamp :: !(Maybe Text)+  , _cddvrsVersion           :: !(Maybe Text)+  , _cddvrsId                :: !(Maybe Text)+  , _cddvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDeviceDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cddvrsARN' - Arn of the version.+--+-- * 'cddvrsCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'cddvrsVersion' - Unique Id of a version.+--+-- * 'cddvrsId' - Id of the resource container.+--+-- * 'cddvrsResponseStatus' - -- | The response status code.+createDeviceDefinitionVersionResponse+    :: Int -- ^ 'cddvrsResponseStatus'+    -> CreateDeviceDefinitionVersionResponse+createDeviceDefinitionVersionResponse pResponseStatus_ =+  CreateDeviceDefinitionVersionResponse'+  { _cddvrsARN = Nothing+  , _cddvrsCreationTimestamp = Nothing+  , _cddvrsVersion = Nothing+  , _cddvrsId = Nothing+  , _cddvrsResponseStatus = pResponseStatus_+  }+++-- | Arn of the version.+cddvrsARN :: Lens' CreateDeviceDefinitionVersionResponse (Maybe Text)+cddvrsARN = lens _cddvrsARN (\ s a -> s{_cddvrsARN = a});++-- | Timestamp of when the version was created.+cddvrsCreationTimestamp :: Lens' CreateDeviceDefinitionVersionResponse (Maybe Text)+cddvrsCreationTimestamp = lens _cddvrsCreationTimestamp (\ s a -> s{_cddvrsCreationTimestamp = a});++-- | Unique Id of a version.+cddvrsVersion :: Lens' CreateDeviceDefinitionVersionResponse (Maybe Text)+cddvrsVersion = lens _cddvrsVersion (\ s a -> s{_cddvrsVersion = a});++-- | Id of the resource container.+cddvrsId :: Lens' CreateDeviceDefinitionVersionResponse (Maybe Text)+cddvrsId = lens _cddvrsId (\ s a -> s{_cddvrsId = a});++-- | -- | The response status code.+cddvrsResponseStatus :: Lens' CreateDeviceDefinitionVersionResponse Int+cddvrsResponseStatus = lens _cddvrsResponseStatus (\ s a -> s{_cddvrsResponseStatus = a});++instance NFData CreateDeviceDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/CreateFunctionDefinition.hs view
@@ -0,0 +1,213 @@+{-# 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.Greengrass.CreateFunctionDefinition+-- 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 a Lambda function definition which contains a list of Lambda functions and their configurations to be used in a group. You can create an initial version of the definition by providing a list of Lambda functions and their configurations now, or use ``CreateFunctionDefinitionVersion`` later.+module Network.AWS.Greengrass.CreateFunctionDefinition+    (+    -- * Creating a Request+      createFunctionDefinition+    , CreateFunctionDefinition+    -- * Request Lenses+    , cfdAmznClientToken+    , cfdInitialVersion+    , cfdName++    -- * Destructuring the Response+    , createFunctionDefinitionResponse+    , CreateFunctionDefinitionResponse+    -- * Response Lenses+    , cfdrsLatestVersionARN+    , cfdrsARN+    , cfdrsName+    , cfdrsCreationTimestamp+    , cfdrsId+    , cfdrsLatestVersion+    , cfdrsLastUpdatedTimestamp+    , cfdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createFunctionDefinition' smart constructor.+data CreateFunctionDefinition = CreateFunctionDefinition'+  { _cfdAmznClientToken :: !(Maybe Text)+  , _cfdInitialVersion  :: !(Maybe FunctionDefinitionVersion)+  , _cfdName            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateFunctionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfdAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cfdInitialVersion' - Information on the initial version+--+-- * 'cfdName' - name of the function definition+createFunctionDefinition+    :: CreateFunctionDefinition+createFunctionDefinition =+  CreateFunctionDefinition'+  { _cfdAmznClientToken = Nothing+  , _cfdInitialVersion = Nothing+  , _cfdName = Nothing+  }+++-- | The client token used to request idempotent operations.+cfdAmznClientToken :: Lens' CreateFunctionDefinition (Maybe Text)+cfdAmznClientToken = lens _cfdAmznClientToken (\ s a -> s{_cfdAmznClientToken = a});++-- | Information on the initial version+cfdInitialVersion :: Lens' CreateFunctionDefinition (Maybe FunctionDefinitionVersion)+cfdInitialVersion = lens _cfdInitialVersion (\ s a -> s{_cfdInitialVersion = a});++-- | name of the function definition+cfdName :: Lens' CreateFunctionDefinition (Maybe Text)+cfdName = lens _cfdName (\ s a -> s{_cfdName = a});++instance AWSRequest CreateFunctionDefinition where+        type Rs CreateFunctionDefinition =+             CreateFunctionDefinitionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateFunctionDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable CreateFunctionDefinition where++instance NFData CreateFunctionDefinition where++instance ToHeaders CreateFunctionDefinition where+        toHeaders CreateFunctionDefinition'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cfdAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateFunctionDefinition where+        toJSON CreateFunctionDefinition'{..}+          = object+              (catMaybes+                 [("InitialVersion" .=) <$> _cfdInitialVersion,+                  ("Name" .=) <$> _cfdName])++instance ToPath CreateFunctionDefinition where+        toPath = const "/greengrass/definition/functions"++instance ToQuery CreateFunctionDefinition where+        toQuery = const mempty++-- | /See:/ 'createFunctionDefinitionResponse' smart constructor.+data CreateFunctionDefinitionResponse = CreateFunctionDefinitionResponse'+  { _cfdrsLatestVersionARN     :: !(Maybe Text)+  , _cfdrsARN                  :: !(Maybe Text)+  , _cfdrsName                 :: !(Maybe Text)+  , _cfdrsCreationTimestamp    :: !(Maybe Text)+  , _cfdrsId                   :: !(Maybe Text)+  , _cfdrsLatestVersion        :: !(Maybe Text)+  , _cfdrsLastUpdatedTimestamp :: !(Maybe Text)+  , _cfdrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateFunctionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfdrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'cfdrsARN' - Arn of the definition.+--+-- * 'cfdrsName' - Name of the definition.+--+-- * 'cfdrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'cfdrsId' - Id of the definition.+--+-- * 'cfdrsLatestVersion' - Last version of the definition.+--+-- * 'cfdrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'cfdrsResponseStatus' - -- | The response status code.+createFunctionDefinitionResponse+    :: Int -- ^ 'cfdrsResponseStatus'+    -> CreateFunctionDefinitionResponse+createFunctionDefinitionResponse pResponseStatus_ =+  CreateFunctionDefinitionResponse'+  { _cfdrsLatestVersionARN = Nothing+  , _cfdrsARN = Nothing+  , _cfdrsName = Nothing+  , _cfdrsCreationTimestamp = Nothing+  , _cfdrsId = Nothing+  , _cfdrsLatestVersion = Nothing+  , _cfdrsLastUpdatedTimestamp = Nothing+  , _cfdrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+cfdrsLatestVersionARN :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsLatestVersionARN = lens _cfdrsLatestVersionARN (\ s a -> s{_cfdrsLatestVersionARN = a});++-- | Arn of the definition.+cfdrsARN :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsARN = lens _cfdrsARN (\ s a -> s{_cfdrsARN = a});++-- | Name of the definition.+cfdrsName :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsName = lens _cfdrsName (\ s a -> s{_cfdrsName = a});++-- | Timestamp of when the definition was created.+cfdrsCreationTimestamp :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsCreationTimestamp = lens _cfdrsCreationTimestamp (\ s a -> s{_cfdrsCreationTimestamp = a});++-- | Id of the definition.+cfdrsId :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsId = lens _cfdrsId (\ s a -> s{_cfdrsId = a});++-- | Last version of the definition.+cfdrsLatestVersion :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsLatestVersion = lens _cfdrsLatestVersion (\ s a -> s{_cfdrsLatestVersion = a});++-- | Last updated timestamp of the definition.+cfdrsLastUpdatedTimestamp :: Lens' CreateFunctionDefinitionResponse (Maybe Text)+cfdrsLastUpdatedTimestamp = lens _cfdrsLastUpdatedTimestamp (\ s a -> s{_cfdrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+cfdrsResponseStatus :: Lens' CreateFunctionDefinitionResponse Int+cfdrsResponseStatus = lens _cfdrsResponseStatus (\ s a -> s{_cfdrsResponseStatus = a});++instance NFData CreateFunctionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/CreateFunctionDefinitionVersion.hs view
@@ -0,0 +1,192 @@+{-# 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.Greengrass.CreateFunctionDefinitionVersion+-- 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)+--+-- Create a version of a Lambda function definition that has already been defined.+module Network.AWS.Greengrass.CreateFunctionDefinitionVersion+    (+    -- * Creating a Request+      createFunctionDefinitionVersion+    , CreateFunctionDefinitionVersion+    -- * Request Lenses+    , cfdvAmznClientToken+    , cfdvFunctions+    , cfdvFunctionDefinitionId++    -- * Destructuring the Response+    , createFunctionDefinitionVersionResponse+    , CreateFunctionDefinitionVersionResponse+    -- * Response Lenses+    , cfdvrsARN+    , cfdvrsCreationTimestamp+    , cfdvrsVersion+    , cfdvrsId+    , cfdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Function definition version+--+-- /See:/ 'createFunctionDefinitionVersion' smart constructor.+data CreateFunctionDefinitionVersion = CreateFunctionDefinitionVersion'+  { _cfdvAmznClientToken      :: !(Maybe Text)+  , _cfdvFunctions            :: !(Maybe [Function])+  , _cfdvFunctionDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateFunctionDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfdvAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cfdvFunctions' - Lambda functions in this function definition version.+--+-- * 'cfdvFunctionDefinitionId' - the unique Id of the lambda definition+createFunctionDefinitionVersion+    :: Text -- ^ 'cfdvFunctionDefinitionId'+    -> CreateFunctionDefinitionVersion+createFunctionDefinitionVersion pFunctionDefinitionId_ =+  CreateFunctionDefinitionVersion'+  { _cfdvAmznClientToken = Nothing+  , _cfdvFunctions = Nothing+  , _cfdvFunctionDefinitionId = pFunctionDefinitionId_+  }+++-- | The client token used to request idempotent operations.+cfdvAmznClientToken :: Lens' CreateFunctionDefinitionVersion (Maybe Text)+cfdvAmznClientToken = lens _cfdvAmznClientToken (\ s a -> s{_cfdvAmznClientToken = a});++-- | Lambda functions in this function definition version.+cfdvFunctions :: Lens' CreateFunctionDefinitionVersion [Function]+cfdvFunctions = lens _cfdvFunctions (\ s a -> s{_cfdvFunctions = a}) . _Default . _Coerce;++-- | the unique Id of the lambda definition+cfdvFunctionDefinitionId :: Lens' CreateFunctionDefinitionVersion Text+cfdvFunctionDefinitionId = lens _cfdvFunctionDefinitionId (\ s a -> s{_cfdvFunctionDefinitionId = a});++instance AWSRequest CreateFunctionDefinitionVersion+         where+        type Rs CreateFunctionDefinitionVersion =+             CreateFunctionDefinitionVersionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateFunctionDefinitionVersionResponse' <$>+                   (x .?> "Arn") <*> (x .?> "CreationTimestamp") <*>+                     (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable CreateFunctionDefinitionVersion+         where++instance NFData CreateFunctionDefinitionVersion where++instance ToHeaders CreateFunctionDefinitionVersion+         where+        toHeaders CreateFunctionDefinitionVersion'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cfdvAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateFunctionDefinitionVersion where+        toJSON CreateFunctionDefinitionVersion'{..}+          = object+              (catMaybes [("Functions" .=) <$> _cfdvFunctions])++instance ToPath CreateFunctionDefinitionVersion where+        toPath CreateFunctionDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/functions/",+               toBS _cfdvFunctionDefinitionId, "/versions"]++instance ToQuery CreateFunctionDefinitionVersion+         where+        toQuery = const mempty++-- | /See:/ 'createFunctionDefinitionVersionResponse' smart constructor.+data CreateFunctionDefinitionVersionResponse = CreateFunctionDefinitionVersionResponse'+  { _cfdvrsARN               :: !(Maybe Text)+  , _cfdvrsCreationTimestamp :: !(Maybe Text)+  , _cfdvrsVersion           :: !(Maybe Text)+  , _cfdvrsId                :: !(Maybe Text)+  , _cfdvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateFunctionDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfdvrsARN' - Arn of the version.+--+-- * 'cfdvrsCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'cfdvrsVersion' - Unique Id of a version.+--+-- * 'cfdvrsId' - Id of the resource container.+--+-- * 'cfdvrsResponseStatus' - -- | The response status code.+createFunctionDefinitionVersionResponse+    :: Int -- ^ 'cfdvrsResponseStatus'+    -> CreateFunctionDefinitionVersionResponse+createFunctionDefinitionVersionResponse pResponseStatus_ =+  CreateFunctionDefinitionVersionResponse'+  { _cfdvrsARN = Nothing+  , _cfdvrsCreationTimestamp = Nothing+  , _cfdvrsVersion = Nothing+  , _cfdvrsId = Nothing+  , _cfdvrsResponseStatus = pResponseStatus_+  }+++-- | Arn of the version.+cfdvrsARN :: Lens' CreateFunctionDefinitionVersionResponse (Maybe Text)+cfdvrsARN = lens _cfdvrsARN (\ s a -> s{_cfdvrsARN = a});++-- | Timestamp of when the version was created.+cfdvrsCreationTimestamp :: Lens' CreateFunctionDefinitionVersionResponse (Maybe Text)+cfdvrsCreationTimestamp = lens _cfdvrsCreationTimestamp (\ s a -> s{_cfdvrsCreationTimestamp = a});++-- | Unique Id of a version.+cfdvrsVersion :: Lens' CreateFunctionDefinitionVersionResponse (Maybe Text)+cfdvrsVersion = lens _cfdvrsVersion (\ s a -> s{_cfdvrsVersion = a});++-- | Id of the resource container.+cfdvrsId :: Lens' CreateFunctionDefinitionVersionResponse (Maybe Text)+cfdvrsId = lens _cfdvrsId (\ s a -> s{_cfdvrsId = a});++-- | -- | The response status code.+cfdvrsResponseStatus :: Lens' CreateFunctionDefinitionVersionResponse Int+cfdvrsResponseStatus = lens _cfdvrsResponseStatus (\ s a -> s{_cfdvrsResponseStatus = a});++instance NFData+           CreateFunctionDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/CreateGroup.hs view
@@ -0,0 +1,208 @@+{-# 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.Greengrass.CreateGroup+-- 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 a group. You may optionally provide the initial version of the group or use ''CreateGroupVersion'' at a later time.+module Network.AWS.Greengrass.CreateGroup+    (+    -- * Creating a Request+      createGroup+    , CreateGroup+    -- * Request Lenses+    , cgAmznClientToken+    , cgInitialVersion+    , cgName++    -- * Destructuring the Response+    , createGroupResponse+    , CreateGroupResponse+    -- * Response Lenses+    , cgrsLatestVersionARN+    , cgrsARN+    , cgrsName+    , cgrsCreationTimestamp+    , cgrsId+    , cgrsLatestVersion+    , cgrsLastUpdatedTimestamp+    , cgrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createGroup' smart constructor.+data CreateGroup = CreateGroup'+  { _cgAmznClientToken :: !(Maybe Text)+  , _cgInitialVersion  :: !(Maybe GroupVersion)+  , _cgName            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cgInitialVersion' - Information on the initial version+--+-- * 'cgName' - name of the group+createGroup+    :: CreateGroup+createGroup =+  CreateGroup'+  {_cgAmznClientToken = Nothing, _cgInitialVersion = Nothing, _cgName = Nothing}+++-- | The client token used to request idempotent operations.+cgAmznClientToken :: Lens' CreateGroup (Maybe Text)+cgAmznClientToken = lens _cgAmznClientToken (\ s a -> s{_cgAmznClientToken = a});++-- | Information on the initial version+cgInitialVersion :: Lens' CreateGroup (Maybe GroupVersion)+cgInitialVersion = lens _cgInitialVersion (\ s a -> s{_cgInitialVersion = a});++-- | name of the group+cgName :: Lens' CreateGroup (Maybe Text)+cgName = lens _cgName (\ s a -> s{_cgName = a});++instance AWSRequest CreateGroup where+        type Rs CreateGroup = CreateGroupResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateGroupResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable CreateGroup where++instance NFData CreateGroup where++instance ToHeaders CreateGroup where+        toHeaders CreateGroup'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cgAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateGroup where+        toJSON CreateGroup'{..}+          = object+              (catMaybes+                 [("InitialVersion" .=) <$> _cgInitialVersion,+                  ("Name" .=) <$> _cgName])++instance ToPath CreateGroup where+        toPath = const "/greengrass/groups"++instance ToQuery CreateGroup where+        toQuery = const mempty++-- | /See:/ 'createGroupResponse' smart constructor.+data CreateGroupResponse = CreateGroupResponse'+  { _cgrsLatestVersionARN     :: !(Maybe Text)+  , _cgrsARN                  :: !(Maybe Text)+  , _cgrsName                 :: !(Maybe Text)+  , _cgrsCreationTimestamp    :: !(Maybe Text)+  , _cgrsId                   :: !(Maybe Text)+  , _cgrsLatestVersion        :: !(Maybe Text)+  , _cgrsLastUpdatedTimestamp :: !(Maybe Text)+  , _cgrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'cgrsARN' - Arn of the definition.+--+-- * 'cgrsName' - Name of the definition.+--+-- * 'cgrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'cgrsId' - Id of the definition.+--+-- * 'cgrsLatestVersion' - Last version of the definition.+--+-- * 'cgrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'cgrsResponseStatus' - -- | The response status code.+createGroupResponse+    :: Int -- ^ 'cgrsResponseStatus'+    -> CreateGroupResponse+createGroupResponse pResponseStatus_ =+  CreateGroupResponse'+  { _cgrsLatestVersionARN = Nothing+  , _cgrsARN = Nothing+  , _cgrsName = Nothing+  , _cgrsCreationTimestamp = Nothing+  , _cgrsId = Nothing+  , _cgrsLatestVersion = Nothing+  , _cgrsLastUpdatedTimestamp = Nothing+  , _cgrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+cgrsLatestVersionARN :: Lens' CreateGroupResponse (Maybe Text)+cgrsLatestVersionARN = lens _cgrsLatestVersionARN (\ s a -> s{_cgrsLatestVersionARN = a});++-- | Arn of the definition.+cgrsARN :: Lens' CreateGroupResponse (Maybe Text)+cgrsARN = lens _cgrsARN (\ s a -> s{_cgrsARN = a});++-- | Name of the definition.+cgrsName :: Lens' CreateGroupResponse (Maybe Text)+cgrsName = lens _cgrsName (\ s a -> s{_cgrsName = a});++-- | Timestamp of when the definition was created.+cgrsCreationTimestamp :: Lens' CreateGroupResponse (Maybe Text)+cgrsCreationTimestamp = lens _cgrsCreationTimestamp (\ s a -> s{_cgrsCreationTimestamp = a});++-- | Id of the definition.+cgrsId :: Lens' CreateGroupResponse (Maybe Text)+cgrsId = lens _cgrsId (\ s a -> s{_cgrsId = a});++-- | Last version of the definition.+cgrsLatestVersion :: Lens' CreateGroupResponse (Maybe Text)+cgrsLatestVersion = lens _cgrsLatestVersion (\ s a -> s{_cgrsLatestVersion = a});++-- | Last updated timestamp of the definition.+cgrsLastUpdatedTimestamp :: Lens' CreateGroupResponse (Maybe Text)+cgrsLastUpdatedTimestamp = lens _cgrsLastUpdatedTimestamp (\ s a -> s{_cgrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+cgrsResponseStatus :: Lens' CreateGroupResponse Int+cgrsResponseStatus = lens _cgrsResponseStatus (\ s a -> s{_cgrsResponseStatus = a});++instance NFData CreateGroupResponse where
+ gen/Network/AWS/Greengrass/CreateGroupCertificateAuthority.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.CreateGroupCertificateAuthority+-- 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 a CA for the group. If a CA already exists, it will rotate the existing CA.+module Network.AWS.Greengrass.CreateGroupCertificateAuthority+    (+    -- * Creating a Request+      createGroupCertificateAuthority+    , CreateGroupCertificateAuthority+    -- * Request Lenses+    , cgcaAmznClientToken+    , cgcaGroupId++    -- * Destructuring the Response+    , createGroupCertificateAuthorityResponse+    , CreateGroupCertificateAuthorityResponse+    -- * Response Lenses+    , cgcarsGroupCertificateAuthorityARN+    , cgcarsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createGroupCertificateAuthority' smart constructor.+data CreateGroupCertificateAuthority = CreateGroupCertificateAuthority'+  { _cgcaAmznClientToken :: !(Maybe Text)+  , _cgcaGroupId         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGroupCertificateAuthority' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgcaAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cgcaGroupId' - The unique Id of the AWS Greengrass Group+createGroupCertificateAuthority+    :: Text -- ^ 'cgcaGroupId'+    -> CreateGroupCertificateAuthority+createGroupCertificateAuthority pGroupId_ =+  CreateGroupCertificateAuthority'+  {_cgcaAmznClientToken = Nothing, _cgcaGroupId = pGroupId_}+++-- | The client token used to request idempotent operations.+cgcaAmznClientToken :: Lens' CreateGroupCertificateAuthority (Maybe Text)+cgcaAmznClientToken = lens _cgcaAmznClientToken (\ s a -> s{_cgcaAmznClientToken = a});++-- | The unique Id of the AWS Greengrass Group+cgcaGroupId :: Lens' CreateGroupCertificateAuthority Text+cgcaGroupId = lens _cgcaGroupId (\ s a -> s{_cgcaGroupId = a});++instance AWSRequest CreateGroupCertificateAuthority+         where+        type Rs CreateGroupCertificateAuthority =+             CreateGroupCertificateAuthorityResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateGroupCertificateAuthorityResponse' <$>+                   (x .?> "GroupCertificateAuthorityArn") <*>+                     (pure (fromEnum s)))++instance Hashable CreateGroupCertificateAuthority+         where++instance NFData CreateGroupCertificateAuthority where++instance ToHeaders CreateGroupCertificateAuthority+         where+        toHeaders CreateGroupCertificateAuthority'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cgcaAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateGroupCertificateAuthority where+        toJSON = const (Object mempty)++instance ToPath CreateGroupCertificateAuthority where+        toPath CreateGroupCertificateAuthority'{..}+          = mconcat+              ["/greengrass/groups/", toBS _cgcaGroupId,+               "/certificateauthorities"]++instance ToQuery CreateGroupCertificateAuthority+         where+        toQuery = const mempty++-- | /See:/ 'createGroupCertificateAuthorityResponse' smart constructor.+data CreateGroupCertificateAuthorityResponse = CreateGroupCertificateAuthorityResponse'+  { _cgcarsGroupCertificateAuthorityARN :: !(Maybe Text)+  , _cgcarsResponseStatus               :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGroupCertificateAuthorityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgcarsGroupCertificateAuthorityARN' - Arn of the group certificate authority.+--+-- * 'cgcarsResponseStatus' - -- | The response status code.+createGroupCertificateAuthorityResponse+    :: Int -- ^ 'cgcarsResponseStatus'+    -> CreateGroupCertificateAuthorityResponse+createGroupCertificateAuthorityResponse pResponseStatus_ =+  CreateGroupCertificateAuthorityResponse'+  { _cgcarsGroupCertificateAuthorityARN = Nothing+  , _cgcarsResponseStatus = pResponseStatus_+  }+++-- | Arn of the group certificate authority.+cgcarsGroupCertificateAuthorityARN :: Lens' CreateGroupCertificateAuthorityResponse (Maybe Text)+cgcarsGroupCertificateAuthorityARN = lens _cgcarsGroupCertificateAuthorityARN (\ s a -> s{_cgcarsGroupCertificateAuthorityARN = a});++-- | -- | The response status code.+cgcarsResponseStatus :: Lens' CreateGroupCertificateAuthorityResponse Int+cgcarsResponseStatus = lens _cgcarsResponseStatus (\ s a -> s{_cgcarsResponseStatus = a});++instance NFData+           CreateGroupCertificateAuthorityResponse+         where
+ gen/Network/AWS/Greengrass/CreateGroupVersion.hs view
@@ -0,0 +1,230 @@+{-# 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.Greengrass.CreateGroupVersion+-- 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 a version of a group which has already been defined.+module Network.AWS.Greengrass.CreateGroupVersion+    (+    -- * Creating a Request+      createGroupVersion+    , CreateGroupVersion+    -- * Request Lenses+    , cgvAmznClientToken+    , cgvSubscriptionDefinitionVersionARN+    , cgvCoreDefinitionVersionARN+    , cgvDeviceDefinitionVersionARN+    , cgvFunctionDefinitionVersionARN+    , cgvLoggerDefinitionVersionARN+    , cgvGroupId++    -- * Destructuring the Response+    , createGroupVersionResponse+    , CreateGroupVersionResponse+    -- * Response Lenses+    , cgvrsARN+    , cgvrsCreationTimestamp+    , cgvrsVersion+    , cgvrsId+    , cgvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createGroupVersion' smart constructor.+data CreateGroupVersion = CreateGroupVersion'+  { _cgvAmznClientToken                  :: !(Maybe Text)+  , _cgvSubscriptionDefinitionVersionARN :: !(Maybe Text)+  , _cgvCoreDefinitionVersionARN         :: !(Maybe Text)+  , _cgvDeviceDefinitionVersionARN       :: !(Maybe Text)+  , _cgvFunctionDefinitionVersionARN     :: !(Maybe Text)+  , _cgvLoggerDefinitionVersionARN       :: !(Maybe Text)+  , _cgvGroupId                          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGroupVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgvAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cgvSubscriptionDefinitionVersionARN' - Subscription definition version arn for this group.+--+-- * 'cgvCoreDefinitionVersionARN' - Core definition version arn for this group.+--+-- * 'cgvDeviceDefinitionVersionARN' - Device definition version arn for this group.+--+-- * 'cgvFunctionDefinitionVersionARN' - Function definition version arn for this group.+--+-- * 'cgvLoggerDefinitionVersionARN' - Logger definitionv ersion arn for this group.+--+-- * 'cgvGroupId' - The unique Id of the AWS Greengrass Group+createGroupVersion+    :: Text -- ^ 'cgvGroupId'+    -> CreateGroupVersion+createGroupVersion pGroupId_ =+  CreateGroupVersion'+  { _cgvAmznClientToken = Nothing+  , _cgvSubscriptionDefinitionVersionARN = Nothing+  , _cgvCoreDefinitionVersionARN = Nothing+  , _cgvDeviceDefinitionVersionARN = Nothing+  , _cgvFunctionDefinitionVersionARN = Nothing+  , _cgvLoggerDefinitionVersionARN = Nothing+  , _cgvGroupId = pGroupId_+  }+++-- | The client token used to request idempotent operations.+cgvAmznClientToken :: Lens' CreateGroupVersion (Maybe Text)+cgvAmznClientToken = lens _cgvAmznClientToken (\ s a -> s{_cgvAmznClientToken = a});++-- | Subscription definition version arn for this group.+cgvSubscriptionDefinitionVersionARN :: Lens' CreateGroupVersion (Maybe Text)+cgvSubscriptionDefinitionVersionARN = lens _cgvSubscriptionDefinitionVersionARN (\ s a -> s{_cgvSubscriptionDefinitionVersionARN = a});++-- | Core definition version arn for this group.+cgvCoreDefinitionVersionARN :: Lens' CreateGroupVersion (Maybe Text)+cgvCoreDefinitionVersionARN = lens _cgvCoreDefinitionVersionARN (\ s a -> s{_cgvCoreDefinitionVersionARN = a});++-- | Device definition version arn for this group.+cgvDeviceDefinitionVersionARN :: Lens' CreateGroupVersion (Maybe Text)+cgvDeviceDefinitionVersionARN = lens _cgvDeviceDefinitionVersionARN (\ s a -> s{_cgvDeviceDefinitionVersionARN = a});++-- | Function definition version arn for this group.+cgvFunctionDefinitionVersionARN :: Lens' CreateGroupVersion (Maybe Text)+cgvFunctionDefinitionVersionARN = lens _cgvFunctionDefinitionVersionARN (\ s a -> s{_cgvFunctionDefinitionVersionARN = a});++-- | Logger definitionv ersion arn for this group.+cgvLoggerDefinitionVersionARN :: Lens' CreateGroupVersion (Maybe Text)+cgvLoggerDefinitionVersionARN = lens _cgvLoggerDefinitionVersionARN (\ s a -> s{_cgvLoggerDefinitionVersionARN = a});++-- | The unique Id of the AWS Greengrass Group+cgvGroupId :: Lens' CreateGroupVersion Text+cgvGroupId = lens _cgvGroupId (\ s a -> s{_cgvGroupId = a});++instance AWSRequest CreateGroupVersion where+        type Rs CreateGroupVersion =+             CreateGroupVersionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateGroupVersionResponse' <$>+                   (x .?> "Arn") <*> (x .?> "CreationTimestamp") <*>+                     (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable CreateGroupVersion where++instance NFData CreateGroupVersion where++instance ToHeaders CreateGroupVersion where+        toHeaders CreateGroupVersion'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cgvAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateGroupVersion where+        toJSON CreateGroupVersion'{..}+          = object+              (catMaybes+                 [("SubscriptionDefinitionVersionArn" .=) <$>+                    _cgvSubscriptionDefinitionVersionARN,+                  ("CoreDefinitionVersionArn" .=) <$>+                    _cgvCoreDefinitionVersionARN,+                  ("DeviceDefinitionVersionArn" .=) <$>+                    _cgvDeviceDefinitionVersionARN,+                  ("FunctionDefinitionVersionArn" .=) <$>+                    _cgvFunctionDefinitionVersionARN,+                  ("LoggerDefinitionVersionArn" .=) <$>+                    _cgvLoggerDefinitionVersionARN])++instance ToPath CreateGroupVersion where+        toPath CreateGroupVersion'{..}+          = mconcat+              ["/greengrass/groups/", toBS _cgvGroupId,+               "/versions"]++instance ToQuery CreateGroupVersion where+        toQuery = const mempty++-- | /See:/ 'createGroupVersionResponse' smart constructor.+data CreateGroupVersionResponse = CreateGroupVersionResponse'+  { _cgvrsARN               :: !(Maybe Text)+  , _cgvrsCreationTimestamp :: !(Maybe Text)+  , _cgvrsVersion           :: !(Maybe Text)+  , _cgvrsId                :: !(Maybe Text)+  , _cgvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGroupVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgvrsARN' - Arn of the version.+--+-- * 'cgvrsCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'cgvrsVersion' - Unique Id of a version.+--+-- * 'cgvrsId' - Id of the resource container.+--+-- * 'cgvrsResponseStatus' - -- | The response status code.+createGroupVersionResponse+    :: Int -- ^ 'cgvrsResponseStatus'+    -> CreateGroupVersionResponse+createGroupVersionResponse pResponseStatus_ =+  CreateGroupVersionResponse'+  { _cgvrsARN = Nothing+  , _cgvrsCreationTimestamp = Nothing+  , _cgvrsVersion = Nothing+  , _cgvrsId = Nothing+  , _cgvrsResponseStatus = pResponseStatus_+  }+++-- | Arn of the version.+cgvrsARN :: Lens' CreateGroupVersionResponse (Maybe Text)+cgvrsARN = lens _cgvrsARN (\ s a -> s{_cgvrsARN = a});++-- | Timestamp of when the version was created.+cgvrsCreationTimestamp :: Lens' CreateGroupVersionResponse (Maybe Text)+cgvrsCreationTimestamp = lens _cgvrsCreationTimestamp (\ s a -> s{_cgvrsCreationTimestamp = a});++-- | Unique Id of a version.+cgvrsVersion :: Lens' CreateGroupVersionResponse (Maybe Text)+cgvrsVersion = lens _cgvrsVersion (\ s a -> s{_cgvrsVersion = a});++-- | Id of the resource container.+cgvrsId :: Lens' CreateGroupVersionResponse (Maybe Text)+cgvrsId = lens _cgvrsId (\ s a -> s{_cgvrsId = a});++-- | -- | The response status code.+cgvrsResponseStatus :: Lens' CreateGroupVersionResponse Int+cgvrsResponseStatus = lens _cgvrsResponseStatus (\ s a -> s{_cgvrsResponseStatus = a});++instance NFData CreateGroupVersionResponse where
+ gen/Network/AWS/Greengrass/CreateLoggerDefinition.hs view
@@ -0,0 +1,212 @@+{-# 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.Greengrass.CreateLoggerDefinition+-- 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 a logger definition. You may optionally provide the initial version of the logger definition or use ``CreateLoggerDefinitionVersion`` at a later time.+module Network.AWS.Greengrass.CreateLoggerDefinition+    (+    -- * Creating a Request+      createLoggerDefinition+    , CreateLoggerDefinition+    -- * Request Lenses+    , cldAmznClientToken+    , cldInitialVersion+    , cldName++    -- * Destructuring the Response+    , createLoggerDefinitionResponse+    , CreateLoggerDefinitionResponse+    -- * Response Lenses+    , cldrsLatestVersionARN+    , cldrsARN+    , cldrsName+    , cldrsCreationTimestamp+    , cldrsId+    , cldrsLatestVersion+    , cldrsLastUpdatedTimestamp+    , cldrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createLoggerDefinition' smart constructor.+data CreateLoggerDefinition = CreateLoggerDefinition'+  { _cldAmznClientToken :: !(Maybe Text)+  , _cldInitialVersion  :: !(Maybe LoggerDefinitionVersion)+  , _cldName            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoggerDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cldInitialVersion' - Information on the initial version+--+-- * 'cldName' - name of the logger definition+createLoggerDefinition+    :: CreateLoggerDefinition+createLoggerDefinition =+  CreateLoggerDefinition'+  { _cldAmznClientToken = Nothing+  , _cldInitialVersion = Nothing+  , _cldName = Nothing+  }+++-- | The client token used to request idempotent operations.+cldAmznClientToken :: Lens' CreateLoggerDefinition (Maybe Text)+cldAmznClientToken = lens _cldAmznClientToken (\ s a -> s{_cldAmznClientToken = a});++-- | Information on the initial version+cldInitialVersion :: Lens' CreateLoggerDefinition (Maybe LoggerDefinitionVersion)+cldInitialVersion = lens _cldInitialVersion (\ s a -> s{_cldInitialVersion = a});++-- | name of the logger definition+cldName :: Lens' CreateLoggerDefinition (Maybe Text)+cldName = lens _cldName (\ s a -> s{_cldName = a});++instance AWSRequest CreateLoggerDefinition where+        type Rs CreateLoggerDefinition =+             CreateLoggerDefinitionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateLoggerDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable CreateLoggerDefinition where++instance NFData CreateLoggerDefinition where++instance ToHeaders CreateLoggerDefinition where+        toHeaders CreateLoggerDefinition'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cldAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateLoggerDefinition where+        toJSON CreateLoggerDefinition'{..}+          = object+              (catMaybes+                 [("InitialVersion" .=) <$> _cldInitialVersion,+                  ("Name" .=) <$> _cldName])++instance ToPath CreateLoggerDefinition where+        toPath = const "/greengrass/definition/loggers"++instance ToQuery CreateLoggerDefinition where+        toQuery = const mempty++-- | /See:/ 'createLoggerDefinitionResponse' smart constructor.+data CreateLoggerDefinitionResponse = CreateLoggerDefinitionResponse'+  { _cldrsLatestVersionARN     :: !(Maybe Text)+  , _cldrsARN                  :: !(Maybe Text)+  , _cldrsName                 :: !(Maybe Text)+  , _cldrsCreationTimestamp    :: !(Maybe Text)+  , _cldrsId                   :: !(Maybe Text)+  , _cldrsLatestVersion        :: !(Maybe Text)+  , _cldrsLastUpdatedTimestamp :: !(Maybe Text)+  , _cldrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoggerDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'cldrsARN' - Arn of the definition.+--+-- * 'cldrsName' - Name of the definition.+--+-- * 'cldrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'cldrsId' - Id of the definition.+--+-- * 'cldrsLatestVersion' - Last version of the definition.+--+-- * 'cldrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'cldrsResponseStatus' - -- | The response status code.+createLoggerDefinitionResponse+    :: Int -- ^ 'cldrsResponseStatus'+    -> CreateLoggerDefinitionResponse+createLoggerDefinitionResponse pResponseStatus_ =+  CreateLoggerDefinitionResponse'+  { _cldrsLatestVersionARN = Nothing+  , _cldrsARN = Nothing+  , _cldrsName = Nothing+  , _cldrsCreationTimestamp = Nothing+  , _cldrsId = Nothing+  , _cldrsLatestVersion = Nothing+  , _cldrsLastUpdatedTimestamp = Nothing+  , _cldrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+cldrsLatestVersionARN :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsLatestVersionARN = lens _cldrsLatestVersionARN (\ s a -> s{_cldrsLatestVersionARN = a});++-- | Arn of the definition.+cldrsARN :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsARN = lens _cldrsARN (\ s a -> s{_cldrsARN = a});++-- | Name of the definition.+cldrsName :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsName = lens _cldrsName (\ s a -> s{_cldrsName = a});++-- | Timestamp of when the definition was created.+cldrsCreationTimestamp :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsCreationTimestamp = lens _cldrsCreationTimestamp (\ s a -> s{_cldrsCreationTimestamp = a});++-- | Id of the definition.+cldrsId :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsId = lens _cldrsId (\ s a -> s{_cldrsId = a});++-- | Last version of the definition.+cldrsLatestVersion :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsLatestVersion = lens _cldrsLatestVersion (\ s a -> s{_cldrsLatestVersion = a});++-- | Last updated timestamp of the definition.+cldrsLastUpdatedTimestamp :: Lens' CreateLoggerDefinitionResponse (Maybe Text)+cldrsLastUpdatedTimestamp = lens _cldrsLastUpdatedTimestamp (\ s a -> s{_cldrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+cldrsResponseStatus :: Lens' CreateLoggerDefinitionResponse Int+cldrsResponseStatus = lens _cldrsResponseStatus (\ s a -> s{_cldrsResponseStatus = a});++instance NFData CreateLoggerDefinitionResponse where
+ gen/Network/AWS/Greengrass/CreateLoggerDefinitionVersion.hs view
@@ -0,0 +1,187 @@+{-# 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.Greengrass.CreateLoggerDefinitionVersion+-- 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 a version of a logger definition that has already been defined.+module Network.AWS.Greengrass.CreateLoggerDefinitionVersion+    (+    -- * Creating a Request+      createLoggerDefinitionVersion+    , CreateLoggerDefinitionVersion+    -- * Request Lenses+    , cldvLoggers+    , cldvAmznClientToken+    , cldvLoggerDefinitionId++    -- * Destructuring the Response+    , createLoggerDefinitionVersionResponse+    , CreateLoggerDefinitionVersionResponse+    -- * Response Lenses+    , cldvrsARN+    , cldvrsCreationTimestamp+    , cldvrsVersion+    , cldvrsId+    , cldvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createLoggerDefinitionVersion' smart constructor.+data CreateLoggerDefinitionVersion = CreateLoggerDefinitionVersion'+  { _cldvLoggers            :: !(Maybe [GreengrassLogger])+  , _cldvAmznClientToken    :: !(Maybe Text)+  , _cldvLoggerDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoggerDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldvLoggers' - List of loggers.+--+-- * 'cldvAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'cldvLoggerDefinitionId' - logger definition Id+createLoggerDefinitionVersion+    :: Text -- ^ 'cldvLoggerDefinitionId'+    -> CreateLoggerDefinitionVersion+createLoggerDefinitionVersion pLoggerDefinitionId_ =+  CreateLoggerDefinitionVersion'+  { _cldvLoggers = Nothing+  , _cldvAmznClientToken = Nothing+  , _cldvLoggerDefinitionId = pLoggerDefinitionId_+  }+++-- | List of loggers.+cldvLoggers :: Lens' CreateLoggerDefinitionVersion [GreengrassLogger]+cldvLoggers = lens _cldvLoggers (\ s a -> s{_cldvLoggers = a}) . _Default . _Coerce;++-- | The client token used to request idempotent operations.+cldvAmznClientToken :: Lens' CreateLoggerDefinitionVersion (Maybe Text)+cldvAmznClientToken = lens _cldvAmznClientToken (\ s a -> s{_cldvAmznClientToken = a});++-- | logger definition Id+cldvLoggerDefinitionId :: Lens' CreateLoggerDefinitionVersion Text+cldvLoggerDefinitionId = lens _cldvLoggerDefinitionId (\ s a -> s{_cldvLoggerDefinitionId = a});++instance AWSRequest CreateLoggerDefinitionVersion+         where+        type Rs CreateLoggerDefinitionVersion =+             CreateLoggerDefinitionVersionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateLoggerDefinitionVersionResponse' <$>+                   (x .?> "Arn") <*> (x .?> "CreationTimestamp") <*>+                     (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable CreateLoggerDefinitionVersion where++instance NFData CreateLoggerDefinitionVersion where++instance ToHeaders CreateLoggerDefinitionVersion+         where+        toHeaders CreateLoggerDefinitionVersion'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _cldvAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateLoggerDefinitionVersion where+        toJSON CreateLoggerDefinitionVersion'{..}+          = object+              (catMaybes [("Loggers" .=) <$> _cldvLoggers])++instance ToPath CreateLoggerDefinitionVersion where+        toPath CreateLoggerDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/loggers/",+               toBS _cldvLoggerDefinitionId, "/versions"]++instance ToQuery CreateLoggerDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'createLoggerDefinitionVersionResponse' smart constructor.+data CreateLoggerDefinitionVersionResponse = CreateLoggerDefinitionVersionResponse'+  { _cldvrsARN               :: !(Maybe Text)+  , _cldvrsCreationTimestamp :: !(Maybe Text)+  , _cldvrsVersion           :: !(Maybe Text)+  , _cldvrsId                :: !(Maybe Text)+  , _cldvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateLoggerDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cldvrsARN' - Arn of the version.+--+-- * 'cldvrsCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'cldvrsVersion' - Unique Id of a version.+--+-- * 'cldvrsId' - Id of the resource container.+--+-- * 'cldvrsResponseStatus' - -- | The response status code.+createLoggerDefinitionVersionResponse+    :: Int -- ^ 'cldvrsResponseStatus'+    -> CreateLoggerDefinitionVersionResponse+createLoggerDefinitionVersionResponse pResponseStatus_ =+  CreateLoggerDefinitionVersionResponse'+  { _cldvrsARN = Nothing+  , _cldvrsCreationTimestamp = Nothing+  , _cldvrsVersion = Nothing+  , _cldvrsId = Nothing+  , _cldvrsResponseStatus = pResponseStatus_+  }+++-- | Arn of the version.+cldvrsARN :: Lens' CreateLoggerDefinitionVersionResponse (Maybe Text)+cldvrsARN = lens _cldvrsARN (\ s a -> s{_cldvrsARN = a});++-- | Timestamp of when the version was created.+cldvrsCreationTimestamp :: Lens' CreateLoggerDefinitionVersionResponse (Maybe Text)+cldvrsCreationTimestamp = lens _cldvrsCreationTimestamp (\ s a -> s{_cldvrsCreationTimestamp = a});++-- | Unique Id of a version.+cldvrsVersion :: Lens' CreateLoggerDefinitionVersionResponse (Maybe Text)+cldvrsVersion = lens _cldvrsVersion (\ s a -> s{_cldvrsVersion = a});++-- | Id of the resource container.+cldvrsId :: Lens' CreateLoggerDefinitionVersionResponse (Maybe Text)+cldvrsId = lens _cldvrsId (\ s a -> s{_cldvrsId = a});++-- | -- | The response status code.+cldvrsResponseStatus :: Lens' CreateLoggerDefinitionVersionResponse Int+cldvrsResponseStatus = lens _cldvrsResponseStatus (\ s a -> s{_cldvrsResponseStatus = a});++instance NFData CreateLoggerDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/CreateSubscriptionDefinition.hs view
@@ -0,0 +1,214 @@+{-# 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.Greengrass.CreateSubscriptionDefinition+-- 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 a subscription definition. You may optionally provide the initial version of the subscription definition or use ``CreateSubscriptionDefinitionVersion`` at a later time.+module Network.AWS.Greengrass.CreateSubscriptionDefinition+    (+    -- * Creating a Request+      createSubscriptionDefinition+    , CreateSubscriptionDefinition+    -- * Request Lenses+    , csdAmznClientToken+    , csdInitialVersion+    , csdName++    -- * Destructuring the Response+    , createSubscriptionDefinitionResponse+    , CreateSubscriptionDefinitionResponse+    -- * Response Lenses+    , csdrsLatestVersionARN+    , csdrsARN+    , csdrsName+    , csdrsCreationTimestamp+    , csdrsId+    , csdrsLatestVersion+    , csdrsLastUpdatedTimestamp+    , csdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createSubscriptionDefinition' smart constructor.+data CreateSubscriptionDefinition = CreateSubscriptionDefinition'+  { _csdAmznClientToken :: !(Maybe Text)+  , _csdInitialVersion  :: !(Maybe SubscriptionDefinitionVersion)+  , _csdName            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateSubscriptionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csdAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'csdInitialVersion' - Information on the initial version+--+-- * 'csdName' - name of the subscription definition+createSubscriptionDefinition+    :: CreateSubscriptionDefinition+createSubscriptionDefinition =+  CreateSubscriptionDefinition'+  { _csdAmznClientToken = Nothing+  , _csdInitialVersion = Nothing+  , _csdName = Nothing+  }+++-- | The client token used to request idempotent operations.+csdAmznClientToken :: Lens' CreateSubscriptionDefinition (Maybe Text)+csdAmznClientToken = lens _csdAmznClientToken (\ s a -> s{_csdAmznClientToken = a});++-- | Information on the initial version+csdInitialVersion :: Lens' CreateSubscriptionDefinition (Maybe SubscriptionDefinitionVersion)+csdInitialVersion = lens _csdInitialVersion (\ s a -> s{_csdInitialVersion = a});++-- | name of the subscription definition+csdName :: Lens' CreateSubscriptionDefinition (Maybe Text)+csdName = lens _csdName (\ s a -> s{_csdName = a});++instance AWSRequest CreateSubscriptionDefinition+         where+        type Rs CreateSubscriptionDefinition =+             CreateSubscriptionDefinitionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateSubscriptionDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable CreateSubscriptionDefinition where++instance NFData CreateSubscriptionDefinition where++instance ToHeaders CreateSubscriptionDefinition where+        toHeaders CreateSubscriptionDefinition'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _csdAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateSubscriptionDefinition where+        toJSON CreateSubscriptionDefinition'{..}+          = object+              (catMaybes+                 [("InitialVersion" .=) <$> _csdInitialVersion,+                  ("Name" .=) <$> _csdName])++instance ToPath CreateSubscriptionDefinition where+        toPath = const "/greengrass/definition/subscriptions"++instance ToQuery CreateSubscriptionDefinition where+        toQuery = const mempty++-- | /See:/ 'createSubscriptionDefinitionResponse' smart constructor.+data CreateSubscriptionDefinitionResponse = CreateSubscriptionDefinitionResponse'+  { _csdrsLatestVersionARN     :: !(Maybe Text)+  , _csdrsARN                  :: !(Maybe Text)+  , _csdrsName                 :: !(Maybe Text)+  , _csdrsCreationTimestamp    :: !(Maybe Text)+  , _csdrsId                   :: !(Maybe Text)+  , _csdrsLatestVersion        :: !(Maybe Text)+  , _csdrsLastUpdatedTimestamp :: !(Maybe Text)+  , _csdrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateSubscriptionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csdrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'csdrsARN' - Arn of the definition.+--+-- * 'csdrsName' - Name of the definition.+--+-- * 'csdrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'csdrsId' - Id of the definition.+--+-- * 'csdrsLatestVersion' - Last version of the definition.+--+-- * 'csdrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'csdrsResponseStatus' - -- | The response status code.+createSubscriptionDefinitionResponse+    :: Int -- ^ 'csdrsResponseStatus'+    -> CreateSubscriptionDefinitionResponse+createSubscriptionDefinitionResponse pResponseStatus_ =+  CreateSubscriptionDefinitionResponse'+  { _csdrsLatestVersionARN = Nothing+  , _csdrsARN = Nothing+  , _csdrsName = Nothing+  , _csdrsCreationTimestamp = Nothing+  , _csdrsId = Nothing+  , _csdrsLatestVersion = Nothing+  , _csdrsLastUpdatedTimestamp = Nothing+  , _csdrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+csdrsLatestVersionARN :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsLatestVersionARN = lens _csdrsLatestVersionARN (\ s a -> s{_csdrsLatestVersionARN = a});++-- | Arn of the definition.+csdrsARN :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsARN = lens _csdrsARN (\ s a -> s{_csdrsARN = a});++-- | Name of the definition.+csdrsName :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsName = lens _csdrsName (\ s a -> s{_csdrsName = a});++-- | Timestamp of when the definition was created.+csdrsCreationTimestamp :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsCreationTimestamp = lens _csdrsCreationTimestamp (\ s a -> s{_csdrsCreationTimestamp = a});++-- | Id of the definition.+csdrsId :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsId = lens _csdrsId (\ s a -> s{_csdrsId = a});++-- | Last version of the definition.+csdrsLatestVersion :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsLatestVersion = lens _csdrsLatestVersion (\ s a -> s{_csdrsLatestVersion = a});++-- | Last updated timestamp of the definition.+csdrsLastUpdatedTimestamp :: Lens' CreateSubscriptionDefinitionResponse (Maybe Text)+csdrsLastUpdatedTimestamp = lens _csdrsLastUpdatedTimestamp (\ s a -> s{_csdrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+csdrsResponseStatus :: Lens' CreateSubscriptionDefinitionResponse Int+csdrsResponseStatus = lens _csdrsResponseStatus (\ s a -> s{_csdrsResponseStatus = a});++instance NFData CreateSubscriptionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/CreateSubscriptionDefinitionVersion.hs view
@@ -0,0 +1,196 @@+{-# 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.Greengrass.CreateSubscriptionDefinitionVersion+-- 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 a version of a subscription definition which has already been defined.+module Network.AWS.Greengrass.CreateSubscriptionDefinitionVersion+    (+    -- * Creating a Request+      createSubscriptionDefinitionVersion+    , CreateSubscriptionDefinitionVersion+    -- * Request Lenses+    , csdvAmznClientToken+    , csdvSubscriptions+    , csdvSubscriptionDefinitionId++    -- * Destructuring the Response+    , createSubscriptionDefinitionVersionResponse+    , CreateSubscriptionDefinitionVersionResponse+    -- * Response Lenses+    , csdvrsARN+    , csdvrsCreationTimestamp+    , csdvrsVersion+    , csdvrsId+    , csdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createSubscriptionDefinitionVersion' smart constructor.+data CreateSubscriptionDefinitionVersion = CreateSubscriptionDefinitionVersion'+  { _csdvAmznClientToken          :: !(Maybe Text)+  , _csdvSubscriptions            :: !(Maybe [Subscription])+  , _csdvSubscriptionDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateSubscriptionDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csdvAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'csdvSubscriptions' - Subscriptions in the version.+--+-- * 'csdvSubscriptionDefinitionId' - subscription definition Id+createSubscriptionDefinitionVersion+    :: Text -- ^ 'csdvSubscriptionDefinitionId'+    -> CreateSubscriptionDefinitionVersion+createSubscriptionDefinitionVersion pSubscriptionDefinitionId_ =+  CreateSubscriptionDefinitionVersion'+  { _csdvAmznClientToken = Nothing+  , _csdvSubscriptions = Nothing+  , _csdvSubscriptionDefinitionId = pSubscriptionDefinitionId_+  }+++-- | The client token used to request idempotent operations.+csdvAmznClientToken :: Lens' CreateSubscriptionDefinitionVersion (Maybe Text)+csdvAmznClientToken = lens _csdvAmznClientToken (\ s a -> s{_csdvAmznClientToken = a});++-- | Subscriptions in the version.+csdvSubscriptions :: Lens' CreateSubscriptionDefinitionVersion [Subscription]+csdvSubscriptions = lens _csdvSubscriptions (\ s a -> s{_csdvSubscriptions = a}) . _Default . _Coerce;++-- | subscription definition Id+csdvSubscriptionDefinitionId :: Lens' CreateSubscriptionDefinitionVersion Text+csdvSubscriptionDefinitionId = lens _csdvSubscriptionDefinitionId (\ s a -> s{_csdvSubscriptionDefinitionId = a});++instance AWSRequest+           CreateSubscriptionDefinitionVersion+         where+        type Rs CreateSubscriptionDefinitionVersion =+             CreateSubscriptionDefinitionVersionResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 CreateSubscriptionDefinitionVersionResponse' <$>+                   (x .?> "Arn") <*> (x .?> "CreationTimestamp") <*>+                     (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable CreateSubscriptionDefinitionVersion+         where++instance NFData CreateSubscriptionDefinitionVersion+         where++instance ToHeaders+           CreateSubscriptionDefinitionVersion+         where+        toHeaders CreateSubscriptionDefinitionVersion'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _csdvAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON CreateSubscriptionDefinitionVersion+         where+        toJSON CreateSubscriptionDefinitionVersion'{..}+          = object+              (catMaybes+                 [("Subscriptions" .=) <$> _csdvSubscriptions])++instance ToPath CreateSubscriptionDefinitionVersion+         where+        toPath CreateSubscriptionDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/subscriptions/",+               toBS _csdvSubscriptionDefinitionId, "/versions"]++instance ToQuery CreateSubscriptionDefinitionVersion+         where+        toQuery = const mempty++-- | /See:/ 'createSubscriptionDefinitionVersionResponse' smart constructor.+data CreateSubscriptionDefinitionVersionResponse = CreateSubscriptionDefinitionVersionResponse'+  { _csdvrsARN               :: !(Maybe Text)+  , _csdvrsCreationTimestamp :: !(Maybe Text)+  , _csdvrsVersion           :: !(Maybe Text)+  , _csdvrsId                :: !(Maybe Text)+  , _csdvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateSubscriptionDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csdvrsARN' - Arn of the version.+--+-- * 'csdvrsCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'csdvrsVersion' - Unique Id of a version.+--+-- * 'csdvrsId' - Id of the resource container.+--+-- * 'csdvrsResponseStatus' - -- | The response status code.+createSubscriptionDefinitionVersionResponse+    :: Int -- ^ 'csdvrsResponseStatus'+    -> CreateSubscriptionDefinitionVersionResponse+createSubscriptionDefinitionVersionResponse pResponseStatus_ =+  CreateSubscriptionDefinitionVersionResponse'+  { _csdvrsARN = Nothing+  , _csdvrsCreationTimestamp = Nothing+  , _csdvrsVersion = Nothing+  , _csdvrsId = Nothing+  , _csdvrsResponseStatus = pResponseStatus_+  }+++-- | Arn of the version.+csdvrsARN :: Lens' CreateSubscriptionDefinitionVersionResponse (Maybe Text)+csdvrsARN = lens _csdvrsARN (\ s a -> s{_csdvrsARN = a});++-- | Timestamp of when the version was created.+csdvrsCreationTimestamp :: Lens' CreateSubscriptionDefinitionVersionResponse (Maybe Text)+csdvrsCreationTimestamp = lens _csdvrsCreationTimestamp (\ s a -> s{_csdvrsCreationTimestamp = a});++-- | Unique Id of a version.+csdvrsVersion :: Lens' CreateSubscriptionDefinitionVersionResponse (Maybe Text)+csdvrsVersion = lens _csdvrsVersion (\ s a -> s{_csdvrsVersion = a});++-- | Id of the resource container.+csdvrsId :: Lens' CreateSubscriptionDefinitionVersionResponse (Maybe Text)+csdvrsId = lens _csdvrsId (\ s a -> s{_csdvrsId = a});++-- | -- | The response status code.+csdvrsResponseStatus :: Lens' CreateSubscriptionDefinitionVersionResponse Int+csdvrsResponseStatus = lens _csdvrsResponseStatus (\ s a -> s{_csdvrsResponseStatus = a});++instance NFData+           CreateSubscriptionDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/DeleteCoreDefinition.hs view
@@ -0,0 +1,118 @@+{-# 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.Greengrass.DeleteCoreDefinition+-- 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)+--+-- Deletes a core definition. The core definition must not have been used in a deployment.+module Network.AWS.Greengrass.DeleteCoreDefinition+    (+    -- * Creating a Request+      deleteCoreDefinition+    , DeleteCoreDefinition+    -- * Request Lenses+    , dcdCoreDefinitionId++    -- * Destructuring the Response+    , deleteCoreDefinitionResponse+    , DeleteCoreDefinitionResponse+    -- * Response Lenses+    , dcdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteCoreDefinition' smart constructor.+newtype DeleteCoreDefinition = DeleteCoreDefinition'+  { _dcdCoreDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteCoreDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcdCoreDefinitionId' - core definition Id+deleteCoreDefinition+    :: Text -- ^ 'dcdCoreDefinitionId'+    -> DeleteCoreDefinition+deleteCoreDefinition pCoreDefinitionId_ =+  DeleteCoreDefinition' {_dcdCoreDefinitionId = pCoreDefinitionId_}+++-- | core definition Id+dcdCoreDefinitionId :: Lens' DeleteCoreDefinition Text+dcdCoreDefinitionId = lens _dcdCoreDefinitionId (\ s a -> s{_dcdCoreDefinitionId = a});++instance AWSRequest DeleteCoreDefinition where+        type Rs DeleteCoreDefinition =+             DeleteCoreDefinitionResponse+        request = delete greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteCoreDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteCoreDefinition where++instance NFData DeleteCoreDefinition where++instance ToHeaders DeleteCoreDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteCoreDefinition where+        toPath DeleteCoreDefinition'{..}+          = mconcat+              ["/greengrass/definition/cores/",+               toBS _dcdCoreDefinitionId]++instance ToQuery DeleteCoreDefinition where+        toQuery = const mempty++-- | /See:/ 'deleteCoreDefinitionResponse' smart constructor.+newtype DeleteCoreDefinitionResponse = DeleteCoreDefinitionResponse'+  { _dcdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteCoreDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcdrsResponseStatus' - -- | The response status code.+deleteCoreDefinitionResponse+    :: Int -- ^ 'dcdrsResponseStatus'+    -> DeleteCoreDefinitionResponse+deleteCoreDefinitionResponse pResponseStatus_ =+  DeleteCoreDefinitionResponse' {_dcdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dcdrsResponseStatus :: Lens' DeleteCoreDefinitionResponse Int+dcdrsResponseStatus = lens _dcdrsResponseStatus (\ s a -> s{_dcdrsResponseStatus = a});++instance NFData DeleteCoreDefinitionResponse where
+ gen/Network/AWS/Greengrass/DeleteDeviceDefinition.hs view
@@ -0,0 +1,118 @@+{-# 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.Greengrass.DeleteDeviceDefinition+-- 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)+--+-- Deletes a device definition. The device definition must not have been used in a deployment.+module Network.AWS.Greengrass.DeleteDeviceDefinition+    (+    -- * Creating a Request+      deleteDeviceDefinition+    , DeleteDeviceDefinition+    -- * Request Lenses+    , dddDeviceDefinitionId++    -- * Destructuring the Response+    , deleteDeviceDefinitionResponse+    , DeleteDeviceDefinitionResponse+    -- * Response Lenses+    , dddrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDeviceDefinition' smart constructor.+newtype DeleteDeviceDefinition = DeleteDeviceDefinition'+  { _dddDeviceDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDeviceDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddDeviceDefinitionId' - device definition Id+deleteDeviceDefinition+    :: Text -- ^ 'dddDeviceDefinitionId'+    -> DeleteDeviceDefinition+deleteDeviceDefinition pDeviceDefinitionId_ =+  DeleteDeviceDefinition' {_dddDeviceDefinitionId = pDeviceDefinitionId_}+++-- | device definition Id+dddDeviceDefinitionId :: Lens' DeleteDeviceDefinition Text+dddDeviceDefinitionId = lens _dddDeviceDefinitionId (\ s a -> s{_dddDeviceDefinitionId = a});++instance AWSRequest DeleteDeviceDefinition where+        type Rs DeleteDeviceDefinition =+             DeleteDeviceDefinitionResponse+        request = delete greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteDeviceDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteDeviceDefinition where++instance NFData DeleteDeviceDefinition where++instance ToHeaders DeleteDeviceDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteDeviceDefinition where+        toPath DeleteDeviceDefinition'{..}+          = mconcat+              ["/greengrass/definition/devices/",+               toBS _dddDeviceDefinitionId]++instance ToQuery DeleteDeviceDefinition where+        toQuery = const mempty++-- | /See:/ 'deleteDeviceDefinitionResponse' smart constructor.+newtype DeleteDeviceDefinitionResponse = DeleteDeviceDefinitionResponse'+  { _dddrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDeviceDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dddrsResponseStatus' - -- | The response status code.+deleteDeviceDefinitionResponse+    :: Int -- ^ 'dddrsResponseStatus'+    -> DeleteDeviceDefinitionResponse+deleteDeviceDefinitionResponse pResponseStatus_ =+  DeleteDeviceDefinitionResponse' {_dddrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dddrsResponseStatus :: Lens' DeleteDeviceDefinitionResponse Int+dddrsResponseStatus = lens _dddrsResponseStatus (\ s a -> s{_dddrsResponseStatus = a});++instance NFData DeleteDeviceDefinitionResponse where
+ gen/Network/AWS/Greengrass/DeleteFunctionDefinition.hs view
@@ -0,0 +1,119 @@+{-# 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.Greengrass.DeleteFunctionDefinition+-- 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)+--+-- Deletes a Lambda function definition. The Lambda function definition must not have been used in a deployment.+module Network.AWS.Greengrass.DeleteFunctionDefinition+    (+    -- * Creating a Request+      deleteFunctionDefinition+    , DeleteFunctionDefinition+    -- * Request Lenses+    , dfdFunctionDefinitionId++    -- * Destructuring the Response+    , deleteFunctionDefinitionResponse+    , DeleteFunctionDefinitionResponse+    -- * Response Lenses+    , dfdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteFunctionDefinition' smart constructor.+newtype DeleteFunctionDefinition = DeleteFunctionDefinition'+  { _dfdFunctionDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteFunctionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfdFunctionDefinitionId' - the unique Id of the lambda definition+deleteFunctionDefinition+    :: Text -- ^ 'dfdFunctionDefinitionId'+    -> DeleteFunctionDefinition+deleteFunctionDefinition pFunctionDefinitionId_ =+  DeleteFunctionDefinition' {_dfdFunctionDefinitionId = pFunctionDefinitionId_}+++-- | the unique Id of the lambda definition+dfdFunctionDefinitionId :: Lens' DeleteFunctionDefinition Text+dfdFunctionDefinitionId = lens _dfdFunctionDefinitionId (\ s a -> s{_dfdFunctionDefinitionId = a});++instance AWSRequest DeleteFunctionDefinition where+        type Rs DeleteFunctionDefinition =+             DeleteFunctionDefinitionResponse+        request = delete greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteFunctionDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteFunctionDefinition where++instance NFData DeleteFunctionDefinition where++instance ToHeaders DeleteFunctionDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteFunctionDefinition where+        toPath DeleteFunctionDefinition'{..}+          = mconcat+              ["/greengrass/definition/functions/",+               toBS _dfdFunctionDefinitionId]++instance ToQuery DeleteFunctionDefinition where+        toQuery = const mempty++-- | /See:/ 'deleteFunctionDefinitionResponse' smart constructor.+newtype DeleteFunctionDefinitionResponse = DeleteFunctionDefinitionResponse'+  { _dfdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteFunctionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfdrsResponseStatus' - -- | The response status code.+deleteFunctionDefinitionResponse+    :: Int -- ^ 'dfdrsResponseStatus'+    -> DeleteFunctionDefinitionResponse+deleteFunctionDefinitionResponse pResponseStatus_ =+  DeleteFunctionDefinitionResponse' {_dfdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dfdrsResponseStatus :: Lens' DeleteFunctionDefinitionResponse Int+dfdrsResponseStatus = lens _dfdrsResponseStatus (\ s a -> s{_dfdrsResponseStatus = a});++instance NFData DeleteFunctionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/DeleteGroup.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.DeleteGroup+-- 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)+--+-- Deletes a group. The group must not have been used in deployment.+module Network.AWS.Greengrass.DeleteGroup+    (+    -- * Creating a Request+      deleteGroup+    , DeleteGroup+    -- * Request Lenses+    , dgGroupId++    -- * Destructuring the Response+    , deleteGroupResponse+    , DeleteGroupResponse+    -- * Response Lenses+    , dgrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteGroup' smart constructor.+newtype DeleteGroup = DeleteGroup'+  { _dgGroupId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgGroupId' - The unique Id of the AWS Greengrass Group+deleteGroup+    :: Text -- ^ 'dgGroupId'+    -> DeleteGroup+deleteGroup pGroupId_ = DeleteGroup' {_dgGroupId = pGroupId_}+++-- | The unique Id of the AWS Greengrass Group+dgGroupId :: Lens' DeleteGroup Text+dgGroupId = lens _dgGroupId (\ s a -> s{_dgGroupId = a});++instance AWSRequest DeleteGroup where+        type Rs DeleteGroup = DeleteGroupResponse+        request = delete greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteGroupResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteGroup where++instance NFData DeleteGroup where++instance ToHeaders DeleteGroup where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteGroup where+        toPath DeleteGroup'{..}+          = mconcat ["/greengrass/groups/", toBS _dgGroupId]++instance ToQuery DeleteGroup where+        toQuery = const mempty++-- | /See:/ 'deleteGroupResponse' smart constructor.+newtype DeleteGroupResponse = DeleteGroupResponse'+  { _dgrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgrsResponseStatus' - -- | The response status code.+deleteGroupResponse+    :: Int -- ^ 'dgrsResponseStatus'+    -> DeleteGroupResponse+deleteGroupResponse pResponseStatus_ =+  DeleteGroupResponse' {_dgrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dgrsResponseStatus :: Lens' DeleteGroupResponse Int+dgrsResponseStatus = lens _dgrsResponseStatus (\ s a -> s{_dgrsResponseStatus = a});++instance NFData DeleteGroupResponse where
+ gen/Network/AWS/Greengrass/DeleteLoggerDefinition.hs view
@@ -0,0 +1,118 @@+{-# 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.Greengrass.DeleteLoggerDefinition+-- 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)+--+-- Deletes a logger definition. The logger definition must not have been used in a deployment.+module Network.AWS.Greengrass.DeleteLoggerDefinition+    (+    -- * Creating a Request+      deleteLoggerDefinition+    , DeleteLoggerDefinition+    -- * Request Lenses+    , dldLoggerDefinitionId++    -- * Destructuring the Response+    , deleteLoggerDefinitionResponse+    , DeleteLoggerDefinitionResponse+    -- * Response Lenses+    , dldrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteLoggerDefinition' smart constructor.+newtype DeleteLoggerDefinition = DeleteLoggerDefinition'+  { _dldLoggerDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteLoggerDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dldLoggerDefinitionId' - logger definition Id+deleteLoggerDefinition+    :: Text -- ^ 'dldLoggerDefinitionId'+    -> DeleteLoggerDefinition+deleteLoggerDefinition pLoggerDefinitionId_ =+  DeleteLoggerDefinition' {_dldLoggerDefinitionId = pLoggerDefinitionId_}+++-- | logger definition Id+dldLoggerDefinitionId :: Lens' DeleteLoggerDefinition Text+dldLoggerDefinitionId = lens _dldLoggerDefinitionId (\ s a -> s{_dldLoggerDefinitionId = a});++instance AWSRequest DeleteLoggerDefinition where+        type Rs DeleteLoggerDefinition =+             DeleteLoggerDefinitionResponse+        request = delete greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteLoggerDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteLoggerDefinition where++instance NFData DeleteLoggerDefinition where++instance ToHeaders DeleteLoggerDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteLoggerDefinition where+        toPath DeleteLoggerDefinition'{..}+          = mconcat+              ["/greengrass/definition/loggers/",+               toBS _dldLoggerDefinitionId]++instance ToQuery DeleteLoggerDefinition where+        toQuery = const mempty++-- | /See:/ 'deleteLoggerDefinitionResponse' smart constructor.+newtype DeleteLoggerDefinitionResponse = DeleteLoggerDefinitionResponse'+  { _dldrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteLoggerDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dldrsResponseStatus' - -- | The response status code.+deleteLoggerDefinitionResponse+    :: Int -- ^ 'dldrsResponseStatus'+    -> DeleteLoggerDefinitionResponse+deleteLoggerDefinitionResponse pResponseStatus_ =+  DeleteLoggerDefinitionResponse' {_dldrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dldrsResponseStatus :: Lens' DeleteLoggerDefinitionResponse Int+dldrsResponseStatus = lens _dldrsResponseStatus (\ s a -> s{_dldrsResponseStatus = a});++instance NFData DeleteLoggerDefinitionResponse where
+ gen/Network/AWS/Greengrass/DeleteSubscriptionDefinition.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.DeleteSubscriptionDefinition+-- 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)+--+-- Deletes a subscription definition. The subscription definition must not have been used in a deployment.+module Network.AWS.Greengrass.DeleteSubscriptionDefinition+    (+    -- * Creating a Request+      deleteSubscriptionDefinition+    , DeleteSubscriptionDefinition+    -- * Request Lenses+    , dsdSubscriptionDefinitionId++    -- * Destructuring the Response+    , deleteSubscriptionDefinitionResponse+    , DeleteSubscriptionDefinitionResponse+    -- * Response Lenses+    , dsdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteSubscriptionDefinition' smart constructor.+newtype DeleteSubscriptionDefinition = DeleteSubscriptionDefinition'+  { _dsdSubscriptionDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteSubscriptionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsdSubscriptionDefinitionId' - subscription definition Id+deleteSubscriptionDefinition+    :: Text -- ^ 'dsdSubscriptionDefinitionId'+    -> DeleteSubscriptionDefinition+deleteSubscriptionDefinition pSubscriptionDefinitionId_ =+  DeleteSubscriptionDefinition'+  {_dsdSubscriptionDefinitionId = pSubscriptionDefinitionId_}+++-- | subscription definition Id+dsdSubscriptionDefinitionId :: Lens' DeleteSubscriptionDefinition Text+dsdSubscriptionDefinitionId = lens _dsdSubscriptionDefinitionId (\ s a -> s{_dsdSubscriptionDefinitionId = a});++instance AWSRequest DeleteSubscriptionDefinition+         where+        type Rs DeleteSubscriptionDefinition =+             DeleteSubscriptionDefinitionResponse+        request = delete greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteSubscriptionDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteSubscriptionDefinition where++instance NFData DeleteSubscriptionDefinition where++instance ToHeaders DeleteSubscriptionDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DeleteSubscriptionDefinition where+        toPath DeleteSubscriptionDefinition'{..}+          = mconcat+              ["/greengrass/definition/subscriptions/",+               toBS _dsdSubscriptionDefinitionId]++instance ToQuery DeleteSubscriptionDefinition where+        toQuery = const mempty++-- | /See:/ 'deleteSubscriptionDefinitionResponse' smart constructor.+newtype DeleteSubscriptionDefinitionResponse = DeleteSubscriptionDefinitionResponse'+  { _dsdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteSubscriptionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsdrsResponseStatus' - -- | The response status code.+deleteSubscriptionDefinitionResponse+    :: Int -- ^ 'dsdrsResponseStatus'+    -> DeleteSubscriptionDefinitionResponse+deleteSubscriptionDefinitionResponse pResponseStatus_ =+  DeleteSubscriptionDefinitionResponse'+  {_dsdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dsdrsResponseStatus :: Lens' DeleteSubscriptionDefinitionResponse Int+dsdrsResponseStatus = lens _dsdrsResponseStatus (\ s a -> s{_dsdrsResponseStatus = a});++instance NFData DeleteSubscriptionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/DisassociateRoleFromGroup.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.DisassociateRoleFromGroup+-- 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)+--+-- Disassociates the role from a group.+module Network.AWS.Greengrass.DisassociateRoleFromGroup+    (+    -- * Creating a Request+      disassociateRoleFromGroup+    , DisassociateRoleFromGroup+    -- * Request Lenses+    , drfgGroupId++    -- * Destructuring the Response+    , disassociateRoleFromGroupResponse+    , DisassociateRoleFromGroupResponse+    -- * Response Lenses+    , drfgrsDisassociatedAt+    , drfgrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'disassociateRoleFromGroup' smart constructor.+newtype DisassociateRoleFromGroup = DisassociateRoleFromGroup'+  { _drfgGroupId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DisassociateRoleFromGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drfgGroupId' - The unique Id of the AWS Greengrass Group+disassociateRoleFromGroup+    :: Text -- ^ 'drfgGroupId'+    -> DisassociateRoleFromGroup+disassociateRoleFromGroup pGroupId_ =+  DisassociateRoleFromGroup' {_drfgGroupId = pGroupId_}+++-- | The unique Id of the AWS Greengrass Group+drfgGroupId :: Lens' DisassociateRoleFromGroup Text+drfgGroupId = lens _drfgGroupId (\ s a -> s{_drfgGroupId = a});++instance AWSRequest DisassociateRoleFromGroup where+        type Rs DisassociateRoleFromGroup =+             DisassociateRoleFromGroupResponse+        request = delete greengrass+        response+          = receiveJSON+              (\ s h x ->+                 DisassociateRoleFromGroupResponse' <$>+                   (x .?> "DisassociatedAt") <*> (pure (fromEnum s)))++instance Hashable DisassociateRoleFromGroup where++instance NFData DisassociateRoleFromGroup where++instance ToHeaders DisassociateRoleFromGroup where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DisassociateRoleFromGroup where+        toPath DisassociateRoleFromGroup'{..}+          = mconcat+              ["/greengrass/groups/", toBS _drfgGroupId, "/role"]++instance ToQuery DisassociateRoleFromGroup where+        toQuery = const mempty++-- | /See:/ 'disassociateRoleFromGroupResponse' smart constructor.+data DisassociateRoleFromGroupResponse = DisassociateRoleFromGroupResponse'+  { _drfgrsDisassociatedAt :: !(Maybe Text)+  , _drfgrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DisassociateRoleFromGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drfgrsDisassociatedAt' - Time when the role was disassociated from the group.+--+-- * 'drfgrsResponseStatus' - -- | The response status code.+disassociateRoleFromGroupResponse+    :: Int -- ^ 'drfgrsResponseStatus'+    -> DisassociateRoleFromGroupResponse+disassociateRoleFromGroupResponse pResponseStatus_ =+  DisassociateRoleFromGroupResponse'+  {_drfgrsDisassociatedAt = Nothing, _drfgrsResponseStatus = pResponseStatus_}+++-- | Time when the role was disassociated from the group.+drfgrsDisassociatedAt :: Lens' DisassociateRoleFromGroupResponse (Maybe Text)+drfgrsDisassociatedAt = lens _drfgrsDisassociatedAt (\ s a -> s{_drfgrsDisassociatedAt = a});++-- | -- | The response status code.+drfgrsResponseStatus :: Lens' DisassociateRoleFromGroupResponse Int+drfgrsResponseStatus = lens _drfgrsResponseStatus (\ s a -> s{_drfgrsResponseStatus = a});++instance NFData DisassociateRoleFromGroupResponse+         where
+ gen/Network/AWS/Greengrass/DisassociateServiceRoleFromAccount.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.DisassociateServiceRoleFromAccount+-- 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)+--+-- Disassociates the service role from the account. Without a service role, deployments will not work.+module Network.AWS.Greengrass.DisassociateServiceRoleFromAccount+    (+    -- * Creating a Request+      disassociateServiceRoleFromAccount+    , DisassociateServiceRoleFromAccount++    -- * Destructuring the Response+    , disassociateServiceRoleFromAccountResponse+    , DisassociateServiceRoleFromAccountResponse+    -- * Response Lenses+    , dsrfarsDisassociatedAt+    , dsrfarsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'disassociateServiceRoleFromAccount' smart constructor.+data DisassociateServiceRoleFromAccount =+  DisassociateServiceRoleFromAccount'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DisassociateServiceRoleFromAccount' with the minimum fields required to make a request.+--+disassociateServiceRoleFromAccount+    :: DisassociateServiceRoleFromAccount+disassociateServiceRoleFromAccount = DisassociateServiceRoleFromAccount'+++instance AWSRequest+           DisassociateServiceRoleFromAccount+         where+        type Rs DisassociateServiceRoleFromAccount =+             DisassociateServiceRoleFromAccountResponse+        request = delete greengrass+        response+          = receiveJSON+              (\ s h x ->+                 DisassociateServiceRoleFromAccountResponse' <$>+                   (x .?> "DisassociatedAt") <*> (pure (fromEnum s)))++instance Hashable DisassociateServiceRoleFromAccount+         where++instance NFData DisassociateServiceRoleFromAccount+         where++instance ToHeaders DisassociateServiceRoleFromAccount+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath DisassociateServiceRoleFromAccount+         where+        toPath = const "/greengrass/servicerole"++instance ToQuery DisassociateServiceRoleFromAccount+         where+        toQuery = const mempty++-- | /See:/ 'disassociateServiceRoleFromAccountResponse' smart constructor.+data DisassociateServiceRoleFromAccountResponse = DisassociateServiceRoleFromAccountResponse'+  { _dsrfarsDisassociatedAt :: !(Maybe Text)+  , _dsrfarsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DisassociateServiceRoleFromAccountResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrfarsDisassociatedAt' - Time when the service role was disassociated from the account.+--+-- * 'dsrfarsResponseStatus' - -- | The response status code.+disassociateServiceRoleFromAccountResponse+    :: Int -- ^ 'dsrfarsResponseStatus'+    -> DisassociateServiceRoleFromAccountResponse+disassociateServiceRoleFromAccountResponse pResponseStatus_ =+  DisassociateServiceRoleFromAccountResponse'+  {_dsrfarsDisassociatedAt = Nothing, _dsrfarsResponseStatus = pResponseStatus_}+++-- | Time when the service role was disassociated from the account.+dsrfarsDisassociatedAt :: Lens' DisassociateServiceRoleFromAccountResponse (Maybe Text)+dsrfarsDisassociatedAt = lens _dsrfarsDisassociatedAt (\ s a -> s{_dsrfarsDisassociatedAt = a});++-- | -- | The response status code.+dsrfarsResponseStatus :: Lens' DisassociateServiceRoleFromAccountResponse Int+dsrfarsResponseStatus = lens _dsrfarsResponseStatus (\ s a -> s{_dsrfarsResponseStatus = a});++instance NFData+           DisassociateServiceRoleFromAccountResponse+         where
+ gen/Network/AWS/Greengrass/GetAssociatedRole.hs view
@@ -0,0 +1,136 @@+{-# 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.Greengrass.GetAssociatedRole+-- 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)+--+-- Retrieves the role associated with a particular group.+module Network.AWS.Greengrass.GetAssociatedRole+    (+    -- * Creating a Request+      getAssociatedRole+    , GetAssociatedRole+    -- * Request Lenses+    , garGroupId++    -- * Destructuring the Response+    , getAssociatedRoleResponse+    , GetAssociatedRoleResponse+    -- * Response Lenses+    , garrsAssociatedAt+    , garrsRoleARN+    , garrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getAssociatedRole' smart constructor.+newtype GetAssociatedRole = GetAssociatedRole'+  { _garGroupId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetAssociatedRole' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'garGroupId' - The unique Id of the AWS Greengrass Group+getAssociatedRole+    :: Text -- ^ 'garGroupId'+    -> GetAssociatedRole+getAssociatedRole pGroupId_ = GetAssociatedRole' {_garGroupId = pGroupId_}+++-- | The unique Id of the AWS Greengrass Group+garGroupId :: Lens' GetAssociatedRole Text+garGroupId = lens _garGroupId (\ s a -> s{_garGroupId = a});++instance AWSRequest GetAssociatedRole where+        type Rs GetAssociatedRole = GetAssociatedRoleResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetAssociatedRoleResponse' <$>+                   (x .?> "AssociatedAt") <*> (x .?> "RoleArn") <*>+                     (pure (fromEnum s)))++instance Hashable GetAssociatedRole where++instance NFData GetAssociatedRole where++instance ToHeaders GetAssociatedRole where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetAssociatedRole where+        toPath GetAssociatedRole'{..}+          = mconcat+              ["/greengrass/groups/", toBS _garGroupId, "/role"]++instance ToQuery GetAssociatedRole where+        toQuery = const mempty++-- | /See:/ 'getAssociatedRoleResponse' smart constructor.+data GetAssociatedRoleResponse = GetAssociatedRoleResponse'+  { _garrsAssociatedAt   :: !(Maybe Text)+  , _garrsRoleARN        :: !(Maybe Text)+  , _garrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetAssociatedRoleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'garrsAssociatedAt' - Time when the role was associated for the group.+--+-- * 'garrsRoleARN' - Arn of the role that is associated with the group.+--+-- * 'garrsResponseStatus' - -- | The response status code.+getAssociatedRoleResponse+    :: Int -- ^ 'garrsResponseStatus'+    -> GetAssociatedRoleResponse+getAssociatedRoleResponse pResponseStatus_ =+  GetAssociatedRoleResponse'+  { _garrsAssociatedAt = Nothing+  , _garrsRoleARN = Nothing+  , _garrsResponseStatus = pResponseStatus_+  }+++-- | Time when the role was associated for the group.+garrsAssociatedAt :: Lens' GetAssociatedRoleResponse (Maybe Text)+garrsAssociatedAt = lens _garrsAssociatedAt (\ s a -> s{_garrsAssociatedAt = a});++-- | Arn of the role that is associated with the group.+garrsRoleARN :: Lens' GetAssociatedRoleResponse (Maybe Text)+garrsRoleARN = lens _garrsRoleARN (\ s a -> s{_garrsRoleARN = a});++-- | -- | The response status code.+garrsResponseStatus :: Lens' GetAssociatedRoleResponse Int+garrsResponseStatus = lens _garrsResponseStatus (\ s a -> s{_garrsResponseStatus = a});++instance NFData GetAssociatedRoleResponse where
+ gen/Network/AWS/Greengrass/GetConnectivityInfo.hs view
@@ -0,0 +1,140 @@+{-# 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.Greengrass.GetConnectivityInfo+-- 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)+--+-- Retrieves the connectivity information for a core.+module Network.AWS.Greengrass.GetConnectivityInfo+    (+    -- * Creating a Request+      getConnectivityInfo+    , GetConnectivityInfo+    -- * Request Lenses+    , gciThingName++    -- * Destructuring the Response+    , getConnectivityInfoResponse+    , GetConnectivityInfoResponse+    -- * Response Lenses+    , gcirsMessage+    , gcirsConnectivityInfo+    , gcirsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getConnectivityInfo' smart constructor.+newtype GetConnectivityInfo = GetConnectivityInfo'+  { _gciThingName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnectivityInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gciThingName' - Thing Name+getConnectivityInfo+    :: Text -- ^ 'gciThingName'+    -> GetConnectivityInfo+getConnectivityInfo pThingName_ =+  GetConnectivityInfo' {_gciThingName = pThingName_}+++-- | Thing Name+gciThingName :: Lens' GetConnectivityInfo Text+gciThingName = lens _gciThingName (\ s a -> s{_gciThingName = a});++instance AWSRequest GetConnectivityInfo where+        type Rs GetConnectivityInfo =+             GetConnectivityInfoResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetConnectivityInfoResponse' <$>+                   (x .?> "message") <*>+                     (x .?> "ConnectivityInfo" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetConnectivityInfo where++instance NFData GetConnectivityInfo where++instance ToHeaders GetConnectivityInfo where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetConnectivityInfo where+        toPath GetConnectivityInfo'{..}+          = mconcat+              ["/greengrass/things/", toBS _gciThingName,+               "/connectivityInfo"]++instance ToQuery GetConnectivityInfo where+        toQuery = const mempty++-- | /See:/ 'getConnectivityInfoResponse' smart constructor.+data GetConnectivityInfoResponse = GetConnectivityInfoResponse'+  { _gcirsMessage          :: !(Maybe Text)+  , _gcirsConnectivityInfo :: !(Maybe [ConnectivityInfo])+  , _gcirsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnectivityInfoResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcirsMessage' - Response Text+--+-- * 'gcirsConnectivityInfo' - Connectivity info list+--+-- * 'gcirsResponseStatus' - -- | The response status code.+getConnectivityInfoResponse+    :: Int -- ^ 'gcirsResponseStatus'+    -> GetConnectivityInfoResponse+getConnectivityInfoResponse pResponseStatus_ =+  GetConnectivityInfoResponse'+  { _gcirsMessage = Nothing+  , _gcirsConnectivityInfo = Nothing+  , _gcirsResponseStatus = pResponseStatus_+  }+++-- | Response Text+gcirsMessage :: Lens' GetConnectivityInfoResponse (Maybe Text)+gcirsMessage = lens _gcirsMessage (\ s a -> s{_gcirsMessage = a});++-- | Connectivity info list+gcirsConnectivityInfo :: Lens' GetConnectivityInfoResponse [ConnectivityInfo]+gcirsConnectivityInfo = lens _gcirsConnectivityInfo (\ s a -> s{_gcirsConnectivityInfo = a}) . _Default . _Coerce;++-- | -- | The response status code.+gcirsResponseStatus :: Lens' GetConnectivityInfoResponse Int+gcirsResponseStatus = lens _gcirsResponseStatus (\ s a -> s{_gcirsResponseStatus = a});++instance NFData GetConnectivityInfoResponse where
+ gen/Network/AWS/Greengrass/GetCoreDefinition.hs view
@@ -0,0 +1,188 @@+{-# 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.Greengrass.GetCoreDefinition+-- 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)+--+-- Retrieves information about a core definition version.+module Network.AWS.Greengrass.GetCoreDefinition+    (+    -- * Creating a Request+      getCoreDefinition+    , GetCoreDefinition+    -- * Request Lenses+    , gcdCoreDefinitionId++    -- * Destructuring the Response+    , getCoreDefinitionResponse+    , GetCoreDefinitionResponse+    -- * Response Lenses+    , gcdrsLatestVersionARN+    , gcdrsARN+    , gcdrsName+    , gcdrsCreationTimestamp+    , gcdrsId+    , gcdrsLatestVersion+    , gcdrsLastUpdatedTimestamp+    , gcdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCoreDefinition' smart constructor.+newtype GetCoreDefinition = GetCoreDefinition'+  { _gcdCoreDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCoreDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcdCoreDefinitionId' - core definition Id+getCoreDefinition+    :: Text -- ^ 'gcdCoreDefinitionId'+    -> GetCoreDefinition+getCoreDefinition pCoreDefinitionId_ =+  GetCoreDefinition' {_gcdCoreDefinitionId = pCoreDefinitionId_}+++-- | core definition Id+gcdCoreDefinitionId :: Lens' GetCoreDefinition Text+gcdCoreDefinitionId = lens _gcdCoreDefinitionId (\ s a -> s{_gcdCoreDefinitionId = a});++instance AWSRequest GetCoreDefinition where+        type Rs GetCoreDefinition = GetCoreDefinitionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetCoreDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetCoreDefinition where++instance NFData GetCoreDefinition where++instance ToHeaders GetCoreDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetCoreDefinition where+        toPath GetCoreDefinition'{..}+          = mconcat+              ["/greengrass/definition/cores/",+               toBS _gcdCoreDefinitionId]++instance ToQuery GetCoreDefinition where+        toQuery = const mempty++-- | /See:/ 'getCoreDefinitionResponse' smart constructor.+data GetCoreDefinitionResponse = GetCoreDefinitionResponse'+  { _gcdrsLatestVersionARN     :: !(Maybe Text)+  , _gcdrsARN                  :: !(Maybe Text)+  , _gcdrsName                 :: !(Maybe Text)+  , _gcdrsCreationTimestamp    :: !(Maybe Text)+  , _gcdrsId                   :: !(Maybe Text)+  , _gcdrsLatestVersion        :: !(Maybe Text)+  , _gcdrsLastUpdatedTimestamp :: !(Maybe Text)+  , _gcdrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCoreDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcdrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'gcdrsARN' - Arn of the definition.+--+-- * 'gcdrsName' - Name of the definition.+--+-- * 'gcdrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'gcdrsId' - Id of the definition.+--+-- * 'gcdrsLatestVersion' - Last version of the definition.+--+-- * 'gcdrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'gcdrsResponseStatus' - -- | The response status code.+getCoreDefinitionResponse+    :: Int -- ^ 'gcdrsResponseStatus'+    -> GetCoreDefinitionResponse+getCoreDefinitionResponse pResponseStatus_ =+  GetCoreDefinitionResponse'+  { _gcdrsLatestVersionARN = Nothing+  , _gcdrsARN = Nothing+  , _gcdrsName = Nothing+  , _gcdrsCreationTimestamp = Nothing+  , _gcdrsId = Nothing+  , _gcdrsLatestVersion = Nothing+  , _gcdrsLastUpdatedTimestamp = Nothing+  , _gcdrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+gcdrsLatestVersionARN :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsLatestVersionARN = lens _gcdrsLatestVersionARN (\ s a -> s{_gcdrsLatestVersionARN = a});++-- | Arn of the definition.+gcdrsARN :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsARN = lens _gcdrsARN (\ s a -> s{_gcdrsARN = a});++-- | Name of the definition.+gcdrsName :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsName = lens _gcdrsName (\ s a -> s{_gcdrsName = a});++-- | Timestamp of when the definition was created.+gcdrsCreationTimestamp :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsCreationTimestamp = lens _gcdrsCreationTimestamp (\ s a -> s{_gcdrsCreationTimestamp = a});++-- | Id of the definition.+gcdrsId :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsId = lens _gcdrsId (\ s a -> s{_gcdrsId = a});++-- | Last version of the definition.+gcdrsLatestVersion :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsLatestVersion = lens _gcdrsLatestVersion (\ s a -> s{_gcdrsLatestVersion = a});++-- | Last updated timestamp of the definition.+gcdrsLastUpdatedTimestamp :: Lens' GetCoreDefinitionResponse (Maybe Text)+gcdrsLastUpdatedTimestamp = lens _gcdrsLastUpdatedTimestamp (\ s a -> s{_gcdrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+gcdrsResponseStatus :: Lens' GetCoreDefinitionResponse Int+gcdrsResponseStatus = lens _gcdrsResponseStatus (\ s a -> s{_gcdrsResponseStatus = a});++instance NFData GetCoreDefinitionResponse where
+ gen/Network/AWS/Greengrass/GetCoreDefinitionVersion.hs view
@@ -0,0 +1,183 @@+{-# 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.Greengrass.GetCoreDefinitionVersion+-- 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)+--+-- Retrieves information about a core definition version.+module Network.AWS.Greengrass.GetCoreDefinitionVersion+    (+    -- * Creating a Request+      getCoreDefinitionVersion+    , GetCoreDefinitionVersion+    -- * Request Lenses+    , gcdvCoreDefinitionId+    , gcdvCoreDefinitionVersionId++    -- * Destructuring the Response+    , getCoreDefinitionVersionResponse+    , GetCoreDefinitionVersionResponse+    -- * Response Lenses+    , gcdvrsDefinition+    , gcdvrsARN+    , gcdvrsCreationTimestamp+    , gcdvrsVersion+    , gcdvrsId+    , gcdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCoreDefinitionVersion' smart constructor.+data GetCoreDefinitionVersion = GetCoreDefinitionVersion'+  { _gcdvCoreDefinitionId        :: !Text+  , _gcdvCoreDefinitionVersionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCoreDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcdvCoreDefinitionId' - core definition Id+--+-- * 'gcdvCoreDefinitionVersionId' - core definition version Id+getCoreDefinitionVersion+    :: Text -- ^ 'gcdvCoreDefinitionId'+    -> Text -- ^ 'gcdvCoreDefinitionVersionId'+    -> GetCoreDefinitionVersion+getCoreDefinitionVersion pCoreDefinitionId_ pCoreDefinitionVersionId_ =+  GetCoreDefinitionVersion'+  { _gcdvCoreDefinitionId = pCoreDefinitionId_+  , _gcdvCoreDefinitionVersionId = pCoreDefinitionVersionId_+  }+++-- | core definition Id+gcdvCoreDefinitionId :: Lens' GetCoreDefinitionVersion Text+gcdvCoreDefinitionId = lens _gcdvCoreDefinitionId (\ s a -> s{_gcdvCoreDefinitionId = a});++-- | core definition version Id+gcdvCoreDefinitionVersionId :: Lens' GetCoreDefinitionVersion Text+gcdvCoreDefinitionVersionId = lens _gcdvCoreDefinitionVersionId (\ s a -> s{_gcdvCoreDefinitionVersionId = a});++instance AWSRequest GetCoreDefinitionVersion where+        type Rs GetCoreDefinitionVersion =+             GetCoreDefinitionVersionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetCoreDefinitionVersionResponse' <$>+                   (x .?> "Definition") <*> (x .?> "Arn") <*>+                     (x .?> "CreationTimestamp")+                     <*> (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable GetCoreDefinitionVersion where++instance NFData GetCoreDefinitionVersion where++instance ToHeaders GetCoreDefinitionVersion where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetCoreDefinitionVersion where+        toPath GetCoreDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/cores/",+               toBS _gcdvCoreDefinitionId, "/versions/",+               toBS _gcdvCoreDefinitionVersionId]++instance ToQuery GetCoreDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'getCoreDefinitionVersionResponse' smart constructor.+data GetCoreDefinitionVersionResponse = GetCoreDefinitionVersionResponse'+  { _gcdvrsDefinition        :: !(Maybe CoreDefinitionVersion)+  , _gcdvrsARN               :: !(Maybe Text)+  , _gcdvrsCreationTimestamp :: !(Maybe Text)+  , _gcdvrsVersion           :: !(Maybe Text)+  , _gcdvrsId                :: !(Maybe Text)+  , _gcdvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCoreDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcdvrsDefinition' - Information on definition+--+-- * 'gcdvrsARN' - Arn of the core definition version.+--+-- * 'gcdvrsCreationTimestamp' - Timestamp of when the core definition version was created.+--+-- * 'gcdvrsVersion' - Version of the core definition version.+--+-- * 'gcdvrsId' - Id of the core definition the version belongs to.+--+-- * 'gcdvrsResponseStatus' - -- | The response status code.+getCoreDefinitionVersionResponse+    :: Int -- ^ 'gcdvrsResponseStatus'+    -> GetCoreDefinitionVersionResponse+getCoreDefinitionVersionResponse pResponseStatus_ =+  GetCoreDefinitionVersionResponse'+  { _gcdvrsDefinition = Nothing+  , _gcdvrsARN = Nothing+  , _gcdvrsCreationTimestamp = Nothing+  , _gcdvrsVersion = Nothing+  , _gcdvrsId = Nothing+  , _gcdvrsResponseStatus = pResponseStatus_+  }+++-- | Information on definition+gcdvrsDefinition :: Lens' GetCoreDefinitionVersionResponse (Maybe CoreDefinitionVersion)+gcdvrsDefinition = lens _gcdvrsDefinition (\ s a -> s{_gcdvrsDefinition = a});++-- | Arn of the core definition version.+gcdvrsARN :: Lens' GetCoreDefinitionVersionResponse (Maybe Text)+gcdvrsARN = lens _gcdvrsARN (\ s a -> s{_gcdvrsARN = a});++-- | Timestamp of when the core definition version was created.+gcdvrsCreationTimestamp :: Lens' GetCoreDefinitionVersionResponse (Maybe Text)+gcdvrsCreationTimestamp = lens _gcdvrsCreationTimestamp (\ s a -> s{_gcdvrsCreationTimestamp = a});++-- | Version of the core definition version.+gcdvrsVersion :: Lens' GetCoreDefinitionVersionResponse (Maybe Text)+gcdvrsVersion = lens _gcdvrsVersion (\ s a -> s{_gcdvrsVersion = a});++-- | Id of the core definition the version belongs to.+gcdvrsId :: Lens' GetCoreDefinitionVersionResponse (Maybe Text)+gcdvrsId = lens _gcdvrsId (\ s a -> s{_gcdvrsId = a});++-- | -- | The response status code.+gcdvrsResponseStatus :: Lens' GetCoreDefinitionVersionResponse Int+gcdvrsResponseStatus = lens _gcdvrsResponseStatus (\ s a -> s{_gcdvrsResponseStatus = a});++instance NFData GetCoreDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/GetDeploymentStatus.hs view
@@ -0,0 +1,180 @@+{-# 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.Greengrass.GetDeploymentStatus+-- 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)+--+-- Returns the status of a deployment.+module Network.AWS.Greengrass.GetDeploymentStatus+    (+    -- * Creating a Request+      getDeploymentStatus+    , GetDeploymentStatus+    -- * Request Lenses+    , gdsGroupId+    , gdsDeploymentId++    -- * Destructuring the Response+    , getDeploymentStatusResponse+    , GetDeploymentStatusResponse+    -- * Response Lenses+    , gdsrsDeploymentType+    , gdsrsErrorDetails+    , gdsrsDeploymentStatus+    , gdsrsUpdatedAt+    , gdsrsErrorMessage+    , gdsrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDeploymentStatus' smart constructor.+data GetDeploymentStatus = GetDeploymentStatus'+  { _gdsGroupId      :: !Text+  , _gdsDeploymentId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDeploymentStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsGroupId' - The unique Id of the AWS Greengrass Group+--+-- * 'gdsDeploymentId' - the deployment Id+getDeploymentStatus+    :: Text -- ^ 'gdsGroupId'+    -> Text -- ^ 'gdsDeploymentId'+    -> GetDeploymentStatus+getDeploymentStatus pGroupId_ pDeploymentId_ =+  GetDeploymentStatus'+  {_gdsGroupId = pGroupId_, _gdsDeploymentId = pDeploymentId_}+++-- | The unique Id of the AWS Greengrass Group+gdsGroupId :: Lens' GetDeploymentStatus Text+gdsGroupId = lens _gdsGroupId (\ s a -> s{_gdsGroupId = a});++-- | the deployment Id+gdsDeploymentId :: Lens' GetDeploymentStatus Text+gdsDeploymentId = lens _gdsDeploymentId (\ s a -> s{_gdsDeploymentId = a});++instance AWSRequest GetDeploymentStatus where+        type Rs GetDeploymentStatus =+             GetDeploymentStatusResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetDeploymentStatusResponse' <$>+                   (x .?> "DeploymentType") <*>+                     (x .?> "ErrorDetails" .!@ mempty)+                     <*> (x .?> "DeploymentStatus")+                     <*> (x .?> "UpdatedAt")+                     <*> (x .?> "ErrorMessage")+                     <*> (pure (fromEnum s)))++instance Hashable GetDeploymentStatus where++instance NFData GetDeploymentStatus where++instance ToHeaders GetDeploymentStatus where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetDeploymentStatus where+        toPath GetDeploymentStatus'{..}+          = mconcat+              ["/greengrass/groups/", toBS _gdsGroupId,+               "/deployments/", toBS _gdsDeploymentId, "/status"]++instance ToQuery GetDeploymentStatus where+        toQuery = const mempty++-- | /See:/ 'getDeploymentStatusResponse' smart constructor.+data GetDeploymentStatusResponse = GetDeploymentStatusResponse'+  { _gdsrsDeploymentType   :: !(Maybe DeploymentType)+  , _gdsrsErrorDetails     :: !(Maybe [ErrorDetail])+  , _gdsrsDeploymentStatus :: !(Maybe Text)+  , _gdsrsUpdatedAt        :: !(Maybe Text)+  , _gdsrsErrorMessage     :: !(Maybe Text)+  , _gdsrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDeploymentStatusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsrsDeploymentType' - The type of the deployment.+--+-- * 'gdsrsErrorDetails' - The error Details+--+-- * 'gdsrsDeploymentStatus' - Status of the deployment.+--+-- * 'gdsrsUpdatedAt' - Last time the deployment status was updated.+--+-- * 'gdsrsErrorMessage' - Error Message+--+-- * 'gdsrsResponseStatus' - -- | The response status code.+getDeploymentStatusResponse+    :: Int -- ^ 'gdsrsResponseStatus'+    -> GetDeploymentStatusResponse+getDeploymentStatusResponse pResponseStatus_ =+  GetDeploymentStatusResponse'+  { _gdsrsDeploymentType = Nothing+  , _gdsrsErrorDetails = Nothing+  , _gdsrsDeploymentStatus = Nothing+  , _gdsrsUpdatedAt = Nothing+  , _gdsrsErrorMessage = Nothing+  , _gdsrsResponseStatus = pResponseStatus_+  }+++-- | The type of the deployment.+gdsrsDeploymentType :: Lens' GetDeploymentStatusResponse (Maybe DeploymentType)+gdsrsDeploymentType = lens _gdsrsDeploymentType (\ s a -> s{_gdsrsDeploymentType = a});++-- | The error Details+gdsrsErrorDetails :: Lens' GetDeploymentStatusResponse [ErrorDetail]+gdsrsErrorDetails = lens _gdsrsErrorDetails (\ s a -> s{_gdsrsErrorDetails = a}) . _Default . _Coerce;++-- | Status of the deployment.+gdsrsDeploymentStatus :: Lens' GetDeploymentStatusResponse (Maybe Text)+gdsrsDeploymentStatus = lens _gdsrsDeploymentStatus (\ s a -> s{_gdsrsDeploymentStatus = a});++-- | Last time the deployment status was updated.+gdsrsUpdatedAt :: Lens' GetDeploymentStatusResponse (Maybe Text)+gdsrsUpdatedAt = lens _gdsrsUpdatedAt (\ s a -> s{_gdsrsUpdatedAt = a});++-- | Error Message+gdsrsErrorMessage :: Lens' GetDeploymentStatusResponse (Maybe Text)+gdsrsErrorMessage = lens _gdsrsErrorMessage (\ s a -> s{_gdsrsErrorMessage = a});++-- | -- | The response status code.+gdsrsResponseStatus :: Lens' GetDeploymentStatusResponse Int+gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a});++instance NFData GetDeploymentStatusResponse where
+ gen/Network/AWS/Greengrass/GetDeviceDefinition.hs view
@@ -0,0 +1,189 @@+{-# 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.Greengrass.GetDeviceDefinition+-- 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)+--+-- Retrieves information about a device definition.+module Network.AWS.Greengrass.GetDeviceDefinition+    (+    -- * Creating a Request+      getDeviceDefinition+    , GetDeviceDefinition+    -- * Request Lenses+    , gddDeviceDefinitionId++    -- * Destructuring the Response+    , getDeviceDefinitionResponse+    , GetDeviceDefinitionResponse+    -- * Response Lenses+    , gddrsLatestVersionARN+    , gddrsARN+    , gddrsName+    , gddrsCreationTimestamp+    , gddrsId+    , gddrsLatestVersion+    , gddrsLastUpdatedTimestamp+    , gddrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDeviceDefinition' smart constructor.+newtype GetDeviceDefinition = GetDeviceDefinition'+  { _gddDeviceDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDeviceDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddDeviceDefinitionId' - device definition Id+getDeviceDefinition+    :: Text -- ^ 'gddDeviceDefinitionId'+    -> GetDeviceDefinition+getDeviceDefinition pDeviceDefinitionId_ =+  GetDeviceDefinition' {_gddDeviceDefinitionId = pDeviceDefinitionId_}+++-- | device definition Id+gddDeviceDefinitionId :: Lens' GetDeviceDefinition Text+gddDeviceDefinitionId = lens _gddDeviceDefinitionId (\ s a -> s{_gddDeviceDefinitionId = a});++instance AWSRequest GetDeviceDefinition where+        type Rs GetDeviceDefinition =+             GetDeviceDefinitionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetDeviceDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetDeviceDefinition where++instance NFData GetDeviceDefinition where++instance ToHeaders GetDeviceDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetDeviceDefinition where+        toPath GetDeviceDefinition'{..}+          = mconcat+              ["/greengrass/definition/devices/",+               toBS _gddDeviceDefinitionId]++instance ToQuery GetDeviceDefinition where+        toQuery = const mempty++-- | /See:/ 'getDeviceDefinitionResponse' smart constructor.+data GetDeviceDefinitionResponse = GetDeviceDefinitionResponse'+  { _gddrsLatestVersionARN     :: !(Maybe Text)+  , _gddrsARN                  :: !(Maybe Text)+  , _gddrsName                 :: !(Maybe Text)+  , _gddrsCreationTimestamp    :: !(Maybe Text)+  , _gddrsId                   :: !(Maybe Text)+  , _gddrsLatestVersion        :: !(Maybe Text)+  , _gddrsLastUpdatedTimestamp :: !(Maybe Text)+  , _gddrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDeviceDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'gddrsARN' - Arn of the definition.+--+-- * 'gddrsName' - Name of the definition.+--+-- * 'gddrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'gddrsId' - Id of the definition.+--+-- * 'gddrsLatestVersion' - Last version of the definition.+--+-- * 'gddrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'gddrsResponseStatus' - -- | The response status code.+getDeviceDefinitionResponse+    :: Int -- ^ 'gddrsResponseStatus'+    -> GetDeviceDefinitionResponse+getDeviceDefinitionResponse pResponseStatus_ =+  GetDeviceDefinitionResponse'+  { _gddrsLatestVersionARN = Nothing+  , _gddrsARN = Nothing+  , _gddrsName = Nothing+  , _gddrsCreationTimestamp = Nothing+  , _gddrsId = Nothing+  , _gddrsLatestVersion = Nothing+  , _gddrsLastUpdatedTimestamp = Nothing+  , _gddrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+gddrsLatestVersionARN :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsLatestVersionARN = lens _gddrsLatestVersionARN (\ s a -> s{_gddrsLatestVersionARN = a});++-- | Arn of the definition.+gddrsARN :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsARN = lens _gddrsARN (\ s a -> s{_gddrsARN = a});++-- | Name of the definition.+gddrsName :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsName = lens _gddrsName (\ s a -> s{_gddrsName = a});++-- | Timestamp of when the definition was created.+gddrsCreationTimestamp :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsCreationTimestamp = lens _gddrsCreationTimestamp (\ s a -> s{_gddrsCreationTimestamp = a});++-- | Id of the definition.+gddrsId :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsId = lens _gddrsId (\ s a -> s{_gddrsId = a});++-- | Last version of the definition.+gddrsLatestVersion :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsLatestVersion = lens _gddrsLatestVersion (\ s a -> s{_gddrsLatestVersion = a});++-- | Last updated timestamp of the definition.+gddrsLastUpdatedTimestamp :: Lens' GetDeviceDefinitionResponse (Maybe Text)+gddrsLastUpdatedTimestamp = lens _gddrsLastUpdatedTimestamp (\ s a -> s{_gddrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+gddrsResponseStatus :: Lens' GetDeviceDefinitionResponse Int+gddrsResponseStatus = lens _gddrsResponseStatus (\ s a -> s{_gddrsResponseStatus = a});++instance NFData GetDeviceDefinitionResponse where
+ gen/Network/AWS/Greengrass/GetDeviceDefinitionVersion.hs view
@@ -0,0 +1,183 @@+{-# 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.Greengrass.GetDeviceDefinitionVersion+-- 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)+--+-- Retrieves information about a device definition version.+module Network.AWS.Greengrass.GetDeviceDefinitionVersion+    (+    -- * Creating a Request+      getDeviceDefinitionVersion+    , GetDeviceDefinitionVersion+    -- * Request Lenses+    , gddvDeviceDefinitionVersionId+    , gddvDeviceDefinitionId++    -- * Destructuring the Response+    , getDeviceDefinitionVersionResponse+    , GetDeviceDefinitionVersionResponse+    -- * Response Lenses+    , gddvrsDefinition+    , gddvrsARN+    , gddvrsCreationTimestamp+    , gddvrsVersion+    , gddvrsId+    , gddvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDeviceDefinitionVersion' smart constructor.+data GetDeviceDefinitionVersion = GetDeviceDefinitionVersion'+  { _gddvDeviceDefinitionVersionId :: !Text+  , _gddvDeviceDefinitionId        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDeviceDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddvDeviceDefinitionVersionId' - device definition version Id+--+-- * 'gddvDeviceDefinitionId' - device definition Id+getDeviceDefinitionVersion+    :: Text -- ^ 'gddvDeviceDefinitionVersionId'+    -> Text -- ^ 'gddvDeviceDefinitionId'+    -> GetDeviceDefinitionVersion+getDeviceDefinitionVersion pDeviceDefinitionVersionId_ pDeviceDefinitionId_ =+  GetDeviceDefinitionVersion'+  { _gddvDeviceDefinitionVersionId = pDeviceDefinitionVersionId_+  , _gddvDeviceDefinitionId = pDeviceDefinitionId_+  }+++-- | device definition version Id+gddvDeviceDefinitionVersionId :: Lens' GetDeviceDefinitionVersion Text+gddvDeviceDefinitionVersionId = lens _gddvDeviceDefinitionVersionId (\ s a -> s{_gddvDeviceDefinitionVersionId = a});++-- | device definition Id+gddvDeviceDefinitionId :: Lens' GetDeviceDefinitionVersion Text+gddvDeviceDefinitionId = lens _gddvDeviceDefinitionId (\ s a -> s{_gddvDeviceDefinitionId = a});++instance AWSRequest GetDeviceDefinitionVersion where+        type Rs GetDeviceDefinitionVersion =+             GetDeviceDefinitionVersionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetDeviceDefinitionVersionResponse' <$>+                   (x .?> "Definition") <*> (x .?> "Arn") <*>+                     (x .?> "CreationTimestamp")+                     <*> (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable GetDeviceDefinitionVersion where++instance NFData GetDeviceDefinitionVersion where++instance ToHeaders GetDeviceDefinitionVersion where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetDeviceDefinitionVersion where+        toPath GetDeviceDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/devices/",+               toBS _gddvDeviceDefinitionId, "/versions/",+               toBS _gddvDeviceDefinitionVersionId]++instance ToQuery GetDeviceDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'getDeviceDefinitionVersionResponse' smart constructor.+data GetDeviceDefinitionVersionResponse = GetDeviceDefinitionVersionResponse'+  { _gddvrsDefinition        :: !(Maybe DeviceDefinitionVersion)+  , _gddvrsARN               :: !(Maybe Text)+  , _gddvrsCreationTimestamp :: !(Maybe Text)+  , _gddvrsVersion           :: !(Maybe Text)+  , _gddvrsId                :: !(Maybe Text)+  , _gddvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDeviceDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddvrsDefinition' - Device definition version+--+-- * 'gddvrsARN' - Arn of the device definition version.+--+-- * 'gddvrsCreationTimestamp' - Timestamp of when the device definition version was created.+--+-- * 'gddvrsVersion' - Version of the device definition version.+--+-- * 'gddvrsId' - Id of the device definition the version belongs to.+--+-- * 'gddvrsResponseStatus' - -- | The response status code.+getDeviceDefinitionVersionResponse+    :: Int -- ^ 'gddvrsResponseStatus'+    -> GetDeviceDefinitionVersionResponse+getDeviceDefinitionVersionResponse pResponseStatus_ =+  GetDeviceDefinitionVersionResponse'+  { _gddvrsDefinition = Nothing+  , _gddvrsARN = Nothing+  , _gddvrsCreationTimestamp = Nothing+  , _gddvrsVersion = Nothing+  , _gddvrsId = Nothing+  , _gddvrsResponseStatus = pResponseStatus_+  }+++-- | Device definition version+gddvrsDefinition :: Lens' GetDeviceDefinitionVersionResponse (Maybe DeviceDefinitionVersion)+gddvrsDefinition = lens _gddvrsDefinition (\ s a -> s{_gddvrsDefinition = a});++-- | Arn of the device definition version.+gddvrsARN :: Lens' GetDeviceDefinitionVersionResponse (Maybe Text)+gddvrsARN = lens _gddvrsARN (\ s a -> s{_gddvrsARN = a});++-- | Timestamp of when the device definition version was created.+gddvrsCreationTimestamp :: Lens' GetDeviceDefinitionVersionResponse (Maybe Text)+gddvrsCreationTimestamp = lens _gddvrsCreationTimestamp (\ s a -> s{_gddvrsCreationTimestamp = a});++-- | Version of the device definition version.+gddvrsVersion :: Lens' GetDeviceDefinitionVersionResponse (Maybe Text)+gddvrsVersion = lens _gddvrsVersion (\ s a -> s{_gddvrsVersion = a});++-- | Id of the device definition the version belongs to.+gddvrsId :: Lens' GetDeviceDefinitionVersionResponse (Maybe Text)+gddvrsId = lens _gddvrsId (\ s a -> s{_gddvrsId = a});++-- | -- | The response status code.+gddvrsResponseStatus :: Lens' GetDeviceDefinitionVersionResponse Int+gddvrsResponseStatus = lens _gddvrsResponseStatus (\ s a -> s{_gddvrsResponseStatus = a});++instance NFData GetDeviceDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/GetFunctionDefinition.hs view
@@ -0,0 +1,189 @@+{-# 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.Greengrass.GetFunctionDefinition+-- 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)+--+-- Retrieves information about a Lambda function definition, such as its creation time and latest version.+module Network.AWS.Greengrass.GetFunctionDefinition+    (+    -- * Creating a Request+      getFunctionDefinition+    , GetFunctionDefinition+    -- * Request Lenses+    , gfdFunctionDefinitionId++    -- * Destructuring the Response+    , getFunctionDefinitionResponse+    , GetFunctionDefinitionResponse+    -- * Response Lenses+    , gfdrsLatestVersionARN+    , gfdrsARN+    , gfdrsName+    , gfdrsCreationTimestamp+    , gfdrsId+    , gfdrsLatestVersion+    , gfdrsLastUpdatedTimestamp+    , gfdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getFunctionDefinition' smart constructor.+newtype GetFunctionDefinition = GetFunctionDefinition'+  { _gfdFunctionDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetFunctionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfdFunctionDefinitionId' - the unique Id of the lambda definition+getFunctionDefinition+    :: Text -- ^ 'gfdFunctionDefinitionId'+    -> GetFunctionDefinition+getFunctionDefinition pFunctionDefinitionId_ =+  GetFunctionDefinition' {_gfdFunctionDefinitionId = pFunctionDefinitionId_}+++-- | the unique Id of the lambda definition+gfdFunctionDefinitionId :: Lens' GetFunctionDefinition Text+gfdFunctionDefinitionId = lens _gfdFunctionDefinitionId (\ s a -> s{_gfdFunctionDefinitionId = a});++instance AWSRequest GetFunctionDefinition where+        type Rs GetFunctionDefinition =+             GetFunctionDefinitionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetFunctionDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetFunctionDefinition where++instance NFData GetFunctionDefinition where++instance ToHeaders GetFunctionDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetFunctionDefinition where+        toPath GetFunctionDefinition'{..}+          = mconcat+              ["/greengrass/definition/functions/",+               toBS _gfdFunctionDefinitionId]++instance ToQuery GetFunctionDefinition where+        toQuery = const mempty++-- | /See:/ 'getFunctionDefinitionResponse' smart constructor.+data GetFunctionDefinitionResponse = GetFunctionDefinitionResponse'+  { _gfdrsLatestVersionARN     :: !(Maybe Text)+  , _gfdrsARN                  :: !(Maybe Text)+  , _gfdrsName                 :: !(Maybe Text)+  , _gfdrsCreationTimestamp    :: !(Maybe Text)+  , _gfdrsId                   :: !(Maybe Text)+  , _gfdrsLatestVersion        :: !(Maybe Text)+  , _gfdrsLastUpdatedTimestamp :: !(Maybe Text)+  , _gfdrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetFunctionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfdrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'gfdrsARN' - Arn of the definition.+--+-- * 'gfdrsName' - Name of the definition.+--+-- * 'gfdrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'gfdrsId' - Id of the definition.+--+-- * 'gfdrsLatestVersion' - Last version of the definition.+--+-- * 'gfdrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'gfdrsResponseStatus' - -- | The response status code.+getFunctionDefinitionResponse+    :: Int -- ^ 'gfdrsResponseStatus'+    -> GetFunctionDefinitionResponse+getFunctionDefinitionResponse pResponseStatus_ =+  GetFunctionDefinitionResponse'+  { _gfdrsLatestVersionARN = Nothing+  , _gfdrsARN = Nothing+  , _gfdrsName = Nothing+  , _gfdrsCreationTimestamp = Nothing+  , _gfdrsId = Nothing+  , _gfdrsLatestVersion = Nothing+  , _gfdrsLastUpdatedTimestamp = Nothing+  , _gfdrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+gfdrsLatestVersionARN :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsLatestVersionARN = lens _gfdrsLatestVersionARN (\ s a -> s{_gfdrsLatestVersionARN = a});++-- | Arn of the definition.+gfdrsARN :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsARN = lens _gfdrsARN (\ s a -> s{_gfdrsARN = a});++-- | Name of the definition.+gfdrsName :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsName = lens _gfdrsName (\ s a -> s{_gfdrsName = a});++-- | Timestamp of when the definition was created.+gfdrsCreationTimestamp :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsCreationTimestamp = lens _gfdrsCreationTimestamp (\ s a -> s{_gfdrsCreationTimestamp = a});++-- | Id of the definition.+gfdrsId :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsId = lens _gfdrsId (\ s a -> s{_gfdrsId = a});++-- | Last version of the definition.+gfdrsLatestVersion :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsLatestVersion = lens _gfdrsLatestVersion (\ s a -> s{_gfdrsLatestVersion = a});++-- | Last updated timestamp of the definition.+gfdrsLastUpdatedTimestamp :: Lens' GetFunctionDefinitionResponse (Maybe Text)+gfdrsLastUpdatedTimestamp = lens _gfdrsLastUpdatedTimestamp (\ s a -> s{_gfdrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+gfdrsResponseStatus :: Lens' GetFunctionDefinitionResponse Int+gfdrsResponseStatus = lens _gfdrsResponseStatus (\ s a -> s{_gfdrsResponseStatus = a});++instance NFData GetFunctionDefinitionResponse where
+ gen/Network/AWS/Greengrass/GetFunctionDefinitionVersion.hs view
@@ -0,0 +1,184 @@+{-# 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.Greengrass.GetFunctionDefinitionVersion+-- 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)+--+-- Retrieves information about a Lambda function definition version, such as which Lambda functions are included in the version and their configurations.+module Network.AWS.Greengrass.GetFunctionDefinitionVersion+    (+    -- * Creating a Request+      getFunctionDefinitionVersion+    , GetFunctionDefinitionVersion+    -- * Request Lenses+    , gfdvFunctionDefinitionId+    , gfdvFunctionDefinitionVersionId++    -- * Destructuring the Response+    , getFunctionDefinitionVersionResponse+    , GetFunctionDefinitionVersionResponse+    -- * Response Lenses+    , gfdvrsDefinition+    , gfdvrsARN+    , gfdvrsCreationTimestamp+    , gfdvrsVersion+    , gfdvrsId+    , gfdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getFunctionDefinitionVersion' smart constructor.+data GetFunctionDefinitionVersion = GetFunctionDefinitionVersion'+  { _gfdvFunctionDefinitionId        :: !Text+  , _gfdvFunctionDefinitionVersionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetFunctionDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfdvFunctionDefinitionId' - the unique Id of the lambda definition+--+-- * 'gfdvFunctionDefinitionVersionId' - Function definition version Id+getFunctionDefinitionVersion+    :: Text -- ^ 'gfdvFunctionDefinitionId'+    -> Text -- ^ 'gfdvFunctionDefinitionVersionId'+    -> GetFunctionDefinitionVersion+getFunctionDefinitionVersion pFunctionDefinitionId_ pFunctionDefinitionVersionId_ =+  GetFunctionDefinitionVersion'+  { _gfdvFunctionDefinitionId = pFunctionDefinitionId_+  , _gfdvFunctionDefinitionVersionId = pFunctionDefinitionVersionId_+  }+++-- | the unique Id of the lambda definition+gfdvFunctionDefinitionId :: Lens' GetFunctionDefinitionVersion Text+gfdvFunctionDefinitionId = lens _gfdvFunctionDefinitionId (\ s a -> s{_gfdvFunctionDefinitionId = a});++-- | Function definition version Id+gfdvFunctionDefinitionVersionId :: Lens' GetFunctionDefinitionVersion Text+gfdvFunctionDefinitionVersionId = lens _gfdvFunctionDefinitionVersionId (\ s a -> s{_gfdvFunctionDefinitionVersionId = a});++instance AWSRequest GetFunctionDefinitionVersion+         where+        type Rs GetFunctionDefinitionVersion =+             GetFunctionDefinitionVersionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetFunctionDefinitionVersionResponse' <$>+                   (x .?> "Definition") <*> (x .?> "Arn") <*>+                     (x .?> "CreationTimestamp")+                     <*> (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable GetFunctionDefinitionVersion where++instance NFData GetFunctionDefinitionVersion where++instance ToHeaders GetFunctionDefinitionVersion where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetFunctionDefinitionVersion where+        toPath GetFunctionDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/functions/",+               toBS _gfdvFunctionDefinitionId, "/versions/",+               toBS _gfdvFunctionDefinitionVersionId]++instance ToQuery GetFunctionDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'getFunctionDefinitionVersionResponse' smart constructor.+data GetFunctionDefinitionVersionResponse = GetFunctionDefinitionVersionResponse'+  { _gfdvrsDefinition        :: !(Maybe FunctionDefinitionVersion)+  , _gfdvrsARN               :: !(Maybe Text)+  , _gfdvrsCreationTimestamp :: !(Maybe Text)+  , _gfdvrsVersion           :: !(Maybe Text)+  , _gfdvrsId                :: !(Maybe Text)+  , _gfdvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetFunctionDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfdvrsDefinition' - Information on the definition.+--+-- * 'gfdvrsARN' - Arn of the function definition version.+--+-- * 'gfdvrsCreationTimestamp' - Timestamp when the funtion definition version was created.+--+-- * 'gfdvrsVersion' - Version of the function definition version.+--+-- * 'gfdvrsId' - Id of the function definition the version belongs to.+--+-- * 'gfdvrsResponseStatus' - -- | The response status code.+getFunctionDefinitionVersionResponse+    :: Int -- ^ 'gfdvrsResponseStatus'+    -> GetFunctionDefinitionVersionResponse+getFunctionDefinitionVersionResponse pResponseStatus_ =+  GetFunctionDefinitionVersionResponse'+  { _gfdvrsDefinition = Nothing+  , _gfdvrsARN = Nothing+  , _gfdvrsCreationTimestamp = Nothing+  , _gfdvrsVersion = Nothing+  , _gfdvrsId = Nothing+  , _gfdvrsResponseStatus = pResponseStatus_+  }+++-- | Information on the definition.+gfdvrsDefinition :: Lens' GetFunctionDefinitionVersionResponse (Maybe FunctionDefinitionVersion)+gfdvrsDefinition = lens _gfdvrsDefinition (\ s a -> s{_gfdvrsDefinition = a});++-- | Arn of the function definition version.+gfdvrsARN :: Lens' GetFunctionDefinitionVersionResponse (Maybe Text)+gfdvrsARN = lens _gfdvrsARN (\ s a -> s{_gfdvrsARN = a});++-- | Timestamp when the funtion definition version was created.+gfdvrsCreationTimestamp :: Lens' GetFunctionDefinitionVersionResponse (Maybe Text)+gfdvrsCreationTimestamp = lens _gfdvrsCreationTimestamp (\ s a -> s{_gfdvrsCreationTimestamp = a});++-- | Version of the function definition version.+gfdvrsVersion :: Lens' GetFunctionDefinitionVersionResponse (Maybe Text)+gfdvrsVersion = lens _gfdvrsVersion (\ s a -> s{_gfdvrsVersion = a});++-- | Id of the function definition the version belongs to.+gfdvrsId :: Lens' GetFunctionDefinitionVersionResponse (Maybe Text)+gfdvrsId = lens _gfdvrsId (\ s a -> s{_gfdvrsId = a});++-- | -- | The response status code.+gfdvrsResponseStatus :: Lens' GetFunctionDefinitionVersionResponse Int+gfdvrsResponseStatus = lens _gfdvrsResponseStatus (\ s a -> s{_gfdvrsResponseStatus = a});++instance NFData GetFunctionDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/GetGroup.hs view
@@ -0,0 +1,185 @@+{-# 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.Greengrass.GetGroup+-- 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)+--+-- Retrieves information about a group.+module Network.AWS.Greengrass.GetGroup+    (+    -- * Creating a Request+      getGroup+    , GetGroup+    -- * Request Lenses+    , ggGroupId++    -- * Destructuring the Response+    , getGroupResponse+    , GetGroupResponse+    -- * Response Lenses+    , ggrsLatestVersionARN+    , ggrsARN+    , ggrsName+    , ggrsCreationTimestamp+    , ggrsId+    , ggrsLatestVersion+    , ggrsLastUpdatedTimestamp+    , ggrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getGroup' smart constructor.+newtype GetGroup = GetGroup'+  { _ggGroupId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggGroupId' - The unique Id of the AWS Greengrass Group+getGroup+    :: Text -- ^ 'ggGroupId'+    -> GetGroup+getGroup pGroupId_ = GetGroup' {_ggGroupId = pGroupId_}+++-- | The unique Id of the AWS Greengrass Group+ggGroupId :: Lens' GetGroup Text+ggGroupId = lens _ggGroupId (\ s a -> s{_ggGroupId = a});++instance AWSRequest GetGroup where+        type Rs GetGroup = GetGroupResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetGroupResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetGroup where++instance NFData GetGroup where++instance ToHeaders GetGroup where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetGroup where+        toPath GetGroup'{..}+          = mconcat ["/greengrass/groups/", toBS _ggGroupId]++instance ToQuery GetGroup where+        toQuery = const mempty++-- | /See:/ 'getGroupResponse' smart constructor.+data GetGroupResponse = GetGroupResponse'+  { _ggrsLatestVersionARN     :: !(Maybe Text)+  , _ggrsARN                  :: !(Maybe Text)+  , _ggrsName                 :: !(Maybe Text)+  , _ggrsCreationTimestamp    :: !(Maybe Text)+  , _ggrsId                   :: !(Maybe Text)+  , _ggrsLatestVersion        :: !(Maybe Text)+  , _ggrsLastUpdatedTimestamp :: !(Maybe Text)+  , _ggrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'ggrsARN' - Arn of the definition.+--+-- * 'ggrsName' - Name of the definition.+--+-- * 'ggrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'ggrsId' - Id of the definition.+--+-- * 'ggrsLatestVersion' - Last version of the definition.+--+-- * 'ggrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'ggrsResponseStatus' - -- | The response status code.+getGroupResponse+    :: Int -- ^ 'ggrsResponseStatus'+    -> GetGroupResponse+getGroupResponse pResponseStatus_ =+  GetGroupResponse'+  { _ggrsLatestVersionARN = Nothing+  , _ggrsARN = Nothing+  , _ggrsName = Nothing+  , _ggrsCreationTimestamp = Nothing+  , _ggrsId = Nothing+  , _ggrsLatestVersion = Nothing+  , _ggrsLastUpdatedTimestamp = Nothing+  , _ggrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+ggrsLatestVersionARN :: Lens' GetGroupResponse (Maybe Text)+ggrsLatestVersionARN = lens _ggrsLatestVersionARN (\ s a -> s{_ggrsLatestVersionARN = a});++-- | Arn of the definition.+ggrsARN :: Lens' GetGroupResponse (Maybe Text)+ggrsARN = lens _ggrsARN (\ s a -> s{_ggrsARN = a});++-- | Name of the definition.+ggrsName :: Lens' GetGroupResponse (Maybe Text)+ggrsName = lens _ggrsName (\ s a -> s{_ggrsName = a});++-- | Timestamp of when the definition was created.+ggrsCreationTimestamp :: Lens' GetGroupResponse (Maybe Text)+ggrsCreationTimestamp = lens _ggrsCreationTimestamp (\ s a -> s{_ggrsCreationTimestamp = a});++-- | Id of the definition.+ggrsId :: Lens' GetGroupResponse (Maybe Text)+ggrsId = lens _ggrsId (\ s a -> s{_ggrsId = a});++-- | Last version of the definition.+ggrsLatestVersion :: Lens' GetGroupResponse (Maybe Text)+ggrsLatestVersion = lens _ggrsLatestVersion (\ s a -> s{_ggrsLatestVersion = a});++-- | Last updated timestamp of the definition.+ggrsLastUpdatedTimestamp :: Lens' GetGroupResponse (Maybe Text)+ggrsLastUpdatedTimestamp = lens _ggrsLastUpdatedTimestamp (\ s a -> s{_ggrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+ggrsResponseStatus :: Lens' GetGroupResponse Int+ggrsResponseStatus = lens _ggrsResponseStatus (\ s a -> s{_ggrsResponseStatus = a});++instance NFData GetGroupResponse where
+ gen/Network/AWS/Greengrass/GetGroupCertificateAuthority.hs view
@@ -0,0 +1,165 @@+{-# 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.Greengrass.GetGroupCertificateAuthority+-- 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)+--+-- Retreives the CA associated with a group. Returns the public key of the CA.+module Network.AWS.Greengrass.GetGroupCertificateAuthority+    (+    -- * Creating a Request+      getGroupCertificateAuthority+    , GetGroupCertificateAuthority+    -- * Request Lenses+    , ggcaCertificateAuthorityId+    , ggcaGroupId++    -- * Destructuring the Response+    , getGroupCertificateAuthorityResponse+    , GetGroupCertificateAuthorityResponse+    -- * Response Lenses+    , ggcarsPemEncodedCertificate+    , ggcarsGroupCertificateAuthorityARN+    , ggcarsGroupCertificateAuthorityId+    , ggcarsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getGroupCertificateAuthority' smart constructor.+data GetGroupCertificateAuthority = GetGroupCertificateAuthority'+  { _ggcaCertificateAuthorityId :: !Text+  , _ggcaGroupId                :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupCertificateAuthority' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggcaCertificateAuthorityId' - certificate authority Id+--+-- * 'ggcaGroupId' - The unique Id of the AWS Greengrass Group+getGroupCertificateAuthority+    :: Text -- ^ 'ggcaCertificateAuthorityId'+    -> Text -- ^ 'ggcaGroupId'+    -> GetGroupCertificateAuthority+getGroupCertificateAuthority pCertificateAuthorityId_ pGroupId_ =+  GetGroupCertificateAuthority'+  { _ggcaCertificateAuthorityId = pCertificateAuthorityId_+  , _ggcaGroupId = pGroupId_+  }+++-- | certificate authority Id+ggcaCertificateAuthorityId :: Lens' GetGroupCertificateAuthority Text+ggcaCertificateAuthorityId = lens _ggcaCertificateAuthorityId (\ s a -> s{_ggcaCertificateAuthorityId = a});++-- | The unique Id of the AWS Greengrass Group+ggcaGroupId :: Lens' GetGroupCertificateAuthority Text+ggcaGroupId = lens _ggcaGroupId (\ s a -> s{_ggcaGroupId = a});++instance AWSRequest GetGroupCertificateAuthority+         where+        type Rs GetGroupCertificateAuthority =+             GetGroupCertificateAuthorityResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetGroupCertificateAuthorityResponse' <$>+                   (x .?> "PemEncodedCertificate") <*>+                     (x .?> "GroupCertificateAuthorityArn")+                     <*> (x .?> "GroupCertificateAuthorityId")+                     <*> (pure (fromEnum s)))++instance Hashable GetGroupCertificateAuthority where++instance NFData GetGroupCertificateAuthority where++instance ToHeaders GetGroupCertificateAuthority where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetGroupCertificateAuthority where+        toPath GetGroupCertificateAuthority'{..}+          = mconcat+              ["/greengrass/groups/", toBS _ggcaGroupId,+               "/certificateauthorities/",+               toBS _ggcaCertificateAuthorityId]++instance ToQuery GetGroupCertificateAuthority where+        toQuery = const mempty++-- | /See:/ 'getGroupCertificateAuthorityResponse' smart constructor.+data GetGroupCertificateAuthorityResponse = GetGroupCertificateAuthorityResponse'+  { _ggcarsPemEncodedCertificate        :: !(Maybe Text)+  , _ggcarsGroupCertificateAuthorityARN :: !(Maybe Text)+  , _ggcarsGroupCertificateAuthorityId  :: !(Maybe Text)+  , _ggcarsResponseStatus               :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupCertificateAuthorityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggcarsPemEncodedCertificate' - PEM encoded certificate for the group.+--+-- * 'ggcarsGroupCertificateAuthorityARN' - Arn of the certificate authority for the group.+--+-- * 'ggcarsGroupCertificateAuthorityId' - Id of the certificate authority for the group.+--+-- * 'ggcarsResponseStatus' - -- | The response status code.+getGroupCertificateAuthorityResponse+    :: Int -- ^ 'ggcarsResponseStatus'+    -> GetGroupCertificateAuthorityResponse+getGroupCertificateAuthorityResponse pResponseStatus_ =+  GetGroupCertificateAuthorityResponse'+  { _ggcarsPemEncodedCertificate = Nothing+  , _ggcarsGroupCertificateAuthorityARN = Nothing+  , _ggcarsGroupCertificateAuthorityId = Nothing+  , _ggcarsResponseStatus = pResponseStatus_+  }+++-- | PEM encoded certificate for the group.+ggcarsPemEncodedCertificate :: Lens' GetGroupCertificateAuthorityResponse (Maybe Text)+ggcarsPemEncodedCertificate = lens _ggcarsPemEncodedCertificate (\ s a -> s{_ggcarsPemEncodedCertificate = a});++-- | Arn of the certificate authority for the group.+ggcarsGroupCertificateAuthorityARN :: Lens' GetGroupCertificateAuthorityResponse (Maybe Text)+ggcarsGroupCertificateAuthorityARN = lens _ggcarsGroupCertificateAuthorityARN (\ s a -> s{_ggcarsGroupCertificateAuthorityARN = a});++-- | Id of the certificate authority for the group.+ggcarsGroupCertificateAuthorityId :: Lens' GetGroupCertificateAuthorityResponse (Maybe Text)+ggcarsGroupCertificateAuthorityId = lens _ggcarsGroupCertificateAuthorityId (\ s a -> s{_ggcarsGroupCertificateAuthorityId = a});++-- | -- | The response status code.+ggcarsResponseStatus :: Lens' GetGroupCertificateAuthorityResponse Int+ggcarsResponseStatus = lens _ggcarsResponseStatus (\ s a -> s{_ggcarsResponseStatus = a});++instance NFData GetGroupCertificateAuthorityResponse+         where
+ gen/Network/AWS/Greengrass/GetGroupCertificateConfiguration.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.Greengrass.GetGroupCertificateConfiguration+-- 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)+--+-- Retrieves the current configuration for the CA used by the group.+module Network.AWS.Greengrass.GetGroupCertificateConfiguration+    (+    -- * Creating a Request+      getGroupCertificateConfiguration+    , GetGroupCertificateConfiguration+    -- * Request Lenses+    , ggccGroupId++    -- * Destructuring the Response+    , getGroupCertificateConfigurationResponse+    , GetGroupCertificateConfigurationResponse+    -- * Response Lenses+    , ggccrsCertificateAuthorityExpiryInMilliseconds+    , ggccrsGroupId+    , ggccrsCertificateExpiryInMilliseconds+    , ggccrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getGroupCertificateConfiguration' smart constructor.+newtype GetGroupCertificateConfiguration = GetGroupCertificateConfiguration'+  { _ggccGroupId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupCertificateConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggccGroupId' - The unique Id of the AWS Greengrass Group+getGroupCertificateConfiguration+    :: Text -- ^ 'ggccGroupId'+    -> GetGroupCertificateConfiguration+getGroupCertificateConfiguration pGroupId_ =+  GetGroupCertificateConfiguration' {_ggccGroupId = pGroupId_}+++-- | The unique Id of the AWS Greengrass Group+ggccGroupId :: Lens' GetGroupCertificateConfiguration Text+ggccGroupId = lens _ggccGroupId (\ s a -> s{_ggccGroupId = a});++instance AWSRequest GetGroupCertificateConfiguration+         where+        type Rs GetGroupCertificateConfiguration =+             GetGroupCertificateConfigurationResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetGroupCertificateConfigurationResponse' <$>+                   (x .?> "CertificateAuthorityExpiryInMilliseconds")+                     <*> (x .?> "GroupId")+                     <*> (x .?> "CertificateExpiryInMilliseconds")+                     <*> (pure (fromEnum s)))++instance Hashable GetGroupCertificateConfiguration+         where++instance NFData GetGroupCertificateConfiguration+         where++instance ToHeaders GetGroupCertificateConfiguration+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetGroupCertificateConfiguration+         where+        toPath GetGroupCertificateConfiguration'{..}+          = mconcat+              ["/greengrass/groups/", toBS _ggccGroupId,+               "/certificateauthorities/configuration/expiry"]++instance ToQuery GetGroupCertificateConfiguration+         where+        toQuery = const mempty++-- | /See:/ 'getGroupCertificateConfigurationResponse' smart constructor.+data GetGroupCertificateConfigurationResponse = GetGroupCertificateConfigurationResponse'+  { _ggccrsCertificateAuthorityExpiryInMilliseconds :: !(Maybe Text)+  , _ggccrsGroupId                                  :: !(Maybe Text)+  , _ggccrsCertificateExpiryInMilliseconds          :: !(Maybe Text)+  , _ggccrsResponseStatus                           :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupCertificateConfigurationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggccrsCertificateAuthorityExpiryInMilliseconds' - Amount of time when the certificate authority expires in milliseconds.+--+-- * 'ggccrsGroupId' - Id of the group the certificate configuration belongs to.+--+-- * 'ggccrsCertificateExpiryInMilliseconds' - Amount of time when the certificate expires in milliseconds.+--+-- * 'ggccrsResponseStatus' - -- | The response status code.+getGroupCertificateConfigurationResponse+    :: Int -- ^ 'ggccrsResponseStatus'+    -> GetGroupCertificateConfigurationResponse+getGroupCertificateConfigurationResponse pResponseStatus_ =+  GetGroupCertificateConfigurationResponse'+  { _ggccrsCertificateAuthorityExpiryInMilliseconds = Nothing+  , _ggccrsGroupId = Nothing+  , _ggccrsCertificateExpiryInMilliseconds = Nothing+  , _ggccrsResponseStatus = pResponseStatus_+  }+++-- | Amount of time when the certificate authority expires in milliseconds.+ggccrsCertificateAuthorityExpiryInMilliseconds :: Lens' GetGroupCertificateConfigurationResponse (Maybe Text)+ggccrsCertificateAuthorityExpiryInMilliseconds = lens _ggccrsCertificateAuthorityExpiryInMilliseconds (\ s a -> s{_ggccrsCertificateAuthorityExpiryInMilliseconds = a});++-- | Id of the group the certificate configuration belongs to.+ggccrsGroupId :: Lens' GetGroupCertificateConfigurationResponse (Maybe Text)+ggccrsGroupId = lens _ggccrsGroupId (\ s a -> s{_ggccrsGroupId = a});++-- | Amount of time when the certificate expires in milliseconds.+ggccrsCertificateExpiryInMilliseconds :: Lens' GetGroupCertificateConfigurationResponse (Maybe Text)+ggccrsCertificateExpiryInMilliseconds = lens _ggccrsCertificateExpiryInMilliseconds (\ s a -> s{_ggccrsCertificateExpiryInMilliseconds = a});++-- | -- | The response status code.+ggccrsResponseStatus :: Lens' GetGroupCertificateConfigurationResponse Int+ggccrsResponseStatus = lens _ggccrsResponseStatus (\ s a -> s{_ggccrsResponseStatus = a});++instance NFData+           GetGroupCertificateConfigurationResponse+         where
+ gen/Network/AWS/Greengrass/GetGroupVersion.hs view
@@ -0,0 +1,178 @@+{-# 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.Greengrass.GetGroupVersion+-- 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)+--+-- Retrieves information about a group version.+module Network.AWS.Greengrass.GetGroupVersion+    (+    -- * Creating a Request+      getGroupVersion+    , GetGroupVersion+    -- * Request Lenses+    , ggvGroupVersionId+    , ggvGroupId++    -- * Destructuring the Response+    , getGroupVersionResponse+    , GetGroupVersionResponse+    -- * Response Lenses+    , ggvrsDefinition+    , ggvrsARN+    , ggvrsCreationTimestamp+    , ggvrsVersion+    , ggvrsId+    , ggvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getGroupVersion' smart constructor.+data GetGroupVersion = GetGroupVersion'+  { _ggvGroupVersionId :: !Text+  , _ggvGroupId        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggvGroupVersionId' - Group version Id+--+-- * 'ggvGroupId' - The unique Id of the AWS Greengrass Group+getGroupVersion+    :: Text -- ^ 'ggvGroupVersionId'+    -> Text -- ^ 'ggvGroupId'+    -> GetGroupVersion+getGroupVersion pGroupVersionId_ pGroupId_ =+  GetGroupVersion'+  {_ggvGroupVersionId = pGroupVersionId_, _ggvGroupId = pGroupId_}+++-- | Group version Id+ggvGroupVersionId :: Lens' GetGroupVersion Text+ggvGroupVersionId = lens _ggvGroupVersionId (\ s a -> s{_ggvGroupVersionId = a});++-- | The unique Id of the AWS Greengrass Group+ggvGroupId :: Lens' GetGroupVersion Text+ggvGroupId = lens _ggvGroupId (\ s a -> s{_ggvGroupId = a});++instance AWSRequest GetGroupVersion where+        type Rs GetGroupVersion = GetGroupVersionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetGroupVersionResponse' <$>+                   (x .?> "Definition") <*> (x .?> "Arn") <*>+                     (x .?> "CreationTimestamp")+                     <*> (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable GetGroupVersion where++instance NFData GetGroupVersion where++instance ToHeaders GetGroupVersion where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetGroupVersion where+        toPath GetGroupVersion'{..}+          = mconcat+              ["/greengrass/groups/", toBS _ggvGroupId,+               "/versions/", toBS _ggvGroupVersionId]++instance ToQuery GetGroupVersion where+        toQuery = const mempty++-- | /See:/ 'getGroupVersionResponse' smart constructor.+data GetGroupVersionResponse = GetGroupVersionResponse'+  { _ggvrsDefinition        :: !(Maybe GroupVersion)+  , _ggvrsARN               :: !(Maybe Text)+  , _ggvrsCreationTimestamp :: !(Maybe Text)+  , _ggvrsVersion           :: !(Maybe Text)+  , _ggvrsId                :: !(Maybe Text)+  , _ggvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetGroupVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggvrsDefinition' - Information on the definition+--+-- * 'ggvrsARN' - Arn of the group version.+--+-- * 'ggvrsCreationTimestamp' - Timestamp when the group version was created.+--+-- * 'ggvrsVersion' - Unique Id for a version of the Group.+--+-- * 'ggvrsId' - Id of the group version.+--+-- * 'ggvrsResponseStatus' - -- | The response status code.+getGroupVersionResponse+    :: Int -- ^ 'ggvrsResponseStatus'+    -> GetGroupVersionResponse+getGroupVersionResponse pResponseStatus_ =+  GetGroupVersionResponse'+  { _ggvrsDefinition = Nothing+  , _ggvrsARN = Nothing+  , _ggvrsCreationTimestamp = Nothing+  , _ggvrsVersion = Nothing+  , _ggvrsId = Nothing+  , _ggvrsResponseStatus = pResponseStatus_+  }+++-- | Information on the definition+ggvrsDefinition :: Lens' GetGroupVersionResponse (Maybe GroupVersion)+ggvrsDefinition = lens _ggvrsDefinition (\ s a -> s{_ggvrsDefinition = a});++-- | Arn of the group version.+ggvrsARN :: Lens' GetGroupVersionResponse (Maybe Text)+ggvrsARN = lens _ggvrsARN (\ s a -> s{_ggvrsARN = a});++-- | Timestamp when the group version was created.+ggvrsCreationTimestamp :: Lens' GetGroupVersionResponse (Maybe Text)+ggvrsCreationTimestamp = lens _ggvrsCreationTimestamp (\ s a -> s{_ggvrsCreationTimestamp = a});++-- | Unique Id for a version of the Group.+ggvrsVersion :: Lens' GetGroupVersionResponse (Maybe Text)+ggvrsVersion = lens _ggvrsVersion (\ s a -> s{_ggvrsVersion = a});++-- | Id of the group version.+ggvrsId :: Lens' GetGroupVersionResponse (Maybe Text)+ggvrsId = lens _ggvrsId (\ s a -> s{_ggvrsId = a});++-- | -- | The response status code.+ggvrsResponseStatus :: Lens' GetGroupVersionResponse Int+ggvrsResponseStatus = lens _ggvrsResponseStatus (\ s a -> s{_ggvrsResponseStatus = a});++instance NFData GetGroupVersionResponse where
+ gen/Network/AWS/Greengrass/GetLoggerDefinition.hs view
@@ -0,0 +1,189 @@+{-# 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.Greengrass.GetLoggerDefinition+-- 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)+--+-- Retrieves information about a logger definition.+module Network.AWS.Greengrass.GetLoggerDefinition+    (+    -- * Creating a Request+      getLoggerDefinition+    , GetLoggerDefinition+    -- * Request Lenses+    , gldLoggerDefinitionId++    -- * Destructuring the Response+    , getLoggerDefinitionResponse+    , GetLoggerDefinitionResponse+    -- * Response Lenses+    , gldrsLatestVersionARN+    , gldrsARN+    , gldrsName+    , gldrsCreationTimestamp+    , gldrsId+    , gldrsLatestVersion+    , gldrsLastUpdatedTimestamp+    , gldrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getLoggerDefinition' smart constructor.+newtype GetLoggerDefinition = GetLoggerDefinition'+  { _gldLoggerDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoggerDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gldLoggerDefinitionId' - logger definition Id+getLoggerDefinition+    :: Text -- ^ 'gldLoggerDefinitionId'+    -> GetLoggerDefinition+getLoggerDefinition pLoggerDefinitionId_ =+  GetLoggerDefinition' {_gldLoggerDefinitionId = pLoggerDefinitionId_}+++-- | logger definition Id+gldLoggerDefinitionId :: Lens' GetLoggerDefinition Text+gldLoggerDefinitionId = lens _gldLoggerDefinitionId (\ s a -> s{_gldLoggerDefinitionId = a});++instance AWSRequest GetLoggerDefinition where+        type Rs GetLoggerDefinition =+             GetLoggerDefinitionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetLoggerDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetLoggerDefinition where++instance NFData GetLoggerDefinition where++instance ToHeaders GetLoggerDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetLoggerDefinition where+        toPath GetLoggerDefinition'{..}+          = mconcat+              ["/greengrass/definition/loggers/",+               toBS _gldLoggerDefinitionId]++instance ToQuery GetLoggerDefinition where+        toQuery = const mempty++-- | /See:/ 'getLoggerDefinitionResponse' smart constructor.+data GetLoggerDefinitionResponse = GetLoggerDefinitionResponse'+  { _gldrsLatestVersionARN     :: !(Maybe Text)+  , _gldrsARN                  :: !(Maybe Text)+  , _gldrsName                 :: !(Maybe Text)+  , _gldrsCreationTimestamp    :: !(Maybe Text)+  , _gldrsId                   :: !(Maybe Text)+  , _gldrsLatestVersion        :: !(Maybe Text)+  , _gldrsLastUpdatedTimestamp :: !(Maybe Text)+  , _gldrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoggerDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gldrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'gldrsARN' - Arn of the definition.+--+-- * 'gldrsName' - Name of the definition.+--+-- * 'gldrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'gldrsId' - Id of the definition.+--+-- * 'gldrsLatestVersion' - Last version of the definition.+--+-- * 'gldrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'gldrsResponseStatus' - -- | The response status code.+getLoggerDefinitionResponse+    :: Int -- ^ 'gldrsResponseStatus'+    -> GetLoggerDefinitionResponse+getLoggerDefinitionResponse pResponseStatus_ =+  GetLoggerDefinitionResponse'+  { _gldrsLatestVersionARN = Nothing+  , _gldrsARN = Nothing+  , _gldrsName = Nothing+  , _gldrsCreationTimestamp = Nothing+  , _gldrsId = Nothing+  , _gldrsLatestVersion = Nothing+  , _gldrsLastUpdatedTimestamp = Nothing+  , _gldrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+gldrsLatestVersionARN :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsLatestVersionARN = lens _gldrsLatestVersionARN (\ s a -> s{_gldrsLatestVersionARN = a});++-- | Arn of the definition.+gldrsARN :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsARN = lens _gldrsARN (\ s a -> s{_gldrsARN = a});++-- | Name of the definition.+gldrsName :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsName = lens _gldrsName (\ s a -> s{_gldrsName = a});++-- | Timestamp of when the definition was created.+gldrsCreationTimestamp :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsCreationTimestamp = lens _gldrsCreationTimestamp (\ s a -> s{_gldrsCreationTimestamp = a});++-- | Id of the definition.+gldrsId :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsId = lens _gldrsId (\ s a -> s{_gldrsId = a});++-- | Last version of the definition.+gldrsLatestVersion :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsLatestVersion = lens _gldrsLatestVersion (\ s a -> s{_gldrsLatestVersion = a});++-- | Last updated timestamp of the definition.+gldrsLastUpdatedTimestamp :: Lens' GetLoggerDefinitionResponse (Maybe Text)+gldrsLastUpdatedTimestamp = lens _gldrsLastUpdatedTimestamp (\ s a -> s{_gldrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+gldrsResponseStatus :: Lens' GetLoggerDefinitionResponse Int+gldrsResponseStatus = lens _gldrsResponseStatus (\ s a -> s{_gldrsResponseStatus = a});++instance NFData GetLoggerDefinitionResponse where
+ gen/Network/AWS/Greengrass/GetLoggerDefinitionVersion.hs view
@@ -0,0 +1,183 @@+{-# 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.Greengrass.GetLoggerDefinitionVersion+-- 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)+--+-- Retrieves information about a logger definition version.+module Network.AWS.Greengrass.GetLoggerDefinitionVersion+    (+    -- * Creating a Request+      getLoggerDefinitionVersion+    , GetLoggerDefinitionVersion+    -- * Request Lenses+    , gldvLoggerDefinitionVersionId+    , gldvLoggerDefinitionId++    -- * Destructuring the Response+    , getLoggerDefinitionVersionResponse+    , GetLoggerDefinitionVersionResponse+    -- * Response Lenses+    , gldvrsDefinition+    , gldvrsARN+    , gldvrsCreationTimestamp+    , gldvrsVersion+    , gldvrsId+    , gldvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getLoggerDefinitionVersion' smart constructor.+data GetLoggerDefinitionVersion = GetLoggerDefinitionVersion'+  { _gldvLoggerDefinitionVersionId :: !Text+  , _gldvLoggerDefinitionId        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoggerDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gldvLoggerDefinitionVersionId' - logger definition version Id+--+-- * 'gldvLoggerDefinitionId' - logger definition Id+getLoggerDefinitionVersion+    :: Text -- ^ 'gldvLoggerDefinitionVersionId'+    -> Text -- ^ 'gldvLoggerDefinitionId'+    -> GetLoggerDefinitionVersion+getLoggerDefinitionVersion pLoggerDefinitionVersionId_ pLoggerDefinitionId_ =+  GetLoggerDefinitionVersion'+  { _gldvLoggerDefinitionVersionId = pLoggerDefinitionVersionId_+  , _gldvLoggerDefinitionId = pLoggerDefinitionId_+  }+++-- | logger definition version Id+gldvLoggerDefinitionVersionId :: Lens' GetLoggerDefinitionVersion Text+gldvLoggerDefinitionVersionId = lens _gldvLoggerDefinitionVersionId (\ s a -> s{_gldvLoggerDefinitionVersionId = a});++-- | logger definition Id+gldvLoggerDefinitionId :: Lens' GetLoggerDefinitionVersion Text+gldvLoggerDefinitionId = lens _gldvLoggerDefinitionId (\ s a -> s{_gldvLoggerDefinitionId = a});++instance AWSRequest GetLoggerDefinitionVersion where+        type Rs GetLoggerDefinitionVersion =+             GetLoggerDefinitionVersionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetLoggerDefinitionVersionResponse' <$>+                   (x .?> "Definition") <*> (x .?> "Arn") <*>+                     (x .?> "CreationTimestamp")+                     <*> (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable GetLoggerDefinitionVersion where++instance NFData GetLoggerDefinitionVersion where++instance ToHeaders GetLoggerDefinitionVersion where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetLoggerDefinitionVersion where+        toPath GetLoggerDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/loggers/",+               toBS _gldvLoggerDefinitionId, "/versions/",+               toBS _gldvLoggerDefinitionVersionId]++instance ToQuery GetLoggerDefinitionVersion where+        toQuery = const mempty++-- | /See:/ 'getLoggerDefinitionVersionResponse' smart constructor.+data GetLoggerDefinitionVersionResponse = GetLoggerDefinitionVersionResponse'+  { _gldvrsDefinition        :: !(Maybe LoggerDefinitionVersion)+  , _gldvrsARN               :: !(Maybe Text)+  , _gldvrsCreationTimestamp :: !(Maybe Text)+  , _gldvrsVersion           :: !(Maybe Text)+  , _gldvrsId                :: !(Maybe Text)+  , _gldvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetLoggerDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gldvrsDefinition' - Information on definition+--+-- * 'gldvrsARN' - Arn of the logger definition version.+--+-- * 'gldvrsCreationTimestamp' - Timestamp of when the logger definition version was created.+--+-- * 'gldvrsVersion' - Version of the logger definition version.+--+-- * 'gldvrsId' - Id of the logger definition the version belongs to.+--+-- * 'gldvrsResponseStatus' - -- | The response status code.+getLoggerDefinitionVersionResponse+    :: Int -- ^ 'gldvrsResponseStatus'+    -> GetLoggerDefinitionVersionResponse+getLoggerDefinitionVersionResponse pResponseStatus_ =+  GetLoggerDefinitionVersionResponse'+  { _gldvrsDefinition = Nothing+  , _gldvrsARN = Nothing+  , _gldvrsCreationTimestamp = Nothing+  , _gldvrsVersion = Nothing+  , _gldvrsId = Nothing+  , _gldvrsResponseStatus = pResponseStatus_+  }+++-- | Information on definition+gldvrsDefinition :: Lens' GetLoggerDefinitionVersionResponse (Maybe LoggerDefinitionVersion)+gldvrsDefinition = lens _gldvrsDefinition (\ s a -> s{_gldvrsDefinition = a});++-- | Arn of the logger definition version.+gldvrsARN :: Lens' GetLoggerDefinitionVersionResponse (Maybe Text)+gldvrsARN = lens _gldvrsARN (\ s a -> s{_gldvrsARN = a});++-- | Timestamp of when the logger definition version was created.+gldvrsCreationTimestamp :: Lens' GetLoggerDefinitionVersionResponse (Maybe Text)+gldvrsCreationTimestamp = lens _gldvrsCreationTimestamp (\ s a -> s{_gldvrsCreationTimestamp = a});++-- | Version of the logger definition version.+gldvrsVersion :: Lens' GetLoggerDefinitionVersionResponse (Maybe Text)+gldvrsVersion = lens _gldvrsVersion (\ s a -> s{_gldvrsVersion = a});++-- | Id of the logger definition the version belongs to.+gldvrsId :: Lens' GetLoggerDefinitionVersionResponse (Maybe Text)+gldvrsId = lens _gldvrsId (\ s a -> s{_gldvrsId = a});++-- | -- | The response status code.+gldvrsResponseStatus :: Lens' GetLoggerDefinitionVersionResponse Int+gldvrsResponseStatus = lens _gldvrsResponseStatus (\ s a -> s{_gldvrsResponseStatus = a});++instance NFData GetLoggerDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/GetServiceRoleForAccount.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.GetServiceRoleForAccount+-- 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)+--+-- Retrieves the service role that is attached to the account.+module Network.AWS.Greengrass.GetServiceRoleForAccount+    (+    -- * Creating a Request+      getServiceRoleForAccount+    , GetServiceRoleForAccount++    -- * Destructuring the Response+    , getServiceRoleForAccountResponse+    , GetServiceRoleForAccountResponse+    -- * Response Lenses+    , gsrfarsAssociatedAt+    , gsrfarsRoleARN+    , gsrfarsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getServiceRoleForAccount' smart constructor.+data GetServiceRoleForAccount =+  GetServiceRoleForAccount'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetServiceRoleForAccount' with the minimum fields required to make a request.+--+getServiceRoleForAccount+    :: GetServiceRoleForAccount+getServiceRoleForAccount = GetServiceRoleForAccount'+++instance AWSRequest GetServiceRoleForAccount where+        type Rs GetServiceRoleForAccount =+             GetServiceRoleForAccountResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetServiceRoleForAccountResponse' <$>+                   (x .?> "AssociatedAt") <*> (x .?> "RoleArn") <*>+                     (pure (fromEnum s)))++instance Hashable GetServiceRoleForAccount where++instance NFData GetServiceRoleForAccount where++instance ToHeaders GetServiceRoleForAccount where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetServiceRoleForAccount where+        toPath = const "/greengrass/servicerole"++instance ToQuery GetServiceRoleForAccount where+        toQuery = const mempty++-- | /See:/ 'getServiceRoleForAccountResponse' smart constructor.+data GetServiceRoleForAccountResponse = GetServiceRoleForAccountResponse'+  { _gsrfarsAssociatedAt   :: !(Maybe Text)+  , _gsrfarsRoleARN        :: !(Maybe Text)+  , _gsrfarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetServiceRoleForAccountResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsrfarsAssociatedAt' - Time when the service role was associated to the account.+--+-- * 'gsrfarsRoleARN' - Role arn which is associated to the account.+--+-- * 'gsrfarsResponseStatus' - -- | The response status code.+getServiceRoleForAccountResponse+    :: Int -- ^ 'gsrfarsResponseStatus'+    -> GetServiceRoleForAccountResponse+getServiceRoleForAccountResponse pResponseStatus_ =+  GetServiceRoleForAccountResponse'+  { _gsrfarsAssociatedAt = Nothing+  , _gsrfarsRoleARN = Nothing+  , _gsrfarsResponseStatus = pResponseStatus_+  }+++-- | Time when the service role was associated to the account.+gsrfarsAssociatedAt :: Lens' GetServiceRoleForAccountResponse (Maybe Text)+gsrfarsAssociatedAt = lens _gsrfarsAssociatedAt (\ s a -> s{_gsrfarsAssociatedAt = a});++-- | Role arn which is associated to the account.+gsrfarsRoleARN :: Lens' GetServiceRoleForAccountResponse (Maybe Text)+gsrfarsRoleARN = lens _gsrfarsRoleARN (\ s a -> s{_gsrfarsRoleARN = a});++-- | -- | The response status code.+gsrfarsResponseStatus :: Lens' GetServiceRoleForAccountResponse Int+gsrfarsResponseStatus = lens _gsrfarsResponseStatus (\ s a -> s{_gsrfarsResponseStatus = a});++instance NFData GetServiceRoleForAccountResponse+         where
+ gen/Network/AWS/Greengrass/GetSubscriptionDefinition.hs view
@@ -0,0 +1,191 @@+{-# 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.Greengrass.GetSubscriptionDefinition+-- 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)+--+-- Retrieves information about a subscription definition.+module Network.AWS.Greengrass.GetSubscriptionDefinition+    (+    -- * Creating a Request+      getSubscriptionDefinition+    , GetSubscriptionDefinition+    -- * Request Lenses+    , gsdSubscriptionDefinitionId++    -- * Destructuring the Response+    , getSubscriptionDefinitionResponse+    , GetSubscriptionDefinitionResponse+    -- * Response Lenses+    , gsdrsLatestVersionARN+    , gsdrsARN+    , gsdrsName+    , gsdrsCreationTimestamp+    , gsdrsId+    , gsdrsLatestVersion+    , gsdrsLastUpdatedTimestamp+    , gsdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getSubscriptionDefinition' smart constructor.+newtype GetSubscriptionDefinition = GetSubscriptionDefinition'+  { _gsdSubscriptionDefinitionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetSubscriptionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdSubscriptionDefinitionId' - subscription definition Id+getSubscriptionDefinition+    :: Text -- ^ 'gsdSubscriptionDefinitionId'+    -> GetSubscriptionDefinition+getSubscriptionDefinition pSubscriptionDefinitionId_ =+  GetSubscriptionDefinition'+  {_gsdSubscriptionDefinitionId = pSubscriptionDefinitionId_}+++-- | subscription definition Id+gsdSubscriptionDefinitionId :: Lens' GetSubscriptionDefinition Text+gsdSubscriptionDefinitionId = lens _gsdSubscriptionDefinitionId (\ s a -> s{_gsdSubscriptionDefinitionId = a});++instance AWSRequest GetSubscriptionDefinition where+        type Rs GetSubscriptionDefinition =+             GetSubscriptionDefinitionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetSubscriptionDefinitionResponse' <$>+                   (x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>+                     (x .?> "Name")+                     <*> (x .?> "CreationTimestamp")+                     <*> (x .?> "Id")+                     <*> (x .?> "LatestVersion")+                     <*> (x .?> "LastUpdatedTimestamp")+                     <*> (pure (fromEnum s)))++instance Hashable GetSubscriptionDefinition where++instance NFData GetSubscriptionDefinition where++instance ToHeaders GetSubscriptionDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetSubscriptionDefinition where+        toPath GetSubscriptionDefinition'{..}+          = mconcat+              ["/greengrass/definition/subscriptions/",+               toBS _gsdSubscriptionDefinitionId]++instance ToQuery GetSubscriptionDefinition where+        toQuery = const mempty++-- | /See:/ 'getSubscriptionDefinitionResponse' smart constructor.+data GetSubscriptionDefinitionResponse = GetSubscriptionDefinitionResponse'+  { _gsdrsLatestVersionARN     :: !(Maybe Text)+  , _gsdrsARN                  :: !(Maybe Text)+  , _gsdrsName                 :: !(Maybe Text)+  , _gsdrsCreationTimestamp    :: !(Maybe Text)+  , _gsdrsId                   :: !(Maybe Text)+  , _gsdrsLatestVersion        :: !(Maybe Text)+  , _gsdrsLastUpdatedTimestamp :: !(Maybe Text)+  , _gsdrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetSubscriptionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdrsLatestVersionARN' - Latest version arn of the definition.+--+-- * 'gsdrsARN' - Arn of the definition.+--+-- * 'gsdrsName' - Name of the definition.+--+-- * 'gsdrsCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'gsdrsId' - Id of the definition.+--+-- * 'gsdrsLatestVersion' - Last version of the definition.+--+-- * 'gsdrsLastUpdatedTimestamp' - Last updated timestamp of the definition.+--+-- * 'gsdrsResponseStatus' - -- | The response status code.+getSubscriptionDefinitionResponse+    :: Int -- ^ 'gsdrsResponseStatus'+    -> GetSubscriptionDefinitionResponse+getSubscriptionDefinitionResponse pResponseStatus_ =+  GetSubscriptionDefinitionResponse'+  { _gsdrsLatestVersionARN = Nothing+  , _gsdrsARN = Nothing+  , _gsdrsName = Nothing+  , _gsdrsCreationTimestamp = Nothing+  , _gsdrsId = Nothing+  , _gsdrsLatestVersion = Nothing+  , _gsdrsLastUpdatedTimestamp = Nothing+  , _gsdrsResponseStatus = pResponseStatus_+  }+++-- | Latest version arn of the definition.+gsdrsLatestVersionARN :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsLatestVersionARN = lens _gsdrsLatestVersionARN (\ s a -> s{_gsdrsLatestVersionARN = a});++-- | Arn of the definition.+gsdrsARN :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsARN = lens _gsdrsARN (\ s a -> s{_gsdrsARN = a});++-- | Name of the definition.+gsdrsName :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsName = lens _gsdrsName (\ s a -> s{_gsdrsName = a});++-- | Timestamp of when the definition was created.+gsdrsCreationTimestamp :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsCreationTimestamp = lens _gsdrsCreationTimestamp (\ s a -> s{_gsdrsCreationTimestamp = a});++-- | Id of the definition.+gsdrsId :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsId = lens _gsdrsId (\ s a -> s{_gsdrsId = a});++-- | Last version of the definition.+gsdrsLatestVersion :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsLatestVersion = lens _gsdrsLatestVersion (\ s a -> s{_gsdrsLatestVersion = a});++-- | Last updated timestamp of the definition.+gsdrsLastUpdatedTimestamp :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)+gsdrsLastUpdatedTimestamp = lens _gsdrsLastUpdatedTimestamp (\ s a -> s{_gsdrsLastUpdatedTimestamp = a});++-- | -- | The response status code.+gsdrsResponseStatus :: Lens' GetSubscriptionDefinitionResponse Int+gsdrsResponseStatus = lens _gsdrsResponseStatus (\ s a -> s{_gsdrsResponseStatus = a});++instance NFData GetSubscriptionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/GetSubscriptionDefinitionVersion.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.GetSubscriptionDefinitionVersion+-- 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)+--+-- Retrieves information about a subscription definition version.+module Network.AWS.Greengrass.GetSubscriptionDefinitionVersion+    (+    -- * Creating a Request+      getSubscriptionDefinitionVersion+    , GetSubscriptionDefinitionVersion+    -- * Request Lenses+    , gsdvSubscriptionDefinitionId+    , gsdvSubscriptionDefinitionVersionId++    -- * Destructuring the Response+    , getSubscriptionDefinitionVersionResponse+    , GetSubscriptionDefinitionVersionResponse+    -- * Response Lenses+    , gsdvrsDefinition+    , gsdvrsARN+    , gsdvrsCreationTimestamp+    , gsdvrsVersion+    , gsdvrsId+    , gsdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getSubscriptionDefinitionVersion' smart constructor.+data GetSubscriptionDefinitionVersion = GetSubscriptionDefinitionVersion'+  { _gsdvSubscriptionDefinitionId        :: !Text+  , _gsdvSubscriptionDefinitionVersionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetSubscriptionDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdvSubscriptionDefinitionId' - subscription definition Id+--+-- * 'gsdvSubscriptionDefinitionVersionId' - subscription definition version Id+getSubscriptionDefinitionVersion+    :: Text -- ^ 'gsdvSubscriptionDefinitionId'+    -> Text -- ^ 'gsdvSubscriptionDefinitionVersionId'+    -> GetSubscriptionDefinitionVersion+getSubscriptionDefinitionVersion pSubscriptionDefinitionId_ pSubscriptionDefinitionVersionId_ =+  GetSubscriptionDefinitionVersion'+  { _gsdvSubscriptionDefinitionId = pSubscriptionDefinitionId_+  , _gsdvSubscriptionDefinitionVersionId = pSubscriptionDefinitionVersionId_+  }+++-- | subscription definition Id+gsdvSubscriptionDefinitionId :: Lens' GetSubscriptionDefinitionVersion Text+gsdvSubscriptionDefinitionId = lens _gsdvSubscriptionDefinitionId (\ s a -> s{_gsdvSubscriptionDefinitionId = a});++-- | subscription definition version Id+gsdvSubscriptionDefinitionVersionId :: Lens' GetSubscriptionDefinitionVersion Text+gsdvSubscriptionDefinitionVersionId = lens _gsdvSubscriptionDefinitionVersionId (\ s a -> s{_gsdvSubscriptionDefinitionVersionId = a});++instance AWSRequest GetSubscriptionDefinitionVersion+         where+        type Rs GetSubscriptionDefinitionVersion =+             GetSubscriptionDefinitionVersionResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 GetSubscriptionDefinitionVersionResponse' <$>+                   (x .?> "Definition") <*> (x .?> "Arn") <*>+                     (x .?> "CreationTimestamp")+                     <*> (x .?> "Version")+                     <*> (x .?> "Id")+                     <*> (pure (fromEnum s)))++instance Hashable GetSubscriptionDefinitionVersion+         where++instance NFData GetSubscriptionDefinitionVersion+         where++instance ToHeaders GetSubscriptionDefinitionVersion+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath GetSubscriptionDefinitionVersion+         where+        toPath GetSubscriptionDefinitionVersion'{..}+          = mconcat+              ["/greengrass/definition/subscriptions/",+               toBS _gsdvSubscriptionDefinitionId, "/versions/",+               toBS _gsdvSubscriptionDefinitionVersionId]++instance ToQuery GetSubscriptionDefinitionVersion+         where+        toQuery = const mempty++-- | /See:/ 'getSubscriptionDefinitionVersionResponse' smart constructor.+data GetSubscriptionDefinitionVersionResponse = GetSubscriptionDefinitionVersionResponse'+  { _gsdvrsDefinition        :: !(Maybe SubscriptionDefinitionVersion)+  , _gsdvrsARN               :: !(Maybe Text)+  , _gsdvrsCreationTimestamp :: !(Maybe Text)+  , _gsdvrsVersion           :: !(Maybe Text)+  , _gsdvrsId                :: !(Maybe Text)+  , _gsdvrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetSubscriptionDefinitionVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdvrsDefinition' - Information on the definition+--+-- * 'gsdvrsARN' - Arn of the subscription definition version.+--+-- * 'gsdvrsCreationTimestamp' - Timestamp of when the subscription definition version was created.+--+-- * 'gsdvrsVersion' - Version of the subscription definition version.+--+-- * 'gsdvrsId' - Id of the subscription definition the version belongs to.+--+-- * 'gsdvrsResponseStatus' - -- | The response status code.+getSubscriptionDefinitionVersionResponse+    :: Int -- ^ 'gsdvrsResponseStatus'+    -> GetSubscriptionDefinitionVersionResponse+getSubscriptionDefinitionVersionResponse pResponseStatus_ =+  GetSubscriptionDefinitionVersionResponse'+  { _gsdvrsDefinition = Nothing+  , _gsdvrsARN = Nothing+  , _gsdvrsCreationTimestamp = Nothing+  , _gsdvrsVersion = Nothing+  , _gsdvrsId = Nothing+  , _gsdvrsResponseStatus = pResponseStatus_+  }+++-- | Information on the definition+gsdvrsDefinition :: Lens' GetSubscriptionDefinitionVersionResponse (Maybe SubscriptionDefinitionVersion)+gsdvrsDefinition = lens _gsdvrsDefinition (\ s a -> s{_gsdvrsDefinition = a});++-- | Arn of the subscription definition version.+gsdvrsARN :: Lens' GetSubscriptionDefinitionVersionResponse (Maybe Text)+gsdvrsARN = lens _gsdvrsARN (\ s a -> s{_gsdvrsARN = a});++-- | Timestamp of when the subscription definition version was created.+gsdvrsCreationTimestamp :: Lens' GetSubscriptionDefinitionVersionResponse (Maybe Text)+gsdvrsCreationTimestamp = lens _gsdvrsCreationTimestamp (\ s a -> s{_gsdvrsCreationTimestamp = a});++-- | Version of the subscription definition version.+gsdvrsVersion :: Lens' GetSubscriptionDefinitionVersionResponse (Maybe Text)+gsdvrsVersion = lens _gsdvrsVersion (\ s a -> s{_gsdvrsVersion = a});++-- | Id of the subscription definition the version belongs to.+gsdvrsId :: Lens' GetSubscriptionDefinitionVersionResponse (Maybe Text)+gsdvrsId = lens _gsdvrsId (\ s a -> s{_gsdvrsId = a});++-- | -- | The response status code.+gsdvrsResponseStatus :: Lens' GetSubscriptionDefinitionVersionResponse Int+gsdvrsResponseStatus = lens _gsdvrsResponseStatus (\ s a -> s{_gsdvrsResponseStatus = a});++instance NFData+           GetSubscriptionDefinitionVersionResponse+         where
+ gen/Network/AWS/Greengrass/ListCoreDefinitionVersions.hs view
@@ -0,0 +1,163 @@+{-# 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.Greengrass.ListCoreDefinitionVersions+-- 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 versions of a core definition.+module Network.AWS.Greengrass.ListCoreDefinitionVersions+    (+    -- * Creating a Request+      listCoreDefinitionVersions+    , ListCoreDefinitionVersions+    -- * Request Lenses+    , lcdvNextToken+    , lcdvMaxResults+    , lcdvCoreDefinitionId++    -- * Destructuring the Response+    , listCoreDefinitionVersionsResponse+    , ListCoreDefinitionVersionsResponse+    -- * Response Lenses+    , lcdvrsVersions+    , lcdvrsNextToken+    , lcdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listCoreDefinitionVersions' smart constructor.+data ListCoreDefinitionVersions = ListCoreDefinitionVersions'+  { _lcdvNextToken        :: !(Maybe Text)+  , _lcdvMaxResults       :: !(Maybe Text)+  , _lcdvCoreDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListCoreDefinitionVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcdvNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lcdvMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lcdvCoreDefinitionId' - core definition Id+listCoreDefinitionVersions+    :: Text -- ^ 'lcdvCoreDefinitionId'+    -> ListCoreDefinitionVersions+listCoreDefinitionVersions pCoreDefinitionId_ =+  ListCoreDefinitionVersions'+  { _lcdvNextToken = Nothing+  , _lcdvMaxResults = Nothing+  , _lcdvCoreDefinitionId = pCoreDefinitionId_+  }+++-- | Specifies the pagination token used when iterating through a paginated request+lcdvNextToken :: Lens' ListCoreDefinitionVersions (Maybe Text)+lcdvNextToken = lens _lcdvNextToken (\ s a -> s{_lcdvNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lcdvMaxResults :: Lens' ListCoreDefinitionVersions (Maybe Text)+lcdvMaxResults = lens _lcdvMaxResults (\ s a -> s{_lcdvMaxResults = a});++-- | core definition Id+lcdvCoreDefinitionId :: Lens' ListCoreDefinitionVersions Text+lcdvCoreDefinitionId = lens _lcdvCoreDefinitionId (\ s a -> s{_lcdvCoreDefinitionId = a});++instance AWSRequest ListCoreDefinitionVersions where+        type Rs ListCoreDefinitionVersions =+             ListCoreDefinitionVersionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListCoreDefinitionVersionsResponse' <$>+                   (x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListCoreDefinitionVersions where++instance NFData ListCoreDefinitionVersions where++instance ToHeaders ListCoreDefinitionVersions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListCoreDefinitionVersions where+        toPath ListCoreDefinitionVersions'{..}+          = mconcat+              ["/greengrass/definition/cores/",+               toBS _lcdvCoreDefinitionId, "/versions"]++instance ToQuery ListCoreDefinitionVersions where+        toQuery ListCoreDefinitionVersions'{..}+          = mconcat+              ["NextToken" =: _lcdvNextToken,+               "MaxResults" =: _lcdvMaxResults]++-- | /See:/ 'listCoreDefinitionVersionsResponse' smart constructor.+data ListCoreDefinitionVersionsResponse = ListCoreDefinitionVersionsResponse'+  { _lcdvrsVersions       :: !(Maybe [VersionInformation])+  , _lcdvrsNextToken      :: !(Maybe Text)+  , _lcdvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListCoreDefinitionVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcdvrsVersions' - Versions+--+-- * 'lcdvrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lcdvrsResponseStatus' - -- | The response status code.+listCoreDefinitionVersionsResponse+    :: Int -- ^ 'lcdvrsResponseStatus'+    -> ListCoreDefinitionVersionsResponse+listCoreDefinitionVersionsResponse pResponseStatus_ =+  ListCoreDefinitionVersionsResponse'+  { _lcdvrsVersions = Nothing+  , _lcdvrsNextToken = Nothing+  , _lcdvrsResponseStatus = pResponseStatus_+  }+++-- | Versions+lcdvrsVersions :: Lens' ListCoreDefinitionVersionsResponse [VersionInformation]+lcdvrsVersions = lens _lcdvrsVersions (\ s a -> s{_lcdvrsVersions = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lcdvrsNextToken :: Lens' ListCoreDefinitionVersionsResponse (Maybe Text)+lcdvrsNextToken = lens _lcdvrsNextToken (\ s a -> s{_lcdvrsNextToken = a});++-- | -- | The response status code.+lcdvrsResponseStatus :: Lens' ListCoreDefinitionVersionsResponse Int+lcdvrsResponseStatus = lens _lcdvrsResponseStatus (\ s a -> s{_lcdvrsResponseStatus = a});++instance NFData ListCoreDefinitionVersionsResponse+         where
+ gen/Network/AWS/Greengrass/ListCoreDefinitions.hs view
@@ -0,0 +1,147 @@+{-# 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.Greengrass.ListCoreDefinitions+-- 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)+--+-- Retrieves a list of core definitions.+module Network.AWS.Greengrass.ListCoreDefinitions+    (+    -- * Creating a Request+      listCoreDefinitions+    , ListCoreDefinitions+    -- * Request Lenses+    , lcdNextToken+    , lcdMaxResults++    -- * Destructuring the Response+    , listCoreDefinitionsResponse+    , ListCoreDefinitionsResponse+    -- * Response Lenses+    , lcdrsNextToken+    , lcdrsDefinitions+    , lcdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listCoreDefinitions' smart constructor.+data ListCoreDefinitions = ListCoreDefinitions'+  { _lcdNextToken  :: !(Maybe Text)+  , _lcdMaxResults :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListCoreDefinitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcdNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lcdMaxResults' - Specifies the maximum number of list results to be returned in this page+listCoreDefinitions+    :: ListCoreDefinitions+listCoreDefinitions =+  ListCoreDefinitions' {_lcdNextToken = Nothing, _lcdMaxResults = Nothing}+++-- | Specifies the pagination token used when iterating through a paginated request+lcdNextToken :: Lens' ListCoreDefinitions (Maybe Text)+lcdNextToken = lens _lcdNextToken (\ s a -> s{_lcdNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lcdMaxResults :: Lens' ListCoreDefinitions (Maybe Text)+lcdMaxResults = lens _lcdMaxResults (\ s a -> s{_lcdMaxResults = a});++instance AWSRequest ListCoreDefinitions where+        type Rs ListCoreDefinitions =+             ListCoreDefinitionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListCoreDefinitionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Definitions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListCoreDefinitions where++instance NFData ListCoreDefinitions where++instance ToHeaders ListCoreDefinitions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListCoreDefinitions where+        toPath = const "/greengrass/definition/cores"++instance ToQuery ListCoreDefinitions where+        toQuery ListCoreDefinitions'{..}+          = mconcat+              ["NextToken" =: _lcdNextToken,+               "MaxResults" =: _lcdMaxResults]++-- | /See:/ 'listCoreDefinitionsResponse' smart constructor.+data ListCoreDefinitionsResponse = ListCoreDefinitionsResponse'+  { _lcdrsNextToken      :: !(Maybe Text)+  , _lcdrsDefinitions    :: !(Maybe [DefinitionInformation])+  , _lcdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListCoreDefinitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcdrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lcdrsDefinitions' - Definitions+--+-- * 'lcdrsResponseStatus' - -- | The response status code.+listCoreDefinitionsResponse+    :: Int -- ^ 'lcdrsResponseStatus'+    -> ListCoreDefinitionsResponse+listCoreDefinitionsResponse pResponseStatus_ =+  ListCoreDefinitionsResponse'+  { _lcdrsNextToken = Nothing+  , _lcdrsDefinitions = Nothing+  , _lcdrsResponseStatus = pResponseStatus_+  }+++-- | The token for the next set of results, or ''null'' if there are no additional results.+lcdrsNextToken :: Lens' ListCoreDefinitionsResponse (Maybe Text)+lcdrsNextToken = lens _lcdrsNextToken (\ s a -> s{_lcdrsNextToken = a});++-- | Definitions+lcdrsDefinitions :: Lens' ListCoreDefinitionsResponse [DefinitionInformation]+lcdrsDefinitions = lens _lcdrsDefinitions (\ s a -> s{_lcdrsDefinitions = a}) . _Default . _Coerce;++-- | -- | The response status code.+lcdrsResponseStatus :: Lens' ListCoreDefinitionsResponse Int+lcdrsResponseStatus = lens _lcdrsResponseStatus (\ s a -> s{_lcdrsResponseStatus = a});++instance NFData ListCoreDefinitionsResponse where
+ gen/Network/AWS/Greengrass/ListDeployments.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.ListDeployments+-- 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)+--+-- Returns a history of deployments for the group.+module Network.AWS.Greengrass.ListDeployments+    (+    -- * Creating a Request+      listDeployments+    , ListDeployments+    -- * Request Lenses+    , lNextToken+    , lMaxResults+    , lGroupId++    -- * Destructuring the Response+    , listDeploymentsResponse+    , ListDeploymentsResponse+    -- * Response Lenses+    , ldrsNextToken+    , ldrsDeployments+    , ldrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listDeployments' smart constructor.+data ListDeployments = ListDeployments'+  { _lNextToken  :: !(Maybe Text)+  , _lMaxResults :: !(Maybe Text)+  , _lGroupId    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDeployments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lGroupId' - The unique Id of the AWS Greengrass Group+listDeployments+    :: Text -- ^ 'lGroupId'+    -> ListDeployments+listDeployments pGroupId_ =+  ListDeployments'+  {_lNextToken = Nothing, _lMaxResults = Nothing, _lGroupId = pGroupId_}+++-- | Specifies the pagination token used when iterating through a paginated request+lNextToken :: Lens' ListDeployments (Maybe Text)+lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lMaxResults :: Lens' ListDeployments (Maybe Text)+lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a});++-- | The unique Id of the AWS Greengrass Group+lGroupId :: Lens' ListDeployments Text+lGroupId = lens _lGroupId (\ s a -> s{_lGroupId = a});++instance AWSRequest ListDeployments where+        type Rs ListDeployments = ListDeploymentsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListDeploymentsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Deployments" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListDeployments where++instance NFData ListDeployments where++instance ToHeaders ListDeployments where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListDeployments where+        toPath ListDeployments'{..}+          = mconcat+              ["/greengrass/groups/", toBS _lGroupId,+               "/deployments"]++instance ToQuery ListDeployments where+        toQuery ListDeployments'{..}+          = mconcat+              ["NextToken" =: _lNextToken,+               "MaxResults" =: _lMaxResults]++-- | /See:/ 'listDeploymentsResponse' smart constructor.+data ListDeploymentsResponse = ListDeploymentsResponse'+  { _ldrsNextToken      :: !(Maybe Text)+  , _ldrsDeployments    :: !(Maybe [Deployment])+  , _ldrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDeploymentsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'ldrsDeployments' - List of deployments for the requested groups+--+-- * 'ldrsResponseStatus' - -- | The response status code.+listDeploymentsResponse+    :: Int -- ^ 'ldrsResponseStatus'+    -> ListDeploymentsResponse+listDeploymentsResponse pResponseStatus_ =+  ListDeploymentsResponse'+  { _ldrsNextToken = Nothing+  , _ldrsDeployments = Nothing+  , _ldrsResponseStatus = pResponseStatus_+  }+++-- | The token for the next set of results, or ''null'' if there are no additional results.+ldrsNextToken :: Lens' ListDeploymentsResponse (Maybe Text)+ldrsNextToken = lens _ldrsNextToken (\ s a -> s{_ldrsNextToken = a});++-- | List of deployments for the requested groups+ldrsDeployments :: Lens' ListDeploymentsResponse [Deployment]+ldrsDeployments = lens _ldrsDeployments (\ s a -> s{_ldrsDeployments = a}) . _Default . _Coerce;++-- | -- | The response status code.+ldrsResponseStatus :: Lens' ListDeploymentsResponse Int+ldrsResponseStatus = lens _ldrsResponseStatus (\ s a -> s{_ldrsResponseStatus = a});++instance NFData ListDeploymentsResponse where
+ gen/Network/AWS/Greengrass/ListDeviceDefinitionVersions.hs view
@@ -0,0 +1,164 @@+{-# 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.Greengrass.ListDeviceDefinitionVersions+-- 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 the versions of a device definition.+module Network.AWS.Greengrass.ListDeviceDefinitionVersions+    (+    -- * Creating a Request+      listDeviceDefinitionVersions+    , ListDeviceDefinitionVersions+    -- * Request Lenses+    , lddvNextToken+    , lddvMaxResults+    , lddvDeviceDefinitionId++    -- * Destructuring the Response+    , listDeviceDefinitionVersionsResponse+    , ListDeviceDefinitionVersionsResponse+    -- * Response Lenses+    , lddvrsVersions+    , lddvrsNextToken+    , lddvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listDeviceDefinitionVersions' smart constructor.+data ListDeviceDefinitionVersions = ListDeviceDefinitionVersions'+  { _lddvNextToken          :: !(Maybe Text)+  , _lddvMaxResults         :: !(Maybe Text)+  , _lddvDeviceDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDeviceDefinitionVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lddvNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lddvMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lddvDeviceDefinitionId' - device definition Id+listDeviceDefinitionVersions+    :: Text -- ^ 'lddvDeviceDefinitionId'+    -> ListDeviceDefinitionVersions+listDeviceDefinitionVersions pDeviceDefinitionId_ =+  ListDeviceDefinitionVersions'+  { _lddvNextToken = Nothing+  , _lddvMaxResults = Nothing+  , _lddvDeviceDefinitionId = pDeviceDefinitionId_+  }+++-- | Specifies the pagination token used when iterating through a paginated request+lddvNextToken :: Lens' ListDeviceDefinitionVersions (Maybe Text)+lddvNextToken = lens _lddvNextToken (\ s a -> s{_lddvNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lddvMaxResults :: Lens' ListDeviceDefinitionVersions (Maybe Text)+lddvMaxResults = lens _lddvMaxResults (\ s a -> s{_lddvMaxResults = a});++-- | device definition Id+lddvDeviceDefinitionId :: Lens' ListDeviceDefinitionVersions Text+lddvDeviceDefinitionId = lens _lddvDeviceDefinitionId (\ s a -> s{_lddvDeviceDefinitionId = a});++instance AWSRequest ListDeviceDefinitionVersions+         where+        type Rs ListDeviceDefinitionVersions =+             ListDeviceDefinitionVersionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListDeviceDefinitionVersionsResponse' <$>+                   (x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListDeviceDefinitionVersions where++instance NFData ListDeviceDefinitionVersions where++instance ToHeaders ListDeviceDefinitionVersions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListDeviceDefinitionVersions where+        toPath ListDeviceDefinitionVersions'{..}+          = mconcat+              ["/greengrass/definition/devices/",+               toBS _lddvDeviceDefinitionId, "/versions"]++instance ToQuery ListDeviceDefinitionVersions where+        toQuery ListDeviceDefinitionVersions'{..}+          = mconcat+              ["NextToken" =: _lddvNextToken,+               "MaxResults" =: _lddvMaxResults]++-- | /See:/ 'listDeviceDefinitionVersionsResponse' smart constructor.+data ListDeviceDefinitionVersionsResponse = ListDeviceDefinitionVersionsResponse'+  { _lddvrsVersions       :: !(Maybe [VersionInformation])+  , _lddvrsNextToken      :: !(Maybe Text)+  , _lddvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDeviceDefinitionVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lddvrsVersions' - Versions+--+-- * 'lddvrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lddvrsResponseStatus' - -- | The response status code.+listDeviceDefinitionVersionsResponse+    :: Int -- ^ 'lddvrsResponseStatus'+    -> ListDeviceDefinitionVersionsResponse+listDeviceDefinitionVersionsResponse pResponseStatus_ =+  ListDeviceDefinitionVersionsResponse'+  { _lddvrsVersions = Nothing+  , _lddvrsNextToken = Nothing+  , _lddvrsResponseStatus = pResponseStatus_+  }+++-- | Versions+lddvrsVersions :: Lens' ListDeviceDefinitionVersionsResponse [VersionInformation]+lddvrsVersions = lens _lddvrsVersions (\ s a -> s{_lddvrsVersions = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lddvrsNextToken :: Lens' ListDeviceDefinitionVersionsResponse (Maybe Text)+lddvrsNextToken = lens _lddvrsNextToken (\ s a -> s{_lddvrsNextToken = a});++-- | -- | The response status code.+lddvrsResponseStatus :: Lens' ListDeviceDefinitionVersionsResponse Int+lddvrsResponseStatus = lens _lddvrsResponseStatus (\ s a -> s{_lddvrsResponseStatus = a});++instance NFData ListDeviceDefinitionVersionsResponse+         where
+ gen/Network/AWS/Greengrass/ListDeviceDefinitions.hs view
@@ -0,0 +1,147 @@+{-# 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.Greengrass.ListDeviceDefinitions+-- 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)+--+-- Retrieves a list of device definitions.+module Network.AWS.Greengrass.ListDeviceDefinitions+    (+    -- * Creating a Request+      listDeviceDefinitions+    , ListDeviceDefinitions+    -- * Request Lenses+    , lddNextToken+    , lddMaxResults++    -- * Destructuring the Response+    , listDeviceDefinitionsResponse+    , ListDeviceDefinitionsResponse+    -- * Response Lenses+    , lddrsNextToken+    , lddrsDefinitions+    , lddrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listDeviceDefinitions' smart constructor.+data ListDeviceDefinitions = ListDeviceDefinitions'+  { _lddNextToken  :: !(Maybe Text)+  , _lddMaxResults :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDeviceDefinitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lddNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lddMaxResults' - Specifies the maximum number of list results to be returned in this page+listDeviceDefinitions+    :: ListDeviceDefinitions+listDeviceDefinitions =+  ListDeviceDefinitions' {_lddNextToken = Nothing, _lddMaxResults = Nothing}+++-- | Specifies the pagination token used when iterating through a paginated request+lddNextToken :: Lens' ListDeviceDefinitions (Maybe Text)+lddNextToken = lens _lddNextToken (\ s a -> s{_lddNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lddMaxResults :: Lens' ListDeviceDefinitions (Maybe Text)+lddMaxResults = lens _lddMaxResults (\ s a -> s{_lddMaxResults = a});++instance AWSRequest ListDeviceDefinitions where+        type Rs ListDeviceDefinitions =+             ListDeviceDefinitionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListDeviceDefinitionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Definitions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListDeviceDefinitions where++instance NFData ListDeviceDefinitions where++instance ToHeaders ListDeviceDefinitions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListDeviceDefinitions where+        toPath = const "/greengrass/definition/devices"++instance ToQuery ListDeviceDefinitions where+        toQuery ListDeviceDefinitions'{..}+          = mconcat+              ["NextToken" =: _lddNextToken,+               "MaxResults" =: _lddMaxResults]++-- | /See:/ 'listDeviceDefinitionsResponse' smart constructor.+data ListDeviceDefinitionsResponse = ListDeviceDefinitionsResponse'+  { _lddrsNextToken      :: !(Maybe Text)+  , _lddrsDefinitions    :: !(Maybe [DefinitionInformation])+  , _lddrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListDeviceDefinitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lddrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lddrsDefinitions' - Definitions+--+-- * 'lddrsResponseStatus' - -- | The response status code.+listDeviceDefinitionsResponse+    :: Int -- ^ 'lddrsResponseStatus'+    -> ListDeviceDefinitionsResponse+listDeviceDefinitionsResponse pResponseStatus_ =+  ListDeviceDefinitionsResponse'+  { _lddrsNextToken = Nothing+  , _lddrsDefinitions = Nothing+  , _lddrsResponseStatus = pResponseStatus_+  }+++-- | The token for the next set of results, or ''null'' if there are no additional results.+lddrsNextToken :: Lens' ListDeviceDefinitionsResponse (Maybe Text)+lddrsNextToken = lens _lddrsNextToken (\ s a -> s{_lddrsNextToken = a});++-- | Definitions+lddrsDefinitions :: Lens' ListDeviceDefinitionsResponse [DefinitionInformation]+lddrsDefinitions = lens _lddrsDefinitions (\ s a -> s{_lddrsDefinitions = a}) . _Default . _Coerce;++-- | -- | The response status code.+lddrsResponseStatus :: Lens' ListDeviceDefinitionsResponse Int+lddrsResponseStatus = lens _lddrsResponseStatus (\ s a -> s{_lddrsResponseStatus = a});++instance NFData ListDeviceDefinitionsResponse where
+ gen/Network/AWS/Greengrass/ListFunctionDefinitionVersions.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.Greengrass.ListFunctionDefinitionVersions+-- 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 the versions of a Lambda function definition.+module Network.AWS.Greengrass.ListFunctionDefinitionVersions+    (+    -- * Creating a Request+      listFunctionDefinitionVersions+    , ListFunctionDefinitionVersions+    -- * Request Lenses+    , lfdvNextToken+    , lfdvMaxResults+    , lfdvFunctionDefinitionId++    -- * Destructuring the Response+    , listFunctionDefinitionVersionsResponse+    , ListFunctionDefinitionVersionsResponse+    -- * Response Lenses+    , lfdvrsVersions+    , lfdvrsNextToken+    , lfdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listFunctionDefinitionVersions' smart constructor.+data ListFunctionDefinitionVersions = ListFunctionDefinitionVersions'+  { _lfdvNextToken            :: !(Maybe Text)+  , _lfdvMaxResults           :: !(Maybe Text)+  , _lfdvFunctionDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListFunctionDefinitionVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfdvNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lfdvMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lfdvFunctionDefinitionId' - the unique Id of the lambda definition+listFunctionDefinitionVersions+    :: Text -- ^ 'lfdvFunctionDefinitionId'+    -> ListFunctionDefinitionVersions+listFunctionDefinitionVersions pFunctionDefinitionId_ =+  ListFunctionDefinitionVersions'+  { _lfdvNextToken = Nothing+  , _lfdvMaxResults = Nothing+  , _lfdvFunctionDefinitionId = pFunctionDefinitionId_+  }+++-- | Specifies the pagination token used when iterating through a paginated request+lfdvNextToken :: Lens' ListFunctionDefinitionVersions (Maybe Text)+lfdvNextToken = lens _lfdvNextToken (\ s a -> s{_lfdvNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lfdvMaxResults :: Lens' ListFunctionDefinitionVersions (Maybe Text)+lfdvMaxResults = lens _lfdvMaxResults (\ s a -> s{_lfdvMaxResults = a});++-- | the unique Id of the lambda definition+lfdvFunctionDefinitionId :: Lens' ListFunctionDefinitionVersions Text+lfdvFunctionDefinitionId = lens _lfdvFunctionDefinitionId (\ s a -> s{_lfdvFunctionDefinitionId = a});++instance AWSRequest ListFunctionDefinitionVersions+         where+        type Rs ListFunctionDefinitionVersions =+             ListFunctionDefinitionVersionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListFunctionDefinitionVersionsResponse' <$>+                   (x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListFunctionDefinitionVersions+         where++instance NFData ListFunctionDefinitionVersions where++instance ToHeaders ListFunctionDefinitionVersions+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListFunctionDefinitionVersions where+        toPath ListFunctionDefinitionVersions'{..}+          = mconcat+              ["/greengrass/definition/functions/",+               toBS _lfdvFunctionDefinitionId, "/versions"]++instance ToQuery ListFunctionDefinitionVersions where+        toQuery ListFunctionDefinitionVersions'{..}+          = mconcat+              ["NextToken" =: _lfdvNextToken,+               "MaxResults" =: _lfdvMaxResults]++-- | /See:/ 'listFunctionDefinitionVersionsResponse' smart constructor.+data ListFunctionDefinitionVersionsResponse = ListFunctionDefinitionVersionsResponse'+  { _lfdvrsVersions       :: !(Maybe [VersionInformation])+  , _lfdvrsNextToken      :: !(Maybe Text)+  , _lfdvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListFunctionDefinitionVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfdvrsVersions' - Versions+--+-- * 'lfdvrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lfdvrsResponseStatus' - -- | The response status code.+listFunctionDefinitionVersionsResponse+    :: Int -- ^ 'lfdvrsResponseStatus'+    -> ListFunctionDefinitionVersionsResponse+listFunctionDefinitionVersionsResponse pResponseStatus_ =+  ListFunctionDefinitionVersionsResponse'+  { _lfdvrsVersions = Nothing+  , _lfdvrsNextToken = Nothing+  , _lfdvrsResponseStatus = pResponseStatus_+  }+++-- | Versions+lfdvrsVersions :: Lens' ListFunctionDefinitionVersionsResponse [VersionInformation]+lfdvrsVersions = lens _lfdvrsVersions (\ s a -> s{_lfdvrsVersions = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lfdvrsNextToken :: Lens' ListFunctionDefinitionVersionsResponse (Maybe Text)+lfdvrsNextToken = lens _lfdvrsNextToken (\ s a -> s{_lfdvrsNextToken = a});++-- | -- | The response status code.+lfdvrsResponseStatus :: Lens' ListFunctionDefinitionVersionsResponse Int+lfdvrsResponseStatus = lens _lfdvrsResponseStatus (\ s a -> s{_lfdvrsResponseStatus = a});++instance NFData+           ListFunctionDefinitionVersionsResponse+         where
+ gen/Network/AWS/Greengrass/ListFunctionDefinitions.hs view
@@ -0,0 +1,147 @@+{-# 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.Greengrass.ListFunctionDefinitions+-- 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)+--+-- Retrieves a list of Lambda function definitions.+module Network.AWS.Greengrass.ListFunctionDefinitions+    (+    -- * Creating a Request+      listFunctionDefinitions+    , ListFunctionDefinitions+    -- * Request Lenses+    , lfdNextToken+    , lfdMaxResults++    -- * Destructuring the Response+    , listFunctionDefinitionsResponse+    , ListFunctionDefinitionsResponse+    -- * Response Lenses+    , lfdrsNextToken+    , lfdrsDefinitions+    , lfdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listFunctionDefinitions' smart constructor.+data ListFunctionDefinitions = ListFunctionDefinitions'+  { _lfdNextToken  :: !(Maybe Text)+  , _lfdMaxResults :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListFunctionDefinitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfdNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lfdMaxResults' - Specifies the maximum number of list results to be returned in this page+listFunctionDefinitions+    :: ListFunctionDefinitions+listFunctionDefinitions =+  ListFunctionDefinitions' {_lfdNextToken = Nothing, _lfdMaxResults = Nothing}+++-- | Specifies the pagination token used when iterating through a paginated request+lfdNextToken :: Lens' ListFunctionDefinitions (Maybe Text)+lfdNextToken = lens _lfdNextToken (\ s a -> s{_lfdNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lfdMaxResults :: Lens' ListFunctionDefinitions (Maybe Text)+lfdMaxResults = lens _lfdMaxResults (\ s a -> s{_lfdMaxResults = a});++instance AWSRequest ListFunctionDefinitions where+        type Rs ListFunctionDefinitions =+             ListFunctionDefinitionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListFunctionDefinitionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Definitions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListFunctionDefinitions where++instance NFData ListFunctionDefinitions where++instance ToHeaders ListFunctionDefinitions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListFunctionDefinitions where+        toPath = const "/greengrass/definition/functions"++instance ToQuery ListFunctionDefinitions where+        toQuery ListFunctionDefinitions'{..}+          = mconcat+              ["NextToken" =: _lfdNextToken,+               "MaxResults" =: _lfdMaxResults]++-- | /See:/ 'listFunctionDefinitionsResponse' smart constructor.+data ListFunctionDefinitionsResponse = ListFunctionDefinitionsResponse'+  { _lfdrsNextToken      :: !(Maybe Text)+  , _lfdrsDefinitions    :: !(Maybe [DefinitionInformation])+  , _lfdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListFunctionDefinitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfdrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lfdrsDefinitions' - Definitions+--+-- * 'lfdrsResponseStatus' - -- | The response status code.+listFunctionDefinitionsResponse+    :: Int -- ^ 'lfdrsResponseStatus'+    -> ListFunctionDefinitionsResponse+listFunctionDefinitionsResponse pResponseStatus_ =+  ListFunctionDefinitionsResponse'+  { _lfdrsNextToken = Nothing+  , _lfdrsDefinitions = Nothing+  , _lfdrsResponseStatus = pResponseStatus_+  }+++-- | The token for the next set of results, or ''null'' if there are no additional results.+lfdrsNextToken :: Lens' ListFunctionDefinitionsResponse (Maybe Text)+lfdrsNextToken = lens _lfdrsNextToken (\ s a -> s{_lfdrsNextToken = a});++-- | Definitions+lfdrsDefinitions :: Lens' ListFunctionDefinitionsResponse [DefinitionInformation]+lfdrsDefinitions = lens _lfdrsDefinitions (\ s a -> s{_lfdrsDefinitions = a}) . _Default . _Coerce;++-- | -- | The response status code.+lfdrsResponseStatus :: Lens' ListFunctionDefinitionsResponse Int+lfdrsResponseStatus = lens _lfdrsResponseStatus (\ s a -> s{_lfdrsResponseStatus = a});++instance NFData ListFunctionDefinitionsResponse where
+ gen/Network/AWS/Greengrass/ListGroupCertificateAuthorities.hs view
@@ -0,0 +1,136 @@+{-# 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.Greengrass.ListGroupCertificateAuthorities+-- 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)+--+-- Retrieves the current CAs for a group.+module Network.AWS.Greengrass.ListGroupCertificateAuthorities+    (+    -- * Creating a Request+      listGroupCertificateAuthorities+    , ListGroupCertificateAuthorities+    -- * Request Lenses+    , lgcaGroupId++    -- * Destructuring the Response+    , listGroupCertificateAuthoritiesResponse+    , ListGroupCertificateAuthoritiesResponse+    -- * Response Lenses+    , lgcarsGroupCertificateAuthorities+    , lgcarsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listGroupCertificateAuthorities' smart constructor.+newtype ListGroupCertificateAuthorities = ListGroupCertificateAuthorities'+  { _lgcaGroupId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGroupCertificateAuthorities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgcaGroupId' - The unique Id of the AWS Greengrass Group+listGroupCertificateAuthorities+    :: Text -- ^ 'lgcaGroupId'+    -> ListGroupCertificateAuthorities+listGroupCertificateAuthorities pGroupId_ =+  ListGroupCertificateAuthorities' {_lgcaGroupId = pGroupId_}+++-- | The unique Id of the AWS Greengrass Group+lgcaGroupId :: Lens' ListGroupCertificateAuthorities Text+lgcaGroupId = lens _lgcaGroupId (\ s a -> s{_lgcaGroupId = a});++instance AWSRequest ListGroupCertificateAuthorities+         where+        type Rs ListGroupCertificateAuthorities =+             ListGroupCertificateAuthoritiesResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListGroupCertificateAuthoritiesResponse' <$>+                   (x .?> "GroupCertificateAuthorities" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable ListGroupCertificateAuthorities+         where++instance NFData ListGroupCertificateAuthorities where++instance ToHeaders ListGroupCertificateAuthorities+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListGroupCertificateAuthorities where+        toPath ListGroupCertificateAuthorities'{..}+          = mconcat+              ["/greengrass/groups/", toBS _lgcaGroupId,+               "/certificateauthorities"]++instance ToQuery ListGroupCertificateAuthorities+         where+        toQuery = const mempty++-- | /See:/ 'listGroupCertificateAuthoritiesResponse' smart constructor.+data ListGroupCertificateAuthoritiesResponse = ListGroupCertificateAuthoritiesResponse'+  { _lgcarsGroupCertificateAuthorities :: !(Maybe [GroupCertificateAuthorityProperties])+  , _lgcarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGroupCertificateAuthoritiesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgcarsGroupCertificateAuthorities' - List of certificate authorities associated with the group.+--+-- * 'lgcarsResponseStatus' - -- | The response status code.+listGroupCertificateAuthoritiesResponse+    :: Int -- ^ 'lgcarsResponseStatus'+    -> ListGroupCertificateAuthoritiesResponse+listGroupCertificateAuthoritiesResponse pResponseStatus_ =+  ListGroupCertificateAuthoritiesResponse'+  { _lgcarsGroupCertificateAuthorities = Nothing+  , _lgcarsResponseStatus = pResponseStatus_+  }+++-- | List of certificate authorities associated with the group.+lgcarsGroupCertificateAuthorities :: Lens' ListGroupCertificateAuthoritiesResponse [GroupCertificateAuthorityProperties]+lgcarsGroupCertificateAuthorities = lens _lgcarsGroupCertificateAuthorities (\ s a -> s{_lgcarsGroupCertificateAuthorities = a}) . _Default . _Coerce;++-- | -- | The response status code.+lgcarsResponseStatus :: Lens' ListGroupCertificateAuthoritiesResponse Int+lgcarsResponseStatus = lens _lgcarsResponseStatus (\ s a -> s{_lgcarsResponseStatus = a});++instance NFData+           ListGroupCertificateAuthoritiesResponse+         where
+ gen/Network/AWS/Greengrass/ListGroupVersions.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.Greengrass.ListGroupVersions+-- 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 the versions of a group.+module Network.AWS.Greengrass.ListGroupVersions+    (+    -- * Creating a Request+      listGroupVersions+    , ListGroupVersions+    -- * Request Lenses+    , lgvNextToken+    , lgvMaxResults+    , lgvGroupId++    -- * Destructuring the Response+    , listGroupVersionsResponse+    , ListGroupVersionsResponse+    -- * Response Lenses+    , lgvrsVersions+    , lgvrsNextToken+    , lgvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listGroupVersions' smart constructor.+data ListGroupVersions = ListGroupVersions'+  { _lgvNextToken  :: !(Maybe Text)+  , _lgvMaxResults :: !(Maybe Text)+  , _lgvGroupId    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGroupVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgvNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lgvMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lgvGroupId' - The unique Id of the AWS Greengrass Group+listGroupVersions+    :: Text -- ^ 'lgvGroupId'+    -> ListGroupVersions+listGroupVersions pGroupId_ =+  ListGroupVersions'+  {_lgvNextToken = Nothing, _lgvMaxResults = Nothing, _lgvGroupId = pGroupId_}+++-- | Specifies the pagination token used when iterating through a paginated request+lgvNextToken :: Lens' ListGroupVersions (Maybe Text)+lgvNextToken = lens _lgvNextToken (\ s a -> s{_lgvNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lgvMaxResults :: Lens' ListGroupVersions (Maybe Text)+lgvMaxResults = lens _lgvMaxResults (\ s a -> s{_lgvMaxResults = a});++-- | The unique Id of the AWS Greengrass Group+lgvGroupId :: Lens' ListGroupVersions Text+lgvGroupId = lens _lgvGroupId (\ s a -> s{_lgvGroupId = a});++instance AWSRequest ListGroupVersions where+        type Rs ListGroupVersions = ListGroupVersionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListGroupVersionsResponse' <$>+                   (x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListGroupVersions where++instance NFData ListGroupVersions where++instance ToHeaders ListGroupVersions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListGroupVersions where+        toPath ListGroupVersions'{..}+          = mconcat+              ["/greengrass/groups/", toBS _lgvGroupId,+               "/versions"]++instance ToQuery ListGroupVersions where+        toQuery ListGroupVersions'{..}+          = mconcat+              ["NextToken" =: _lgvNextToken,+               "MaxResults" =: _lgvMaxResults]++-- | /See:/ 'listGroupVersionsResponse' smart constructor.+data ListGroupVersionsResponse = ListGroupVersionsResponse'+  { _lgvrsVersions       :: !(Maybe [VersionInformation])+  , _lgvrsNextToken      :: !(Maybe Text)+  , _lgvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGroupVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgvrsVersions' - Versions+--+-- * 'lgvrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lgvrsResponseStatus' - -- | The response status code.+listGroupVersionsResponse+    :: Int -- ^ 'lgvrsResponseStatus'+    -> ListGroupVersionsResponse+listGroupVersionsResponse pResponseStatus_ =+  ListGroupVersionsResponse'+  { _lgvrsVersions = Nothing+  , _lgvrsNextToken = Nothing+  , _lgvrsResponseStatus = pResponseStatus_+  }+++-- | Versions+lgvrsVersions :: Lens' ListGroupVersionsResponse [VersionInformation]+lgvrsVersions = lens _lgvrsVersions (\ s a -> s{_lgvrsVersions = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lgvrsNextToken :: Lens' ListGroupVersionsResponse (Maybe Text)+lgvrsNextToken = lens _lgvrsNextToken (\ s a -> s{_lgvrsNextToken = a});++-- | -- | The response status code.+lgvrsResponseStatus :: Lens' ListGroupVersionsResponse Int+lgvrsResponseStatus = lens _lgvrsResponseStatus (\ s a -> s{_lgvrsResponseStatus = a});++instance NFData ListGroupVersionsResponse where
+ gen/Network/AWS/Greengrass/ListGroups.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.Greengrass.ListGroups+-- 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)+--+-- Retrieves a list of groups.+module Network.AWS.Greengrass.ListGroups+    (+    -- * Creating a Request+      listGroups+    , ListGroups+    -- * Request Lenses+    , lgNextToken+    , lgMaxResults++    -- * Destructuring the Response+    , listGroupsResponse+    , ListGroupsResponse+    -- * Response Lenses+    , lgrsGroups+    , lgrsNextToken+    , lgrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listGroups' smart constructor.+data ListGroups = ListGroups'+  { _lgNextToken  :: !(Maybe Text)+  , _lgMaxResults :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGroups' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lgMaxResults' - Specifies the maximum number of list results to be returned in this page+listGroups+    :: ListGroups+listGroups = ListGroups' {_lgNextToken = Nothing, _lgMaxResults = Nothing}+++-- | Specifies the pagination token used when iterating through a paginated request+lgNextToken :: Lens' ListGroups (Maybe Text)+lgNextToken = lens _lgNextToken (\ s a -> s{_lgNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lgMaxResults :: Lens' ListGroups (Maybe Text)+lgMaxResults = lens _lgMaxResults (\ s a -> s{_lgMaxResults = a});++instance AWSRequest ListGroups where+        type Rs ListGroups = ListGroupsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListGroupsResponse' <$>+                   (x .?> "Groups" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListGroups where++instance NFData ListGroups where++instance ToHeaders ListGroups where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListGroups where+        toPath = const "/greengrass/groups"++instance ToQuery ListGroups where+        toQuery ListGroups'{..}+          = mconcat+              ["NextToken" =: _lgNextToken,+               "MaxResults" =: _lgMaxResults]++-- | /See:/ 'listGroupsResponse' smart constructor.+data ListGroupsResponse = ListGroupsResponse'+  { _lgrsGroups         :: !(Maybe [GroupInformation])+  , _lgrsNextToken      :: !(Maybe Text)+  , _lgrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListGroupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgrsGroups' - Groups+--+-- * 'lgrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lgrsResponseStatus' - -- | The response status code.+listGroupsResponse+    :: Int -- ^ 'lgrsResponseStatus'+    -> ListGroupsResponse+listGroupsResponse pResponseStatus_ =+  ListGroupsResponse'+  { _lgrsGroups = Nothing+  , _lgrsNextToken = Nothing+  , _lgrsResponseStatus = pResponseStatus_+  }+++-- | Groups+lgrsGroups :: Lens' ListGroupsResponse [GroupInformation]+lgrsGroups = lens _lgrsGroups (\ s a -> s{_lgrsGroups = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lgrsNextToken :: Lens' ListGroupsResponse (Maybe Text)+lgrsNextToken = lens _lgrsNextToken (\ s a -> s{_lgrsNextToken = a});++-- | -- | The response status code.+lgrsResponseStatus :: Lens' ListGroupsResponse Int+lgrsResponseStatus = lens _lgrsResponseStatus (\ s a -> s{_lgrsResponseStatus = a});++instance NFData ListGroupsResponse where
+ gen/Network/AWS/Greengrass/ListLoggerDefinitionVersions.hs view
@@ -0,0 +1,164 @@+{-# 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.Greengrass.ListLoggerDefinitionVersions+-- 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 the versions of a logger definition.+module Network.AWS.Greengrass.ListLoggerDefinitionVersions+    (+    -- * Creating a Request+      listLoggerDefinitionVersions+    , ListLoggerDefinitionVersions+    -- * Request Lenses+    , lldvNextToken+    , lldvMaxResults+    , lldvLoggerDefinitionId++    -- * Destructuring the Response+    , listLoggerDefinitionVersionsResponse+    , ListLoggerDefinitionVersionsResponse+    -- * Response Lenses+    , lldvrsVersions+    , lldvrsNextToken+    , lldvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listLoggerDefinitionVersions' smart constructor.+data ListLoggerDefinitionVersions = ListLoggerDefinitionVersions'+  { _lldvNextToken          :: !(Maybe Text)+  , _lldvMaxResults         :: !(Maybe Text)+  , _lldvLoggerDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListLoggerDefinitionVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lldvNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lldvMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lldvLoggerDefinitionId' - logger definition Id+listLoggerDefinitionVersions+    :: Text -- ^ 'lldvLoggerDefinitionId'+    -> ListLoggerDefinitionVersions+listLoggerDefinitionVersions pLoggerDefinitionId_ =+  ListLoggerDefinitionVersions'+  { _lldvNextToken = Nothing+  , _lldvMaxResults = Nothing+  , _lldvLoggerDefinitionId = pLoggerDefinitionId_+  }+++-- | Specifies the pagination token used when iterating through a paginated request+lldvNextToken :: Lens' ListLoggerDefinitionVersions (Maybe Text)+lldvNextToken = lens _lldvNextToken (\ s a -> s{_lldvNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lldvMaxResults :: Lens' ListLoggerDefinitionVersions (Maybe Text)+lldvMaxResults = lens _lldvMaxResults (\ s a -> s{_lldvMaxResults = a});++-- | logger definition Id+lldvLoggerDefinitionId :: Lens' ListLoggerDefinitionVersions Text+lldvLoggerDefinitionId = lens _lldvLoggerDefinitionId (\ s a -> s{_lldvLoggerDefinitionId = a});++instance AWSRequest ListLoggerDefinitionVersions+         where+        type Rs ListLoggerDefinitionVersions =+             ListLoggerDefinitionVersionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListLoggerDefinitionVersionsResponse' <$>+                   (x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListLoggerDefinitionVersions where++instance NFData ListLoggerDefinitionVersions where++instance ToHeaders ListLoggerDefinitionVersions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListLoggerDefinitionVersions where+        toPath ListLoggerDefinitionVersions'{..}+          = mconcat+              ["/greengrass/definition/loggers/",+               toBS _lldvLoggerDefinitionId, "/versions"]++instance ToQuery ListLoggerDefinitionVersions where+        toQuery ListLoggerDefinitionVersions'{..}+          = mconcat+              ["NextToken" =: _lldvNextToken,+               "MaxResults" =: _lldvMaxResults]++-- | /See:/ 'listLoggerDefinitionVersionsResponse' smart constructor.+data ListLoggerDefinitionVersionsResponse = ListLoggerDefinitionVersionsResponse'+  { _lldvrsVersions       :: !(Maybe [VersionInformation])+  , _lldvrsNextToken      :: !(Maybe Text)+  , _lldvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListLoggerDefinitionVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lldvrsVersions' - Versions+--+-- * 'lldvrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lldvrsResponseStatus' - -- | The response status code.+listLoggerDefinitionVersionsResponse+    :: Int -- ^ 'lldvrsResponseStatus'+    -> ListLoggerDefinitionVersionsResponse+listLoggerDefinitionVersionsResponse pResponseStatus_ =+  ListLoggerDefinitionVersionsResponse'+  { _lldvrsVersions = Nothing+  , _lldvrsNextToken = Nothing+  , _lldvrsResponseStatus = pResponseStatus_+  }+++-- | Versions+lldvrsVersions :: Lens' ListLoggerDefinitionVersionsResponse [VersionInformation]+lldvrsVersions = lens _lldvrsVersions (\ s a -> s{_lldvrsVersions = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lldvrsNextToken :: Lens' ListLoggerDefinitionVersionsResponse (Maybe Text)+lldvrsNextToken = lens _lldvrsNextToken (\ s a -> s{_lldvrsNextToken = a});++-- | -- | The response status code.+lldvrsResponseStatus :: Lens' ListLoggerDefinitionVersionsResponse Int+lldvrsResponseStatus = lens _lldvrsResponseStatus (\ s a -> s{_lldvrsResponseStatus = a});++instance NFData ListLoggerDefinitionVersionsResponse+         where
+ gen/Network/AWS/Greengrass/ListLoggerDefinitions.hs view
@@ -0,0 +1,147 @@+{-# 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.Greengrass.ListLoggerDefinitions+-- 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)+--+-- Retrieves a list of logger definitions.+module Network.AWS.Greengrass.ListLoggerDefinitions+    (+    -- * Creating a Request+      listLoggerDefinitions+    , ListLoggerDefinitions+    -- * Request Lenses+    , lldNextToken+    , lldMaxResults++    -- * Destructuring the Response+    , listLoggerDefinitionsResponse+    , ListLoggerDefinitionsResponse+    -- * Response Lenses+    , lldrsNextToken+    , lldrsDefinitions+    , lldrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listLoggerDefinitions' smart constructor.+data ListLoggerDefinitions = ListLoggerDefinitions'+  { _lldNextToken  :: !(Maybe Text)+  , _lldMaxResults :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListLoggerDefinitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lldNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lldMaxResults' - Specifies the maximum number of list results to be returned in this page+listLoggerDefinitions+    :: ListLoggerDefinitions+listLoggerDefinitions =+  ListLoggerDefinitions' {_lldNextToken = Nothing, _lldMaxResults = Nothing}+++-- | Specifies the pagination token used when iterating through a paginated request+lldNextToken :: Lens' ListLoggerDefinitions (Maybe Text)+lldNextToken = lens _lldNextToken (\ s a -> s{_lldNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lldMaxResults :: Lens' ListLoggerDefinitions (Maybe Text)+lldMaxResults = lens _lldMaxResults (\ s a -> s{_lldMaxResults = a});++instance AWSRequest ListLoggerDefinitions where+        type Rs ListLoggerDefinitions =+             ListLoggerDefinitionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListLoggerDefinitionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Definitions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListLoggerDefinitions where++instance NFData ListLoggerDefinitions where++instance ToHeaders ListLoggerDefinitions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListLoggerDefinitions where+        toPath = const "/greengrass/definition/loggers"++instance ToQuery ListLoggerDefinitions where+        toQuery ListLoggerDefinitions'{..}+          = mconcat+              ["NextToken" =: _lldNextToken,+               "MaxResults" =: _lldMaxResults]++-- | /See:/ 'listLoggerDefinitionsResponse' smart constructor.+data ListLoggerDefinitionsResponse = ListLoggerDefinitionsResponse'+  { _lldrsNextToken      :: !(Maybe Text)+  , _lldrsDefinitions    :: !(Maybe [DefinitionInformation])+  , _lldrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListLoggerDefinitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lldrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lldrsDefinitions' - Definitions+--+-- * 'lldrsResponseStatus' - -- | The response status code.+listLoggerDefinitionsResponse+    :: Int -- ^ 'lldrsResponseStatus'+    -> ListLoggerDefinitionsResponse+listLoggerDefinitionsResponse pResponseStatus_ =+  ListLoggerDefinitionsResponse'+  { _lldrsNextToken = Nothing+  , _lldrsDefinitions = Nothing+  , _lldrsResponseStatus = pResponseStatus_+  }+++-- | The token for the next set of results, or ''null'' if there are no additional results.+lldrsNextToken :: Lens' ListLoggerDefinitionsResponse (Maybe Text)+lldrsNextToken = lens _lldrsNextToken (\ s a -> s{_lldrsNextToken = a});++-- | Definitions+lldrsDefinitions :: Lens' ListLoggerDefinitionsResponse [DefinitionInformation]+lldrsDefinitions = lens _lldrsDefinitions (\ s a -> s{_lldrsDefinitions = a}) . _Default . _Coerce;++-- | -- | The response status code.+lldrsResponseStatus :: Lens' ListLoggerDefinitionsResponse Int+lldrsResponseStatus = lens _lldrsResponseStatus (\ s a -> s{_lldrsResponseStatus = a});++instance NFData ListLoggerDefinitionsResponse where
+ gen/Network/AWS/Greengrass/ListSubscriptionDefinitionVersions.hs view
@@ -0,0 +1,171 @@+{-# 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.Greengrass.ListSubscriptionDefinitionVersions+-- 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 the versions of a subscription definition.+module Network.AWS.Greengrass.ListSubscriptionDefinitionVersions+    (+    -- * Creating a Request+      listSubscriptionDefinitionVersions+    , ListSubscriptionDefinitionVersions+    -- * Request Lenses+    , lsdvNextToken+    , lsdvMaxResults+    , lsdvSubscriptionDefinitionId++    -- * Destructuring the Response+    , listSubscriptionDefinitionVersionsResponse+    , ListSubscriptionDefinitionVersionsResponse+    -- * Response Lenses+    , lsdvrsVersions+    , lsdvrsNextToken+    , lsdvrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listSubscriptionDefinitionVersions' smart constructor.+data ListSubscriptionDefinitionVersions = ListSubscriptionDefinitionVersions'+  { _lsdvNextToken                :: !(Maybe Text)+  , _lsdvMaxResults               :: !(Maybe Text)+  , _lsdvSubscriptionDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListSubscriptionDefinitionVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsdvNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lsdvMaxResults' - Specifies the maximum number of list results to be returned in this page+--+-- * 'lsdvSubscriptionDefinitionId' - subscription definition Id+listSubscriptionDefinitionVersions+    :: Text -- ^ 'lsdvSubscriptionDefinitionId'+    -> ListSubscriptionDefinitionVersions+listSubscriptionDefinitionVersions pSubscriptionDefinitionId_ =+  ListSubscriptionDefinitionVersions'+  { _lsdvNextToken = Nothing+  , _lsdvMaxResults = Nothing+  , _lsdvSubscriptionDefinitionId = pSubscriptionDefinitionId_+  }+++-- | Specifies the pagination token used when iterating through a paginated request+lsdvNextToken :: Lens' ListSubscriptionDefinitionVersions (Maybe Text)+lsdvNextToken = lens _lsdvNextToken (\ s a -> s{_lsdvNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lsdvMaxResults :: Lens' ListSubscriptionDefinitionVersions (Maybe Text)+lsdvMaxResults = lens _lsdvMaxResults (\ s a -> s{_lsdvMaxResults = a});++-- | subscription definition Id+lsdvSubscriptionDefinitionId :: Lens' ListSubscriptionDefinitionVersions Text+lsdvSubscriptionDefinitionId = lens _lsdvSubscriptionDefinitionId (\ s a -> s{_lsdvSubscriptionDefinitionId = a});++instance AWSRequest+           ListSubscriptionDefinitionVersions+         where+        type Rs ListSubscriptionDefinitionVersions =+             ListSubscriptionDefinitionVersionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListSubscriptionDefinitionVersionsResponse' <$>+                   (x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListSubscriptionDefinitionVersions+         where++instance NFData ListSubscriptionDefinitionVersions+         where++instance ToHeaders ListSubscriptionDefinitionVersions+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListSubscriptionDefinitionVersions+         where+        toPath ListSubscriptionDefinitionVersions'{..}+          = mconcat+              ["/greengrass/definition/subscriptions/",+               toBS _lsdvSubscriptionDefinitionId, "/versions"]++instance ToQuery ListSubscriptionDefinitionVersions+         where+        toQuery ListSubscriptionDefinitionVersions'{..}+          = mconcat+              ["NextToken" =: _lsdvNextToken,+               "MaxResults" =: _lsdvMaxResults]++-- | /See:/ 'listSubscriptionDefinitionVersionsResponse' smart constructor.+data ListSubscriptionDefinitionVersionsResponse = ListSubscriptionDefinitionVersionsResponse'+  { _lsdvrsVersions       :: !(Maybe [VersionInformation])+  , _lsdvrsNextToken      :: !(Maybe Text)+  , _lsdvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListSubscriptionDefinitionVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsdvrsVersions' - Versions+--+-- * 'lsdvrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lsdvrsResponseStatus' - -- | The response status code.+listSubscriptionDefinitionVersionsResponse+    :: Int -- ^ 'lsdvrsResponseStatus'+    -> ListSubscriptionDefinitionVersionsResponse+listSubscriptionDefinitionVersionsResponse pResponseStatus_ =+  ListSubscriptionDefinitionVersionsResponse'+  { _lsdvrsVersions = Nothing+  , _lsdvrsNextToken = Nothing+  , _lsdvrsResponseStatus = pResponseStatus_+  }+++-- | Versions+lsdvrsVersions :: Lens' ListSubscriptionDefinitionVersionsResponse [VersionInformation]+lsdvrsVersions = lens _lsdvrsVersions (\ s a -> s{_lsdvrsVersions = a}) . _Default . _Coerce;++-- | The token for the next set of results, or ''null'' if there are no additional results.+lsdvrsNextToken :: Lens' ListSubscriptionDefinitionVersionsResponse (Maybe Text)+lsdvrsNextToken = lens _lsdvrsNextToken (\ s a -> s{_lsdvrsNextToken = a});++-- | -- | The response status code.+lsdvrsResponseStatus :: Lens' ListSubscriptionDefinitionVersionsResponse Int+lsdvrsResponseStatus = lens _lsdvrsResponseStatus (\ s a -> s{_lsdvrsResponseStatus = a});++instance NFData+           ListSubscriptionDefinitionVersionsResponse+         where
+ gen/Network/AWS/Greengrass/ListSubscriptionDefinitions.hs view
@@ -0,0 +1,149 @@+{-# 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.Greengrass.ListSubscriptionDefinitions+-- 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)+--+-- Retrieves a list of subscription definitions.+module Network.AWS.Greengrass.ListSubscriptionDefinitions+    (+    -- * Creating a Request+      listSubscriptionDefinitions+    , ListSubscriptionDefinitions+    -- * Request Lenses+    , lsdNextToken+    , lsdMaxResults++    -- * Destructuring the Response+    , listSubscriptionDefinitionsResponse+    , ListSubscriptionDefinitionsResponse+    -- * Response Lenses+    , lsdrsNextToken+    , lsdrsDefinitions+    , lsdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listSubscriptionDefinitions' smart constructor.+data ListSubscriptionDefinitions = ListSubscriptionDefinitions'+  { _lsdNextToken  :: !(Maybe Text)+  , _lsdMaxResults :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListSubscriptionDefinitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsdNextToken' - Specifies the pagination token used when iterating through a paginated request+--+-- * 'lsdMaxResults' - Specifies the maximum number of list results to be returned in this page+listSubscriptionDefinitions+    :: ListSubscriptionDefinitions+listSubscriptionDefinitions =+  ListSubscriptionDefinitions'+  {_lsdNextToken = Nothing, _lsdMaxResults = Nothing}+++-- | Specifies the pagination token used when iterating through a paginated request+lsdNextToken :: Lens' ListSubscriptionDefinitions (Maybe Text)+lsdNextToken = lens _lsdNextToken (\ s a -> s{_lsdNextToken = a});++-- | Specifies the maximum number of list results to be returned in this page+lsdMaxResults :: Lens' ListSubscriptionDefinitions (Maybe Text)+lsdMaxResults = lens _lsdMaxResults (\ s a -> s{_lsdMaxResults = a});++instance AWSRequest ListSubscriptionDefinitions where+        type Rs ListSubscriptionDefinitions =+             ListSubscriptionDefinitionsResponse+        request = get greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ListSubscriptionDefinitionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Definitions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable ListSubscriptionDefinitions where++instance NFData ListSubscriptionDefinitions where++instance ToHeaders ListSubscriptionDefinitions where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToPath ListSubscriptionDefinitions where+        toPath = const "/greengrass/definition/subscriptions"++instance ToQuery ListSubscriptionDefinitions where+        toQuery ListSubscriptionDefinitions'{..}+          = mconcat+              ["NextToken" =: _lsdNextToken,+               "MaxResults" =: _lsdMaxResults]++-- | /See:/ 'listSubscriptionDefinitionsResponse' smart constructor.+data ListSubscriptionDefinitionsResponse = ListSubscriptionDefinitionsResponse'+  { _lsdrsNextToken      :: !(Maybe Text)+  , _lsdrsDefinitions    :: !(Maybe [DefinitionInformation])+  , _lsdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListSubscriptionDefinitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsdrsNextToken' - The token for the next set of results, or ''null'' if there are no additional results.+--+-- * 'lsdrsDefinitions' - Definitions+--+-- * 'lsdrsResponseStatus' - -- | The response status code.+listSubscriptionDefinitionsResponse+    :: Int -- ^ 'lsdrsResponseStatus'+    -> ListSubscriptionDefinitionsResponse+listSubscriptionDefinitionsResponse pResponseStatus_ =+  ListSubscriptionDefinitionsResponse'+  { _lsdrsNextToken = Nothing+  , _lsdrsDefinitions = Nothing+  , _lsdrsResponseStatus = pResponseStatus_+  }+++-- | The token for the next set of results, or ''null'' if there are no additional results.+lsdrsNextToken :: Lens' ListSubscriptionDefinitionsResponse (Maybe Text)+lsdrsNextToken = lens _lsdrsNextToken (\ s a -> s{_lsdrsNextToken = a});++-- | Definitions+lsdrsDefinitions :: Lens' ListSubscriptionDefinitionsResponse [DefinitionInformation]+lsdrsDefinitions = lens _lsdrsDefinitions (\ s a -> s{_lsdrsDefinitions = a}) . _Default . _Coerce;++-- | -- | The response status code.+lsdrsResponseStatus :: Lens' ListSubscriptionDefinitionsResponse Int+lsdrsResponseStatus = lens _lsdrsResponseStatus (\ s a -> s{_lsdrsResponseStatus = a});++instance NFData ListSubscriptionDefinitionsResponse+         where
+ gen/Network/AWS/Greengrass/ResetDeployments.hs view
@@ -0,0 +1,161 @@+{-# 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.Greengrass.ResetDeployments+-- 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)+--+-- Resets a group's deployments.+module Network.AWS.Greengrass.ResetDeployments+    (+    -- * Creating a Request+      resetDeployments+    , ResetDeployments+    -- * Request Lenses+    , rdAmznClientToken+    , rdForce+    , rdGroupId++    -- * Destructuring the Response+    , resetDeploymentsResponse+    , ResetDeploymentsResponse+    -- * Response Lenses+    , rdrsDeploymentId+    , rdrsDeploymentARN+    , rdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Information needed to perform a reset of a group's deployments.+--+-- /See:/ 'resetDeployments' smart constructor.+data ResetDeployments = ResetDeployments'+  { _rdAmznClientToken :: !(Maybe Text)+  , _rdForce           :: !(Maybe Bool)+  , _rdGroupId         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResetDeployments' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdAmznClientToken' - The client token used to request idempotent operations.+--+-- * 'rdForce' - When set to true, perform a best-effort only core reset.+--+-- * 'rdGroupId' - The unique Id of the AWS Greengrass Group+resetDeployments+    :: Text -- ^ 'rdGroupId'+    -> ResetDeployments+resetDeployments pGroupId_ =+  ResetDeployments'+  {_rdAmznClientToken = Nothing, _rdForce = Nothing, _rdGroupId = pGroupId_}+++-- | The client token used to request idempotent operations.+rdAmznClientToken :: Lens' ResetDeployments (Maybe Text)+rdAmznClientToken = lens _rdAmznClientToken (\ s a -> s{_rdAmznClientToken = a});++-- | When set to true, perform a best-effort only core reset.+rdForce :: Lens' ResetDeployments (Maybe Bool)+rdForce = lens _rdForce (\ s a -> s{_rdForce = a});++-- | The unique Id of the AWS Greengrass Group+rdGroupId :: Lens' ResetDeployments Text+rdGroupId = lens _rdGroupId (\ s a -> s{_rdGroupId = a});++instance AWSRequest ResetDeployments where+        type Rs ResetDeployments = ResetDeploymentsResponse+        request = postJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 ResetDeploymentsResponse' <$>+                   (x .?> "DeploymentId") <*> (x .?> "DeploymentArn")+                     <*> (pure (fromEnum s)))++instance Hashable ResetDeployments where++instance NFData ResetDeployments where++instance ToHeaders ResetDeployments where+        toHeaders ResetDeployments'{..}+          = mconcat+              ["X-Amzn-Client-Token" =# _rdAmznClientToken,+               "Content-Type" =#+                 ("application/x-amz-json-1.1" :: ByteString)]++instance ToJSON ResetDeployments where+        toJSON ResetDeployments'{..}+          = object (catMaybes [("Force" .=) <$> _rdForce])++instance ToPath ResetDeployments where+        toPath ResetDeployments'{..}+          = mconcat+              ["/greengrass/groups/", toBS _rdGroupId,+               "/deployments/$reset"]++instance ToQuery ResetDeployments where+        toQuery = const mempty++-- | /See:/ 'resetDeploymentsResponse' smart constructor.+data ResetDeploymentsResponse = ResetDeploymentsResponse'+  { _rdrsDeploymentId   :: !(Maybe Text)+  , _rdrsDeploymentARN  :: !(Maybe Text)+  , _rdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResetDeploymentsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdrsDeploymentId' - The id of the reset deployment.+--+-- * 'rdrsDeploymentARN' - The arn of the reset deployment.+--+-- * 'rdrsResponseStatus' - -- | The response status code.+resetDeploymentsResponse+    :: Int -- ^ 'rdrsResponseStatus'+    -> ResetDeploymentsResponse+resetDeploymentsResponse pResponseStatus_ =+  ResetDeploymentsResponse'+  { _rdrsDeploymentId = Nothing+  , _rdrsDeploymentARN = Nothing+  , _rdrsResponseStatus = pResponseStatus_+  }+++-- | The id of the reset deployment.+rdrsDeploymentId :: Lens' ResetDeploymentsResponse (Maybe Text)+rdrsDeploymentId = lens _rdrsDeploymentId (\ s a -> s{_rdrsDeploymentId = a});++-- | The arn of the reset deployment.+rdrsDeploymentARN :: Lens' ResetDeploymentsResponse (Maybe Text)+rdrsDeploymentARN = lens _rdrsDeploymentARN (\ s a -> s{_rdrsDeploymentARN = a});++-- | -- | The response status code.+rdrsResponseStatus :: Lens' ResetDeploymentsResponse Int+rdrsResponseStatus = lens _rdrsResponseStatus (\ s a -> s{_rdrsResponseStatus = a});++instance NFData ResetDeploymentsResponse where
+ gen/Network/AWS/Greengrass/Types.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.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.Greengrass.Types+    (+    -- * Service Configuration+      greengrass++    -- * Errors+    , _InternalServerErrorException+    , _BadRequestException++    -- * DeploymentType+    , DeploymentType (..)++    -- * LoggerComponent+    , LoggerComponent (..)++    -- * LoggerLevel+    , LoggerLevel (..)++    -- * LoggerType+    , LoggerType (..)++    -- * ConnectivityInfo+    , ConnectivityInfo+    , connectivityInfo+    , ciPortNumber+    , ciId+    , ciMetadata+    , ciHostAddress++    -- * Core+    , Core+    , core+    , cCertificateARN+    , cThingARN+    , cSyncShadow+    , cId++    -- * CoreDefinitionVersion+    , CoreDefinitionVersion+    , coreDefinitionVersion+    , cdvCores++    -- * DefinitionInformation+    , DefinitionInformation+    , definitionInformation+    , diLatestVersionARN+    , diARN+    , diName+    , diCreationTimestamp+    , diId+    , diLatestVersion+    , diLastUpdatedTimestamp++    -- * Deployment+    , Deployment+    , deployment+    , dDeploymentId+    , dDeploymentARN+    , dCreatedAt+    , dDeploymentType+    , dGroupARN++    -- * Device+    , Device+    , device+    , dCertificateARN+    , dThingARN+    , dSyncShadow+    , dId++    -- * DeviceDefinitionVersion+    , DeviceDefinitionVersion+    , deviceDefinitionVersion+    , ddvDevices++    -- * ErrorDetail+    , ErrorDetail+    , errorDetail+    , edDetailedErrorCode+    , edDetailedErrorMessage++    -- * Function+    , Function+    , function+    , fFunctionARN+    , fFunctionConfiguration+    , fId++    -- * FunctionConfiguration+    , FunctionConfiguration+    , functionConfiguration+    , fcMemorySize+    , fcExecArgs+    , fcEnvironment+    , fcExecutable+    , fcPinned+    , fcTimeout++    -- * FunctionConfigurationEnvironment+    , FunctionConfigurationEnvironment+    , functionConfigurationEnvironment+    , fceVariables++    -- * FunctionDefinitionVersion+    , FunctionDefinitionVersion+    , functionDefinitionVersion+    , fdvFunctions++    -- * GreengrassLogger+    , GreengrassLogger+    , greengrassLogger+    , glSpace+    , glComponent+    , glId+    , glType+    , glLevel++    -- * GroupCertificateAuthorityProperties+    , GroupCertificateAuthorityProperties+    , groupCertificateAuthorityProperties+    , gcapGroupCertificateAuthorityARN+    , gcapGroupCertificateAuthorityId++    -- * GroupInformation+    , GroupInformation+    , groupInformation+    , giLatestVersionARN+    , giARN+    , giName+    , giCreationTimestamp+    , giId+    , giLatestVersion+    , giLastUpdatedTimestamp++    -- * GroupVersion+    , GroupVersion+    , groupVersion+    , gvSubscriptionDefinitionVersionARN+    , gvCoreDefinitionVersionARN+    , gvDeviceDefinitionVersionARN+    , gvFunctionDefinitionVersionARN+    , gvLoggerDefinitionVersionARN++    -- * LoggerDefinitionVersion+    , LoggerDefinitionVersion+    , loggerDefinitionVersion+    , ldvLoggers++    -- * Subscription+    , Subscription+    , subscription+    , sSubject+    , sSource+    , sId+    , sTarget++    -- * SubscriptionDefinitionVersion+    , SubscriptionDefinitionVersion+    , subscriptionDefinitionVersion+    , sdvSubscriptions++    -- * VersionInformation+    , VersionInformation+    , versionInformation+    , viARN+    , viCreationTimestamp+    , viVersion+    , viId+    ) where++import Network.AWS.Greengrass.Types.Product+import Network.AWS.Greengrass.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | API version @2017-06-07@ of the Amazon Greengrass SDK configuration.+greengrass :: Service+greengrass =+  Service+  { _svcAbbrev = "Greengrass"+  , _svcSigner = v4+  , _svcPrefix = "greengrass"+  , _svcVersion = "2017-06-07"+  , _svcEndpoint = defaultEndpoint greengrass+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseJSONError "Greengrass"+  , _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+++-- | General Error+_InternalServerErrorException :: AsError a => Getting (First ServiceError) a ServiceError+_InternalServerErrorException =+  _MatchServiceError greengrass "InternalServerErrorException" . hasStatus 500+++-- | General Error+_BadRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_BadRequestException =+  _MatchServiceError greengrass "BadRequestException" . hasStatus 400+
+ gen/Network/AWS/Greengrass/Types/Product.hs view
@@ -0,0 +1,1252 @@+{-# 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.Greengrass.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.Greengrass.Types.Product where++import Network.AWS.Greengrass.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Connectivity Info+--+-- /See:/ 'connectivityInfo' smart constructor.+data ConnectivityInfo = ConnectivityInfo'+  { _ciPortNumber  :: !(Maybe Int)+  , _ciId          :: !(Maybe Text)+  , _ciMetadata    :: !(Maybe Text)+  , _ciHostAddress :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ConnectivityInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciPortNumber' - Port of the GGC. Usually 8883.+--+-- * 'ciId' - Element Id for this entry in the list.+--+-- * 'ciMetadata' - Metadata for this endpoint.+--+-- * 'ciHostAddress' - Endpoint for the GGC. Can be an IP address or DNS.+connectivityInfo+    :: ConnectivityInfo+connectivityInfo =+  ConnectivityInfo'+  { _ciPortNumber = Nothing+  , _ciId = Nothing+  , _ciMetadata = Nothing+  , _ciHostAddress = Nothing+  }+++-- | Port of the GGC. Usually 8883.+ciPortNumber :: Lens' ConnectivityInfo (Maybe Int)+ciPortNumber = lens _ciPortNumber (\ s a -> s{_ciPortNumber = a});++-- | Element Id for this entry in the list.+ciId :: Lens' ConnectivityInfo (Maybe Text)+ciId = lens _ciId (\ s a -> s{_ciId = a});++-- | Metadata for this endpoint.+ciMetadata :: Lens' ConnectivityInfo (Maybe Text)+ciMetadata = lens _ciMetadata (\ s a -> s{_ciMetadata = a});++-- | Endpoint for the GGC. Can be an IP address or DNS.+ciHostAddress :: Lens' ConnectivityInfo (Maybe Text)+ciHostAddress = lens _ciHostAddress (\ s a -> s{_ciHostAddress = a});++instance FromJSON ConnectivityInfo where+        parseJSON+          = withObject "ConnectivityInfo"+              (\ x ->+                 ConnectivityInfo' <$>+                   (x .:? "PortNumber") <*> (x .:? "Id") <*>+                     (x .:? "Metadata")+                     <*> (x .:? "HostAddress"))++instance Hashable ConnectivityInfo where++instance NFData ConnectivityInfo where++instance ToJSON ConnectivityInfo where+        toJSON ConnectivityInfo'{..}+          = object+              (catMaybes+                 [("PortNumber" .=) <$> _ciPortNumber,+                  ("Id" .=) <$> _ciId, ("Metadata" .=) <$> _ciMetadata,+                  ("HostAddress" .=) <$> _ciHostAddress])++-- | Information on the core+--+-- /See:/ 'core' smart constructor.+data Core = Core'+  { _cCertificateARN :: !(Maybe Text)+  , _cThingARN       :: !(Maybe Text)+  , _cSyncShadow     :: !(Maybe Bool)+  , _cId             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Core' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cCertificateARN' - Certificate arn of the core.+--+-- * 'cThingARN' - Thing arn of the core.+--+-- * 'cSyncShadow' - If true, the local shadow value automatically syncs with the cloud's shadow state.+--+-- * 'cId' - Element Id for this entry in the list.+core+    :: Core+core =+  Core'+  { _cCertificateARN = Nothing+  , _cThingARN = Nothing+  , _cSyncShadow = Nothing+  , _cId = Nothing+  }+++-- | Certificate arn of the core.+cCertificateARN :: Lens' Core (Maybe Text)+cCertificateARN = lens _cCertificateARN (\ s a -> s{_cCertificateARN = a});++-- | Thing arn of the core.+cThingARN :: Lens' Core (Maybe Text)+cThingARN = lens _cThingARN (\ s a -> s{_cThingARN = a});++-- | If true, the local shadow value automatically syncs with the cloud's shadow state.+cSyncShadow :: Lens' Core (Maybe Bool)+cSyncShadow = lens _cSyncShadow (\ s a -> s{_cSyncShadow = a});++-- | Element Id for this entry in the list.+cId :: Lens' Core (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a});++instance FromJSON Core where+        parseJSON+          = withObject "Core"+              (\ x ->+                 Core' <$>+                   (x .:? "CertificateArn") <*> (x .:? "ThingArn") <*>+                     (x .:? "SyncShadow")+                     <*> (x .:? "Id"))++instance Hashable Core where++instance NFData Core where++instance ToJSON Core where+        toJSON Core'{..}+          = object+              (catMaybes+                 [("CertificateArn" .=) <$> _cCertificateARN,+                  ("ThingArn" .=) <$> _cThingARN,+                  ("SyncShadow" .=) <$> _cSyncShadow,+                  ("Id" .=) <$> _cId])++-- | Information on core definition version+--+-- /See:/ 'coreDefinitionVersion' smart constructor.+newtype CoreDefinitionVersion = CoreDefinitionVersion'+  { _cdvCores :: Maybe [Core]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CoreDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdvCores' - Cores in the definition version.+coreDefinitionVersion+    :: CoreDefinitionVersion+coreDefinitionVersion = CoreDefinitionVersion' {_cdvCores = Nothing}+++-- | Cores in the definition version.+cdvCores :: Lens' CoreDefinitionVersion [Core]+cdvCores = lens _cdvCores (\ s a -> s{_cdvCores = a}) . _Default . _Coerce;++instance FromJSON CoreDefinitionVersion where+        parseJSON+          = withObject "CoreDefinitionVersion"+              (\ x ->+                 CoreDefinitionVersion' <$>+                   (x .:? "Cores" .!= mempty))++instance Hashable CoreDefinitionVersion where++instance NFData CoreDefinitionVersion where++instance ToJSON CoreDefinitionVersion where+        toJSON CoreDefinitionVersion'{..}+          = object (catMaybes [("Cores" .=) <$> _cdvCores])++-- | Information on the Definition+--+-- /See:/ 'definitionInformation' smart constructor.+data DefinitionInformation = DefinitionInformation'+  { _diLatestVersionARN     :: !(Maybe Text)+  , _diARN                  :: !(Maybe Text)+  , _diName                 :: !(Maybe Text)+  , _diCreationTimestamp    :: !(Maybe Text)+  , _diId                   :: !(Maybe Text)+  , _diLatestVersion        :: !(Maybe Text)+  , _diLastUpdatedTimestamp :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DefinitionInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diLatestVersionARN' - Latest version arn of the definition.+--+-- * 'diARN' - Arn of the definition.+--+-- * 'diName' - Name of the definition.+--+-- * 'diCreationTimestamp' - Timestamp of when the definition was created.+--+-- * 'diId' - Id of the definition.+--+-- * 'diLatestVersion' - Last version of the definition.+--+-- * 'diLastUpdatedTimestamp' - Last updated timestamp of the definition.+definitionInformation+    :: DefinitionInformation+definitionInformation =+  DefinitionInformation'+  { _diLatestVersionARN = Nothing+  , _diARN = Nothing+  , _diName = Nothing+  , _diCreationTimestamp = Nothing+  , _diId = Nothing+  , _diLatestVersion = Nothing+  , _diLastUpdatedTimestamp = Nothing+  }+++-- | Latest version arn of the definition.+diLatestVersionARN :: Lens' DefinitionInformation (Maybe Text)+diLatestVersionARN = lens _diLatestVersionARN (\ s a -> s{_diLatestVersionARN = a});++-- | Arn of the definition.+diARN :: Lens' DefinitionInformation (Maybe Text)+diARN = lens _diARN (\ s a -> s{_diARN = a});++-- | Name of the definition.+diName :: Lens' DefinitionInformation (Maybe Text)+diName = lens _diName (\ s a -> s{_diName = a});++-- | Timestamp of when the definition was created.+diCreationTimestamp :: Lens' DefinitionInformation (Maybe Text)+diCreationTimestamp = lens _diCreationTimestamp (\ s a -> s{_diCreationTimestamp = a});++-- | Id of the definition.+diId :: Lens' DefinitionInformation (Maybe Text)+diId = lens _diId (\ s a -> s{_diId = a});++-- | Last version of the definition.+diLatestVersion :: Lens' DefinitionInformation (Maybe Text)+diLatestVersion = lens _diLatestVersion (\ s a -> s{_diLatestVersion = a});++-- | Last updated timestamp of the definition.+diLastUpdatedTimestamp :: Lens' DefinitionInformation (Maybe Text)+diLastUpdatedTimestamp = lens _diLastUpdatedTimestamp (\ s a -> s{_diLastUpdatedTimestamp = a});++instance FromJSON DefinitionInformation where+        parseJSON+          = withObject "DefinitionInformation"+              (\ x ->+                 DefinitionInformation' <$>+                   (x .:? "LatestVersionArn") <*> (x .:? "Arn") <*>+                     (x .:? "Name")+                     <*> (x .:? "CreationTimestamp")+                     <*> (x .:? "Id")+                     <*> (x .:? "LatestVersion")+                     <*> (x .:? "LastUpdatedTimestamp"))++instance Hashable DefinitionInformation where++instance NFData DefinitionInformation where++-- | Information on the deployment+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment'+  { _dDeploymentId   :: !(Maybe Text)+  , _dDeploymentARN  :: !(Maybe Text)+  , _dCreatedAt      :: !(Maybe Text)+  , _dDeploymentType :: !(Maybe DeploymentType)+  , _dGroupARN       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDeploymentId' - Id of the deployment.+--+-- * 'dDeploymentARN' - Arn of the deployment.+--+-- * 'dCreatedAt' - Timestamp when the deployment was created.+--+-- * 'dDeploymentType' - The type of deployment.+--+-- * 'dGroupARN' - Arn of the group for this deployment.+deployment+    :: Deployment+deployment =+  Deployment'+  { _dDeploymentId = Nothing+  , _dDeploymentARN = Nothing+  , _dCreatedAt = Nothing+  , _dDeploymentType = Nothing+  , _dGroupARN = Nothing+  }+++-- | Id of the deployment.+dDeploymentId :: Lens' Deployment (Maybe Text)+dDeploymentId = lens _dDeploymentId (\ s a -> s{_dDeploymentId = a});++-- | Arn of the deployment.+dDeploymentARN :: Lens' Deployment (Maybe Text)+dDeploymentARN = lens _dDeploymentARN (\ s a -> s{_dDeploymentARN = a});++-- | Timestamp when the deployment was created.+dCreatedAt :: Lens' Deployment (Maybe Text)+dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a});++-- | The type of deployment.+dDeploymentType :: Lens' Deployment (Maybe DeploymentType)+dDeploymentType = lens _dDeploymentType (\ s a -> s{_dDeploymentType = a});++-- | Arn of the group for this deployment.+dGroupARN :: Lens' Deployment (Maybe Text)+dGroupARN = lens _dGroupARN (\ s a -> s{_dGroupARN = a});++instance FromJSON Deployment where+        parseJSON+          = withObject "Deployment"+              (\ x ->+                 Deployment' <$>+                   (x .:? "DeploymentId") <*> (x .:? "DeploymentArn")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "DeploymentType")+                     <*> (x .:? "GroupArn"))++instance Hashable Deployment where++instance NFData Deployment where++-- | Information on a Device+--+-- /See:/ 'device' smart constructor.+data Device = Device'+  { _dCertificateARN :: !(Maybe Text)+  , _dThingARN       :: !(Maybe Text)+  , _dSyncShadow     :: !(Maybe Bool)+  , _dId             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Device' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dCertificateARN' - Certificate arn of the device.+--+-- * 'dThingARN' - Thing arn of the device.+--+-- * 'dSyncShadow' - If true, the local shadow value automatically syncs with the cloud's shadow state.+--+-- * 'dId' - Element Id for this entry in the list.+device+    :: Device+device =+  Device'+  { _dCertificateARN = Nothing+  , _dThingARN = Nothing+  , _dSyncShadow = Nothing+  , _dId = Nothing+  }+++-- | Certificate arn of the device.+dCertificateARN :: Lens' Device (Maybe Text)+dCertificateARN = lens _dCertificateARN (\ s a -> s{_dCertificateARN = a});++-- | Thing arn of the device.+dThingARN :: Lens' Device (Maybe Text)+dThingARN = lens _dThingARN (\ s a -> s{_dThingARN = a});++-- | If true, the local shadow value automatically syncs with the cloud's shadow state.+dSyncShadow :: Lens' Device (Maybe Bool)+dSyncShadow = lens _dSyncShadow (\ s a -> s{_dSyncShadow = a});++-- | Element Id for this entry in the list.+dId :: Lens' Device (Maybe Text)+dId = lens _dId (\ s a -> s{_dId = a});++instance FromJSON Device where+        parseJSON+          = withObject "Device"+              (\ x ->+                 Device' <$>+                   (x .:? "CertificateArn") <*> (x .:? "ThingArn") <*>+                     (x .:? "SyncShadow")+                     <*> (x .:? "Id"))++instance Hashable Device where++instance NFData Device where++instance ToJSON Device where+        toJSON Device'{..}+          = object+              (catMaybes+                 [("CertificateArn" .=) <$> _dCertificateARN,+                  ("ThingArn" .=) <$> _dThingARN,+                  ("SyncShadow" .=) <$> _dSyncShadow,+                  ("Id" .=) <$> _dId])++-- | Information on device definition version+--+-- /See:/ 'deviceDefinitionVersion' smart constructor.+newtype DeviceDefinitionVersion = DeviceDefinitionVersion'+  { _ddvDevices :: Maybe [Device]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeviceDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddvDevices' - Devices in the definition version.+deviceDefinitionVersion+    :: DeviceDefinitionVersion+deviceDefinitionVersion = DeviceDefinitionVersion' {_ddvDevices = Nothing}+++-- | Devices in the definition version.+ddvDevices :: Lens' DeviceDefinitionVersion [Device]+ddvDevices = lens _ddvDevices (\ s a -> s{_ddvDevices = a}) . _Default . _Coerce;++instance FromJSON DeviceDefinitionVersion where+        parseJSON+          = withObject "DeviceDefinitionVersion"+              (\ x ->+                 DeviceDefinitionVersion' <$>+                   (x .:? "Devices" .!= mempty))++instance Hashable DeviceDefinitionVersion where++instance NFData DeviceDefinitionVersion where++instance ToJSON DeviceDefinitionVersion where+        toJSON DeviceDefinitionVersion'{..}+          = object (catMaybes [("Devices" .=) <$> _ddvDevices])++-- | ErrorDetail+--+-- /See:/ 'errorDetail' smart constructor.+data ErrorDetail = ErrorDetail'+  { _edDetailedErrorCode    :: !(Maybe Text)+  , _edDetailedErrorMessage :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ErrorDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edDetailedErrorCode' - Detailed Error Code+--+-- * 'edDetailedErrorMessage' - Detailed Error Message+errorDetail+    :: ErrorDetail+errorDetail =+  ErrorDetail'+  {_edDetailedErrorCode = Nothing, _edDetailedErrorMessage = Nothing}+++-- | Detailed Error Code+edDetailedErrorCode :: Lens' ErrorDetail (Maybe Text)+edDetailedErrorCode = lens _edDetailedErrorCode (\ s a -> s{_edDetailedErrorCode = a});++-- | Detailed Error Message+edDetailedErrorMessage :: Lens' ErrorDetail (Maybe Text)+edDetailedErrorMessage = lens _edDetailedErrorMessage (\ s a -> s{_edDetailedErrorMessage = a});++instance FromJSON ErrorDetail where+        parseJSON+          = withObject "ErrorDetail"+              (\ x ->+                 ErrorDetail' <$>+                   (x .:? "DetailedErrorCode") <*>+                     (x .:? "DetailedErrorMessage"))++instance Hashable ErrorDetail where++instance NFData ErrorDetail where++-- | Information on function+--+-- /See:/ 'function' smart constructor.+data Function = Function'+  { _fFunctionARN           :: !(Maybe Text)+  , _fFunctionConfiguration :: !(Maybe FunctionConfiguration)+  , _fId                    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Function' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fFunctionARN' - Arn of the Lambda function.+--+-- * 'fFunctionConfiguration' - Configuration of the function+--+-- * 'fId' - Id of the function in this version.+function+    :: Function+function =+  Function'+  {_fFunctionARN = Nothing, _fFunctionConfiguration = Nothing, _fId = Nothing}+++-- | Arn of the Lambda function.+fFunctionARN :: Lens' Function (Maybe Text)+fFunctionARN = lens _fFunctionARN (\ s a -> s{_fFunctionARN = a});++-- | Configuration of the function+fFunctionConfiguration :: Lens' Function (Maybe FunctionConfiguration)+fFunctionConfiguration = lens _fFunctionConfiguration (\ s a -> s{_fFunctionConfiguration = a});++-- | Id of the function in this version.+fId :: Lens' Function (Maybe Text)+fId = lens _fId (\ s a -> s{_fId = a});++instance FromJSON Function where+        parseJSON+          = withObject "Function"+              (\ x ->+                 Function' <$>+                   (x .:? "FunctionArn") <*>+                     (x .:? "FunctionConfiguration")+                     <*> (x .:? "Id"))++instance Hashable Function where++instance NFData Function where++instance ToJSON Function where+        toJSON Function'{..}+          = object+              (catMaybes+                 [("FunctionArn" .=) <$> _fFunctionARN,+                  ("FunctionConfiguration" .=) <$>+                    _fFunctionConfiguration,+                  ("Id" .=) <$> _fId])++-- | Configuration of the function+--+-- /See:/ 'functionConfiguration' smart constructor.+data FunctionConfiguration = FunctionConfiguration'+  { _fcMemorySize  :: !(Maybe Int)+  , _fcExecArgs    :: !(Maybe Text)+  , _fcEnvironment :: !(Maybe FunctionConfigurationEnvironment)+  , _fcExecutable  :: !(Maybe Text)+  , _fcPinned      :: !(Maybe Bool)+  , _fcTimeout     :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FunctionConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcMemorySize' - The memory size, in KB, you configured for the function.+--+-- * 'fcExecArgs' - Execution Arguments+--+-- * 'fcEnvironment' - Environment of the function configuration+--+-- * 'fcExecutable' - Executable+--+-- * 'fcPinned' - Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts.+--+-- * 'fcTimeout' - The function execution time at which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request.+functionConfiguration+    :: FunctionConfiguration+functionConfiguration =+  FunctionConfiguration'+  { _fcMemorySize = Nothing+  , _fcExecArgs = Nothing+  , _fcEnvironment = Nothing+  , _fcExecutable = Nothing+  , _fcPinned = Nothing+  , _fcTimeout = Nothing+  }+++-- | The memory size, in KB, you configured for the function.+fcMemorySize :: Lens' FunctionConfiguration (Maybe Int)+fcMemorySize = lens _fcMemorySize (\ s a -> s{_fcMemorySize = a});++-- | Execution Arguments+fcExecArgs :: Lens' FunctionConfiguration (Maybe Text)+fcExecArgs = lens _fcExecArgs (\ s a -> s{_fcExecArgs = a});++-- | Environment of the function configuration+fcEnvironment :: Lens' FunctionConfiguration (Maybe FunctionConfigurationEnvironment)+fcEnvironment = lens _fcEnvironment (\ s a -> s{_fcEnvironment = a});++-- | Executable+fcExecutable :: Lens' FunctionConfiguration (Maybe Text)+fcExecutable = lens _fcExecutable (\ s a -> s{_fcExecutable = a});++-- | Whether the function is pinned or not. Pinned means the function is long-lived and starts when the core starts.+fcPinned :: Lens' FunctionConfiguration (Maybe Bool)+fcPinned = lens _fcPinned (\ s a -> s{_fcPinned = a});++-- | The function execution time at which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request.+fcTimeout :: Lens' FunctionConfiguration (Maybe Int)+fcTimeout = lens _fcTimeout (\ s a -> s{_fcTimeout = a});++instance FromJSON FunctionConfiguration where+        parseJSON+          = withObject "FunctionConfiguration"+              (\ x ->+                 FunctionConfiguration' <$>+                   (x .:? "MemorySize") <*> (x .:? "ExecArgs") <*>+                     (x .:? "Environment")+                     <*> (x .:? "Executable")+                     <*> (x .:? "Pinned")+                     <*> (x .:? "Timeout"))++instance Hashable FunctionConfiguration where++instance NFData FunctionConfiguration where++instance ToJSON FunctionConfiguration where+        toJSON FunctionConfiguration'{..}+          = object+              (catMaybes+                 [("MemorySize" .=) <$> _fcMemorySize,+                  ("ExecArgs" .=) <$> _fcExecArgs,+                  ("Environment" .=) <$> _fcEnvironment,+                  ("Executable" .=) <$> _fcExecutable,+                  ("Pinned" .=) <$> _fcPinned,+                  ("Timeout" .=) <$> _fcTimeout])++-- | Environment of the function configuration+--+-- /See:/ 'functionConfigurationEnvironment' smart constructor.+newtype FunctionConfigurationEnvironment = FunctionConfigurationEnvironment'+  { _fceVariables :: Maybe (Map Text Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FunctionConfigurationEnvironment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fceVariables' - Environment variables for the lambda function.+functionConfigurationEnvironment+    :: FunctionConfigurationEnvironment+functionConfigurationEnvironment =+  FunctionConfigurationEnvironment' {_fceVariables = Nothing}+++-- | Environment variables for the lambda function.+fceVariables :: Lens' FunctionConfigurationEnvironment (HashMap Text Text)+fceVariables = lens _fceVariables (\ s a -> s{_fceVariables = a}) . _Default . _Map;++instance FromJSON FunctionConfigurationEnvironment+         where+        parseJSON+          = withObject "FunctionConfigurationEnvironment"+              (\ x ->+                 FunctionConfigurationEnvironment' <$>+                   (x .:? "Variables" .!= mempty))++instance Hashable FunctionConfigurationEnvironment+         where++instance NFData FunctionConfigurationEnvironment+         where++instance ToJSON FunctionConfigurationEnvironment+         where+        toJSON FunctionConfigurationEnvironment'{..}+          = object+              (catMaybes [("Variables" .=) <$> _fceVariables])++-- | Information on the function definition version+--+-- /See:/ 'functionDefinitionVersion' smart constructor.+newtype FunctionDefinitionVersion = FunctionDefinitionVersion'+  { _fdvFunctions :: Maybe [Function]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FunctionDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdvFunctions' - Lambda functions in this function definition version.+functionDefinitionVersion+    :: FunctionDefinitionVersion+functionDefinitionVersion = FunctionDefinitionVersion' {_fdvFunctions = Nothing}+++-- | Lambda functions in this function definition version.+fdvFunctions :: Lens' FunctionDefinitionVersion [Function]+fdvFunctions = lens _fdvFunctions (\ s a -> s{_fdvFunctions = a}) . _Default . _Coerce;++instance FromJSON FunctionDefinitionVersion where+        parseJSON+          = withObject "FunctionDefinitionVersion"+              (\ x ->+                 FunctionDefinitionVersion' <$>+                   (x .:? "Functions" .!= mempty))++instance Hashable FunctionDefinitionVersion where++instance NFData FunctionDefinitionVersion where++instance ToJSON FunctionDefinitionVersion where+        toJSON FunctionDefinitionVersion'{..}+          = object+              (catMaybes [("Functions" .=) <$> _fdvFunctions])++-- | Information on the Logger+--+-- /See:/ 'greengrassLogger' smart constructor.+data GreengrassLogger = GreengrassLogger'+  { _glSpace     :: !(Maybe Int)+  , _glComponent :: !(Maybe LoggerComponent)+  , _glId        :: !(Maybe Text)+  , _glType      :: !(Maybe LoggerType)+  , _glLevel     :: !(Maybe LoggerLevel)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GreengrassLogger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'glSpace' - Amount of hardware space, in KB, to use if file system is used for logging purposes.+--+-- * 'glComponent' - The component that will be subject to logs+--+-- * 'glId' - Element Id for this entry in the list.+--+-- * 'glType' - The type which will be use for log output+--+-- * 'glLevel' - The level of the logs+greengrassLogger+    :: GreengrassLogger+greengrassLogger =+  GreengrassLogger'+  { _glSpace = Nothing+  , _glComponent = Nothing+  , _glId = Nothing+  , _glType = Nothing+  , _glLevel = Nothing+  }+++-- | Amount of hardware space, in KB, to use if file system is used for logging purposes.+glSpace :: Lens' GreengrassLogger (Maybe Int)+glSpace = lens _glSpace (\ s a -> s{_glSpace = a});++-- | The component that will be subject to logs+glComponent :: Lens' GreengrassLogger (Maybe LoggerComponent)+glComponent = lens _glComponent (\ s a -> s{_glComponent = a});++-- | Element Id for this entry in the list.+glId :: Lens' GreengrassLogger (Maybe Text)+glId = lens _glId (\ s a -> s{_glId = a});++-- | The type which will be use for log output+glType :: Lens' GreengrassLogger (Maybe LoggerType)+glType = lens _glType (\ s a -> s{_glType = a});++-- | The level of the logs+glLevel :: Lens' GreengrassLogger (Maybe LoggerLevel)+glLevel = lens _glLevel (\ s a -> s{_glLevel = a});++instance FromJSON GreengrassLogger where+        parseJSON+          = withObject "GreengrassLogger"+              (\ x ->+                 GreengrassLogger' <$>+                   (x .:? "Space") <*> (x .:? "Component") <*>+                     (x .:? "Id")+                     <*> (x .:? "Type")+                     <*> (x .:? "Level"))++instance Hashable GreengrassLogger where++instance NFData GreengrassLogger where++instance ToJSON GreengrassLogger where+        toJSON GreengrassLogger'{..}+          = object+              (catMaybes+                 [("Space" .=) <$> _glSpace,+                  ("Component" .=) <$> _glComponent,+                  ("Id" .=) <$> _glId, ("Type" .=) <$> _glType,+                  ("Level" .=) <$> _glLevel])++-- | Information on group certificate authority properties+--+-- /See:/ 'groupCertificateAuthorityProperties' smart constructor.+data GroupCertificateAuthorityProperties = GroupCertificateAuthorityProperties'+  { _gcapGroupCertificateAuthorityARN :: !(Maybe Text)+  , _gcapGroupCertificateAuthorityId  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GroupCertificateAuthorityProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcapGroupCertificateAuthorityARN' - Arn of the certificate authority for the group.+--+-- * 'gcapGroupCertificateAuthorityId' - Id of the certificate authority for the group.+groupCertificateAuthorityProperties+    :: GroupCertificateAuthorityProperties+groupCertificateAuthorityProperties =+  GroupCertificateAuthorityProperties'+  { _gcapGroupCertificateAuthorityARN = Nothing+  , _gcapGroupCertificateAuthorityId = Nothing+  }+++-- | Arn of the certificate authority for the group.+gcapGroupCertificateAuthorityARN :: Lens' GroupCertificateAuthorityProperties (Maybe Text)+gcapGroupCertificateAuthorityARN = lens _gcapGroupCertificateAuthorityARN (\ s a -> s{_gcapGroupCertificateAuthorityARN = a});++-- | Id of the certificate authority for the group.+gcapGroupCertificateAuthorityId :: Lens' GroupCertificateAuthorityProperties (Maybe Text)+gcapGroupCertificateAuthorityId = lens _gcapGroupCertificateAuthorityId (\ s a -> s{_gcapGroupCertificateAuthorityId = a});++instance FromJSON GroupCertificateAuthorityProperties+         where+        parseJSON+          = withObject "GroupCertificateAuthorityProperties"+              (\ x ->+                 GroupCertificateAuthorityProperties' <$>+                   (x .:? "GroupCertificateAuthorityArn") <*>+                     (x .:? "GroupCertificateAuthorityId"))++instance Hashable GroupCertificateAuthorityProperties+         where++instance NFData GroupCertificateAuthorityProperties+         where++-- | Information on the group+--+-- /See:/ 'groupInformation' smart constructor.+data GroupInformation = GroupInformation'+  { _giLatestVersionARN     :: !(Maybe Text)+  , _giARN                  :: !(Maybe Text)+  , _giName                 :: !(Maybe Text)+  , _giCreationTimestamp    :: !(Maybe Text)+  , _giId                   :: !(Maybe Text)+  , _giLatestVersion        :: !(Maybe Text)+  , _giLastUpdatedTimestamp :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GroupInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'giLatestVersionARN' - Latest version arn of the group.+--+-- * 'giARN' - Arn of a group.+--+-- * 'giName' - Name of a group.+--+-- * 'giCreationTimestamp' - Timestamp of when the group was created.+--+-- * 'giId' - Id of a group.+--+-- * 'giLatestVersion' - Last version of the group.+--+-- * 'giLastUpdatedTimestamp' - Last updated timestamp of the group.+groupInformation+    :: GroupInformation+groupInformation =+  GroupInformation'+  { _giLatestVersionARN = Nothing+  , _giARN = Nothing+  , _giName = Nothing+  , _giCreationTimestamp = Nothing+  , _giId = Nothing+  , _giLatestVersion = Nothing+  , _giLastUpdatedTimestamp = Nothing+  }+++-- | Latest version arn of the group.+giLatestVersionARN :: Lens' GroupInformation (Maybe Text)+giLatestVersionARN = lens _giLatestVersionARN (\ s a -> s{_giLatestVersionARN = a});++-- | Arn of a group.+giARN :: Lens' GroupInformation (Maybe Text)+giARN = lens _giARN (\ s a -> s{_giARN = a});++-- | Name of a group.+giName :: Lens' GroupInformation (Maybe Text)+giName = lens _giName (\ s a -> s{_giName = a});++-- | Timestamp of when the group was created.+giCreationTimestamp :: Lens' GroupInformation (Maybe Text)+giCreationTimestamp = lens _giCreationTimestamp (\ s a -> s{_giCreationTimestamp = a});++-- | Id of a group.+giId :: Lens' GroupInformation (Maybe Text)+giId = lens _giId (\ s a -> s{_giId = a});++-- | Last version of the group.+giLatestVersion :: Lens' GroupInformation (Maybe Text)+giLatestVersion = lens _giLatestVersion (\ s a -> s{_giLatestVersion = a});++-- | Last updated timestamp of the group.+giLastUpdatedTimestamp :: Lens' GroupInformation (Maybe Text)+giLastUpdatedTimestamp = lens _giLastUpdatedTimestamp (\ s a -> s{_giLastUpdatedTimestamp = a});++instance FromJSON GroupInformation where+        parseJSON+          = withObject "GroupInformation"+              (\ x ->+                 GroupInformation' <$>+                   (x .:? "LatestVersionArn") <*> (x .:? "Arn") <*>+                     (x .:? "Name")+                     <*> (x .:? "CreationTimestamp")+                     <*> (x .:? "Id")+                     <*> (x .:? "LatestVersion")+                     <*> (x .:? "LastUpdatedTimestamp"))++instance Hashable GroupInformation where++instance NFData GroupInformation where++-- | Information on group version+--+-- /See:/ 'groupVersion' smart constructor.+data GroupVersion = GroupVersion'+  { _gvSubscriptionDefinitionVersionARN :: !(Maybe Text)+  , _gvCoreDefinitionVersionARN         :: !(Maybe Text)+  , _gvDeviceDefinitionVersionARN       :: !(Maybe Text)+  , _gvFunctionDefinitionVersionARN     :: !(Maybe Text)+  , _gvLoggerDefinitionVersionARN       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GroupVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvSubscriptionDefinitionVersionARN' - Subscription definition version arn for this group.+--+-- * 'gvCoreDefinitionVersionARN' - Core definition version arn for this group.+--+-- * 'gvDeviceDefinitionVersionARN' - Device definition version arn for this group.+--+-- * 'gvFunctionDefinitionVersionARN' - Function definition version arn for this group.+--+-- * 'gvLoggerDefinitionVersionARN' - Logger definitionv ersion arn for this group.+groupVersion+    :: GroupVersion+groupVersion =+  GroupVersion'+  { _gvSubscriptionDefinitionVersionARN = Nothing+  , _gvCoreDefinitionVersionARN = Nothing+  , _gvDeviceDefinitionVersionARN = Nothing+  , _gvFunctionDefinitionVersionARN = Nothing+  , _gvLoggerDefinitionVersionARN = Nothing+  }+++-- | Subscription definition version arn for this group.+gvSubscriptionDefinitionVersionARN :: Lens' GroupVersion (Maybe Text)+gvSubscriptionDefinitionVersionARN = lens _gvSubscriptionDefinitionVersionARN (\ s a -> s{_gvSubscriptionDefinitionVersionARN = a});++-- | Core definition version arn for this group.+gvCoreDefinitionVersionARN :: Lens' GroupVersion (Maybe Text)+gvCoreDefinitionVersionARN = lens _gvCoreDefinitionVersionARN (\ s a -> s{_gvCoreDefinitionVersionARN = a});++-- | Device definition version arn for this group.+gvDeviceDefinitionVersionARN :: Lens' GroupVersion (Maybe Text)+gvDeviceDefinitionVersionARN = lens _gvDeviceDefinitionVersionARN (\ s a -> s{_gvDeviceDefinitionVersionARN = a});++-- | Function definition version arn for this group.+gvFunctionDefinitionVersionARN :: Lens' GroupVersion (Maybe Text)+gvFunctionDefinitionVersionARN = lens _gvFunctionDefinitionVersionARN (\ s a -> s{_gvFunctionDefinitionVersionARN = a});++-- | Logger definitionv ersion arn for this group.+gvLoggerDefinitionVersionARN :: Lens' GroupVersion (Maybe Text)+gvLoggerDefinitionVersionARN = lens _gvLoggerDefinitionVersionARN (\ s a -> s{_gvLoggerDefinitionVersionARN = a});++instance FromJSON GroupVersion where+        parseJSON+          = withObject "GroupVersion"+              (\ x ->+                 GroupVersion' <$>+                   (x .:? "SubscriptionDefinitionVersionArn") <*>+                     (x .:? "CoreDefinitionVersionArn")+                     <*> (x .:? "DeviceDefinitionVersionArn")+                     <*> (x .:? "FunctionDefinitionVersionArn")+                     <*> (x .:? "LoggerDefinitionVersionArn"))++instance Hashable GroupVersion where++instance NFData GroupVersion where++instance ToJSON GroupVersion where+        toJSON GroupVersion'{..}+          = object+              (catMaybes+                 [("SubscriptionDefinitionVersionArn" .=) <$>+                    _gvSubscriptionDefinitionVersionARN,+                  ("CoreDefinitionVersionArn" .=) <$>+                    _gvCoreDefinitionVersionARN,+                  ("DeviceDefinitionVersionArn" .=) <$>+                    _gvDeviceDefinitionVersionARN,+                  ("FunctionDefinitionVersionArn" .=) <$>+                    _gvFunctionDefinitionVersionARN,+                  ("LoggerDefinitionVersionArn" .=) <$>+                    _gvLoggerDefinitionVersionARN])++-- | Information on logger definition version+--+-- /See:/ 'loggerDefinitionVersion' smart constructor.+newtype LoggerDefinitionVersion = LoggerDefinitionVersion'+  { _ldvLoggers :: Maybe [GreengrassLogger]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoggerDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ldvLoggers' - List of loggers.+loggerDefinitionVersion+    :: LoggerDefinitionVersion+loggerDefinitionVersion = LoggerDefinitionVersion' {_ldvLoggers = Nothing}+++-- | List of loggers.+ldvLoggers :: Lens' LoggerDefinitionVersion [GreengrassLogger]+ldvLoggers = lens _ldvLoggers (\ s a -> s{_ldvLoggers = a}) . _Default . _Coerce;++instance FromJSON LoggerDefinitionVersion where+        parseJSON+          = withObject "LoggerDefinitionVersion"+              (\ x ->+                 LoggerDefinitionVersion' <$>+                   (x .:? "Loggers" .!= mempty))++instance Hashable LoggerDefinitionVersion where++instance NFData LoggerDefinitionVersion where++instance ToJSON LoggerDefinitionVersion where+        toJSON LoggerDefinitionVersion'{..}+          = object (catMaybes [("Loggers" .=) <$> _ldvLoggers])++-- | Information on subscription+--+-- /See:/ 'subscription' smart constructor.+data Subscription = Subscription'+  { _sSubject :: !(Maybe Text)+  , _sSource  :: !(Maybe Text)+  , _sId      :: !(Maybe Text)+  , _sTarget  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Subscription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sSubject' - Subject of the message.+--+-- * 'sSource' - Source of the subscription. Can be a thing arn, lambda arn or word 'cloud'+--+-- * 'sId' - Element Id for this entry in the list.+--+-- * 'sTarget' - Where the message is sent to. Can be a thing arn, lambda arn or word 'cloud'.+subscription+    :: Subscription+subscription =+  Subscription'+  {_sSubject = Nothing, _sSource = Nothing, _sId = Nothing, _sTarget = Nothing}+++-- | Subject of the message.+sSubject :: Lens' Subscription (Maybe Text)+sSubject = lens _sSubject (\ s a -> s{_sSubject = a});++-- | Source of the subscription. Can be a thing arn, lambda arn or word 'cloud'+sSource :: Lens' Subscription (Maybe Text)+sSource = lens _sSource (\ s a -> s{_sSource = a});++-- | Element Id for this entry in the list.+sId :: Lens' Subscription (Maybe Text)+sId = lens _sId (\ s a -> s{_sId = a});++-- | Where the message is sent to. Can be a thing arn, lambda arn or word 'cloud'.+sTarget :: Lens' Subscription (Maybe Text)+sTarget = lens _sTarget (\ s a -> s{_sTarget = a});++instance FromJSON Subscription where+        parseJSON+          = withObject "Subscription"+              (\ x ->+                 Subscription' <$>+                   (x .:? "Subject") <*> (x .:? "Source") <*>+                     (x .:? "Id")+                     <*> (x .:? "Target"))++instance Hashable Subscription where++instance NFData Subscription where++instance ToJSON Subscription where+        toJSON Subscription'{..}+          = object+              (catMaybes+                 [("Subject" .=) <$> _sSubject,+                  ("Source" .=) <$> _sSource, ("Id" .=) <$> _sId,+                  ("Target" .=) <$> _sTarget])++-- | Information on subscription definition version+--+-- /See:/ 'subscriptionDefinitionVersion' smart constructor.+newtype SubscriptionDefinitionVersion = SubscriptionDefinitionVersion'+  { _sdvSubscriptions :: Maybe [Subscription]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SubscriptionDefinitionVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdvSubscriptions' - Subscriptions in the version.+subscriptionDefinitionVersion+    :: SubscriptionDefinitionVersion+subscriptionDefinitionVersion =+  SubscriptionDefinitionVersion' {_sdvSubscriptions = Nothing}+++-- | Subscriptions in the version.+sdvSubscriptions :: Lens' SubscriptionDefinitionVersion [Subscription]+sdvSubscriptions = lens _sdvSubscriptions (\ s a -> s{_sdvSubscriptions = a}) . _Default . _Coerce;++instance FromJSON SubscriptionDefinitionVersion where+        parseJSON+          = withObject "SubscriptionDefinitionVersion"+              (\ x ->+                 SubscriptionDefinitionVersion' <$>+                   (x .:? "Subscriptions" .!= mempty))++instance Hashable SubscriptionDefinitionVersion where++instance NFData SubscriptionDefinitionVersion where++instance ToJSON SubscriptionDefinitionVersion where+        toJSON SubscriptionDefinitionVersion'{..}+          = object+              (catMaybes+                 [("Subscriptions" .=) <$> _sdvSubscriptions])++-- | Information on the version+--+-- /See:/ 'versionInformation' smart constructor.+data VersionInformation = VersionInformation'+  { _viARN               :: !(Maybe Text)+  , _viCreationTimestamp :: !(Maybe Text)+  , _viVersion           :: !(Maybe Text)+  , _viId                :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VersionInformation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'viARN' - Arn of the version.+--+-- * 'viCreationTimestamp' - Timestamp of when the version was created.+--+-- * 'viVersion' - Unique Id of a version.+--+-- * 'viId' - Id of the resource container.+versionInformation+    :: VersionInformation+versionInformation =+  VersionInformation'+  { _viARN = Nothing+  , _viCreationTimestamp = Nothing+  , _viVersion = Nothing+  , _viId = Nothing+  }+++-- | Arn of the version.+viARN :: Lens' VersionInformation (Maybe Text)+viARN = lens _viARN (\ s a -> s{_viARN = a});++-- | Timestamp of when the version was created.+viCreationTimestamp :: Lens' VersionInformation (Maybe Text)+viCreationTimestamp = lens _viCreationTimestamp (\ s a -> s{_viCreationTimestamp = a});++-- | Unique Id of a version.+viVersion :: Lens' VersionInformation (Maybe Text)+viVersion = lens _viVersion (\ s a -> s{_viVersion = a});++-- | Id of the resource container.+viId :: Lens' VersionInformation (Maybe Text)+viId = lens _viId (\ s a -> s{_viId = a});++instance FromJSON VersionInformation where+        parseJSON+          = withObject "VersionInformation"+              (\ x ->+                 VersionInformation' <$>+                   (x .:? "Arn") <*> (x .:? "CreationTimestamp") <*>+                     (x .:? "Version")+                     <*> (x .:? "Id"))++instance Hashable VersionInformation where++instance NFData VersionInformation where
+ gen/Network/AWS/Greengrass/Types/Sum.hs view
@@ -0,0 +1,155 @@+{-# 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.Greengrass.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.Greengrass.Types.Sum where++import Network.AWS.Prelude++data DeploymentType+  = ForceResetDeployment+  | NewDeployment+  | Redeployment+  | ResetDeployment+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DeploymentType where+    parser = takeLowerText >>= \case+        "forceresetdeployment" -> pure ForceResetDeployment+        "newdeployment" -> pure NewDeployment+        "redeployment" -> pure Redeployment+        "resetdeployment" -> pure ResetDeployment+        e -> fromTextError $ "Failure parsing DeploymentType from value: '" <> e+           <> "'. Accepted values: forceresetdeployment, newdeployment, redeployment, resetdeployment"++instance ToText DeploymentType where+    toText = \case+        ForceResetDeployment -> "ForceResetDeployment"+        NewDeployment -> "NewDeployment"+        Redeployment -> "Redeployment"+        ResetDeployment -> "ResetDeployment"++instance Hashable     DeploymentType+instance NFData       DeploymentType+instance ToByteString DeploymentType+instance ToQuery      DeploymentType+instance ToHeader     DeploymentType++instance ToJSON DeploymentType where+    toJSON = toJSONText++instance FromJSON DeploymentType where+    parseJSON = parseJSONText "DeploymentType"++data LoggerComponent+  = GreengrassSystem+  | Lambda+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoggerComponent where+    parser = takeLowerText >>= \case+        "greengrasssystem" -> pure GreengrassSystem+        "lambda" -> pure Lambda+        e -> fromTextError $ "Failure parsing LoggerComponent from value: '" <> e+           <> "'. Accepted values: greengrasssystem, lambda"++instance ToText LoggerComponent where+    toText = \case+        GreengrassSystem -> "GreengrassSystem"+        Lambda -> "Lambda"++instance Hashable     LoggerComponent+instance NFData       LoggerComponent+instance ToByteString LoggerComponent+instance ToQuery      LoggerComponent+instance ToHeader     LoggerComponent++instance ToJSON LoggerComponent where+    toJSON = toJSONText++instance FromJSON LoggerComponent where+    parseJSON = parseJSONText "LoggerComponent"++data LoggerLevel+  = Debug+  | Error'+  | Fatal+  | Info+  | Warn+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoggerLevel where+    parser = takeLowerText >>= \case+        "debug" -> pure Debug+        "error" -> pure Error'+        "fatal" -> pure Fatal+        "info" -> pure Info+        "warn" -> pure Warn+        e -> fromTextError $ "Failure parsing LoggerLevel from value: '" <> e+           <> "'. Accepted values: debug, error, fatal, info, warn"++instance ToText LoggerLevel where+    toText = \case+        Debug -> "DEBUG"+        Error' -> "ERROR"+        Fatal -> "FATAL"+        Info -> "INFO"+        Warn -> "WARN"++instance Hashable     LoggerLevel+instance NFData       LoggerLevel+instance ToByteString LoggerLevel+instance ToQuery      LoggerLevel+instance ToHeader     LoggerLevel++instance ToJSON LoggerLevel where+    toJSON = toJSONText++instance FromJSON LoggerLevel where+    parseJSON = parseJSONText "LoggerLevel"++data LoggerType+  = AWSCloudWatch+  | FileSystem+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LoggerType where+    parser = takeLowerText >>= \case+        "awscloudwatch" -> pure AWSCloudWatch+        "filesystem" -> pure FileSystem+        e -> fromTextError $ "Failure parsing LoggerType from value: '" <> e+           <> "'. Accepted values: awscloudwatch, filesystem"++instance ToText LoggerType where+    toText = \case+        AWSCloudWatch -> "AWSCloudWatch"+        FileSystem -> "FileSystem"++instance Hashable     LoggerType+instance NFData       LoggerType+instance ToByteString LoggerType+instance ToQuery      LoggerType+instance ToHeader     LoggerType++instance ToJSON LoggerType where+    toJSON = toJSONText++instance FromJSON LoggerType where+    parseJSON = parseJSONText "LoggerType"
+ gen/Network/AWS/Greengrass/UpdateConnectivityInfo.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Greengrass.UpdateConnectivityInfo+-- 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)+--+-- Updates the connectivity information for the core. Any devices that belong to the group which has this core will receive this information in order to find the location of the core and connect to it.+module Network.AWS.Greengrass.UpdateConnectivityInfo+    (+    -- * Creating a Request+      updateConnectivityInfo+    , UpdateConnectivityInfo+    -- * Request Lenses+    , uciConnectivityInfo+    , uciThingName++    -- * Destructuring the Response+    , updateConnectivityInfoResponse+    , UpdateConnectivityInfoResponse+    -- * Response Lenses+    , ucirsVersion+    , ucirsMessage+    , ucirsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | connectivity info request+--+-- /See:/ 'updateConnectivityInfo' smart constructor.+data UpdateConnectivityInfo = UpdateConnectivityInfo'+  { _uciConnectivityInfo :: !(Maybe [ConnectivityInfo])+  , _uciThingName        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateConnectivityInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uciConnectivityInfo' - Connectivity info list+--+-- * 'uciThingName' - Thing Name+updateConnectivityInfo+    :: Text -- ^ 'uciThingName'+    -> UpdateConnectivityInfo+updateConnectivityInfo pThingName_ =+  UpdateConnectivityInfo'+  {_uciConnectivityInfo = Nothing, _uciThingName = pThingName_}+++-- | Connectivity info list+uciConnectivityInfo :: Lens' UpdateConnectivityInfo [ConnectivityInfo]+uciConnectivityInfo = lens _uciConnectivityInfo (\ s a -> s{_uciConnectivityInfo = a}) . _Default . _Coerce;++-- | Thing Name+uciThingName :: Lens' UpdateConnectivityInfo Text+uciThingName = lens _uciThingName (\ s a -> s{_uciThingName = a});++instance AWSRequest UpdateConnectivityInfo where+        type Rs UpdateConnectivityInfo =+             UpdateConnectivityInfoResponse+        request = putJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 UpdateConnectivityInfoResponse' <$>+                   (x .?> "Version") <*> (x .?> "message") <*>+                     (pure (fromEnum s)))++instance Hashable UpdateConnectivityInfo where++instance NFData UpdateConnectivityInfo where++instance ToHeaders UpdateConnectivityInfo where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateConnectivityInfo where+        toJSON UpdateConnectivityInfo'{..}+          = object+              (catMaybes+                 [("ConnectivityInfo" .=) <$> _uciConnectivityInfo])++instance ToPath UpdateConnectivityInfo where+        toPath UpdateConnectivityInfo'{..}+          = mconcat+              ["/greengrass/things/", toBS _uciThingName,+               "/connectivityInfo"]++instance ToQuery UpdateConnectivityInfo where+        toQuery = const mempty++-- | /See:/ 'updateConnectivityInfoResponse' smart constructor.+data UpdateConnectivityInfoResponse = UpdateConnectivityInfoResponse'+  { _ucirsVersion        :: !(Maybe Text)+  , _ucirsMessage        :: !(Maybe Text)+  , _ucirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateConnectivityInfoResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucirsVersion' - New Version+--+-- * 'ucirsMessage' - Response Text+--+-- * 'ucirsResponseStatus' - -- | The response status code.+updateConnectivityInfoResponse+    :: Int -- ^ 'ucirsResponseStatus'+    -> UpdateConnectivityInfoResponse+updateConnectivityInfoResponse pResponseStatus_ =+  UpdateConnectivityInfoResponse'+  { _ucirsVersion = Nothing+  , _ucirsMessage = Nothing+  , _ucirsResponseStatus = pResponseStatus_+  }+++-- | New Version+ucirsVersion :: Lens' UpdateConnectivityInfoResponse (Maybe Text)+ucirsVersion = lens _ucirsVersion (\ s a -> s{_ucirsVersion = a});++-- | Response Text+ucirsMessage :: Lens' UpdateConnectivityInfoResponse (Maybe Text)+ucirsMessage = lens _ucirsMessage (\ s a -> s{_ucirsMessage = a});++-- | -- | The response status code.+ucirsResponseStatus :: Lens' UpdateConnectivityInfoResponse Int+ucirsResponseStatus = lens _ucirsResponseStatus (\ s a -> s{_ucirsResponseStatus = a});++instance NFData UpdateConnectivityInfoResponse where
+ gen/Network/AWS/Greengrass/UpdateCoreDefinition.hs view
@@ -0,0 +1,131 @@+{-# 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.Greengrass.UpdateCoreDefinition+-- 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)+--+-- Updates a core definition.+module Network.AWS.Greengrass.UpdateCoreDefinition+    (+    -- * Creating a Request+      updateCoreDefinition+    , UpdateCoreDefinition+    -- * Request Lenses+    , ucdName+    , ucdCoreDefinitionId++    -- * Destructuring the Response+    , updateCoreDefinitionResponse+    , UpdateCoreDefinitionResponse+    -- * Response Lenses+    , ucdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateCoreDefinition' smart constructor.+data UpdateCoreDefinition = UpdateCoreDefinition'+  { _ucdName             :: !(Maybe Text)+  , _ucdCoreDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateCoreDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucdName' - name of the definition+--+-- * 'ucdCoreDefinitionId' - core definition Id+updateCoreDefinition+    :: Text -- ^ 'ucdCoreDefinitionId'+    -> UpdateCoreDefinition+updateCoreDefinition pCoreDefinitionId_ =+  UpdateCoreDefinition'+  {_ucdName = Nothing, _ucdCoreDefinitionId = pCoreDefinitionId_}+++-- | name of the definition+ucdName :: Lens' UpdateCoreDefinition (Maybe Text)+ucdName = lens _ucdName (\ s a -> s{_ucdName = a});++-- | core definition Id+ucdCoreDefinitionId :: Lens' UpdateCoreDefinition Text+ucdCoreDefinitionId = lens _ucdCoreDefinitionId (\ s a -> s{_ucdCoreDefinitionId = a});++instance AWSRequest UpdateCoreDefinition where+        type Rs UpdateCoreDefinition =+             UpdateCoreDefinitionResponse+        request = putJSON greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateCoreDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateCoreDefinition where++instance NFData UpdateCoreDefinition where++instance ToHeaders UpdateCoreDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateCoreDefinition where+        toJSON UpdateCoreDefinition'{..}+          = object (catMaybes [("Name" .=) <$> _ucdName])++instance ToPath UpdateCoreDefinition where+        toPath UpdateCoreDefinition'{..}+          = mconcat+              ["/greengrass/definition/cores/",+               toBS _ucdCoreDefinitionId]++instance ToQuery UpdateCoreDefinition where+        toQuery = const mempty++-- | /See:/ 'updateCoreDefinitionResponse' smart constructor.+newtype UpdateCoreDefinitionResponse = UpdateCoreDefinitionResponse'+  { _ucdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateCoreDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucdrsResponseStatus' - -- | The response status code.+updateCoreDefinitionResponse+    :: Int -- ^ 'ucdrsResponseStatus'+    -> UpdateCoreDefinitionResponse+updateCoreDefinitionResponse pResponseStatus_ =+  UpdateCoreDefinitionResponse' {_ucdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ucdrsResponseStatus :: Lens' UpdateCoreDefinitionResponse Int+ucdrsResponseStatus = lens _ucdrsResponseStatus (\ s a -> s{_ucdrsResponseStatus = a});++instance NFData UpdateCoreDefinitionResponse where
+ gen/Network/AWS/Greengrass/UpdateDeviceDefinition.hs view
@@ -0,0 +1,131 @@+{-# 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.Greengrass.UpdateDeviceDefinition+-- 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)+--+-- Updates a device definition.+module Network.AWS.Greengrass.UpdateDeviceDefinition+    (+    -- * Creating a Request+      updateDeviceDefinition+    , UpdateDeviceDefinition+    -- * Request Lenses+    , uddName+    , uddDeviceDefinitionId++    -- * Destructuring the Response+    , updateDeviceDefinitionResponse+    , UpdateDeviceDefinitionResponse+    -- * Response Lenses+    , uddrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateDeviceDefinition' smart constructor.+data UpdateDeviceDefinition = UpdateDeviceDefinition'+  { _uddName               :: !(Maybe Text)+  , _uddDeviceDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDeviceDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uddName' - name of the definition+--+-- * 'uddDeviceDefinitionId' - device definition Id+updateDeviceDefinition+    :: Text -- ^ 'uddDeviceDefinitionId'+    -> UpdateDeviceDefinition+updateDeviceDefinition pDeviceDefinitionId_ =+  UpdateDeviceDefinition'+  {_uddName = Nothing, _uddDeviceDefinitionId = pDeviceDefinitionId_}+++-- | name of the definition+uddName :: Lens' UpdateDeviceDefinition (Maybe Text)+uddName = lens _uddName (\ s a -> s{_uddName = a});++-- | device definition Id+uddDeviceDefinitionId :: Lens' UpdateDeviceDefinition Text+uddDeviceDefinitionId = lens _uddDeviceDefinitionId (\ s a -> s{_uddDeviceDefinitionId = a});++instance AWSRequest UpdateDeviceDefinition where+        type Rs UpdateDeviceDefinition =+             UpdateDeviceDefinitionResponse+        request = putJSON greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateDeviceDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateDeviceDefinition where++instance NFData UpdateDeviceDefinition where++instance ToHeaders UpdateDeviceDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateDeviceDefinition where+        toJSON UpdateDeviceDefinition'{..}+          = object (catMaybes [("Name" .=) <$> _uddName])++instance ToPath UpdateDeviceDefinition where+        toPath UpdateDeviceDefinition'{..}+          = mconcat+              ["/greengrass/definition/devices/",+               toBS _uddDeviceDefinitionId]++instance ToQuery UpdateDeviceDefinition where+        toQuery = const mempty++-- | /See:/ 'updateDeviceDefinitionResponse' smart constructor.+newtype UpdateDeviceDefinitionResponse = UpdateDeviceDefinitionResponse'+  { _uddrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDeviceDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uddrsResponseStatus' - -- | The response status code.+updateDeviceDefinitionResponse+    :: Int -- ^ 'uddrsResponseStatus'+    -> UpdateDeviceDefinitionResponse+updateDeviceDefinitionResponse pResponseStatus_ =+  UpdateDeviceDefinitionResponse' {_uddrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+uddrsResponseStatus :: Lens' UpdateDeviceDefinitionResponse Int+uddrsResponseStatus = lens _uddrsResponseStatus (\ s a -> s{_uddrsResponseStatus = a});++instance NFData UpdateDeviceDefinitionResponse where
+ gen/Network/AWS/Greengrass/UpdateFunctionDefinition.hs view
@@ -0,0 +1,132 @@+{-# 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.Greengrass.UpdateFunctionDefinition+-- 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)+--+-- Updates a Lambda function definition.+module Network.AWS.Greengrass.UpdateFunctionDefinition+    (+    -- * Creating a Request+      updateFunctionDefinition+    , UpdateFunctionDefinition+    -- * Request Lenses+    , ufdName+    , ufdFunctionDefinitionId++    -- * Destructuring the Response+    , updateFunctionDefinitionResponse+    , UpdateFunctionDefinitionResponse+    -- * Response Lenses+    , ufdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateFunctionDefinition' smart constructor.+data UpdateFunctionDefinition = UpdateFunctionDefinition'+  { _ufdName                 :: !(Maybe Text)+  , _ufdFunctionDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateFunctionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufdName' - name of the definition+--+-- * 'ufdFunctionDefinitionId' - the unique Id of the lambda definition+updateFunctionDefinition+    :: Text -- ^ 'ufdFunctionDefinitionId'+    -> UpdateFunctionDefinition+updateFunctionDefinition pFunctionDefinitionId_ =+  UpdateFunctionDefinition'+  {_ufdName = Nothing, _ufdFunctionDefinitionId = pFunctionDefinitionId_}+++-- | name of the definition+ufdName :: Lens' UpdateFunctionDefinition (Maybe Text)+ufdName = lens _ufdName (\ s a -> s{_ufdName = a});++-- | the unique Id of the lambda definition+ufdFunctionDefinitionId :: Lens' UpdateFunctionDefinition Text+ufdFunctionDefinitionId = lens _ufdFunctionDefinitionId (\ s a -> s{_ufdFunctionDefinitionId = a});++instance AWSRequest UpdateFunctionDefinition where+        type Rs UpdateFunctionDefinition =+             UpdateFunctionDefinitionResponse+        request = putJSON greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateFunctionDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateFunctionDefinition where++instance NFData UpdateFunctionDefinition where++instance ToHeaders UpdateFunctionDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateFunctionDefinition where+        toJSON UpdateFunctionDefinition'{..}+          = object (catMaybes [("Name" .=) <$> _ufdName])++instance ToPath UpdateFunctionDefinition where+        toPath UpdateFunctionDefinition'{..}+          = mconcat+              ["/greengrass/definition/functions/",+               toBS _ufdFunctionDefinitionId]++instance ToQuery UpdateFunctionDefinition where+        toQuery = const mempty++-- | /See:/ 'updateFunctionDefinitionResponse' smart constructor.+newtype UpdateFunctionDefinitionResponse = UpdateFunctionDefinitionResponse'+  { _ufdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateFunctionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufdrsResponseStatus' - -- | The response status code.+updateFunctionDefinitionResponse+    :: Int -- ^ 'ufdrsResponseStatus'+    -> UpdateFunctionDefinitionResponse+updateFunctionDefinitionResponse pResponseStatus_ =+  UpdateFunctionDefinitionResponse' {_ufdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ufdrsResponseStatus :: Lens' UpdateFunctionDefinitionResponse Int+ufdrsResponseStatus = lens _ufdrsResponseStatus (\ s a -> s{_ufdrsResponseStatus = a});++instance NFData UpdateFunctionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/UpdateGroup.hs view
@@ -0,0 +1,125 @@+{-# 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.Greengrass.UpdateGroup+-- 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)+--+-- Updates a group.+module Network.AWS.Greengrass.UpdateGroup+    (+    -- * Creating a Request+      updateGroup+    , UpdateGroup+    -- * Request Lenses+    , ugName+    , ugGroupId++    -- * Destructuring the Response+    , updateGroupResponse+    , UpdateGroupResponse+    -- * Response Lenses+    , ugrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateGroup' smart constructor.+data UpdateGroup = UpdateGroup'+  { _ugName    :: !(Maybe Text)+  , _ugGroupId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugName' - name of the definition+--+-- * 'ugGroupId' - The unique Id of the AWS Greengrass Group+updateGroup+    :: Text -- ^ 'ugGroupId'+    -> UpdateGroup+updateGroup pGroupId_ = UpdateGroup' {_ugName = Nothing, _ugGroupId = pGroupId_}+++-- | name of the definition+ugName :: Lens' UpdateGroup (Maybe Text)+ugName = lens _ugName (\ s a -> s{_ugName = a});++-- | The unique Id of the AWS Greengrass Group+ugGroupId :: Lens' UpdateGroup Text+ugGroupId = lens _ugGroupId (\ s a -> s{_ugGroupId = a});++instance AWSRequest UpdateGroup where+        type Rs UpdateGroup = UpdateGroupResponse+        request = putJSON greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateGroupResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateGroup where++instance NFData UpdateGroup where++instance ToHeaders UpdateGroup where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateGroup where+        toJSON UpdateGroup'{..}+          = object (catMaybes [("Name" .=) <$> _ugName])++instance ToPath UpdateGroup where+        toPath UpdateGroup'{..}+          = mconcat ["/greengrass/groups/", toBS _ugGroupId]++instance ToQuery UpdateGroup where+        toQuery = const mempty++-- | /See:/ 'updateGroupResponse' smart constructor.+newtype UpdateGroupResponse = UpdateGroupResponse'+  { _ugrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugrsResponseStatus' - -- | The response status code.+updateGroupResponse+    :: Int -- ^ 'ugrsResponseStatus'+    -> UpdateGroupResponse+updateGroupResponse pResponseStatus_ =+  UpdateGroupResponse' {_ugrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ugrsResponseStatus :: Lens' UpdateGroupResponse Int+ugrsResponseStatus = lens _ugrsResponseStatus (\ s a -> s{_ugrsResponseStatus = a});++instance NFData UpdateGroupResponse where
+ gen/Network/AWS/Greengrass/UpdateGroupCertificateConfiguration.hs view
@@ -0,0 +1,177 @@+{-# 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.Greengrass.UpdateGroupCertificateConfiguration+-- 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)+--+-- Updates the Cert expiry time for a group.+module Network.AWS.Greengrass.UpdateGroupCertificateConfiguration+    (+    -- * Creating a Request+      updateGroupCertificateConfiguration+    , UpdateGroupCertificateConfiguration+    -- * Request Lenses+    , ugccCertificateExpiryInMilliseconds+    , ugccGroupId++    -- * Destructuring the Response+    , updateGroupCertificateConfigurationResponse+    , UpdateGroupCertificateConfigurationResponse+    -- * Response Lenses+    , ugccrsCertificateAuthorityExpiryInMilliseconds+    , ugccrsGroupId+    , ugccrsCertificateExpiryInMilliseconds+    , ugccrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateGroupCertificateConfiguration' smart constructor.+data UpdateGroupCertificateConfiguration = UpdateGroupCertificateConfiguration'+  { _ugccCertificateExpiryInMilliseconds :: !(Maybe Text)+  , _ugccGroupId                         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGroupCertificateConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugccCertificateExpiryInMilliseconds' - Amount of time when the certificate expires in milliseconds.+--+-- * 'ugccGroupId' - The unique Id of the AWS Greengrass Group+updateGroupCertificateConfiguration+    :: Text -- ^ 'ugccGroupId'+    -> UpdateGroupCertificateConfiguration+updateGroupCertificateConfiguration pGroupId_ =+  UpdateGroupCertificateConfiguration'+  {_ugccCertificateExpiryInMilliseconds = Nothing, _ugccGroupId = pGroupId_}+++-- | Amount of time when the certificate expires in milliseconds.+ugccCertificateExpiryInMilliseconds :: Lens' UpdateGroupCertificateConfiguration (Maybe Text)+ugccCertificateExpiryInMilliseconds = lens _ugccCertificateExpiryInMilliseconds (\ s a -> s{_ugccCertificateExpiryInMilliseconds = a});++-- | The unique Id of the AWS Greengrass Group+ugccGroupId :: Lens' UpdateGroupCertificateConfiguration Text+ugccGroupId = lens _ugccGroupId (\ s a -> s{_ugccGroupId = a});++instance AWSRequest+           UpdateGroupCertificateConfiguration+         where+        type Rs UpdateGroupCertificateConfiguration =+             UpdateGroupCertificateConfigurationResponse+        request = putJSON greengrass+        response+          = receiveJSON+              (\ s h x ->+                 UpdateGroupCertificateConfigurationResponse' <$>+                   (x .?> "CertificateAuthorityExpiryInMilliseconds")+                     <*> (x .?> "GroupId")+                     <*> (x .?> "CertificateExpiryInMilliseconds")+                     <*> (pure (fromEnum s)))++instance Hashable UpdateGroupCertificateConfiguration+         where++instance NFData UpdateGroupCertificateConfiguration+         where++instance ToHeaders+           UpdateGroupCertificateConfiguration+         where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateGroupCertificateConfiguration+         where+        toJSON UpdateGroupCertificateConfiguration'{..}+          = object+              (catMaybes+                 [("CertificateExpiryInMilliseconds" .=) <$>+                    _ugccCertificateExpiryInMilliseconds])++instance ToPath UpdateGroupCertificateConfiguration+         where+        toPath UpdateGroupCertificateConfiguration'{..}+          = mconcat+              ["/greengrass/groups/", toBS _ugccGroupId,+               "/certificateauthorities/configuration/expiry"]++instance ToQuery UpdateGroupCertificateConfiguration+         where+        toQuery = const mempty++-- | /See:/ 'updateGroupCertificateConfigurationResponse' smart constructor.+data UpdateGroupCertificateConfigurationResponse = UpdateGroupCertificateConfigurationResponse'+  { _ugccrsCertificateAuthorityExpiryInMilliseconds :: !(Maybe Text)+  , _ugccrsGroupId                                  :: !(Maybe Text)+  , _ugccrsCertificateExpiryInMilliseconds          :: !(Maybe Text)+  , _ugccrsResponseStatus                           :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGroupCertificateConfigurationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugccrsCertificateAuthorityExpiryInMilliseconds' - Amount of time when the certificate authority expires in milliseconds.+--+-- * 'ugccrsGroupId' - Id of the group the certificate configuration belongs to.+--+-- * 'ugccrsCertificateExpiryInMilliseconds' - Amount of time when the certificate expires in milliseconds.+--+-- * 'ugccrsResponseStatus' - -- | The response status code.+updateGroupCertificateConfigurationResponse+    :: Int -- ^ 'ugccrsResponseStatus'+    -> UpdateGroupCertificateConfigurationResponse+updateGroupCertificateConfigurationResponse pResponseStatus_ =+  UpdateGroupCertificateConfigurationResponse'+  { _ugccrsCertificateAuthorityExpiryInMilliseconds = Nothing+  , _ugccrsGroupId = Nothing+  , _ugccrsCertificateExpiryInMilliseconds = Nothing+  , _ugccrsResponseStatus = pResponseStatus_+  }+++-- | Amount of time when the certificate authority expires in milliseconds.+ugccrsCertificateAuthorityExpiryInMilliseconds :: Lens' UpdateGroupCertificateConfigurationResponse (Maybe Text)+ugccrsCertificateAuthorityExpiryInMilliseconds = lens _ugccrsCertificateAuthorityExpiryInMilliseconds (\ s a -> s{_ugccrsCertificateAuthorityExpiryInMilliseconds = a});++-- | Id of the group the certificate configuration belongs to.+ugccrsGroupId :: Lens' UpdateGroupCertificateConfigurationResponse (Maybe Text)+ugccrsGroupId = lens _ugccrsGroupId (\ s a -> s{_ugccrsGroupId = a});++-- | Amount of time when the certificate expires in milliseconds.+ugccrsCertificateExpiryInMilliseconds :: Lens' UpdateGroupCertificateConfigurationResponse (Maybe Text)+ugccrsCertificateExpiryInMilliseconds = lens _ugccrsCertificateExpiryInMilliseconds (\ s a -> s{_ugccrsCertificateExpiryInMilliseconds = a});++-- | -- | The response status code.+ugccrsResponseStatus :: Lens' UpdateGroupCertificateConfigurationResponse Int+ugccrsResponseStatus = lens _ugccrsResponseStatus (\ s a -> s{_ugccrsResponseStatus = a});++instance NFData+           UpdateGroupCertificateConfigurationResponse+         where
+ gen/Network/AWS/Greengrass/UpdateLoggerDefinition.hs view
@@ -0,0 +1,131 @@+{-# 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.Greengrass.UpdateLoggerDefinition+-- 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)+--+-- Updates a logger definition.+module Network.AWS.Greengrass.UpdateLoggerDefinition+    (+    -- * Creating a Request+      updateLoggerDefinition+    , UpdateLoggerDefinition+    -- * Request Lenses+    , uldName+    , uldLoggerDefinitionId++    -- * Destructuring the Response+    , updateLoggerDefinitionResponse+    , UpdateLoggerDefinitionResponse+    -- * Response Lenses+    , uldrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateLoggerDefinition' smart constructor.+data UpdateLoggerDefinition = UpdateLoggerDefinition'+  { _uldName               :: !(Maybe Text)+  , _uldLoggerDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateLoggerDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uldName' - name of the definition+--+-- * 'uldLoggerDefinitionId' - logger definition Id+updateLoggerDefinition+    :: Text -- ^ 'uldLoggerDefinitionId'+    -> UpdateLoggerDefinition+updateLoggerDefinition pLoggerDefinitionId_ =+  UpdateLoggerDefinition'+  {_uldName = Nothing, _uldLoggerDefinitionId = pLoggerDefinitionId_}+++-- | name of the definition+uldName :: Lens' UpdateLoggerDefinition (Maybe Text)+uldName = lens _uldName (\ s a -> s{_uldName = a});++-- | logger definition Id+uldLoggerDefinitionId :: Lens' UpdateLoggerDefinition Text+uldLoggerDefinitionId = lens _uldLoggerDefinitionId (\ s a -> s{_uldLoggerDefinitionId = a});++instance AWSRequest UpdateLoggerDefinition where+        type Rs UpdateLoggerDefinition =+             UpdateLoggerDefinitionResponse+        request = putJSON greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateLoggerDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateLoggerDefinition where++instance NFData UpdateLoggerDefinition where++instance ToHeaders UpdateLoggerDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateLoggerDefinition where+        toJSON UpdateLoggerDefinition'{..}+          = object (catMaybes [("Name" .=) <$> _uldName])++instance ToPath UpdateLoggerDefinition where+        toPath UpdateLoggerDefinition'{..}+          = mconcat+              ["/greengrass/definition/loggers/",+               toBS _uldLoggerDefinitionId]++instance ToQuery UpdateLoggerDefinition where+        toQuery = const mempty++-- | /See:/ 'updateLoggerDefinitionResponse' smart constructor.+newtype UpdateLoggerDefinitionResponse = UpdateLoggerDefinitionResponse'+  { _uldrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateLoggerDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uldrsResponseStatus' - -- | The response status code.+updateLoggerDefinitionResponse+    :: Int -- ^ 'uldrsResponseStatus'+    -> UpdateLoggerDefinitionResponse+updateLoggerDefinitionResponse pResponseStatus_ =+  UpdateLoggerDefinitionResponse' {_uldrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+uldrsResponseStatus :: Lens' UpdateLoggerDefinitionResponse Int+uldrsResponseStatus = lens _uldrsResponseStatus (\ s a -> s{_uldrsResponseStatus = a});++instance NFData UpdateLoggerDefinitionResponse where
+ gen/Network/AWS/Greengrass/UpdateSubscriptionDefinition.hs view
@@ -0,0 +1,136 @@+{-# 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.Greengrass.UpdateSubscriptionDefinition+-- 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)+--+-- Updates a subscription definition.+module Network.AWS.Greengrass.UpdateSubscriptionDefinition+    (+    -- * Creating a Request+      updateSubscriptionDefinition+    , UpdateSubscriptionDefinition+    -- * Request Lenses+    , usdName+    , usdSubscriptionDefinitionId++    -- * Destructuring the Response+    , updateSubscriptionDefinitionResponse+    , UpdateSubscriptionDefinitionResponse+    -- * Response Lenses+    , usdrsResponseStatus+    ) where++import Network.AWS.Greengrass.Types+import Network.AWS.Greengrass.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateSubscriptionDefinition' smart constructor.+data UpdateSubscriptionDefinition = UpdateSubscriptionDefinition'+  { _usdName                     :: !(Maybe Text)+  , _usdSubscriptionDefinitionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateSubscriptionDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usdName' - name of the definition+--+-- * 'usdSubscriptionDefinitionId' - subscription definition Id+updateSubscriptionDefinition+    :: Text -- ^ 'usdSubscriptionDefinitionId'+    -> UpdateSubscriptionDefinition+updateSubscriptionDefinition pSubscriptionDefinitionId_ =+  UpdateSubscriptionDefinition'+  { _usdName = Nothing+  , _usdSubscriptionDefinitionId = pSubscriptionDefinitionId_+  }+++-- | name of the definition+usdName :: Lens' UpdateSubscriptionDefinition (Maybe Text)+usdName = lens _usdName (\ s a -> s{_usdName = a});++-- | subscription definition Id+usdSubscriptionDefinitionId :: Lens' UpdateSubscriptionDefinition Text+usdSubscriptionDefinitionId = lens _usdSubscriptionDefinitionId (\ s a -> s{_usdSubscriptionDefinitionId = a});++instance AWSRequest UpdateSubscriptionDefinition+         where+        type Rs UpdateSubscriptionDefinition =+             UpdateSubscriptionDefinitionResponse+        request = putJSON greengrass+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateSubscriptionDefinitionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateSubscriptionDefinition where++instance NFData UpdateSubscriptionDefinition where++instance ToHeaders UpdateSubscriptionDefinition where+        toHeaders+          = const+              (mconcat+                 ["Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateSubscriptionDefinition where+        toJSON UpdateSubscriptionDefinition'{..}+          = object (catMaybes [("Name" .=) <$> _usdName])++instance ToPath UpdateSubscriptionDefinition where+        toPath UpdateSubscriptionDefinition'{..}+          = mconcat+              ["/greengrass/definition/subscriptions/",+               toBS _usdSubscriptionDefinitionId]++instance ToQuery UpdateSubscriptionDefinition where+        toQuery = const mempty++-- | /See:/ 'updateSubscriptionDefinitionResponse' smart constructor.+newtype UpdateSubscriptionDefinitionResponse = UpdateSubscriptionDefinitionResponse'+  { _usdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateSubscriptionDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usdrsResponseStatus' - -- | The response status code.+updateSubscriptionDefinitionResponse+    :: Int -- ^ 'usdrsResponseStatus'+    -> UpdateSubscriptionDefinitionResponse+updateSubscriptionDefinitionResponse pResponseStatus_ =+  UpdateSubscriptionDefinitionResponse'+  {_usdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+usdrsResponseStatus :: Lens' UpdateSubscriptionDefinitionResponse Int+usdrsResponseStatus = lens _usdrsResponseStatus (\ s a -> s{_usdrsResponseStatus = a});++instance NFData UpdateSubscriptionDefinitionResponse+         where
+ gen/Network/AWS/Greengrass/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.Greengrass.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.Greengrass.Waiters where++import Network.AWS.Greengrass.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-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.Greengrass+import Test.AWS.Greengrass.Internal++main :: IO ()+main = defaultMain $ testGroup "Greengrass"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/Greengrass.hs view
@@ -0,0 +1,1209 @@+{-# 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.Greengrass+-- 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.Greengrass where++import Data.Proxy+import Network.AWS.Greengrass+import Test.AWS.Fixture+import Test.AWS.Greengrass.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"+--         [ requestGetGroupCertificateConfiguration $+--             getGroupCertificateConfiguration+--+--         , requestListGroupVersions $+--             listGroupVersions+--+--         , requestListFunctionDefinitionVersions $+--             listFunctionDefinitionVersions+--+--         , requestListDeviceDefinitions $+--             listDeviceDefinitions+--+--         , requestAssociateRoleToGroup $+--             associateRoleToGroup+--+--         , requestUpdateCoreDefinition $+--             updateCoreDefinition+--+--         , requestDeleteCoreDefinition $+--             deleteCoreDefinition+--+--         , requestGetLoggerDefinition $+--             getLoggerDefinition+--+--         , requestListGroupCertificateAuthorities $+--             listGroupCertificateAuthorities+--+--         , requestDisassociateRoleFromGroup $+--             disassociateRoleFromGroup+--+--         , requestUpdateSubscriptionDefinition $+--             updateSubscriptionDefinition+--+--         , requestDeleteSubscriptionDefinition $+--             deleteSubscriptionDefinition+--+--         , requestListCoreDefinitions $+--             listCoreDefinitions+--+--         , requestListSubscriptionDefinitions $+--             listSubscriptionDefinitions+--+--         , requestCreateGroupCertificateAuthority $+--             createGroupCertificateAuthority+--+--         , requestCreateLoggerDefinitionVersion $+--             createLoggerDefinitionVersion+--+--         , requestCreateCoreDefinition $+--             createCoreDefinition+--+--         , requestUpdateConnectivityInfo $+--             updateConnectivityInfo+--+--         , requestCreateSubscriptionDefinition $+--             createSubscriptionDefinition+--+--         , requestGetGroupCertificateAuthority $+--             getGroupCertificateAuthority+--+--         , requestGetLoggerDefinitionVersion $+--             getLoggerDefinitionVersion+--+--         , requestGetServiceRoleForAccount $+--             getServiceRoleForAccount+--+--         , requestCreateLoggerDefinition $+--             createLoggerDefinition+--+--         , requestGetConnectivityInfo $+--             getConnectivityInfo+--+--         , requestCreateDeployment $+--             createDeployment+--+--         , requestDeleteLoggerDefinition $+--             deleteLoggerDefinition+--+--         , requestUpdateLoggerDefinition $+--             updateLoggerDefinition+--+--         , requestGetSubscriptionDefinition $+--             getSubscriptionDefinition+--+--         , requestGetCoreDefinition $+--             getCoreDefinition+--+--         , requestGetDeploymentStatus $+--             getDeploymentStatus+--+--         , requestUpdateFunctionDefinition $+--             updateFunctionDefinition+--+--         , requestDeleteFunctionDefinition $+--             deleteFunctionDefinition+--+--         , requestDisassociateServiceRoleFromAccount $+--             disassociateServiceRoleFromAccount+--+--         , requestDeleteDeviceDefinition $+--             deleteDeviceDefinition+--+--         , requestUpdateDeviceDefinition $+--             updateDeviceDefinition+--+--         , requestAssociateServiceRoleToAccount $+--             associateServiceRoleToAccount+--+--         , requestResetDeployments $+--             resetDeployments+--+--         , requestGetSubscriptionDefinitionVersion $+--             getSubscriptionDefinitionVersion+--+--         , requestGetAssociatedRole $+--             getAssociatedRole+--+--         , requestListLoggerDefinitionVersions $+--             listLoggerDefinitionVersions+--+--         , requestGetCoreDefinitionVersion $+--             getCoreDefinitionVersion+--+--         , requestListSubscriptionDefinitionVersions $+--             listSubscriptionDefinitionVersions+--+--         , requestListCoreDefinitionVersions $+--             listCoreDefinitionVersions+--+--         , requestCreateCoreDefinitionVersion $+--             createCoreDefinitionVersion+--+--         , requestListDeployments $+--             listDeployments+--+--         , requestListLoggerDefinitions $+--             listLoggerDefinitions+--+--         , requestCreateSubscriptionDefinitionVersion $+--             createSubscriptionDefinitionVersion+--+--         , requestGetGroupVersion $+--             getGroupVersion+--+--         , requestUpdateGroupCertificateConfiguration $+--             updateGroupCertificateConfiguration+--+--         , requestGetFunctionDefinitionVersion $+--             getFunctionDefinitionVersion+--+--         , requestGetDeviceDefinition $+--             getDeviceDefinition+--+--         , requestCreateGroup $+--             createGroup+--+--         , requestCreateFunctionDefinition $+--             createFunctionDefinition+--+--         , requestCreateDeviceDefinitionVersion $+--             createDeviceDefinitionVersion+--+--         , requestDeleteGroup $+--             deleteGroup+--+--         , requestUpdateGroup $+--             updateGroup+--+--         , requestListGroups $+--             listGroups+--+--         , requestListDeviceDefinitionVersions $+--             listDeviceDefinitionVersions+--+--         , requestListFunctionDefinitions $+--             listFunctionDefinitions+--+--         , requestGetFunctionDefinition $+--             getFunctionDefinition+--+--         , requestGetGroup $+--             getGroup+--+--         , requestCreateDeviceDefinition $+--             createDeviceDefinition+--+--         , requestCreateGroupVersion $+--             createGroupVersion+--+--         , requestCreateFunctionDefinitionVersion $+--             createFunctionDefinitionVersion+--+--         , requestGetDeviceDefinitionVersion $+--             getDeviceDefinitionVersion+--+--           ]++--     , testGroup "response"+--         [ responseGetGroupCertificateConfiguration $+--             getGroupCertificateConfigurationResponse+--+--         , responseListGroupVersions $+--             listGroupVersionsResponse+--+--         , responseListFunctionDefinitionVersions $+--             listFunctionDefinitionVersionsResponse+--+--         , responseListDeviceDefinitions $+--             listDeviceDefinitionsResponse+--+--         , responseAssociateRoleToGroup $+--             associateRoleToGroupResponse+--+--         , responseUpdateCoreDefinition $+--             updateCoreDefinitionResponse+--+--         , responseDeleteCoreDefinition $+--             deleteCoreDefinitionResponse+--+--         , responseGetLoggerDefinition $+--             getLoggerDefinitionResponse+--+--         , responseListGroupCertificateAuthorities $+--             listGroupCertificateAuthoritiesResponse+--+--         , responseDisassociateRoleFromGroup $+--             disassociateRoleFromGroupResponse+--+--         , responseUpdateSubscriptionDefinition $+--             updateSubscriptionDefinitionResponse+--+--         , responseDeleteSubscriptionDefinition $+--             deleteSubscriptionDefinitionResponse+--+--         , responseListCoreDefinitions $+--             listCoreDefinitionsResponse+--+--         , responseListSubscriptionDefinitions $+--             listSubscriptionDefinitionsResponse+--+--         , responseCreateGroupCertificateAuthority $+--             createGroupCertificateAuthorityResponse+--+--         , responseCreateLoggerDefinitionVersion $+--             createLoggerDefinitionVersionResponse+--+--         , responseCreateCoreDefinition $+--             createCoreDefinitionResponse+--+--         , responseUpdateConnectivityInfo $+--             updateConnectivityInfoResponse+--+--         , responseCreateSubscriptionDefinition $+--             createSubscriptionDefinitionResponse+--+--         , responseGetGroupCertificateAuthority $+--             getGroupCertificateAuthorityResponse+--+--         , responseGetLoggerDefinitionVersion $+--             getLoggerDefinitionVersionResponse+--+--         , responseGetServiceRoleForAccount $+--             getServiceRoleForAccountResponse+--+--         , responseCreateLoggerDefinition $+--             createLoggerDefinitionResponse+--+--         , responseGetConnectivityInfo $+--             getConnectivityInfoResponse+--+--         , responseCreateDeployment $+--             createDeploymentResponse+--+--         , responseDeleteLoggerDefinition $+--             deleteLoggerDefinitionResponse+--+--         , responseUpdateLoggerDefinition $+--             updateLoggerDefinitionResponse+--+--         , responseGetSubscriptionDefinition $+--             getSubscriptionDefinitionResponse+--+--         , responseGetCoreDefinition $+--             getCoreDefinitionResponse+--+--         , responseGetDeploymentStatus $+--             getDeploymentStatusResponse+--+--         , responseUpdateFunctionDefinition $+--             updateFunctionDefinitionResponse+--+--         , responseDeleteFunctionDefinition $+--             deleteFunctionDefinitionResponse+--+--         , responseDisassociateServiceRoleFromAccount $+--             disassociateServiceRoleFromAccountResponse+--+--         , responseDeleteDeviceDefinition $+--             deleteDeviceDefinitionResponse+--+--         , responseUpdateDeviceDefinition $+--             updateDeviceDefinitionResponse+--+--         , responseAssociateServiceRoleToAccount $+--             associateServiceRoleToAccountResponse+--+--         , responseResetDeployments $+--             resetDeploymentsResponse+--+--         , responseGetSubscriptionDefinitionVersion $+--             getSubscriptionDefinitionVersionResponse+--+--         , responseGetAssociatedRole $+--             getAssociatedRoleResponse+--+--         , responseListLoggerDefinitionVersions $+--             listLoggerDefinitionVersionsResponse+--+--         , responseGetCoreDefinitionVersion $+--             getCoreDefinitionVersionResponse+--+--         , responseListSubscriptionDefinitionVersions $+--             listSubscriptionDefinitionVersionsResponse+--+--         , responseListCoreDefinitionVersions $+--             listCoreDefinitionVersionsResponse+--+--         , responseCreateCoreDefinitionVersion $+--             createCoreDefinitionVersionResponse+--+--         , responseListDeployments $+--             listDeploymentsResponse+--+--         , responseListLoggerDefinitions $+--             listLoggerDefinitionsResponse+--+--         , responseCreateSubscriptionDefinitionVersion $+--             createSubscriptionDefinitionVersionResponse+--+--         , responseGetGroupVersion $+--             getGroupVersionResponse+--+--         , responseUpdateGroupCertificateConfiguration $+--             updateGroupCertificateConfigurationResponse+--+--         , responseGetFunctionDefinitionVersion $+--             getFunctionDefinitionVersionResponse+--+--         , responseGetDeviceDefinition $+--             getDeviceDefinitionResponse+--+--         , responseCreateGroup $+--             createGroupResponse+--+--         , responseCreateFunctionDefinition $+--             createFunctionDefinitionResponse+--+--         , responseCreateDeviceDefinitionVersion $+--             createDeviceDefinitionVersionResponse+--+--         , responseDeleteGroup $+--             deleteGroupResponse+--+--         , responseUpdateGroup $+--             updateGroupResponse+--+--         , responseListGroups $+--             listGroupsResponse+--+--         , responseListDeviceDefinitionVersions $+--             listDeviceDefinitionVersionsResponse+--+--         , responseListFunctionDefinitions $+--             listFunctionDefinitionsResponse+--+--         , responseGetFunctionDefinition $+--             getFunctionDefinitionResponse+--+--         , responseGetGroup $+--             getGroupResponse+--+--         , responseCreateDeviceDefinition $+--             createDeviceDefinitionResponse+--+--         , responseCreateGroupVersion $+--             createGroupVersionResponse+--+--         , responseCreateFunctionDefinitionVersion $+--             createFunctionDefinitionVersionResponse+--+--         , responseGetDeviceDefinitionVersion $+--             getDeviceDefinitionVersionResponse+--+--           ]+--     ]++-- Requests++requestGetGroupCertificateConfiguration :: GetGroupCertificateConfiguration -> TestTree+requestGetGroupCertificateConfiguration = req+    "GetGroupCertificateConfiguration"+    "fixture/GetGroupCertificateConfiguration.yaml"++requestListGroupVersions :: ListGroupVersions -> TestTree+requestListGroupVersions = req+    "ListGroupVersions"+    "fixture/ListGroupVersions.yaml"++requestListFunctionDefinitionVersions :: ListFunctionDefinitionVersions -> TestTree+requestListFunctionDefinitionVersions = req+    "ListFunctionDefinitionVersions"+    "fixture/ListFunctionDefinitionVersions.yaml"++requestListDeviceDefinitions :: ListDeviceDefinitions -> TestTree+requestListDeviceDefinitions = req+    "ListDeviceDefinitions"+    "fixture/ListDeviceDefinitions.yaml"++requestAssociateRoleToGroup :: AssociateRoleToGroup -> TestTree+requestAssociateRoleToGroup = req+    "AssociateRoleToGroup"+    "fixture/AssociateRoleToGroup.yaml"++requestUpdateCoreDefinition :: UpdateCoreDefinition -> TestTree+requestUpdateCoreDefinition = req+    "UpdateCoreDefinition"+    "fixture/UpdateCoreDefinition.yaml"++requestDeleteCoreDefinition :: DeleteCoreDefinition -> TestTree+requestDeleteCoreDefinition = req+    "DeleteCoreDefinition"+    "fixture/DeleteCoreDefinition.yaml"++requestGetLoggerDefinition :: GetLoggerDefinition -> TestTree+requestGetLoggerDefinition = req+    "GetLoggerDefinition"+    "fixture/GetLoggerDefinition.yaml"++requestListGroupCertificateAuthorities :: ListGroupCertificateAuthorities -> TestTree+requestListGroupCertificateAuthorities = req+    "ListGroupCertificateAuthorities"+    "fixture/ListGroupCertificateAuthorities.yaml"++requestDisassociateRoleFromGroup :: DisassociateRoleFromGroup -> TestTree+requestDisassociateRoleFromGroup = req+    "DisassociateRoleFromGroup"+    "fixture/DisassociateRoleFromGroup.yaml"++requestUpdateSubscriptionDefinition :: UpdateSubscriptionDefinition -> TestTree+requestUpdateSubscriptionDefinition = req+    "UpdateSubscriptionDefinition"+    "fixture/UpdateSubscriptionDefinition.yaml"++requestDeleteSubscriptionDefinition :: DeleteSubscriptionDefinition -> TestTree+requestDeleteSubscriptionDefinition = req+    "DeleteSubscriptionDefinition"+    "fixture/DeleteSubscriptionDefinition.yaml"++requestListCoreDefinitions :: ListCoreDefinitions -> TestTree+requestListCoreDefinitions = req+    "ListCoreDefinitions"+    "fixture/ListCoreDefinitions.yaml"++requestListSubscriptionDefinitions :: ListSubscriptionDefinitions -> TestTree+requestListSubscriptionDefinitions = req+    "ListSubscriptionDefinitions"+    "fixture/ListSubscriptionDefinitions.yaml"++requestCreateGroupCertificateAuthority :: CreateGroupCertificateAuthority -> TestTree+requestCreateGroupCertificateAuthority = req+    "CreateGroupCertificateAuthority"+    "fixture/CreateGroupCertificateAuthority.yaml"++requestCreateLoggerDefinitionVersion :: CreateLoggerDefinitionVersion -> TestTree+requestCreateLoggerDefinitionVersion = req+    "CreateLoggerDefinitionVersion"+    "fixture/CreateLoggerDefinitionVersion.yaml"++requestCreateCoreDefinition :: CreateCoreDefinition -> TestTree+requestCreateCoreDefinition = req+    "CreateCoreDefinition"+    "fixture/CreateCoreDefinition.yaml"++requestUpdateConnectivityInfo :: UpdateConnectivityInfo -> TestTree+requestUpdateConnectivityInfo = req+    "UpdateConnectivityInfo"+    "fixture/UpdateConnectivityInfo.yaml"++requestCreateSubscriptionDefinition :: CreateSubscriptionDefinition -> TestTree+requestCreateSubscriptionDefinition = req+    "CreateSubscriptionDefinition"+    "fixture/CreateSubscriptionDefinition.yaml"++requestGetGroupCertificateAuthority :: GetGroupCertificateAuthority -> TestTree+requestGetGroupCertificateAuthority = req+    "GetGroupCertificateAuthority"+    "fixture/GetGroupCertificateAuthority.yaml"++requestGetLoggerDefinitionVersion :: GetLoggerDefinitionVersion -> TestTree+requestGetLoggerDefinitionVersion = req+    "GetLoggerDefinitionVersion"+    "fixture/GetLoggerDefinitionVersion.yaml"++requestGetServiceRoleForAccount :: GetServiceRoleForAccount -> TestTree+requestGetServiceRoleForAccount = req+    "GetServiceRoleForAccount"+    "fixture/GetServiceRoleForAccount.yaml"++requestCreateLoggerDefinition :: CreateLoggerDefinition -> TestTree+requestCreateLoggerDefinition = req+    "CreateLoggerDefinition"+    "fixture/CreateLoggerDefinition.yaml"++requestGetConnectivityInfo :: GetConnectivityInfo -> TestTree+requestGetConnectivityInfo = req+    "GetConnectivityInfo"+    "fixture/GetConnectivityInfo.yaml"++requestCreateDeployment :: CreateDeployment -> TestTree+requestCreateDeployment = req+    "CreateDeployment"+    "fixture/CreateDeployment.yaml"++requestDeleteLoggerDefinition :: DeleteLoggerDefinition -> TestTree+requestDeleteLoggerDefinition = req+    "DeleteLoggerDefinition"+    "fixture/DeleteLoggerDefinition.yaml"++requestUpdateLoggerDefinition :: UpdateLoggerDefinition -> TestTree+requestUpdateLoggerDefinition = req+    "UpdateLoggerDefinition"+    "fixture/UpdateLoggerDefinition.yaml"++requestGetSubscriptionDefinition :: GetSubscriptionDefinition -> TestTree+requestGetSubscriptionDefinition = req+    "GetSubscriptionDefinition"+    "fixture/GetSubscriptionDefinition.yaml"++requestGetCoreDefinition :: GetCoreDefinition -> TestTree+requestGetCoreDefinition = req+    "GetCoreDefinition"+    "fixture/GetCoreDefinition.yaml"++requestGetDeploymentStatus :: GetDeploymentStatus -> TestTree+requestGetDeploymentStatus = req+    "GetDeploymentStatus"+    "fixture/GetDeploymentStatus.yaml"++requestUpdateFunctionDefinition :: UpdateFunctionDefinition -> TestTree+requestUpdateFunctionDefinition = req+    "UpdateFunctionDefinition"+    "fixture/UpdateFunctionDefinition.yaml"++requestDeleteFunctionDefinition :: DeleteFunctionDefinition -> TestTree+requestDeleteFunctionDefinition = req+    "DeleteFunctionDefinition"+    "fixture/DeleteFunctionDefinition.yaml"++requestDisassociateServiceRoleFromAccount :: DisassociateServiceRoleFromAccount -> TestTree+requestDisassociateServiceRoleFromAccount = req+    "DisassociateServiceRoleFromAccount"+    "fixture/DisassociateServiceRoleFromAccount.yaml"++requestDeleteDeviceDefinition :: DeleteDeviceDefinition -> TestTree+requestDeleteDeviceDefinition = req+    "DeleteDeviceDefinition"+    "fixture/DeleteDeviceDefinition.yaml"++requestUpdateDeviceDefinition :: UpdateDeviceDefinition -> TestTree+requestUpdateDeviceDefinition = req+    "UpdateDeviceDefinition"+    "fixture/UpdateDeviceDefinition.yaml"++requestAssociateServiceRoleToAccount :: AssociateServiceRoleToAccount -> TestTree+requestAssociateServiceRoleToAccount = req+    "AssociateServiceRoleToAccount"+    "fixture/AssociateServiceRoleToAccount.yaml"++requestResetDeployments :: ResetDeployments -> TestTree+requestResetDeployments = req+    "ResetDeployments"+    "fixture/ResetDeployments.yaml"++requestGetSubscriptionDefinitionVersion :: GetSubscriptionDefinitionVersion -> TestTree+requestGetSubscriptionDefinitionVersion = req+    "GetSubscriptionDefinitionVersion"+    "fixture/GetSubscriptionDefinitionVersion.yaml"++requestGetAssociatedRole :: GetAssociatedRole -> TestTree+requestGetAssociatedRole = req+    "GetAssociatedRole"+    "fixture/GetAssociatedRole.yaml"++requestListLoggerDefinitionVersions :: ListLoggerDefinitionVersions -> TestTree+requestListLoggerDefinitionVersions = req+    "ListLoggerDefinitionVersions"+    "fixture/ListLoggerDefinitionVersions.yaml"++requestGetCoreDefinitionVersion :: GetCoreDefinitionVersion -> TestTree+requestGetCoreDefinitionVersion = req+    "GetCoreDefinitionVersion"+    "fixture/GetCoreDefinitionVersion.yaml"++requestListSubscriptionDefinitionVersions :: ListSubscriptionDefinitionVersions -> TestTree+requestListSubscriptionDefinitionVersions = req+    "ListSubscriptionDefinitionVersions"+    "fixture/ListSubscriptionDefinitionVersions.yaml"++requestListCoreDefinitionVersions :: ListCoreDefinitionVersions -> TestTree+requestListCoreDefinitionVersions = req+    "ListCoreDefinitionVersions"+    "fixture/ListCoreDefinitionVersions.yaml"++requestCreateCoreDefinitionVersion :: CreateCoreDefinitionVersion -> TestTree+requestCreateCoreDefinitionVersion = req+    "CreateCoreDefinitionVersion"+    "fixture/CreateCoreDefinitionVersion.yaml"++requestListDeployments :: ListDeployments -> TestTree+requestListDeployments = req+    "ListDeployments"+    "fixture/ListDeployments.yaml"++requestListLoggerDefinitions :: ListLoggerDefinitions -> TestTree+requestListLoggerDefinitions = req+    "ListLoggerDefinitions"+    "fixture/ListLoggerDefinitions.yaml"++requestCreateSubscriptionDefinitionVersion :: CreateSubscriptionDefinitionVersion -> TestTree+requestCreateSubscriptionDefinitionVersion = req+    "CreateSubscriptionDefinitionVersion"+    "fixture/CreateSubscriptionDefinitionVersion.yaml"++requestGetGroupVersion :: GetGroupVersion -> TestTree+requestGetGroupVersion = req+    "GetGroupVersion"+    "fixture/GetGroupVersion.yaml"++requestUpdateGroupCertificateConfiguration :: UpdateGroupCertificateConfiguration -> TestTree+requestUpdateGroupCertificateConfiguration = req+    "UpdateGroupCertificateConfiguration"+    "fixture/UpdateGroupCertificateConfiguration.yaml"++requestGetFunctionDefinitionVersion :: GetFunctionDefinitionVersion -> TestTree+requestGetFunctionDefinitionVersion = req+    "GetFunctionDefinitionVersion"+    "fixture/GetFunctionDefinitionVersion.yaml"++requestGetDeviceDefinition :: GetDeviceDefinition -> TestTree+requestGetDeviceDefinition = req+    "GetDeviceDefinition"+    "fixture/GetDeviceDefinition.yaml"++requestCreateGroup :: CreateGroup -> TestTree+requestCreateGroup = req+    "CreateGroup"+    "fixture/CreateGroup.yaml"++requestCreateFunctionDefinition :: CreateFunctionDefinition -> TestTree+requestCreateFunctionDefinition = req+    "CreateFunctionDefinition"+    "fixture/CreateFunctionDefinition.yaml"++requestCreateDeviceDefinitionVersion :: CreateDeviceDefinitionVersion -> TestTree+requestCreateDeviceDefinitionVersion = req+    "CreateDeviceDefinitionVersion"+    "fixture/CreateDeviceDefinitionVersion.yaml"++requestDeleteGroup :: DeleteGroup -> TestTree+requestDeleteGroup = req+    "DeleteGroup"+    "fixture/DeleteGroup.yaml"++requestUpdateGroup :: UpdateGroup -> TestTree+requestUpdateGroup = req+    "UpdateGroup"+    "fixture/UpdateGroup.yaml"++requestListGroups :: ListGroups -> TestTree+requestListGroups = req+    "ListGroups"+    "fixture/ListGroups.yaml"++requestListDeviceDefinitionVersions :: ListDeviceDefinitionVersions -> TestTree+requestListDeviceDefinitionVersions = req+    "ListDeviceDefinitionVersions"+    "fixture/ListDeviceDefinitionVersions.yaml"++requestListFunctionDefinitions :: ListFunctionDefinitions -> TestTree+requestListFunctionDefinitions = req+    "ListFunctionDefinitions"+    "fixture/ListFunctionDefinitions.yaml"++requestGetFunctionDefinition :: GetFunctionDefinition -> TestTree+requestGetFunctionDefinition = req+    "GetFunctionDefinition"+    "fixture/GetFunctionDefinition.yaml"++requestGetGroup :: GetGroup -> TestTree+requestGetGroup = req+    "GetGroup"+    "fixture/GetGroup.yaml"++requestCreateDeviceDefinition :: CreateDeviceDefinition -> TestTree+requestCreateDeviceDefinition = req+    "CreateDeviceDefinition"+    "fixture/CreateDeviceDefinition.yaml"++requestCreateGroupVersion :: CreateGroupVersion -> TestTree+requestCreateGroupVersion = req+    "CreateGroupVersion"+    "fixture/CreateGroupVersion.yaml"++requestCreateFunctionDefinitionVersion :: CreateFunctionDefinitionVersion -> TestTree+requestCreateFunctionDefinitionVersion = req+    "CreateFunctionDefinitionVersion"+    "fixture/CreateFunctionDefinitionVersion.yaml"++requestGetDeviceDefinitionVersion :: GetDeviceDefinitionVersion -> TestTree+requestGetDeviceDefinitionVersion = req+    "GetDeviceDefinitionVersion"+    "fixture/GetDeviceDefinitionVersion.yaml"++-- Responses++responseGetGroupCertificateConfiguration :: GetGroupCertificateConfigurationResponse -> TestTree+responseGetGroupCertificateConfiguration = res+    "GetGroupCertificateConfigurationResponse"+    "fixture/GetGroupCertificateConfigurationResponse.proto"+    greengrass+    (Proxy :: Proxy GetGroupCertificateConfiguration)++responseListGroupVersions :: ListGroupVersionsResponse -> TestTree+responseListGroupVersions = res+    "ListGroupVersionsResponse"+    "fixture/ListGroupVersionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListGroupVersions)++responseListFunctionDefinitionVersions :: ListFunctionDefinitionVersionsResponse -> TestTree+responseListFunctionDefinitionVersions = res+    "ListFunctionDefinitionVersionsResponse"+    "fixture/ListFunctionDefinitionVersionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListFunctionDefinitionVersions)++responseListDeviceDefinitions :: ListDeviceDefinitionsResponse -> TestTree+responseListDeviceDefinitions = res+    "ListDeviceDefinitionsResponse"+    "fixture/ListDeviceDefinitionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListDeviceDefinitions)++responseAssociateRoleToGroup :: AssociateRoleToGroupResponse -> TestTree+responseAssociateRoleToGroup = res+    "AssociateRoleToGroupResponse"+    "fixture/AssociateRoleToGroupResponse.proto"+    greengrass+    (Proxy :: Proxy AssociateRoleToGroup)++responseUpdateCoreDefinition :: UpdateCoreDefinitionResponse -> TestTree+responseUpdateCoreDefinition = res+    "UpdateCoreDefinitionResponse"+    "fixture/UpdateCoreDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateCoreDefinition)++responseDeleteCoreDefinition :: DeleteCoreDefinitionResponse -> TestTree+responseDeleteCoreDefinition = res+    "DeleteCoreDefinitionResponse"+    "fixture/DeleteCoreDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy DeleteCoreDefinition)++responseGetLoggerDefinition :: GetLoggerDefinitionResponse -> TestTree+responseGetLoggerDefinition = res+    "GetLoggerDefinitionResponse"+    "fixture/GetLoggerDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy GetLoggerDefinition)++responseListGroupCertificateAuthorities :: ListGroupCertificateAuthoritiesResponse -> TestTree+responseListGroupCertificateAuthorities = res+    "ListGroupCertificateAuthoritiesResponse"+    "fixture/ListGroupCertificateAuthoritiesResponse.proto"+    greengrass+    (Proxy :: Proxy ListGroupCertificateAuthorities)++responseDisassociateRoleFromGroup :: DisassociateRoleFromGroupResponse -> TestTree+responseDisassociateRoleFromGroup = res+    "DisassociateRoleFromGroupResponse"+    "fixture/DisassociateRoleFromGroupResponse.proto"+    greengrass+    (Proxy :: Proxy DisassociateRoleFromGroup)++responseUpdateSubscriptionDefinition :: UpdateSubscriptionDefinitionResponse -> TestTree+responseUpdateSubscriptionDefinition = res+    "UpdateSubscriptionDefinitionResponse"+    "fixture/UpdateSubscriptionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateSubscriptionDefinition)++responseDeleteSubscriptionDefinition :: DeleteSubscriptionDefinitionResponse -> TestTree+responseDeleteSubscriptionDefinition = res+    "DeleteSubscriptionDefinitionResponse"+    "fixture/DeleteSubscriptionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy DeleteSubscriptionDefinition)++responseListCoreDefinitions :: ListCoreDefinitionsResponse -> TestTree+responseListCoreDefinitions = res+    "ListCoreDefinitionsResponse"+    "fixture/ListCoreDefinitionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListCoreDefinitions)++responseListSubscriptionDefinitions :: ListSubscriptionDefinitionsResponse -> TestTree+responseListSubscriptionDefinitions = res+    "ListSubscriptionDefinitionsResponse"+    "fixture/ListSubscriptionDefinitionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListSubscriptionDefinitions)++responseCreateGroupCertificateAuthority :: CreateGroupCertificateAuthorityResponse -> TestTree+responseCreateGroupCertificateAuthority = res+    "CreateGroupCertificateAuthorityResponse"+    "fixture/CreateGroupCertificateAuthorityResponse.proto"+    greengrass+    (Proxy :: Proxy CreateGroupCertificateAuthority)++responseCreateLoggerDefinitionVersion :: CreateLoggerDefinitionVersionResponse -> TestTree+responseCreateLoggerDefinitionVersion = res+    "CreateLoggerDefinitionVersionResponse"+    "fixture/CreateLoggerDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateLoggerDefinitionVersion)++responseCreateCoreDefinition :: CreateCoreDefinitionResponse -> TestTree+responseCreateCoreDefinition = res+    "CreateCoreDefinitionResponse"+    "fixture/CreateCoreDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateCoreDefinition)++responseUpdateConnectivityInfo :: UpdateConnectivityInfoResponse -> TestTree+responseUpdateConnectivityInfo = res+    "UpdateConnectivityInfoResponse"+    "fixture/UpdateConnectivityInfoResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateConnectivityInfo)++responseCreateSubscriptionDefinition :: CreateSubscriptionDefinitionResponse -> TestTree+responseCreateSubscriptionDefinition = res+    "CreateSubscriptionDefinitionResponse"+    "fixture/CreateSubscriptionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateSubscriptionDefinition)++responseGetGroupCertificateAuthority :: GetGroupCertificateAuthorityResponse -> TestTree+responseGetGroupCertificateAuthority = res+    "GetGroupCertificateAuthorityResponse"+    "fixture/GetGroupCertificateAuthorityResponse.proto"+    greengrass+    (Proxy :: Proxy GetGroupCertificateAuthority)++responseGetLoggerDefinitionVersion :: GetLoggerDefinitionVersionResponse -> TestTree+responseGetLoggerDefinitionVersion = res+    "GetLoggerDefinitionVersionResponse"+    "fixture/GetLoggerDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy GetLoggerDefinitionVersion)++responseGetServiceRoleForAccount :: GetServiceRoleForAccountResponse -> TestTree+responseGetServiceRoleForAccount = res+    "GetServiceRoleForAccountResponse"+    "fixture/GetServiceRoleForAccountResponse.proto"+    greengrass+    (Proxy :: Proxy GetServiceRoleForAccount)++responseCreateLoggerDefinition :: CreateLoggerDefinitionResponse -> TestTree+responseCreateLoggerDefinition = res+    "CreateLoggerDefinitionResponse"+    "fixture/CreateLoggerDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateLoggerDefinition)++responseGetConnectivityInfo :: GetConnectivityInfoResponse -> TestTree+responseGetConnectivityInfo = res+    "GetConnectivityInfoResponse"+    "fixture/GetConnectivityInfoResponse.proto"+    greengrass+    (Proxy :: Proxy GetConnectivityInfo)++responseCreateDeployment :: CreateDeploymentResponse -> TestTree+responseCreateDeployment = res+    "CreateDeploymentResponse"+    "fixture/CreateDeploymentResponse.proto"+    greengrass+    (Proxy :: Proxy CreateDeployment)++responseDeleteLoggerDefinition :: DeleteLoggerDefinitionResponse -> TestTree+responseDeleteLoggerDefinition = res+    "DeleteLoggerDefinitionResponse"+    "fixture/DeleteLoggerDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy DeleteLoggerDefinition)++responseUpdateLoggerDefinition :: UpdateLoggerDefinitionResponse -> TestTree+responseUpdateLoggerDefinition = res+    "UpdateLoggerDefinitionResponse"+    "fixture/UpdateLoggerDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateLoggerDefinition)++responseGetSubscriptionDefinition :: GetSubscriptionDefinitionResponse -> TestTree+responseGetSubscriptionDefinition = res+    "GetSubscriptionDefinitionResponse"+    "fixture/GetSubscriptionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy GetSubscriptionDefinition)++responseGetCoreDefinition :: GetCoreDefinitionResponse -> TestTree+responseGetCoreDefinition = res+    "GetCoreDefinitionResponse"+    "fixture/GetCoreDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy GetCoreDefinition)++responseGetDeploymentStatus :: GetDeploymentStatusResponse -> TestTree+responseGetDeploymentStatus = res+    "GetDeploymentStatusResponse"+    "fixture/GetDeploymentStatusResponse.proto"+    greengrass+    (Proxy :: Proxy GetDeploymentStatus)++responseUpdateFunctionDefinition :: UpdateFunctionDefinitionResponse -> TestTree+responseUpdateFunctionDefinition = res+    "UpdateFunctionDefinitionResponse"+    "fixture/UpdateFunctionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateFunctionDefinition)++responseDeleteFunctionDefinition :: DeleteFunctionDefinitionResponse -> TestTree+responseDeleteFunctionDefinition = res+    "DeleteFunctionDefinitionResponse"+    "fixture/DeleteFunctionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy DeleteFunctionDefinition)++responseDisassociateServiceRoleFromAccount :: DisassociateServiceRoleFromAccountResponse -> TestTree+responseDisassociateServiceRoleFromAccount = res+    "DisassociateServiceRoleFromAccountResponse"+    "fixture/DisassociateServiceRoleFromAccountResponse.proto"+    greengrass+    (Proxy :: Proxy DisassociateServiceRoleFromAccount)++responseDeleteDeviceDefinition :: DeleteDeviceDefinitionResponse -> TestTree+responseDeleteDeviceDefinition = res+    "DeleteDeviceDefinitionResponse"+    "fixture/DeleteDeviceDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy DeleteDeviceDefinition)++responseUpdateDeviceDefinition :: UpdateDeviceDefinitionResponse -> TestTree+responseUpdateDeviceDefinition = res+    "UpdateDeviceDefinitionResponse"+    "fixture/UpdateDeviceDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateDeviceDefinition)++responseAssociateServiceRoleToAccount :: AssociateServiceRoleToAccountResponse -> TestTree+responseAssociateServiceRoleToAccount = res+    "AssociateServiceRoleToAccountResponse"+    "fixture/AssociateServiceRoleToAccountResponse.proto"+    greengrass+    (Proxy :: Proxy AssociateServiceRoleToAccount)++responseResetDeployments :: ResetDeploymentsResponse -> TestTree+responseResetDeployments = res+    "ResetDeploymentsResponse"+    "fixture/ResetDeploymentsResponse.proto"+    greengrass+    (Proxy :: Proxy ResetDeployments)++responseGetSubscriptionDefinitionVersion :: GetSubscriptionDefinitionVersionResponse -> TestTree+responseGetSubscriptionDefinitionVersion = res+    "GetSubscriptionDefinitionVersionResponse"+    "fixture/GetSubscriptionDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy GetSubscriptionDefinitionVersion)++responseGetAssociatedRole :: GetAssociatedRoleResponse -> TestTree+responseGetAssociatedRole = res+    "GetAssociatedRoleResponse"+    "fixture/GetAssociatedRoleResponse.proto"+    greengrass+    (Proxy :: Proxy GetAssociatedRole)++responseListLoggerDefinitionVersions :: ListLoggerDefinitionVersionsResponse -> TestTree+responseListLoggerDefinitionVersions = res+    "ListLoggerDefinitionVersionsResponse"+    "fixture/ListLoggerDefinitionVersionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListLoggerDefinitionVersions)++responseGetCoreDefinitionVersion :: GetCoreDefinitionVersionResponse -> TestTree+responseGetCoreDefinitionVersion = res+    "GetCoreDefinitionVersionResponse"+    "fixture/GetCoreDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy GetCoreDefinitionVersion)++responseListSubscriptionDefinitionVersions :: ListSubscriptionDefinitionVersionsResponse -> TestTree+responseListSubscriptionDefinitionVersions = res+    "ListSubscriptionDefinitionVersionsResponse"+    "fixture/ListSubscriptionDefinitionVersionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListSubscriptionDefinitionVersions)++responseListCoreDefinitionVersions :: ListCoreDefinitionVersionsResponse -> TestTree+responseListCoreDefinitionVersions = res+    "ListCoreDefinitionVersionsResponse"+    "fixture/ListCoreDefinitionVersionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListCoreDefinitionVersions)++responseCreateCoreDefinitionVersion :: CreateCoreDefinitionVersionResponse -> TestTree+responseCreateCoreDefinitionVersion = res+    "CreateCoreDefinitionVersionResponse"+    "fixture/CreateCoreDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateCoreDefinitionVersion)++responseListDeployments :: ListDeploymentsResponse -> TestTree+responseListDeployments = res+    "ListDeploymentsResponse"+    "fixture/ListDeploymentsResponse.proto"+    greengrass+    (Proxy :: Proxy ListDeployments)++responseListLoggerDefinitions :: ListLoggerDefinitionsResponse -> TestTree+responseListLoggerDefinitions = res+    "ListLoggerDefinitionsResponse"+    "fixture/ListLoggerDefinitionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListLoggerDefinitions)++responseCreateSubscriptionDefinitionVersion :: CreateSubscriptionDefinitionVersionResponse -> TestTree+responseCreateSubscriptionDefinitionVersion = res+    "CreateSubscriptionDefinitionVersionResponse"+    "fixture/CreateSubscriptionDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateSubscriptionDefinitionVersion)++responseGetGroupVersion :: GetGroupVersionResponse -> TestTree+responseGetGroupVersion = res+    "GetGroupVersionResponse"+    "fixture/GetGroupVersionResponse.proto"+    greengrass+    (Proxy :: Proxy GetGroupVersion)++responseUpdateGroupCertificateConfiguration :: UpdateGroupCertificateConfigurationResponse -> TestTree+responseUpdateGroupCertificateConfiguration = res+    "UpdateGroupCertificateConfigurationResponse"+    "fixture/UpdateGroupCertificateConfigurationResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateGroupCertificateConfiguration)++responseGetFunctionDefinitionVersion :: GetFunctionDefinitionVersionResponse -> TestTree+responseGetFunctionDefinitionVersion = res+    "GetFunctionDefinitionVersionResponse"+    "fixture/GetFunctionDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy GetFunctionDefinitionVersion)++responseGetDeviceDefinition :: GetDeviceDefinitionResponse -> TestTree+responseGetDeviceDefinition = res+    "GetDeviceDefinitionResponse"+    "fixture/GetDeviceDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy GetDeviceDefinition)++responseCreateGroup :: CreateGroupResponse -> TestTree+responseCreateGroup = res+    "CreateGroupResponse"+    "fixture/CreateGroupResponse.proto"+    greengrass+    (Proxy :: Proxy CreateGroup)++responseCreateFunctionDefinition :: CreateFunctionDefinitionResponse -> TestTree+responseCreateFunctionDefinition = res+    "CreateFunctionDefinitionResponse"+    "fixture/CreateFunctionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateFunctionDefinition)++responseCreateDeviceDefinitionVersion :: CreateDeviceDefinitionVersionResponse -> TestTree+responseCreateDeviceDefinitionVersion = res+    "CreateDeviceDefinitionVersionResponse"+    "fixture/CreateDeviceDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateDeviceDefinitionVersion)++responseDeleteGroup :: DeleteGroupResponse -> TestTree+responseDeleteGroup = res+    "DeleteGroupResponse"+    "fixture/DeleteGroupResponse.proto"+    greengrass+    (Proxy :: Proxy DeleteGroup)++responseUpdateGroup :: UpdateGroupResponse -> TestTree+responseUpdateGroup = res+    "UpdateGroupResponse"+    "fixture/UpdateGroupResponse.proto"+    greengrass+    (Proxy :: Proxy UpdateGroup)++responseListGroups :: ListGroupsResponse -> TestTree+responseListGroups = res+    "ListGroupsResponse"+    "fixture/ListGroupsResponse.proto"+    greengrass+    (Proxy :: Proxy ListGroups)++responseListDeviceDefinitionVersions :: ListDeviceDefinitionVersionsResponse -> TestTree+responseListDeviceDefinitionVersions = res+    "ListDeviceDefinitionVersionsResponse"+    "fixture/ListDeviceDefinitionVersionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListDeviceDefinitionVersions)++responseListFunctionDefinitions :: ListFunctionDefinitionsResponse -> TestTree+responseListFunctionDefinitions = res+    "ListFunctionDefinitionsResponse"+    "fixture/ListFunctionDefinitionsResponse.proto"+    greengrass+    (Proxy :: Proxy ListFunctionDefinitions)++responseGetFunctionDefinition :: GetFunctionDefinitionResponse -> TestTree+responseGetFunctionDefinition = res+    "GetFunctionDefinitionResponse"+    "fixture/GetFunctionDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy GetFunctionDefinition)++responseGetGroup :: GetGroupResponse -> TestTree+responseGetGroup = res+    "GetGroupResponse"+    "fixture/GetGroupResponse.proto"+    greengrass+    (Proxy :: Proxy GetGroup)++responseCreateDeviceDefinition :: CreateDeviceDefinitionResponse -> TestTree+responseCreateDeviceDefinition = res+    "CreateDeviceDefinitionResponse"+    "fixture/CreateDeviceDefinitionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateDeviceDefinition)++responseCreateGroupVersion :: CreateGroupVersionResponse -> TestTree+responseCreateGroupVersion = res+    "CreateGroupVersionResponse"+    "fixture/CreateGroupVersionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateGroupVersion)++responseCreateFunctionDefinitionVersion :: CreateFunctionDefinitionVersionResponse -> TestTree+responseCreateFunctionDefinitionVersion = res+    "CreateFunctionDefinitionVersionResponse"+    "fixture/CreateFunctionDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy CreateFunctionDefinitionVersion)++responseGetDeviceDefinitionVersion :: GetDeviceDefinitionVersionResponse -> TestTree+responseGetDeviceDefinitionVersion = res+    "GetDeviceDefinitionVersionResponse"+    "fixture/GetDeviceDefinitionVersionResponse.proto"+    greengrass+    (Proxy :: Proxy GetDeviceDefinitionVersion)
+ test/Test/AWS/Greengrass.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.AWS.Greengrass+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Greengrass+    ( tests+    , fixtures+    ) where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/Greengrass/Internal.hs view
@@ -0,0 +1,9 @@+-- |+-- Module      : Test.AWS.Greengrass.Internal+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Greengrass.Internal where