packages feed

amazonka-glue (empty) → 1.5.0

raw patch · 239 files changed

+20928/−0 lines, 239 filesdep +amazonka-coredep +amazonka-gluedep +amazonka-testsetup-changed

Dependencies added: amazonka-core, amazonka-glue, 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 Glue 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-glue)+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.Glue](http://hackage.haskell.org/package/amazonka-glue/docs/Network-AWS-Glue.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-glue` 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-glue.cabal view
@@ -0,0 +1,160 @@+name:                  amazonka-glue+version:               1.5.0+synopsis:              Amazon Glue 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.Glue" 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-glue++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.Glue+        , Network.AWS.Glue.BatchCreatePartition+        , Network.AWS.Glue.BatchDeleteConnection+        , Network.AWS.Glue.BatchDeletePartition+        , Network.AWS.Glue.BatchDeleteTable+        , Network.AWS.Glue.BatchGetPartition+        , Network.AWS.Glue.BatchStopJobRun+        , Network.AWS.Glue.CreateClassifier+        , Network.AWS.Glue.CreateConnection+        , Network.AWS.Glue.CreateCrawler+        , Network.AWS.Glue.CreateDatabase+        , Network.AWS.Glue.CreateDevEndpoint+        , Network.AWS.Glue.CreateJob+        , Network.AWS.Glue.CreatePartition+        , Network.AWS.Glue.CreateScript+        , Network.AWS.Glue.CreateTable+        , Network.AWS.Glue.CreateTrigger+        , Network.AWS.Glue.CreateUserDefinedFunction+        , Network.AWS.Glue.DeleteClassifier+        , Network.AWS.Glue.DeleteConnection+        , Network.AWS.Glue.DeleteCrawler+        , Network.AWS.Glue.DeleteDatabase+        , Network.AWS.Glue.DeleteDevEndpoint+        , Network.AWS.Glue.DeleteJob+        , Network.AWS.Glue.DeletePartition+        , Network.AWS.Glue.DeleteTable+        , Network.AWS.Glue.DeleteTrigger+        , Network.AWS.Glue.DeleteUserDefinedFunction+        , Network.AWS.Glue.GetCatalogImportStatus+        , Network.AWS.Glue.GetClassifier+        , Network.AWS.Glue.GetClassifiers+        , Network.AWS.Glue.GetConnection+        , Network.AWS.Glue.GetConnections+        , Network.AWS.Glue.GetCrawler+        , Network.AWS.Glue.GetCrawlerMetrics+        , Network.AWS.Glue.GetCrawlers+        , Network.AWS.Glue.GetDatabase+        , Network.AWS.Glue.GetDatabases+        , Network.AWS.Glue.GetDataflowGraph+        , Network.AWS.Glue.GetDevEndpoint+        , Network.AWS.Glue.GetDevEndpoints+        , Network.AWS.Glue.GetJob+        , Network.AWS.Glue.GetJobRun+        , Network.AWS.Glue.GetJobRuns+        , Network.AWS.Glue.GetJobs+        , Network.AWS.Glue.GetMapping+        , Network.AWS.Glue.GetPartition+        , Network.AWS.Glue.GetPartitions+        , Network.AWS.Glue.GetPlan+        , Network.AWS.Glue.GetTable+        , Network.AWS.Glue.GetTableVersions+        , Network.AWS.Glue.GetTables+        , Network.AWS.Glue.GetTrigger+        , Network.AWS.Glue.GetTriggers+        , Network.AWS.Glue.GetUserDefinedFunction+        , Network.AWS.Glue.GetUserDefinedFunctions+        , Network.AWS.Glue.ImportCatalogToGlue+        , Network.AWS.Glue.ResetJobBookmark+        , Network.AWS.Glue.StartCrawler+        , Network.AWS.Glue.StartCrawlerSchedule+        , Network.AWS.Glue.StartJobRun+        , Network.AWS.Glue.StartTrigger+        , Network.AWS.Glue.StopCrawler+        , Network.AWS.Glue.StopCrawlerSchedule+        , Network.AWS.Glue.StopTrigger+        , Network.AWS.Glue.Types+        , Network.AWS.Glue.UpdateClassifier+        , Network.AWS.Glue.UpdateConnection+        , Network.AWS.Glue.UpdateCrawler+        , Network.AWS.Glue.UpdateCrawlerSchedule+        , Network.AWS.Glue.UpdateDatabase+        , Network.AWS.Glue.UpdateDevEndpoint+        , Network.AWS.Glue.UpdateJob+        , Network.AWS.Glue.UpdatePartition+        , Network.AWS.Glue.UpdateTable+        , Network.AWS.Glue.UpdateTrigger+        , Network.AWS.Glue.UpdateUserDefinedFunction+        , Network.AWS.Glue.Waiters++    other-modules:+          Network.AWS.Glue.Types.Product+        , Network.AWS.Glue.Types.Sum++    build-depends:+          amazonka-core == 1.5.0.*+        , base          >= 4.7     && < 5++test-suite amazonka-glue-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.Glue+        , Test.AWS.Gen.Glue+        , Test.AWS.Glue.Internal++    build-depends:+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-glue+        , base+        , bytestring+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/BatchCreatePartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchCreatePartitionResponse.proto view
+ fixture/BatchDeleteConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchDeleteConnectionResponse.proto view
+ fixture/BatchDeletePartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchDeletePartitionResponse.proto view
+ fixture/BatchDeleteTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchDeleteTableResponse.proto view
+ fixture/BatchGetPartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchGetPartitionResponse.proto view
+ fixture/BatchStopJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchStopJobRunResponse.proto view
+ fixture/CreateClassifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateClassifierResponse.proto view
+ fixture/CreateConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateConnectionResponse.proto view
+ fixture/CreateCrawler.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateCrawlerResponse.proto view
+ fixture/CreateDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateDatabaseResponse.proto view
+ fixture/CreateDevEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateDevEndpointResponse.proto view
+ fixture/CreateJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateJobResponse.proto view
+ fixture/CreatePartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreatePartitionResponse.proto view
+ fixture/CreateScript.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateScriptResponse.proto view
+ fixture/CreateTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateTableResponse.proto view
+ fixture/CreateTrigger.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateTriggerResponse.proto view
+ fixture/CreateUserDefinedFunction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/CreateUserDefinedFunctionResponse.proto view
+ fixture/DeleteClassifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteClassifierResponse.proto view
+ fixture/DeleteConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteConnectionResponse.proto view
+ fixture/DeleteCrawler.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteCrawlerResponse.proto view
+ fixture/DeleteDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteDatabaseResponse.proto view
+ fixture/DeleteDevEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteDevEndpointResponse.proto view
+ fixture/DeleteJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteJobResponse.proto view
+ fixture/DeletePartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeletePartitionResponse.proto view
+ fixture/DeleteTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteTableResponse.proto view
+ fixture/DeleteTrigger.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteTriggerResponse.proto view
+ fixture/DeleteUserDefinedFunction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteUserDefinedFunctionResponse.proto view
+ fixture/GetCatalogImportStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetCatalogImportStatusResponse.proto view
+ fixture/GetClassifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetClassifierResponse.proto view
+ fixture/GetClassifiers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetClassifiersResponse.proto view
+ fixture/GetConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetConnectionResponse.proto view
+ fixture/GetConnections.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetConnectionsResponse.proto view
+ fixture/GetCrawler.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetCrawlerMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetCrawlerMetricsResponse.proto view
+ fixture/GetCrawlerResponse.proto view
+ fixture/GetCrawlers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetCrawlersResponse.proto view
+ fixture/GetDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetDatabaseResponse.proto view
+ fixture/GetDatabases.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetDatabasesResponse.proto view
+ fixture/GetDataflowGraph.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetDataflowGraphResponse.proto view
+ fixture/GetDevEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetDevEndpointResponse.proto view
+ fixture/GetDevEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetDevEndpointsResponse.proto view
+ fixture/GetJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetJobResponse.proto view
+ fixture/GetJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetJobRunResponse.proto view
+ fixture/GetJobRuns.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetJobRunsResponse.proto view
+ fixture/GetJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetJobsResponse.proto view
+ fixture/GetMapping.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetMappingResponse.proto view
+ fixture/GetPartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetPartitionResponse.proto view
+ fixture/GetPartitions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetPartitionsResponse.proto view
+ fixture/GetPlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetPlanResponse.proto view
+ fixture/GetTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetTableResponse.proto view
+ fixture/GetTableVersions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetTableVersionsResponse.proto view
+ fixture/GetTables.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetTablesResponse.proto view
+ fixture/GetTrigger.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetTriggerResponse.proto view
+ fixture/GetTriggers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetTriggersResponse.proto view
+ fixture/GetUserDefinedFunction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetUserDefinedFunctionResponse.proto view
+ fixture/GetUserDefinedFunctions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetUserDefinedFunctionsResponse.proto view
+ fixture/ImportCatalogToGlue.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/ImportCatalogToGlueResponse.proto view
+ fixture/ResetJobBookmark.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/ResetJobBookmarkResponse.proto view
+ fixture/StartCrawler.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StartCrawlerResponse.proto view
+ fixture/StartCrawlerSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StartCrawlerScheduleResponse.proto view
+ fixture/StartJobRun.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StartJobRunResponse.proto view
+ fixture/StartTrigger.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StartTriggerResponse.proto view
+ fixture/StopCrawler.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StopCrawlerResponse.proto view
+ fixture/StopCrawlerSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StopCrawlerScheduleResponse.proto view
+ fixture/StopTrigger.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/StopTriggerResponse.proto view
+ fixture/UpdateClassifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateClassifierResponse.proto view
+ fixture/UpdateConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateConnectionResponse.proto view
+ fixture/UpdateCrawler.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateCrawlerResponse.proto view
+ fixture/UpdateCrawlerSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateCrawlerScheduleResponse.proto view
+ fixture/UpdateDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateDatabaseResponse.proto view
+ fixture/UpdateDevEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateDevEndpointResponse.proto view
+ fixture/UpdateJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateJobResponse.proto view
+ fixture/UpdatePartition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdatePartitionResponse.proto view
+ fixture/UpdateTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateTableResponse.proto view
+ fixture/UpdateTrigger.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateTriggerResponse.proto view
+ fixture/UpdateUserDefinedFunction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/UpdateUserDefinedFunctionResponse.proto view
+ gen/Network/AWS/Glue.hs view
@@ -0,0 +1,991 @@+{-# 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.Glue+-- 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 Glue__+--+-- Defines the public endpoint for the AWS Glue service.+--+module Network.AWS.Glue+    (+    -- * Service Configuration+      glue++    -- * Errors+    -- $errors++    -- ** ValidationException+    , _ValidationException++    -- ** AccessDeniedException+    , _AccessDeniedException++    -- ** CrawlerRunningException+    , _CrawlerRunningException++    -- ** SchedulerTransitioningException+    , _SchedulerTransitioningException++    -- ** SchedulerRunningException+    , _SchedulerRunningException++    -- ** ConcurrentRunsExceededException+    , _ConcurrentRunsExceededException++    -- ** NoScheduleException+    , _NoScheduleException++    -- ** OperationTimeoutException+    , _OperationTimeoutException++    -- ** CrawlerNotRunningException+    , _CrawlerNotRunningException++    -- ** VersionMismatchException+    , _VersionMismatchException++    -- ** EntityNotFoundException+    , _EntityNotFoundException++    -- ** ConcurrentModificationException+    , _ConcurrentModificationException++    -- ** SchedulerNotRunningException+    , _SchedulerNotRunningException++    -- ** InternalServiceException+    , _InternalServiceException++    -- ** InvalidInputException+    , _InvalidInputException++    -- ** ResourceNumberLimitExceededException+    , _ResourceNumberLimitExceededException++    -- ** IdempotentParameterMismatchException+    , _IdempotentParameterMismatchException++    -- ** CrawlerStoppingException+    , _CrawlerStoppingException++    -- ** AlreadyExistsException+    , _AlreadyExistsException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** StartCrawler+    , module Network.AWS.Glue.StartCrawler++    -- ** GetCatalogImportStatus+    , module Network.AWS.Glue.GetCatalogImportStatus++    -- ** GetPartition+    , module Network.AWS.Glue.GetPartition++    -- ** CreateTrigger+    , module Network.AWS.Glue.CreateTrigger++    -- ** DeleteTable+    , module Network.AWS.Glue.DeleteTable++    -- ** UpdateTable+    , module Network.AWS.Glue.UpdateTable++    -- ** DeleteConnection+    , module Network.AWS.Glue.DeleteConnection++    -- ** UpdateConnection+    , module Network.AWS.Glue.UpdateConnection++    -- ** GetUserDefinedFunctions+    , module Network.AWS.Glue.GetUserDefinedFunctions++    -- ** BatchCreatePartition+    , module Network.AWS.Glue.BatchCreatePartition++    -- ** GetMapping+    , module Network.AWS.Glue.GetMapping++    -- ** GetJobs+    , module Network.AWS.Glue.GetJobs++    -- ** GetClassifiers+    , module Network.AWS.Glue.GetClassifiers++    -- ** CreateConnection+    , module Network.AWS.Glue.CreateConnection++    -- ** DeleteDevEndpoint+    , module Network.AWS.Glue.DeleteDevEndpoint++    -- ** UpdateDevEndpoint+    , module Network.AWS.Glue.UpdateDevEndpoint++    -- ** DeleteCrawler+    , module Network.AWS.Glue.DeleteCrawler++    -- ** UpdateCrawler+    , module Network.AWS.Glue.UpdateCrawler++    -- ** GetConnection+    , module Network.AWS.Glue.GetConnection++    -- ** BatchGetPartition+    , module Network.AWS.Glue.BatchGetPartition++    -- ** StopTrigger+    , module Network.AWS.Glue.StopTrigger++    -- ** UpdateCrawlerSchedule+    , module Network.AWS.Glue.UpdateCrawlerSchedule++    -- ** DeleteUserDefinedFunction+    , module Network.AWS.Glue.DeleteUserDefinedFunction++    -- ** UpdateUserDefinedFunction+    , module Network.AWS.Glue.UpdateUserDefinedFunction++    -- ** BatchDeleteTable+    , module Network.AWS.Glue.BatchDeleteTable++    -- ** GetTables+    , module Network.AWS.Glue.GetTables++    -- ** CreateClassifier+    , module Network.AWS.Glue.CreateClassifier++    -- ** BatchDeleteConnection+    , module Network.AWS.Glue.BatchDeleteConnection++    -- ** CreateJob+    , module Network.AWS.Glue.CreateJob++    -- ** GetJobRuns+    , module Network.AWS.Glue.GetJobRuns++    -- ** CreateUserDefinedFunction+    , module Network.AWS.Glue.CreateUserDefinedFunction++    -- ** ResetJobBookmark+    , module Network.AWS.Glue.ResetJobBookmark++    -- ** DeleteJob+    , module Network.AWS.Glue.DeleteJob++    -- ** UpdateJob+    , module Network.AWS.Glue.UpdateJob++    -- ** GetCrawlers+    , module Network.AWS.Glue.GetCrawlers++    -- ** GetClassifier+    , module Network.AWS.Glue.GetClassifier++    -- ** GetJob+    , module Network.AWS.Glue.GetJob++    -- ** GetDevEndpoints+    , module Network.AWS.Glue.GetDevEndpoints++    -- ** StartCrawlerSchedule+    , module Network.AWS.Glue.StartCrawlerSchedule++    -- ** GetUserDefinedFunction+    , module Network.AWS.Glue.GetUserDefinedFunction++    -- ** DeleteDatabase+    , module Network.AWS.Glue.DeleteDatabase++    -- ** UpdateDatabase+    , module Network.AWS.Glue.UpdateDatabase++    -- ** StopCrawler+    , module Network.AWS.Glue.StopCrawler++    -- ** GetPartitions+    , module Network.AWS.Glue.GetPartitions++    -- ** BatchDeletePartition+    , module Network.AWS.Glue.BatchDeletePartition++    -- ** GetCrawler+    , module Network.AWS.Glue.GetCrawler++    -- ** BatchStopJobRun+    , module Network.AWS.Glue.BatchStopJobRun++    -- ** GetDevEndpoint+    , module Network.AWS.Glue.GetDevEndpoint++    -- ** CreateTable+    , module Network.AWS.Glue.CreateTable++    -- ** GetCrawlerMetrics+    , module Network.AWS.Glue.GetCrawlerMetrics++    -- ** GetPlan+    , module Network.AWS.Glue.GetPlan++    -- ** GetTriggers+    , module Network.AWS.Glue.GetTriggers++    -- ** StartTrigger+    , module Network.AWS.Glue.StartTrigger++    -- ** GetDataflowGraph+    , module Network.AWS.Glue.GetDataflowGraph++    -- ** GetDatabases+    , module Network.AWS.Glue.GetDatabases++    -- ** GetTable+    , module Network.AWS.Glue.GetTable++    -- ** CreateCrawler+    , module Network.AWS.Glue.CreateCrawler++    -- ** GetJobRun+    , module Network.AWS.Glue.GetJobRun++    -- ** CreateDevEndpoint+    , module Network.AWS.Glue.CreateDevEndpoint++    -- ** GetDatabase+    , module Network.AWS.Glue.GetDatabase++    -- ** DeletePartition+    , module Network.AWS.Glue.DeletePartition++    -- ** UpdatePartition+    , module Network.AWS.Glue.UpdatePartition++    -- ** CreateScript+    , module Network.AWS.Glue.CreateScript++    -- ** GetConnections+    , module Network.AWS.Glue.GetConnections++    -- ** GetTrigger+    , module Network.AWS.Glue.GetTrigger++    -- ** ImportCatalogToGlue+    , module Network.AWS.Glue.ImportCatalogToGlue++    -- ** DeleteClassifier+    , module Network.AWS.Glue.DeleteClassifier++    -- ** UpdateClassifier+    , module Network.AWS.Glue.UpdateClassifier++    -- ** StartJobRun+    , module Network.AWS.Glue.StartJobRun++    -- ** CreatePartition+    , module Network.AWS.Glue.CreatePartition++    -- ** StopCrawlerSchedule+    , module Network.AWS.Glue.StopCrawlerSchedule++    -- ** CreateDatabase+    , module Network.AWS.Glue.CreateDatabase++    -- ** GetTableVersions+    , module Network.AWS.Glue.GetTableVersions++    -- ** DeleteTrigger+    , module Network.AWS.Glue.DeleteTrigger++    -- ** UpdateTrigger+    , module Network.AWS.Glue.UpdateTrigger++    -- * Types++    -- ** ConnectionPropertyKey+    , ConnectionPropertyKey (..)++    -- ** ConnectionType+    , ConnectionType (..)++    -- ** CrawlerState+    , CrawlerState (..)++    -- ** DeleteBehavior+    , DeleteBehavior (..)++    -- ** JobRunState+    , JobRunState (..)++    -- ** LastCrawlStatus+    , LastCrawlStatus (..)++    -- ** Logical+    , Logical (..)++    -- ** LogicalOperator+    , LogicalOperator (..)++    -- ** PrincipalType+    , PrincipalType (..)++    -- ** ResourceType+    , ResourceType (..)++    -- ** ScheduleState+    , ScheduleState (..)++    -- ** TriggerState+    , TriggerState (..)++    -- ** TriggerType+    , TriggerType (..)++    -- ** UpdateBehavior+    , UpdateBehavior (..)++    -- ** Action+    , Action+    , action+    , aArguments+    , aJobName++    -- ** BatchStopJobRunError+    , BatchStopJobRunError+    , batchStopJobRunError+    , bsjreJobName+    , bsjreJobRunId+    , bsjreErrorDetail++    -- ** BatchStopJobRunSuccessfulSubmission+    , BatchStopJobRunSuccessfulSubmission+    , batchStopJobRunSuccessfulSubmission+    , bsjrssJobName+    , bsjrssJobRunId++    -- ** CatalogEntry+    , CatalogEntry+    , catalogEntry+    , ceDatabaseName+    , ceTableName++    -- ** CatalogImportStatus+    , CatalogImportStatus+    , catalogImportStatus+    , cisImportedBy+    , cisImportTime+    , cisImportCompleted++    -- ** Classifier+    , Classifier+    , classifier+    , cGrokClassifier++    -- ** CodeGenEdge+    , CodeGenEdge+    , codeGenEdge+    , cgeTargetParameter+    , cgeSource+    , cgeTarget++    -- ** CodeGenNode+    , CodeGenNode+    , codeGenNode+    , cgnLineNumber+    , cgnId+    , cgnNodeType+    , cgnArgs++    -- ** CodeGenNodeArg+    , CodeGenNodeArg+    , codeGenNodeArg+    , cgnaParam+    , cgnaName+    , cgnaValue++    -- ** Column+    , Column+    , column+    , cType+    , cComment+    , cName++    -- ** Condition+    , Condition+    , condition+    , cState+    , cJobName+    , cLogicalOperator++    -- ** Connection+    , Connection+    , connection+    , conCreationTime+    , conLastUpdatedBy+    , conConnectionProperties+    , conLastUpdatedTime+    , conMatchCriteria+    , conPhysicalConnectionRequirements+    , conName+    , conDescription+    , conConnectionType++    -- ** ConnectionInput+    , ConnectionInput+    , connectionInput+    , ciConnectionProperties+    , ciMatchCriteria+    , ciPhysicalConnectionRequirements+    , ciName+    , ciDescription+    , ciConnectionType++    -- ** ConnectionsList+    , ConnectionsList+    , connectionsList+    , clConnections++    -- ** Crawler+    , Crawler+    , crawler+    , craCreationTime+    , craState+    , craSchemaChangePolicy+    , craLastUpdated+    , craSchedule+    , craLastCrawl+    , craCrawlElapsedTime+    , craClassifiers+    , craRole+    , craName+    , craTargets+    , craVersion+    , craDatabaseName+    , craTablePrefix+    , craDescription++    -- ** CrawlerMetrics+    , CrawlerMetrics+    , crawlerMetrics+    , cmLastRuntimeSeconds+    , cmTablesCreated+    , cmStillEstimating+    , cmMedianRuntimeSeconds+    , cmTimeLeftSeconds+    , cmTablesDeleted+    , cmTablesUpdated+    , cmCrawlerName++    -- ** CrawlerTargets+    , CrawlerTargets+    , crawlerTargets+    , ctS3Targets+    , ctJdbcTargets++    -- ** CreateGrokClassifierRequest+    , CreateGrokClassifierRequest+    , createGrokClassifierRequest+    , cgcrCustomPatterns+    , cgcrClassification+    , cgcrName+    , cgcrGrokPattern++    -- ** Database+    , Database+    , database+    , dLocationURI+    , dParameters+    , dDescription+    , dCreateTime+    , dName++    -- ** DatabaseInput+    , DatabaseInput+    , databaseInput+    , diLocationURI+    , diParameters+    , diDescription+    , diName++    -- ** DevEndpoint+    , DevEndpoint+    , devEndpoint+    , deStatus+    , deFailureReason+    , deEndpointName+    , deExtraPythonLibsS3Path+    , deLastUpdateStatus+    , deSecurityGroupIds+    , deLastModifiedTimestamp+    , deVPCId+    , dePublicKey+    , deSubnetId+    , deNumberOfNodes+    , dePublicAddress+    , deAvailabilityZone+    , deZeppelinRemoteSparkInterpreterPort+    , deExtraJARsS3Path+    , deCreatedTimestamp+    , deYarnEndpointAddress+    , deRoleARN++    -- ** DevEndpointCustomLibraries+    , DevEndpointCustomLibraries+    , devEndpointCustomLibraries+    , declExtraPythonLibsS3Path+    , declExtraJARsS3Path++    -- ** ErrorDetail+    , ErrorDetail+    , errorDetail+    , edErrorCode+    , edErrorMessage++    -- ** ExecutionProperty+    , ExecutionProperty+    , executionProperty+    , epMaxConcurrentRuns++    -- ** GetConnectionsFilter+    , GetConnectionsFilter+    , getConnectionsFilter+    , gcfMatchCriteria+    , gcfConnectionType++    -- ** GrokClassifier+    , GrokClassifier+    , grokClassifier+    , gcCreationTime+    , gcLastUpdated+    , gcVersion+    , gcCustomPatterns+    , gcName+    , gcClassification+    , gcGrokPattern++    -- ** JdbcTarget+    , JdbcTarget+    , jdbcTarget+    , jtPath+    , jtConnectionName+    , jtExclusions++    -- ** Job+    , Job+    , job+    , jCommand+    , jLastModifiedOn+    , jConnections+    , jRole+    , jName+    , jLogURI+    , jMaxRetries+    , jExecutionProperty+    , jAllocatedCapacity+    , jDefaultArguments+    , jDescription+    , jCreatedOn++    -- ** JobBookmarkEntry+    , JobBookmarkEntry+    , jobBookmarkEntry+    , jbeJobName+    , jbeRun+    , jbeVersion+    , jbeAttempt+    , jbeJobBookmark++    -- ** JobCommand+    , JobCommand+    , jobCommand+    , jcScriptLocation+    , jcName++    -- ** JobRun+    , JobRun+    , jobRun+    , jrCompletedOn+    , jrTriggerName+    , jrLastModifiedOn+    , jrArguments+    , jrJobName+    , jrStartedOn+    , jrJobRunState+    , jrPredecessorRuns+    , jrPreviousRunId+    , jrId+    , jrAttempt+    , jrAllocatedCapacity+    , jrErrorMessage++    -- ** JobUpdate+    , JobUpdate+    , jobUpdate+    , juCommand+    , juConnections+    , juRole+    , juLogURI+    , juMaxRetries+    , juExecutionProperty+    , juAllocatedCapacity+    , juDefaultArguments+    , juDescription++    -- ** LastCrawlInfo+    , LastCrawlInfo+    , lastCrawlInfo+    , lciStatus+    , lciStartTime+    , lciLogStream+    , lciLogGroup+    , lciMessagePrefix+    , lciErrorMessage++    -- ** Location+    , Location+    , location+    , lJdbc+    , lS3++    -- ** MappingEntry+    , MappingEntry+    , mappingEntry+    , meTargetTable+    , meSourceType+    , meSourceTable+    , meTargetType+    , meTargetPath+    , meSourcePath++    -- ** Order+    , Order+    , order+    , oColumn+    , oSortOrder++    -- ** Partition+    , Partition+    , partition+    , pCreationTime+    , pValues+    , pLastAnalyzedTime+    , pStorageDescriptor+    , pDatabaseName+    , pParameters+    , pLastAccessTime+    , pTableName++    -- ** PartitionError+    , PartitionError+    , partitionError+    , pePartitionValues+    , peErrorDetail++    -- ** PartitionInput+    , PartitionInput+    , partitionInput+    , piValues+    , piLastAnalyzedTime+    , piStorageDescriptor+    , piParameters+    , piLastAccessTime++    -- ** PartitionValueList+    , PartitionValueList+    , partitionValueList+    , pvlValues++    -- ** PhysicalConnectionRequirements+    , PhysicalConnectionRequirements+    , physicalConnectionRequirements+    , pcrSecurityGroupIdList+    , pcrSubnetId+    , pcrAvailabilityZone++    -- ** Predecessor+    , Predecessor+    , predecessor+    , pJobName+    , pRunId++    -- ** Predicate+    , Predicate+    , predicate+    , pLogical+    , pConditions++    -- ** ResourceURI+    , ResourceURI+    , resourceURI+    , ruResourceType+    , ruURI++    -- ** S3Target+    , S3Target+    , s3Target+    , stPath+    , stExclusions++    -- ** Schedule+    , Schedule+    , schedule+    , sState+    , sScheduleExpression++    -- ** SchemaChangePolicy+    , SchemaChangePolicy+    , schemaChangePolicy+    , scpDeleteBehavior+    , scpUpdateBehavior++    -- ** Segment+    , Segment+    , segment+    , sSegmentNumber+    , sTotalSegments++    -- ** SerDeInfo+    , SerDeInfo+    , serDeInfo+    , sdiSerializationLibrary+    , sdiName+    , sdiParameters++    -- ** SkewedInfo+    , SkewedInfo+    , skewedInfo+    , siSkewedColumnValueLocationMaps+    , siSkewedColumnValues+    , siSkewedColumnNames++    -- ** StorageDescriptor+    , StorageDescriptor+    , storageDescriptor+    , sdSortColumns+    , sdCompressed+    , sdLocation+    , sdBucketColumns+    , sdSerdeInfo+    , sdOutputFormat+    , sdNumberOfBuckets+    , sdStoredAsSubDirectories+    , sdParameters+    , sdInputFormat+    , sdSkewedInfo+    , sdColumns++    -- ** Table+    , Table+    , table+    , tRetention+    , tCreatedBy+    , tTableType+    , tOwner+    , tViewOriginalText+    , tUpdateTime+    , tViewExpandedText+    , tLastAnalyzedTime+    , tStorageDescriptor+    , tDatabaseName+    , tParameters+    , tLastAccessTime+    , tDescription+    , tPartitionKeys+    , tCreateTime+    , tName++    -- ** TableError+    , TableError+    , tableError+    , teTableName+    , teErrorDetail++    -- ** TableInput+    , TableInput+    , tableInput+    , tiRetention+    , tiTableType+    , tiOwner+    , tiViewOriginalText+    , tiViewExpandedText+    , tiLastAnalyzedTime+    , tiStorageDescriptor+    , tiParameters+    , tiLastAccessTime+    , tiDescription+    , tiPartitionKeys+    , tiName++    -- ** TableVersion+    , TableVersion+    , tableVersion+    , tvVersionId+    , tvTable++    -- ** Trigger+    , Trigger+    , trigger+    , triState+    , triActions+    , triSchedule+    , triPredicate+    , triName+    , triId+    , triType+    , triDescription++    -- ** TriggerUpdate+    , TriggerUpdate+    , triggerUpdate+    , tuActions+    , tuSchedule+    , tuPredicate+    , tuName+    , tuDescription++    -- ** UpdateGrokClassifierRequest+    , UpdateGrokClassifierRequest+    , updateGrokClassifierRequest+    , ugcrClassification+    , ugcrCustomPatterns+    , ugcrGrokPattern+    , ugcrName++    -- ** UserDefinedFunction+    , UserDefinedFunction+    , userDefinedFunction+    , udfOwnerName+    , udfResourceURIs+    , udfFunctionName+    , udfOwnerType+    , udfCreateTime+    , udfClassName++    -- ** UserDefinedFunctionInput+    , UserDefinedFunctionInput+    , userDefinedFunctionInput+    , udfiOwnerName+    , udfiResourceURIs+    , udfiFunctionName+    , udfiOwnerType+    , udfiClassName+    ) where++import Network.AWS.Glue.BatchCreatePartition+import Network.AWS.Glue.BatchDeleteConnection+import Network.AWS.Glue.BatchDeletePartition+import Network.AWS.Glue.BatchDeleteTable+import Network.AWS.Glue.BatchGetPartition+import Network.AWS.Glue.BatchStopJobRun+import Network.AWS.Glue.CreateClassifier+import Network.AWS.Glue.CreateConnection+import Network.AWS.Glue.CreateCrawler+import Network.AWS.Glue.CreateDatabase+import Network.AWS.Glue.CreateDevEndpoint+import Network.AWS.Glue.CreateJob+import Network.AWS.Glue.CreatePartition+import Network.AWS.Glue.CreateScript+import Network.AWS.Glue.CreateTable+import Network.AWS.Glue.CreateTrigger+import Network.AWS.Glue.CreateUserDefinedFunction+import Network.AWS.Glue.DeleteClassifier+import Network.AWS.Glue.DeleteConnection+import Network.AWS.Glue.DeleteCrawler+import Network.AWS.Glue.DeleteDatabase+import Network.AWS.Glue.DeleteDevEndpoint+import Network.AWS.Glue.DeleteJob+import Network.AWS.Glue.DeletePartition+import Network.AWS.Glue.DeleteTable+import Network.AWS.Glue.DeleteTrigger+import Network.AWS.Glue.DeleteUserDefinedFunction+import Network.AWS.Glue.GetCatalogImportStatus+import Network.AWS.Glue.GetClassifier+import Network.AWS.Glue.GetClassifiers+import Network.AWS.Glue.GetConnection+import Network.AWS.Glue.GetConnections+import Network.AWS.Glue.GetCrawler+import Network.AWS.Glue.GetCrawlerMetrics+import Network.AWS.Glue.GetCrawlers+import Network.AWS.Glue.GetDatabase+import Network.AWS.Glue.GetDatabases+import Network.AWS.Glue.GetDataflowGraph+import Network.AWS.Glue.GetDevEndpoint+import Network.AWS.Glue.GetDevEndpoints+import Network.AWS.Glue.GetJob+import Network.AWS.Glue.GetJobRun+import Network.AWS.Glue.GetJobRuns+import Network.AWS.Glue.GetJobs+import Network.AWS.Glue.GetMapping+import Network.AWS.Glue.GetPartition+import Network.AWS.Glue.GetPartitions+import Network.AWS.Glue.GetPlan+import Network.AWS.Glue.GetTable+import Network.AWS.Glue.GetTables+import Network.AWS.Glue.GetTableVersions+import Network.AWS.Glue.GetTrigger+import Network.AWS.Glue.GetTriggers+import Network.AWS.Glue.GetUserDefinedFunction+import Network.AWS.Glue.GetUserDefinedFunctions+import Network.AWS.Glue.ImportCatalogToGlue+import Network.AWS.Glue.ResetJobBookmark+import Network.AWS.Glue.StartCrawler+import Network.AWS.Glue.StartCrawlerSchedule+import Network.AWS.Glue.StartJobRun+import Network.AWS.Glue.StartTrigger+import Network.AWS.Glue.StopCrawler+import Network.AWS.Glue.StopCrawlerSchedule+import Network.AWS.Glue.StopTrigger+import Network.AWS.Glue.Types+import Network.AWS.Glue.UpdateClassifier+import Network.AWS.Glue.UpdateConnection+import Network.AWS.Glue.UpdateCrawler+import Network.AWS.Glue.UpdateCrawlerSchedule+import Network.AWS.Glue.UpdateDatabase+import Network.AWS.Glue.UpdateDevEndpoint+import Network.AWS.Glue.UpdateJob+import Network.AWS.Glue.UpdatePartition+import Network.AWS.Glue.UpdateTable+import Network.AWS.Glue.UpdateTrigger+import Network.AWS.Glue.UpdateUserDefinedFunction+import Network.AWS.Glue.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 'Glue'.+-}++{- $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/Glue/BatchCreatePartition.hs view
@@ -0,0 +1,168 @@+{-# 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.Glue.BatchCreatePartition+-- 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 one or more partitions in a batch operation.+--+--+module Network.AWS.Glue.BatchCreatePartition+    (+    -- * Creating a Request+      batchCreatePartition+    , BatchCreatePartition+    -- * Request Lenses+    , bcpCatalogId+    , bcpDatabaseName+    , bcpTableName+    , bcpPartitionInputList++    -- * Destructuring the Response+    , batchCreatePartitionResponse+    , BatchCreatePartitionResponse+    -- * Response Lenses+    , bcprsErrors+    , bcprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchCreatePartition' smart constructor.+data BatchCreatePartition = BatchCreatePartition'+  { _bcpCatalogId          :: !(Maybe Text)+  , _bcpDatabaseName       :: !Text+  , _bcpTableName          :: !Text+  , _bcpPartitionInputList :: ![PartitionInput]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchCreatePartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcpCatalogId' - The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.+--+-- * 'bcpDatabaseName' - The name of the metadata database in which the partition is to be created.+--+-- * 'bcpTableName' - The name of the metadata table in which the partition is to be created.+--+-- * 'bcpPartitionInputList' - A list of @PartitionInput@ structures that define the partitions to be created.+batchCreatePartition+    :: Text -- ^ 'bcpDatabaseName'+    -> Text -- ^ 'bcpTableName'+    -> BatchCreatePartition+batchCreatePartition pDatabaseName_ pTableName_ =+  BatchCreatePartition'+  { _bcpCatalogId = Nothing+  , _bcpDatabaseName = pDatabaseName_+  , _bcpTableName = pTableName_+  , _bcpPartitionInputList = mempty+  }+++-- | The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.+bcpCatalogId :: Lens' BatchCreatePartition (Maybe Text)+bcpCatalogId = lens _bcpCatalogId (\ s a -> s{_bcpCatalogId = a});++-- | The name of the metadata database in which the partition is to be created.+bcpDatabaseName :: Lens' BatchCreatePartition Text+bcpDatabaseName = lens _bcpDatabaseName (\ s a -> s{_bcpDatabaseName = a});++-- | The name of the metadata table in which the partition is to be created.+bcpTableName :: Lens' BatchCreatePartition Text+bcpTableName = lens _bcpTableName (\ s a -> s{_bcpTableName = a});++-- | A list of @PartitionInput@ structures that define the partitions to be created.+bcpPartitionInputList :: Lens' BatchCreatePartition [PartitionInput]+bcpPartitionInputList = lens _bcpPartitionInputList (\ s a -> s{_bcpPartitionInputList = a}) . _Coerce;++instance AWSRequest BatchCreatePartition where+        type Rs BatchCreatePartition =+             BatchCreatePartitionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchCreatePartitionResponse' <$>+                   (x .?> "Errors" .!@ mempty) <*> (pure (fromEnum s)))++instance Hashable BatchCreatePartition where++instance NFData BatchCreatePartition where++instance ToHeaders BatchCreatePartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchCreatePartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchCreatePartition where+        toJSON BatchCreatePartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _bcpCatalogId,+                  Just ("DatabaseName" .= _bcpDatabaseName),+                  Just ("TableName" .= _bcpTableName),+                  Just+                    ("PartitionInputList" .= _bcpPartitionInputList)])++instance ToPath BatchCreatePartition where+        toPath = const "/"++instance ToQuery BatchCreatePartition where+        toQuery = const mempty++-- | /See:/ 'batchCreatePartitionResponse' smart constructor.+data BatchCreatePartitionResponse = BatchCreatePartitionResponse'+  { _bcprsErrors         :: !(Maybe [PartitionError])+  , _bcprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchCreatePartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcprsErrors' - Errors encountered when trying to create the requested partitions.+--+-- * 'bcprsResponseStatus' - -- | The response status code.+batchCreatePartitionResponse+    :: Int -- ^ 'bcprsResponseStatus'+    -> BatchCreatePartitionResponse+batchCreatePartitionResponse pResponseStatus_ =+  BatchCreatePartitionResponse'+  {_bcprsErrors = Nothing, _bcprsResponseStatus = pResponseStatus_}+++-- | Errors encountered when trying to create the requested partitions.+bcprsErrors :: Lens' BatchCreatePartitionResponse [PartitionError]+bcprsErrors = lens _bcprsErrors (\ s a -> s{_bcprsErrors = a}) . _Default . _Coerce;++-- | -- | The response status code.+bcprsResponseStatus :: Lens' BatchCreatePartitionResponse Int+bcprsResponseStatus = lens _bcprsResponseStatus (\ s a -> s{_bcprsResponseStatus = a});++instance NFData BatchCreatePartitionResponse where
+ gen/Network/AWS/Glue/BatchDeleteConnection.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.BatchDeleteConnection+-- 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 list of connection definitions from the Data Catalog.+--+--+module Network.AWS.Glue.BatchDeleteConnection+    (+    -- * Creating a Request+      batchDeleteConnection+    , BatchDeleteConnection+    -- * Request Lenses+    , bdcCatalogId+    , bdcConnectionNameList++    -- * Destructuring the Response+    , batchDeleteConnectionResponse+    , BatchDeleteConnectionResponse+    -- * Response Lenses+    , bdcrsSucceeded+    , bdcrsErrors+    , bdcrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchDeleteConnection' smart constructor.+data BatchDeleteConnection = BatchDeleteConnection'+  { _bdcCatalogId          :: !(Maybe Text)+  , _bdcConnectionNameList :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdcCatalogId' - The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'bdcConnectionNameList' - A list of names of the connections to delete.+batchDeleteConnection+    :: BatchDeleteConnection+batchDeleteConnection =+  BatchDeleteConnection'+  {_bdcCatalogId = Nothing, _bdcConnectionNameList = mempty}+++-- | The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.+bdcCatalogId :: Lens' BatchDeleteConnection (Maybe Text)+bdcCatalogId = lens _bdcCatalogId (\ s a -> s{_bdcCatalogId = a});++-- | A list of names of the connections to delete.+bdcConnectionNameList :: Lens' BatchDeleteConnection [Text]+bdcConnectionNameList = lens _bdcConnectionNameList (\ s a -> s{_bdcConnectionNameList = a}) . _Coerce;++instance AWSRequest BatchDeleteConnection where+        type Rs BatchDeleteConnection =+             BatchDeleteConnectionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchDeleteConnectionResponse' <$>+                   (x .?> "Succeeded" .!@ mempty) <*>+                     (x .?> "Errors" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable BatchDeleteConnection where++instance NFData BatchDeleteConnection where++instance ToHeaders BatchDeleteConnection where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchDeleteConnection" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchDeleteConnection where+        toJSON BatchDeleteConnection'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _bdcCatalogId,+                  Just+                    ("ConnectionNameList" .= _bdcConnectionNameList)])++instance ToPath BatchDeleteConnection where+        toPath = const "/"++instance ToQuery BatchDeleteConnection where+        toQuery = const mempty++-- | /See:/ 'batchDeleteConnectionResponse' smart constructor.+data BatchDeleteConnectionResponse = BatchDeleteConnectionResponse'+  { _bdcrsSucceeded      :: !(Maybe [Text])+  , _bdcrsErrors         :: !(Maybe (Map Text ErrorDetail))+  , _bdcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdcrsSucceeded' - A list of names of the connection definitions that were successfully deleted.+--+-- * 'bdcrsErrors' - A map of the names of connections that were not successfully deleted to error details.+--+-- * 'bdcrsResponseStatus' - -- | The response status code.+batchDeleteConnectionResponse+    :: Int -- ^ 'bdcrsResponseStatus'+    -> BatchDeleteConnectionResponse+batchDeleteConnectionResponse pResponseStatus_ =+  BatchDeleteConnectionResponse'+  { _bdcrsSucceeded = Nothing+  , _bdcrsErrors = Nothing+  , _bdcrsResponseStatus = pResponseStatus_+  }+++-- | A list of names of the connection definitions that were successfully deleted.+bdcrsSucceeded :: Lens' BatchDeleteConnectionResponse [Text]+bdcrsSucceeded = lens _bdcrsSucceeded (\ s a -> s{_bdcrsSucceeded = a}) . _Default . _Coerce;++-- | A map of the names of connections that were not successfully deleted to error details.+bdcrsErrors :: Lens' BatchDeleteConnectionResponse (HashMap Text ErrorDetail)+bdcrsErrors = lens _bdcrsErrors (\ s a -> s{_bdcrsErrors = a}) . _Default . _Map;++-- | -- | The response status code.+bdcrsResponseStatus :: Lens' BatchDeleteConnectionResponse Int+bdcrsResponseStatus = lens _bdcrsResponseStatus (\ s a -> s{_bdcrsResponseStatus = a});++instance NFData BatchDeleteConnectionResponse where
+ gen/Network/AWS/Glue/BatchDeletePartition.hs view
@@ -0,0 +1,168 @@+{-# 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.Glue.BatchDeletePartition+-- 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 one or more partitions in a batch operation.+--+--+module Network.AWS.Glue.BatchDeletePartition+    (+    -- * Creating a Request+      batchDeletePartition+    , BatchDeletePartition+    -- * Request Lenses+    , bdpCatalogId+    , bdpDatabaseName+    , bdpTableName+    , bdpPartitionsToDelete++    -- * Destructuring the Response+    , batchDeletePartitionResponse+    , BatchDeletePartitionResponse+    -- * Response Lenses+    , bdprsErrors+    , bdprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchDeletePartition' smart constructor.+data BatchDeletePartition = BatchDeletePartition'+  { _bdpCatalogId          :: !(Maybe Text)+  , _bdpDatabaseName       :: !Text+  , _bdpTableName          :: !Text+  , _bdpPartitionsToDelete :: ![PartitionValueList]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeletePartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdpCatalogId' - The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'bdpDatabaseName' - The name of the catalog database in which the table in question resides.+--+-- * 'bdpTableName' - The name of the table where the partitions to be deleted is located.+--+-- * 'bdpPartitionsToDelete' - A list of @PartitionInput@ structures that define the partitions to be deleted.+batchDeletePartition+    :: Text -- ^ 'bdpDatabaseName'+    -> Text -- ^ 'bdpTableName'+    -> BatchDeletePartition+batchDeletePartition pDatabaseName_ pTableName_ =+  BatchDeletePartition'+  { _bdpCatalogId = Nothing+  , _bdpDatabaseName = pDatabaseName_+  , _bdpTableName = pTableName_+  , _bdpPartitionsToDelete = mempty+  }+++-- | The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.+bdpCatalogId :: Lens' BatchDeletePartition (Maybe Text)+bdpCatalogId = lens _bdpCatalogId (\ s a -> s{_bdpCatalogId = a});++-- | The name of the catalog database in which the table in question resides.+bdpDatabaseName :: Lens' BatchDeletePartition Text+bdpDatabaseName = lens _bdpDatabaseName (\ s a -> s{_bdpDatabaseName = a});++-- | The name of the table where the partitions to be deleted is located.+bdpTableName :: Lens' BatchDeletePartition Text+bdpTableName = lens _bdpTableName (\ s a -> s{_bdpTableName = a});++-- | A list of @PartitionInput@ structures that define the partitions to be deleted.+bdpPartitionsToDelete :: Lens' BatchDeletePartition [PartitionValueList]+bdpPartitionsToDelete = lens _bdpPartitionsToDelete (\ s a -> s{_bdpPartitionsToDelete = a}) . _Coerce;++instance AWSRequest BatchDeletePartition where+        type Rs BatchDeletePartition =+             BatchDeletePartitionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchDeletePartitionResponse' <$>+                   (x .?> "Errors" .!@ mempty) <*> (pure (fromEnum s)))++instance Hashable BatchDeletePartition where++instance NFData BatchDeletePartition where++instance ToHeaders BatchDeletePartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchDeletePartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchDeletePartition where+        toJSON BatchDeletePartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _bdpCatalogId,+                  Just ("DatabaseName" .= _bdpDatabaseName),+                  Just ("TableName" .= _bdpTableName),+                  Just+                    ("PartitionsToDelete" .= _bdpPartitionsToDelete)])++instance ToPath BatchDeletePartition where+        toPath = const "/"++instance ToQuery BatchDeletePartition where+        toQuery = const mempty++-- | /See:/ 'batchDeletePartitionResponse' smart constructor.+data BatchDeletePartitionResponse = BatchDeletePartitionResponse'+  { _bdprsErrors         :: !(Maybe [PartitionError])+  , _bdprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeletePartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdprsErrors' - Errors encountered when trying to delete the requested partitions.+--+-- * 'bdprsResponseStatus' - -- | The response status code.+batchDeletePartitionResponse+    :: Int -- ^ 'bdprsResponseStatus'+    -> BatchDeletePartitionResponse+batchDeletePartitionResponse pResponseStatus_ =+  BatchDeletePartitionResponse'+  {_bdprsErrors = Nothing, _bdprsResponseStatus = pResponseStatus_}+++-- | Errors encountered when trying to delete the requested partitions.+bdprsErrors :: Lens' BatchDeletePartitionResponse [PartitionError]+bdprsErrors = lens _bdprsErrors (\ s a -> s{_bdprsErrors = a}) . _Default . _Coerce;++-- | -- | The response status code.+bdprsResponseStatus :: Lens' BatchDeletePartitionResponse Int+bdprsResponseStatus = lens _bdprsResponseStatus (\ s a -> s{_bdprsResponseStatus = a});++instance NFData BatchDeletePartitionResponse where
+ gen/Network/AWS/Glue/BatchDeleteTable.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.BatchDeleteTable+-- 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 multiple tables at once.+--+--+module Network.AWS.Glue.BatchDeleteTable+    (+    -- * Creating a Request+      batchDeleteTable+    , BatchDeleteTable+    -- * Request Lenses+    , bdtCatalogId+    , bdtDatabaseName+    , bdtTablesToDelete++    -- * Destructuring the Response+    , batchDeleteTableResponse+    , BatchDeleteTableResponse+    -- * Response Lenses+    , bdtrsErrors+    , bdtrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchDeleteTable' smart constructor.+data BatchDeleteTable = BatchDeleteTable'+  { _bdtCatalogId      :: !(Maybe Text)+  , _bdtDatabaseName   :: !Text+  , _bdtTablesToDelete :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdtCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'bdtDatabaseName' - The name of the catalog database where the tables to delete reside.+--+-- * 'bdtTablesToDelete' - A list of the table to delete.+batchDeleteTable+    :: Text -- ^ 'bdtDatabaseName'+    -> BatchDeleteTable+batchDeleteTable pDatabaseName_ =+  BatchDeleteTable'+  { _bdtCatalogId = Nothing+  , _bdtDatabaseName = pDatabaseName_+  , _bdtTablesToDelete = mempty+  }+++-- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+bdtCatalogId :: Lens' BatchDeleteTable (Maybe Text)+bdtCatalogId = lens _bdtCatalogId (\ s a -> s{_bdtCatalogId = a});++-- | The name of the catalog database where the tables to delete reside.+bdtDatabaseName :: Lens' BatchDeleteTable Text+bdtDatabaseName = lens _bdtDatabaseName (\ s a -> s{_bdtDatabaseName = a});++-- | A list of the table to delete.+bdtTablesToDelete :: Lens' BatchDeleteTable [Text]+bdtTablesToDelete = lens _bdtTablesToDelete (\ s a -> s{_bdtTablesToDelete = a}) . _Coerce;++instance AWSRequest BatchDeleteTable where+        type Rs BatchDeleteTable = BatchDeleteTableResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchDeleteTableResponse' <$>+                   (x .?> "Errors" .!@ mempty) <*> (pure (fromEnum s)))++instance Hashable BatchDeleteTable where++instance NFData BatchDeleteTable where++instance ToHeaders BatchDeleteTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchDeleteTable" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchDeleteTable where+        toJSON BatchDeleteTable'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _bdtCatalogId,+                  Just ("DatabaseName" .= _bdtDatabaseName),+                  Just ("TablesToDelete" .= _bdtTablesToDelete)])++instance ToPath BatchDeleteTable where+        toPath = const "/"++instance ToQuery BatchDeleteTable where+        toQuery = const mempty++-- | /See:/ 'batchDeleteTableResponse' smart constructor.+data BatchDeleteTableResponse = BatchDeleteTableResponse'+  { _bdtrsErrors         :: !(Maybe [TableError])+  , _bdtrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdtrsErrors' - A list of errors encountered in attempting to delete the specified tables.+--+-- * 'bdtrsResponseStatus' - -- | The response status code.+batchDeleteTableResponse+    :: Int -- ^ 'bdtrsResponseStatus'+    -> BatchDeleteTableResponse+batchDeleteTableResponse pResponseStatus_ =+  BatchDeleteTableResponse'+  {_bdtrsErrors = Nothing, _bdtrsResponseStatus = pResponseStatus_}+++-- | A list of errors encountered in attempting to delete the specified tables.+bdtrsErrors :: Lens' BatchDeleteTableResponse [TableError]+bdtrsErrors = lens _bdtrsErrors (\ s a -> s{_bdtrsErrors = a}) . _Default . _Coerce;++-- | -- | The response status code.+bdtrsResponseStatus :: Lens' BatchDeleteTableResponse Int+bdtrsResponseStatus = lens _bdtrsResponseStatus (\ s a -> s{_bdtrsResponseStatus = a});++instance NFData BatchDeleteTableResponse where
+ gen/Network/AWS/Glue/BatchGetPartition.hs view
@@ -0,0 +1,179 @@+{-# 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.Glue.BatchGetPartition+-- 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 partitions in a batch request.+--+--+module Network.AWS.Glue.BatchGetPartition+    (+    -- * Creating a Request+      batchGetPartition+    , BatchGetPartition+    -- * Request Lenses+    , bgpCatalogId+    , bgpDatabaseName+    , bgpTableName+    , bgpPartitionsToGet++    -- * Destructuring the Response+    , batchGetPartitionResponse+    , BatchGetPartitionResponse+    -- * Response Lenses+    , bgprsUnprocessedKeys+    , bgprsPartitions+    , bgprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchGetPartition' smart constructor.+data BatchGetPartition = BatchGetPartition'+  { _bgpCatalogId       :: !(Maybe Text)+  , _bgpDatabaseName    :: !Text+  , _bgpTableName       :: !Text+  , _bgpPartitionsToGet :: ![PartitionValueList]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchGetPartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgpCatalogId' - The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'bgpDatabaseName' - The name of the catalog database where the partitions reside.+--+-- * 'bgpTableName' - The name of the partitions' table.+--+-- * 'bgpPartitionsToGet' - A list of partition values identifying the partitions to retrieve.+batchGetPartition+    :: Text -- ^ 'bgpDatabaseName'+    -> Text -- ^ 'bgpTableName'+    -> BatchGetPartition+batchGetPartition pDatabaseName_ pTableName_ =+  BatchGetPartition'+  { _bgpCatalogId = Nothing+  , _bgpDatabaseName = pDatabaseName_+  , _bgpTableName = pTableName_+  , _bgpPartitionsToGet = mempty+  }+++-- | The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.+bgpCatalogId :: Lens' BatchGetPartition (Maybe Text)+bgpCatalogId = lens _bgpCatalogId (\ s a -> s{_bgpCatalogId = a});++-- | The name of the catalog database where the partitions reside.+bgpDatabaseName :: Lens' BatchGetPartition Text+bgpDatabaseName = lens _bgpDatabaseName (\ s a -> s{_bgpDatabaseName = a});++-- | The name of the partitions' table.+bgpTableName :: Lens' BatchGetPartition Text+bgpTableName = lens _bgpTableName (\ s a -> s{_bgpTableName = a});++-- | A list of partition values identifying the partitions to retrieve.+bgpPartitionsToGet :: Lens' BatchGetPartition [PartitionValueList]+bgpPartitionsToGet = lens _bgpPartitionsToGet (\ s a -> s{_bgpPartitionsToGet = a}) . _Coerce;++instance AWSRequest BatchGetPartition where+        type Rs BatchGetPartition = BatchGetPartitionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchGetPartitionResponse' <$>+                   (x .?> "UnprocessedKeys" .!@ mempty) <*>+                     (x .?> "Partitions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable BatchGetPartition where++instance NFData BatchGetPartition where++instance ToHeaders BatchGetPartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchGetPartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchGetPartition where+        toJSON BatchGetPartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _bgpCatalogId,+                  Just ("DatabaseName" .= _bgpDatabaseName),+                  Just ("TableName" .= _bgpTableName),+                  Just ("PartitionsToGet" .= _bgpPartitionsToGet)])++instance ToPath BatchGetPartition where+        toPath = const "/"++instance ToQuery BatchGetPartition where+        toQuery = const mempty++-- | /See:/ 'batchGetPartitionResponse' smart constructor.+data BatchGetPartitionResponse = BatchGetPartitionResponse'+  { _bgprsUnprocessedKeys :: !(Maybe [PartitionValueList])+  , _bgprsPartitions      :: !(Maybe [Partition])+  , _bgprsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchGetPartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgprsUnprocessedKeys' - A list of the partition values in the request for which partions were not returned.+--+-- * 'bgprsPartitions' - A list of the requested partitions.+--+-- * 'bgprsResponseStatus' - -- | The response status code.+batchGetPartitionResponse+    :: Int -- ^ 'bgprsResponseStatus'+    -> BatchGetPartitionResponse+batchGetPartitionResponse pResponseStatus_ =+  BatchGetPartitionResponse'+  { _bgprsUnprocessedKeys = Nothing+  , _bgprsPartitions = Nothing+  , _bgprsResponseStatus = pResponseStatus_+  }+++-- | A list of the partition values in the request for which partions were not returned.+bgprsUnprocessedKeys :: Lens' BatchGetPartitionResponse [PartitionValueList]+bgprsUnprocessedKeys = lens _bgprsUnprocessedKeys (\ s a -> s{_bgprsUnprocessedKeys = a}) . _Default . _Coerce;++-- | A list of the requested partitions.+bgprsPartitions :: Lens' BatchGetPartitionResponse [Partition]+bgprsPartitions = lens _bgprsPartitions (\ s a -> s{_bgprsPartitions = a}) . _Default . _Coerce;++-- | -- | The response status code.+bgprsResponseStatus :: Lens' BatchGetPartitionResponse Int+bgprsResponseStatus = lens _bgprsResponseStatus (\ s a -> s{_bgprsResponseStatus = a});++instance NFData BatchGetPartitionResponse where
+ gen/Network/AWS/Glue/BatchStopJobRun.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.BatchStopJobRun+-- 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)+--+-- Stops a batch of job runs for a given job.+--+--+module Network.AWS.Glue.BatchStopJobRun+    (+    -- * Creating a Request+      batchStopJobRun+    , BatchStopJobRun+    -- * Request Lenses+    , bsjrJobName+    , bsjrJobRunIds++    -- * Destructuring the Response+    , batchStopJobRunResponse+    , BatchStopJobRunResponse+    -- * Response Lenses+    , bsjrrsSuccessfulSubmissions+    , bsjrrsErrors+    , bsjrrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchStopJobRun' smart constructor.+data BatchStopJobRun = BatchStopJobRun'+  { _bsjrJobName   :: !Text+  , _bsjrJobRunIds :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchStopJobRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsjrJobName' - The name of the job whose job runs are to be stopped.+--+-- * 'bsjrJobRunIds' - A list of job run Ids of the given job to be stopped.+batchStopJobRun+    :: Text -- ^ 'bsjrJobName'+    -> NonEmpty Text -- ^ 'bsjrJobRunIds'+    -> BatchStopJobRun+batchStopJobRun pJobName_ pJobRunIds_ =+  BatchStopJobRun'+  {_bsjrJobName = pJobName_, _bsjrJobRunIds = _List1 # pJobRunIds_}+++-- | The name of the job whose job runs are to be stopped.+bsjrJobName :: Lens' BatchStopJobRun Text+bsjrJobName = lens _bsjrJobName (\ s a -> s{_bsjrJobName = a});++-- | A list of job run Ids of the given job to be stopped.+bsjrJobRunIds :: Lens' BatchStopJobRun (NonEmpty Text)+bsjrJobRunIds = lens _bsjrJobRunIds (\ s a -> s{_bsjrJobRunIds = a}) . _List1;++instance AWSRequest BatchStopJobRun where+        type Rs BatchStopJobRun = BatchStopJobRunResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchStopJobRunResponse' <$>+                   (x .?> "SuccessfulSubmissions" .!@ mempty) <*>+                     (x .?> "Errors" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable BatchStopJobRun where++instance NFData BatchStopJobRun where++instance ToHeaders BatchStopJobRun where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchStopJobRun" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchStopJobRun where+        toJSON BatchStopJobRun'{..}+          = object+              (catMaybes+                 [Just ("JobName" .= _bsjrJobName),+                  Just ("JobRunIds" .= _bsjrJobRunIds)])++instance ToPath BatchStopJobRun where+        toPath = const "/"++instance ToQuery BatchStopJobRun where+        toQuery = const mempty++-- | /See:/ 'batchStopJobRunResponse' smart constructor.+data BatchStopJobRunResponse = BatchStopJobRunResponse'+  { _bsjrrsSuccessfulSubmissions :: !(Maybe [BatchStopJobRunSuccessfulSubmission])+  , _bsjrrsErrors :: !(Maybe [BatchStopJobRunError])+  , _bsjrrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchStopJobRunResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsjrrsSuccessfulSubmissions' - A list of job runs which are successfully submitted for stopping.+--+-- * 'bsjrrsErrors' - A list containing the job run Ids and details of the error that occurred for each job run while submitting to stop.+--+-- * 'bsjrrsResponseStatus' - -- | The response status code.+batchStopJobRunResponse+    :: Int -- ^ 'bsjrrsResponseStatus'+    -> BatchStopJobRunResponse+batchStopJobRunResponse pResponseStatus_ =+  BatchStopJobRunResponse'+  { _bsjrrsSuccessfulSubmissions = Nothing+  , _bsjrrsErrors = Nothing+  , _bsjrrsResponseStatus = pResponseStatus_+  }+++-- | A list of job runs which are successfully submitted for stopping.+bsjrrsSuccessfulSubmissions :: Lens' BatchStopJobRunResponse [BatchStopJobRunSuccessfulSubmission]+bsjrrsSuccessfulSubmissions = lens _bsjrrsSuccessfulSubmissions (\ s a -> s{_bsjrrsSuccessfulSubmissions = a}) . _Default . _Coerce;++-- | A list containing the job run Ids and details of the error that occurred for each job run while submitting to stop.+bsjrrsErrors :: Lens' BatchStopJobRunResponse [BatchStopJobRunError]+bsjrrsErrors = lens _bsjrrsErrors (\ s a -> s{_bsjrrsErrors = a}) . _Default . _Coerce;++-- | -- | The response status code.+bsjrrsResponseStatus :: Lens' BatchStopJobRunResponse Int+bsjrrsResponseStatus = lens _bsjrrsResponseStatus (\ s a -> s{_bsjrrsResponseStatus = a});++instance NFData BatchStopJobRunResponse where
+ gen/Network/AWS/Glue/CreateClassifier.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.CreateClassifier+-- 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 @Classifier@ in the user's account.+--+--+module Network.AWS.Glue.CreateClassifier+    (+    -- * Creating a Request+      createClassifier+    , CreateClassifier+    -- * Request Lenses+    , ccGrokClassifier++    -- * Destructuring the Response+    , createClassifierResponse+    , CreateClassifierResponse+    -- * Response Lenses+    , ccrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createClassifier' smart constructor.+newtype CreateClassifier = CreateClassifier'+  { _ccGrokClassifier :: Maybe CreateGrokClassifierRequest+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccGrokClassifier' - A grok classifier to create.+createClassifier+    :: CreateClassifier+createClassifier = CreateClassifier' {_ccGrokClassifier = Nothing}+++-- | A grok classifier to create.+ccGrokClassifier :: Lens' CreateClassifier (Maybe CreateGrokClassifierRequest)+ccGrokClassifier = lens _ccGrokClassifier (\ s a -> s{_ccGrokClassifier = a});++instance AWSRequest CreateClassifier where+        type Rs CreateClassifier = CreateClassifierResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreateClassifierResponse' <$> (pure (fromEnum s)))++instance Hashable CreateClassifier where++instance NFData CreateClassifier where++instance ToHeaders CreateClassifier where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateClassifier" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateClassifier where+        toJSON CreateClassifier'{..}+          = object+              (catMaybes+                 [("GrokClassifier" .=) <$> _ccGrokClassifier])++instance ToPath CreateClassifier where+        toPath = const "/"++instance ToQuery CreateClassifier where+        toQuery = const mempty++-- | /See:/ 'createClassifierResponse' smart constructor.+newtype CreateClassifierResponse = CreateClassifierResponse'+  { _ccrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateClassifierResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrsResponseStatus' - -- | The response status code.+createClassifierResponse+    :: Int -- ^ 'ccrsResponseStatus'+    -> CreateClassifierResponse+createClassifierResponse pResponseStatus_ =+  CreateClassifierResponse' {_ccrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ccrsResponseStatus :: Lens' CreateClassifierResponse Int+ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a});++instance NFData CreateClassifierResponse where
+ gen/Network/AWS/Glue/CreateConnection.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.CreateConnection+-- 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 connection definition in the Data Catalog.+--+--+module Network.AWS.Glue.CreateConnection+    (+    -- * Creating a Request+      createConnection+    , CreateConnection+    -- * Request Lenses+    , ccCatalogId+    , ccConnectionInput++    -- * Destructuring the Response+    , createConnectionResponse+    , CreateConnectionResponse+    -- * Response Lenses+    , crsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createConnection' smart constructor.+data CreateConnection = CreateConnection'+  { _ccCatalogId       :: !(Maybe Text)+  , _ccConnectionInput :: !ConnectionInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccCatalogId' - The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.+--+-- * 'ccConnectionInput' - A @ConnectionInput@ object defining the connection to create.+createConnection+    :: ConnectionInput -- ^ 'ccConnectionInput'+    -> CreateConnection+createConnection pConnectionInput_ =+  CreateConnection'+  {_ccCatalogId = Nothing, _ccConnectionInput = pConnectionInput_}+++-- | The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.+ccCatalogId :: Lens' CreateConnection (Maybe Text)+ccCatalogId = lens _ccCatalogId (\ s a -> s{_ccCatalogId = a});++-- | A @ConnectionInput@ object defining the connection to create.+ccConnectionInput :: Lens' CreateConnection ConnectionInput+ccConnectionInput = lens _ccConnectionInput (\ s a -> s{_ccConnectionInput = a});++instance AWSRequest CreateConnection where+        type Rs CreateConnection = CreateConnectionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreateConnectionResponse' <$> (pure (fromEnum s)))++instance Hashable CreateConnection where++instance NFData CreateConnection where++instance ToHeaders CreateConnection where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateConnection" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateConnection where+        toJSON CreateConnection'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _ccCatalogId,+                  Just ("ConnectionInput" .= _ccConnectionInput)])++instance ToPath CreateConnection where+        toPath = const "/"++instance ToQuery CreateConnection where+        toQuery = const mempty++-- | /See:/ 'createConnectionResponse' smart constructor.+newtype CreateConnectionResponse = CreateConnectionResponse'+  { _crsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsResponseStatus' - -- | The response status code.+createConnectionResponse+    :: Int -- ^ 'crsResponseStatus'+    -> CreateConnectionResponse+createConnectionResponse pResponseStatus_ =+  CreateConnectionResponse' {_crsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+crsResponseStatus :: Lens' CreateConnectionResponse Int+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});++instance NFData CreateConnectionResponse where
+ gen/Network/AWS/Glue/CreateCrawler.hs view
@@ -0,0 +1,207 @@+{-# 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.Glue.CreateCrawler+-- 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 new @Crawler@ with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the /s3Targets/ or the /jdbcTargets/ field.+--+--+module Network.AWS.Glue.CreateCrawler+    (+    -- * Creating a Request+      createCrawler+    , CreateCrawler+    -- * Request Lenses+    , ccSchemaChangePolicy+    , ccSchedule+    , ccClassifiers+    , ccTablePrefix+    , ccDescription+    , ccName+    , ccRole+    , ccDatabaseName+    , ccTargets++    -- * Destructuring the Response+    , createCrawlerResponse+    , CreateCrawlerResponse+    -- * Response Lenses+    , crersResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createCrawler' smart constructor.+data CreateCrawler = CreateCrawler'+  { _ccSchemaChangePolicy :: !(Maybe SchemaChangePolicy)+  , _ccSchedule           :: !(Maybe Text)+  , _ccClassifiers        :: !(Maybe [Text])+  , _ccTablePrefix        :: !(Maybe Text)+  , _ccDescription        :: !(Maybe Text)+  , _ccName               :: !Text+  , _ccRole               :: !Text+  , _ccDatabaseName       :: !Text+  , _ccTargets            :: !CrawlerTargets+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateCrawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccSchemaChangePolicy' - Policy for the crawler's update and deletion behavior.+--+-- * 'ccSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'ccClassifiers' - A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+--+-- * 'ccTablePrefix' - The table prefix used for catalog tables created.+--+-- * 'ccDescription' - A description of the new @Crawler@ .+--+-- * 'ccName' - Name of the new @Crawler@ .+--+-- * 'ccRole' - The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+--+-- * 'ccDatabaseName' - The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+--+-- * 'ccTargets' - A list of collection of targets to crawl.+createCrawler+    :: Text -- ^ 'ccName'+    -> Text -- ^ 'ccRole'+    -> Text -- ^ 'ccDatabaseName'+    -> CrawlerTargets -- ^ 'ccTargets'+    -> CreateCrawler+createCrawler pName_ pRole_ pDatabaseName_ pTargets_ =+  CreateCrawler'+  { _ccSchemaChangePolicy = Nothing+  , _ccSchedule = Nothing+  , _ccClassifiers = Nothing+  , _ccTablePrefix = Nothing+  , _ccDescription = Nothing+  , _ccName = pName_+  , _ccRole = pRole_+  , _ccDatabaseName = pDatabaseName_+  , _ccTargets = pTargets_+  }+++-- | Policy for the crawler's update and deletion behavior.+ccSchemaChangePolicy :: Lens' CreateCrawler (Maybe SchemaChangePolicy)+ccSchemaChangePolicy = lens _ccSchemaChangePolicy (\ s a -> s{_ccSchemaChangePolicy = a});++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+ccSchedule :: Lens' CreateCrawler (Maybe Text)+ccSchedule = lens _ccSchedule (\ s a -> s{_ccSchedule = a});++-- | A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+ccClassifiers :: Lens' CreateCrawler [Text]+ccClassifiers = lens _ccClassifiers (\ s a -> s{_ccClassifiers = a}) . _Default . _Coerce;++-- | The table prefix used for catalog tables created.+ccTablePrefix :: Lens' CreateCrawler (Maybe Text)+ccTablePrefix = lens _ccTablePrefix (\ s a -> s{_ccTablePrefix = a});++-- | A description of the new @Crawler@ .+ccDescription :: Lens' CreateCrawler (Maybe Text)+ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a});++-- | Name of the new @Crawler@ .+ccName :: Lens' CreateCrawler Text+ccName = lens _ccName (\ s a -> s{_ccName = a});++-- | The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+ccRole :: Lens' CreateCrawler Text+ccRole = lens _ccRole (\ s a -> s{_ccRole = a});++-- | The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+ccDatabaseName :: Lens' CreateCrawler Text+ccDatabaseName = lens _ccDatabaseName (\ s a -> s{_ccDatabaseName = a});++-- | A list of collection of targets to crawl.+ccTargets :: Lens' CreateCrawler CrawlerTargets+ccTargets = lens _ccTargets (\ s a -> s{_ccTargets = a});++instance AWSRequest CreateCrawler where+        type Rs CreateCrawler = CreateCrawlerResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreateCrawlerResponse' <$> (pure (fromEnum s)))++instance Hashable CreateCrawler where++instance NFData CreateCrawler where++instance ToHeaders CreateCrawler where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateCrawler" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateCrawler where+        toJSON CreateCrawler'{..}+          = object+              (catMaybes+                 [("SchemaChangePolicy" .=) <$> _ccSchemaChangePolicy,+                  ("Schedule" .=) <$> _ccSchedule,+                  ("Classifiers" .=) <$> _ccClassifiers,+                  ("TablePrefix" .=) <$> _ccTablePrefix,+                  ("Description" .=) <$> _ccDescription,+                  Just ("Name" .= _ccName), Just ("Role" .= _ccRole),+                  Just ("DatabaseName" .= _ccDatabaseName),+                  Just ("Targets" .= _ccTargets)])++instance ToPath CreateCrawler where+        toPath = const "/"++instance ToQuery CreateCrawler where+        toQuery = const mempty++-- | /See:/ 'createCrawlerResponse' smart constructor.+newtype CreateCrawlerResponse = CreateCrawlerResponse'+  { _crersResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateCrawlerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crersResponseStatus' - -- | The response status code.+createCrawlerResponse+    :: Int -- ^ 'crersResponseStatus'+    -> CreateCrawlerResponse+createCrawlerResponse pResponseStatus_ =+  CreateCrawlerResponse' {_crersResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+crersResponseStatus :: Lens' CreateCrawlerResponse Int+crersResponseStatus = lens _crersResponseStatus (\ s a -> s{_crersResponseStatus = a});++instance NFData CreateCrawlerResponse where
+ gen/Network/AWS/Glue/CreateDatabase.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.Glue.CreateDatabase+-- 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 new database in a Data Catalog.+--+--+module Network.AWS.Glue.CreateDatabase+    (+    -- * Creating a Request+      createDatabase+    , CreateDatabase+    -- * Request Lenses+    , cdCatalogId+    , cdDatabaseInput++    -- * Destructuring the Response+    , createDatabaseResponse+    , CreateDatabaseResponse+    -- * Response Lenses+    , cdrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDatabase' smart constructor.+data CreateDatabase = CreateDatabase'+  { _cdCatalogId     :: !(Maybe Text)+  , _cdDatabaseInput :: !DatabaseInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatabase' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdCatalogId' - The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default.+--+-- * 'cdDatabaseInput' - A @DatabaseInput@ object defining the metadata database to create in the catalog.+createDatabase+    :: DatabaseInput -- ^ 'cdDatabaseInput'+    -> CreateDatabase+createDatabase pDatabaseInput_ =+  CreateDatabase' {_cdCatalogId = Nothing, _cdDatabaseInput = pDatabaseInput_}+++-- | The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default.+cdCatalogId :: Lens' CreateDatabase (Maybe Text)+cdCatalogId = lens _cdCatalogId (\ s a -> s{_cdCatalogId = a});++-- | A @DatabaseInput@ object defining the metadata database to create in the catalog.+cdDatabaseInput :: Lens' CreateDatabase DatabaseInput+cdDatabaseInput = lens _cdDatabaseInput (\ s a -> s{_cdDatabaseInput = a});++instance AWSRequest CreateDatabase where+        type Rs CreateDatabase = CreateDatabaseResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreateDatabaseResponse' <$> (pure (fromEnum s)))++instance Hashable CreateDatabase where++instance NFData CreateDatabase where++instance ToHeaders CreateDatabase where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateDatabase" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDatabase where+        toJSON CreateDatabase'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _cdCatalogId,+                  Just ("DatabaseInput" .= _cdDatabaseInput)])++instance ToPath CreateDatabase where+        toPath = const "/"++instance ToQuery CreateDatabase where+        toQuery = const mempty++-- | /See:/ 'createDatabaseResponse' smart constructor.+newtype CreateDatabaseResponse = CreateDatabaseResponse'+  { _cdrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDatabaseResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrsResponseStatus' - -- | The response status code.+createDatabaseResponse+    :: Int -- ^ 'cdrsResponseStatus'+    -> CreateDatabaseResponse+createDatabaseResponse pResponseStatus_ =+  CreateDatabaseResponse' {_cdrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+cdrsResponseStatus :: Lens' CreateDatabaseResponse Int+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});++instance NFData CreateDatabaseResponse where
+ gen/Network/AWS/Glue/CreateDevEndpoint.hs view
@@ -0,0 +1,340 @@+{-# 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.Glue.CreateDevEndpoint+-- 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 new DevEndpoint.+--+--+module Network.AWS.Glue.CreateDevEndpoint+    (+    -- * Creating a Request+      createDevEndpoint+    , CreateDevEndpoint+    -- * Request Lenses+    , cdeExtraPythonLibsS3Path+    , cdeSecurityGroupIds+    , cdeSubnetId+    , cdeNumberOfNodes+    , cdeExtraJARsS3Path+    , cdeEndpointName+    , cdeRoleARN+    , cdePublicKey++    -- * Destructuring the Response+    , createDevEndpointResponse+    , CreateDevEndpointResponse+    -- * Response Lenses+    , cdersStatus+    , cdersFailureReason+    , cdersEndpointName+    , cdersExtraPythonLibsS3Path+    , cdersSecurityGroupIds+    , cdersVPCId+    , cdersSubnetId+    , cdersNumberOfNodes+    , cdersAvailabilityZone+    , cdersZeppelinRemoteSparkInterpreterPort+    , cdersExtraJARsS3Path+    , cdersCreatedTimestamp+    , cdersYarnEndpointAddress+    , cdersRoleARN+    , cdersResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createDevEndpoint' smart constructor.+data CreateDevEndpoint = CreateDevEndpoint'+  { _cdeExtraPythonLibsS3Path :: !(Maybe Text)+  , _cdeSecurityGroupIds      :: !(Maybe [Text])+  , _cdeSubnetId              :: !(Maybe Text)+  , _cdeNumberOfNodes         :: !(Maybe Int)+  , _cdeExtraJARsS3Path       :: !(Maybe Text)+  , _cdeEndpointName          :: !Text+  , _cdeRoleARN               :: !Text+  , _cdePublicKey             :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDevEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdeExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+--+-- * 'cdeSecurityGroupIds' - Security group IDs for the security groups to be used by the new DevEndpoint.+--+-- * 'cdeSubnetId' - The subnet ID for the new DevEndpoint to use.+--+-- * 'cdeNumberOfNodes' - The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.+--+-- * 'cdeExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.+--+-- * 'cdeEndpointName' - The name to be assigned to the new DevEndpoint.+--+-- * 'cdeRoleARN' - The IAM role for the DevEndpoint.+--+-- * 'cdePublicKey' - The public key to use for authentication.+createDevEndpoint+    :: Text -- ^ 'cdeEndpointName'+    -> Text -- ^ 'cdeRoleARN'+    -> Text -- ^ 'cdePublicKey'+    -> CreateDevEndpoint+createDevEndpoint pEndpointName_ pRoleARN_ pPublicKey_ =+  CreateDevEndpoint'+  { _cdeExtraPythonLibsS3Path = Nothing+  , _cdeSecurityGroupIds = Nothing+  , _cdeSubnetId = Nothing+  , _cdeNumberOfNodes = Nothing+  , _cdeExtraJARsS3Path = Nothing+  , _cdeEndpointName = pEndpointName_+  , _cdeRoleARN = pRoleARN_+  , _cdePublicKey = pPublicKey_+  }+++-- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+cdeExtraPythonLibsS3Path :: Lens' CreateDevEndpoint (Maybe Text)+cdeExtraPythonLibsS3Path = lens _cdeExtraPythonLibsS3Path (\ s a -> s{_cdeExtraPythonLibsS3Path = a});++-- | Security group IDs for the security groups to be used by the new DevEndpoint.+cdeSecurityGroupIds :: Lens' CreateDevEndpoint [Text]+cdeSecurityGroupIds = lens _cdeSecurityGroupIds (\ s a -> s{_cdeSecurityGroupIds = a}) . _Default . _Coerce;++-- | The subnet ID for the new DevEndpoint to use.+cdeSubnetId :: Lens' CreateDevEndpoint (Maybe Text)+cdeSubnetId = lens _cdeSubnetId (\ s a -> s{_cdeSubnetId = a});++-- | The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.+cdeNumberOfNodes :: Lens' CreateDevEndpoint (Maybe Int)+cdeNumberOfNodes = lens _cdeNumberOfNodes (\ s a -> s{_cdeNumberOfNodes = a});++-- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.+cdeExtraJARsS3Path :: Lens' CreateDevEndpoint (Maybe Text)+cdeExtraJARsS3Path = lens _cdeExtraJARsS3Path (\ s a -> s{_cdeExtraJARsS3Path = a});++-- | The name to be assigned to the new DevEndpoint.+cdeEndpointName :: Lens' CreateDevEndpoint Text+cdeEndpointName = lens _cdeEndpointName (\ s a -> s{_cdeEndpointName = a});++-- | The IAM role for the DevEndpoint.+cdeRoleARN :: Lens' CreateDevEndpoint Text+cdeRoleARN = lens _cdeRoleARN (\ s a -> s{_cdeRoleARN = a});++-- | The public key to use for authentication.+cdePublicKey :: Lens' CreateDevEndpoint Text+cdePublicKey = lens _cdePublicKey (\ s a -> s{_cdePublicKey = a});++instance AWSRequest CreateDevEndpoint where+        type Rs CreateDevEndpoint = CreateDevEndpointResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 CreateDevEndpointResponse' <$>+                   (x .?> "Status") <*> (x .?> "FailureReason") <*>+                     (x .?> "EndpointName")+                     <*> (x .?> "ExtraPythonLibsS3Path")+                     <*> (x .?> "SecurityGroupIds" .!@ mempty)+                     <*> (x .?> "VpcId")+                     <*> (x .?> "SubnetId")+                     <*> (x .?> "NumberOfNodes")+                     <*> (x .?> "AvailabilityZone")+                     <*> (x .?> "ZeppelinRemoteSparkInterpreterPort")+                     <*> (x .?> "ExtraJarsS3Path")+                     <*> (x .?> "CreatedTimestamp")+                     <*> (x .?> "YarnEndpointAddress")+                     <*> (x .?> "RoleArn")+                     <*> (pure (fromEnum s)))++instance Hashable CreateDevEndpoint where++instance NFData CreateDevEndpoint where++instance ToHeaders CreateDevEndpoint where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateDevEndpoint" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDevEndpoint where+        toJSON CreateDevEndpoint'{..}+          = object+              (catMaybes+                 [("ExtraPythonLibsS3Path" .=) <$>+                    _cdeExtraPythonLibsS3Path,+                  ("SecurityGroupIds" .=) <$> _cdeSecurityGroupIds,+                  ("SubnetId" .=) <$> _cdeSubnetId,+                  ("NumberOfNodes" .=) <$> _cdeNumberOfNodes,+                  ("ExtraJarsS3Path" .=) <$> _cdeExtraJARsS3Path,+                  Just ("EndpointName" .= _cdeEndpointName),+                  Just ("RoleArn" .= _cdeRoleARN),+                  Just ("PublicKey" .= _cdePublicKey)])++instance ToPath CreateDevEndpoint where+        toPath = const "/"++instance ToQuery CreateDevEndpoint where+        toQuery = const mempty++-- | /See:/ 'createDevEndpointResponse' smart constructor.+data CreateDevEndpointResponse = CreateDevEndpointResponse'+  { _cdersStatus                             :: !(Maybe Text)+  , _cdersFailureReason                      :: !(Maybe Text)+  , _cdersEndpointName                       :: !(Maybe Text)+  , _cdersExtraPythonLibsS3Path              :: !(Maybe Text)+  , _cdersSecurityGroupIds                   :: !(Maybe [Text])+  , _cdersVPCId                              :: !(Maybe Text)+  , _cdersSubnetId                           :: !(Maybe Text)+  , _cdersNumberOfNodes                      :: !(Maybe Int)+  , _cdersAvailabilityZone                   :: !(Maybe Text)+  , _cdersZeppelinRemoteSparkInterpreterPort :: !(Maybe Int)+  , _cdersExtraJARsS3Path                    :: !(Maybe Text)+  , _cdersCreatedTimestamp                   :: !(Maybe POSIX)+  , _cdersYarnEndpointAddress                :: !(Maybe Text)+  , _cdersRoleARN                            :: !(Maybe Text)+  , _cdersResponseStatus                     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateDevEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdersStatus' - The current status of the new DevEndpoint.+--+-- * 'cdersFailureReason' - The reason for a current failure in this DevEndpoint.+--+-- * 'cdersEndpointName' - The name assigned to the new DevEndpoint.+--+-- * 'cdersExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.+--+-- * 'cdersSecurityGroupIds' - The security groups assigned to the new DevEndpoint.+--+-- * 'cdersVPCId' - The ID of the VPC used by this DevEndpoint.+--+-- * 'cdersSubnetId' - The subnet ID assigned to the new DevEndpoint.+--+-- * 'cdersNumberOfNodes' - The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.+--+-- * 'cdersAvailabilityZone' - The AWS availability zone where this DevEndpoint is located.+--+-- * 'cdersZeppelinRemoteSparkInterpreterPort' - The Apache Zeppelin port for the remote Apache Spark interpreter.+--+-- * 'cdersExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint.+--+-- * 'cdersCreatedTimestamp' - The point in time at which this DevEndpoint was created.+--+-- * 'cdersYarnEndpointAddress' - The address of the YARN endpoint used by this DevEndpoint.+--+-- * 'cdersRoleARN' - The AWS ARN of the role assigned to the new DevEndpoint.+--+-- * 'cdersResponseStatus' - -- | The response status code.+createDevEndpointResponse+    :: Int -- ^ 'cdersResponseStatus'+    -> CreateDevEndpointResponse+createDevEndpointResponse pResponseStatus_ =+  CreateDevEndpointResponse'+  { _cdersStatus = Nothing+  , _cdersFailureReason = Nothing+  , _cdersEndpointName = Nothing+  , _cdersExtraPythonLibsS3Path = Nothing+  , _cdersSecurityGroupIds = Nothing+  , _cdersVPCId = Nothing+  , _cdersSubnetId = Nothing+  , _cdersNumberOfNodes = Nothing+  , _cdersAvailabilityZone = Nothing+  , _cdersZeppelinRemoteSparkInterpreterPort = Nothing+  , _cdersExtraJARsS3Path = Nothing+  , _cdersCreatedTimestamp = Nothing+  , _cdersYarnEndpointAddress = Nothing+  , _cdersRoleARN = Nothing+  , _cdersResponseStatus = pResponseStatus_+  }+++-- | The current status of the new DevEndpoint.+cdersStatus :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersStatus = lens _cdersStatus (\ s a -> s{_cdersStatus = a});++-- | The reason for a current failure in this DevEndpoint.+cdersFailureReason :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersFailureReason = lens _cdersFailureReason (\ s a -> s{_cdersFailureReason = a});++-- | The name assigned to the new DevEndpoint.+cdersEndpointName :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersEndpointName = lens _cdersEndpointName (\ s a -> s{_cdersEndpointName = a});++-- | Path(s) to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.+cdersExtraPythonLibsS3Path :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersExtraPythonLibsS3Path = lens _cdersExtraPythonLibsS3Path (\ s a -> s{_cdersExtraPythonLibsS3Path = a});++-- | The security groups assigned to the new DevEndpoint.+cdersSecurityGroupIds :: Lens' CreateDevEndpointResponse [Text]+cdersSecurityGroupIds = lens _cdersSecurityGroupIds (\ s a -> s{_cdersSecurityGroupIds = a}) . _Default . _Coerce;++-- | The ID of the VPC used by this DevEndpoint.+cdersVPCId :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersVPCId = lens _cdersVPCId (\ s a -> s{_cdersVPCId = a});++-- | The subnet ID assigned to the new DevEndpoint.+cdersSubnetId :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersSubnetId = lens _cdersSubnetId (\ s a -> s{_cdersSubnetId = a});++-- | The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.+cdersNumberOfNodes :: Lens' CreateDevEndpointResponse (Maybe Int)+cdersNumberOfNodes = lens _cdersNumberOfNodes (\ s a -> s{_cdersNumberOfNodes = a});++-- | The AWS availability zone where this DevEndpoint is located.+cdersAvailabilityZone :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersAvailabilityZone = lens _cdersAvailabilityZone (\ s a -> s{_cdersAvailabilityZone = a});++-- | The Apache Zeppelin port for the remote Apache Spark interpreter.+cdersZeppelinRemoteSparkInterpreterPort :: Lens' CreateDevEndpointResponse (Maybe Int)+cdersZeppelinRemoteSparkInterpreterPort = lens _cdersZeppelinRemoteSparkInterpreterPort (\ s a -> s{_cdersZeppelinRemoteSparkInterpreterPort = a});++-- | Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint.+cdersExtraJARsS3Path :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersExtraJARsS3Path = lens _cdersExtraJARsS3Path (\ s a -> s{_cdersExtraJARsS3Path = a});++-- | The point in time at which this DevEndpoint was created.+cdersCreatedTimestamp :: Lens' CreateDevEndpointResponse (Maybe UTCTime)+cdersCreatedTimestamp = lens _cdersCreatedTimestamp (\ s a -> s{_cdersCreatedTimestamp = a}) . mapping _Time;++-- | The address of the YARN endpoint used by this DevEndpoint.+cdersYarnEndpointAddress :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersYarnEndpointAddress = lens _cdersYarnEndpointAddress (\ s a -> s{_cdersYarnEndpointAddress = a});++-- | The AWS ARN of the role assigned to the new DevEndpoint.+cdersRoleARN :: Lens' CreateDevEndpointResponse (Maybe Text)+cdersRoleARN = lens _cdersRoleARN (\ s a -> s{_cdersRoleARN = a});++-- | -- | The response status code.+cdersResponseStatus :: Lens' CreateDevEndpointResponse Int+cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a});++instance NFData CreateDevEndpointResponse where
+ gen/Network/AWS/Glue/CreateJob.hs view
@@ -0,0 +1,226 @@+{-# 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.Glue.CreateJob+-- 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 new job.+--+--+module Network.AWS.Glue.CreateJob+    (+    -- * Creating a Request+      createJob+    , CreateJob+    -- * Request Lenses+    , cjConnections+    , cjLogURI+    , cjMaxRetries+    , cjExecutionProperty+    , cjAllocatedCapacity+    , cjDefaultArguments+    , cjDescription+    , cjName+    , cjRole+    , cjCommand++    -- * Destructuring the Response+    , createJobResponse+    , CreateJobResponse+    -- * Response Lenses+    , cjrsName+    , cjrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createJob' smart constructor.+data CreateJob = CreateJob'+  { _cjConnections       :: !(Maybe ConnectionsList)+  , _cjLogURI            :: !(Maybe Text)+  , _cjMaxRetries        :: !(Maybe Int)+  , _cjExecutionProperty :: !(Maybe ExecutionProperty)+  , _cjAllocatedCapacity :: !(Maybe Int)+  , _cjDefaultArguments  :: !(Maybe (Map Text Text))+  , _cjDescription       :: !(Maybe Text)+  , _cjName              :: !Text+  , _cjRole              :: !Text+  , _cjCommand           :: !JobCommand+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cjConnections' - The connections used for this job.+--+-- * 'cjLogURI' - This field is reserved for future use.+--+-- * 'cjMaxRetries' - The maximum number of times to retry this job if it fails.+--+-- * 'cjExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+--+-- * 'cjAllocatedCapacity' - The number of capacity units allocated to this job.+--+-- * 'cjDefaultArguments' - The default parameters for this job.+--+-- * 'cjDescription' - Description of the job.+--+-- * 'cjName' - The name you assign to this job.+--+-- * 'cjRole' - The role associated with this job.+--+-- * 'cjCommand' - The JobCommand that executes this job.+createJob+    :: Text -- ^ 'cjName'+    -> Text -- ^ 'cjRole'+    -> JobCommand -- ^ 'cjCommand'+    -> CreateJob+createJob pName_ pRole_ pCommand_ =+  CreateJob'+  { _cjConnections = Nothing+  , _cjLogURI = Nothing+  , _cjMaxRetries = Nothing+  , _cjExecutionProperty = Nothing+  , _cjAllocatedCapacity = Nothing+  , _cjDefaultArguments = Nothing+  , _cjDescription = Nothing+  , _cjName = pName_+  , _cjRole = pRole_+  , _cjCommand = pCommand_+  }+++-- | The connections used for this job.+cjConnections :: Lens' CreateJob (Maybe ConnectionsList)+cjConnections = lens _cjConnections (\ s a -> s{_cjConnections = a});++-- | This field is reserved for future use.+cjLogURI :: Lens' CreateJob (Maybe Text)+cjLogURI = lens _cjLogURI (\ s a -> s{_cjLogURI = a});++-- | The maximum number of times to retry this job if it fails.+cjMaxRetries :: Lens' CreateJob (Maybe Int)+cjMaxRetries = lens _cjMaxRetries (\ s a -> s{_cjMaxRetries = a});++-- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+cjExecutionProperty :: Lens' CreateJob (Maybe ExecutionProperty)+cjExecutionProperty = lens _cjExecutionProperty (\ s a -> s{_cjExecutionProperty = a});++-- | The number of capacity units allocated to this job.+cjAllocatedCapacity :: Lens' CreateJob (Maybe Int)+cjAllocatedCapacity = lens _cjAllocatedCapacity (\ s a -> s{_cjAllocatedCapacity = a});++-- | The default parameters for this job.+cjDefaultArguments :: Lens' CreateJob (HashMap Text Text)+cjDefaultArguments = lens _cjDefaultArguments (\ s a -> s{_cjDefaultArguments = a}) . _Default . _Map;++-- | Description of the job.+cjDescription :: Lens' CreateJob (Maybe Text)+cjDescription = lens _cjDescription (\ s a -> s{_cjDescription = a});++-- | The name you assign to this job.+cjName :: Lens' CreateJob Text+cjName = lens _cjName (\ s a -> s{_cjName = a});++-- | The role associated with this job.+cjRole :: Lens' CreateJob Text+cjRole = lens _cjRole (\ s a -> s{_cjRole = a});++-- | The JobCommand that executes this job.+cjCommand :: Lens' CreateJob JobCommand+cjCommand = lens _cjCommand (\ s a -> s{_cjCommand = a});++instance AWSRequest CreateJob where+        type Rs CreateJob = CreateJobResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 CreateJobResponse' <$>+                   (x .?> "Name") <*> (pure (fromEnum s)))++instance Hashable CreateJob where++instance NFData CreateJob where++instance ToHeaders CreateJob where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateJob" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateJob where+        toJSON CreateJob'{..}+          = object+              (catMaybes+                 [("Connections" .=) <$> _cjConnections,+                  ("LogUri" .=) <$> _cjLogURI,+                  ("MaxRetries" .=) <$> _cjMaxRetries,+                  ("ExecutionProperty" .=) <$> _cjExecutionProperty,+                  ("AllocatedCapacity" .=) <$> _cjAllocatedCapacity,+                  ("DefaultArguments" .=) <$> _cjDefaultArguments,+                  ("Description" .=) <$> _cjDescription,+                  Just ("Name" .= _cjName), Just ("Role" .= _cjRole),+                  Just ("Command" .= _cjCommand)])++instance ToPath CreateJob where+        toPath = const "/"++instance ToQuery CreateJob where+        toQuery = const mempty++-- | /See:/ 'createJobResponse' smart constructor.+data CreateJobResponse = CreateJobResponse'+  { _cjrsName           :: !(Maybe Text)+  , _cjrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateJobResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cjrsName' - The unique name of the new job that has been created.+--+-- * 'cjrsResponseStatus' - -- | The response status code.+createJobResponse+    :: Int -- ^ 'cjrsResponseStatus'+    -> CreateJobResponse+createJobResponse pResponseStatus_ =+  CreateJobResponse'+  {_cjrsName = Nothing, _cjrsResponseStatus = pResponseStatus_}+++-- | The unique name of the new job that has been created.+cjrsName :: Lens' CreateJobResponse (Maybe Text)+cjrsName = lens _cjrsName (\ s a -> s{_cjrsName = a});++-- | -- | The response status code.+cjrsResponseStatus :: Lens' CreateJobResponse Int+cjrsResponseStatus = lens _cjrsResponseStatus (\ s a -> s{_cjrsResponseStatus = a});++instance NFData CreateJobResponse where
+ gen/Network/AWS/Glue/CreatePartition.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.CreatePartition+-- 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 new partition.+--+--+module Network.AWS.Glue.CreatePartition+    (+    -- * Creating a Request+      createPartition+    , CreatePartition+    -- * Request Lenses+    , cpCatalogId+    , cpDatabaseName+    , cpTableName+    , cpPartitionInput++    -- * Destructuring the Response+    , createPartitionResponse+    , CreatePartitionResponse+    -- * Response Lenses+    , cprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createPartition' smart constructor.+data CreatePartition = CreatePartition'+  { _cpCatalogId      :: !(Maybe Text)+  , _cpDatabaseName   :: !Text+  , _cpTableName      :: !Text+  , _cpPartitionInput :: !PartitionInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreatePartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpCatalogId' - The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.+--+-- * 'cpDatabaseName' - The name of the metadata database in which the partition is to be created.+--+-- * 'cpTableName' - The name of the metadata table in which the partition is to be created.+--+-- * 'cpPartitionInput' - A @PartitionInput@ structure defining the partition to be created.+createPartition+    :: Text -- ^ 'cpDatabaseName'+    -> Text -- ^ 'cpTableName'+    -> PartitionInput -- ^ 'cpPartitionInput'+    -> CreatePartition+createPartition pDatabaseName_ pTableName_ pPartitionInput_ =+  CreatePartition'+  { _cpCatalogId = Nothing+  , _cpDatabaseName = pDatabaseName_+  , _cpTableName = pTableName_+  , _cpPartitionInput = pPartitionInput_+  }+++-- | The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.+cpCatalogId :: Lens' CreatePartition (Maybe Text)+cpCatalogId = lens _cpCatalogId (\ s a -> s{_cpCatalogId = a});++-- | The name of the metadata database in which the partition is to be created.+cpDatabaseName :: Lens' CreatePartition Text+cpDatabaseName = lens _cpDatabaseName (\ s a -> s{_cpDatabaseName = a});++-- | The name of the metadata table in which the partition is to be created.+cpTableName :: Lens' CreatePartition Text+cpTableName = lens _cpTableName (\ s a -> s{_cpTableName = a});++-- | A @PartitionInput@ structure defining the partition to be created.+cpPartitionInput :: Lens' CreatePartition PartitionInput+cpPartitionInput = lens _cpPartitionInput (\ s a -> s{_cpPartitionInput = a});++instance AWSRequest CreatePartition where+        type Rs CreatePartition = CreatePartitionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreatePartitionResponse' <$> (pure (fromEnum s)))++instance Hashable CreatePartition where++instance NFData CreatePartition where++instance ToHeaders CreatePartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreatePartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreatePartition where+        toJSON CreatePartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _cpCatalogId,+                  Just ("DatabaseName" .= _cpDatabaseName),+                  Just ("TableName" .= _cpTableName),+                  Just ("PartitionInput" .= _cpPartitionInput)])++instance ToPath CreatePartition where+        toPath = const "/"++instance ToQuery CreatePartition where+        toQuery = const mempty++-- | /See:/ 'createPartitionResponse' smart constructor.+newtype CreatePartitionResponse = CreatePartitionResponse'+  { _cprsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreatePartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprsResponseStatus' - -- | The response status code.+createPartitionResponse+    :: Int -- ^ 'cprsResponseStatus'+    -> CreatePartitionResponse+createPartitionResponse pResponseStatus_ =+  CreatePartitionResponse' {_cprsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+cprsResponseStatus :: Lens' CreatePartitionResponse Int+cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a});++instance NFData CreatePartitionResponse where
+ gen/Network/AWS/Glue/CreateScript.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.Glue.CreateScript+-- 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)+--+-- Transforms a directed acyclic graph (DAG) into a Python script.+--+--+module Network.AWS.Glue.CreateScript+    (+    -- * Creating a Request+      createScript+    , CreateScript+    -- * Request Lenses+    , csDagEdges+    , csDagNodes++    -- * Destructuring the Response+    , createScriptResponse+    , CreateScriptResponse+    -- * Response Lenses+    , csrsPythonScript+    , csrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createScript' smart constructor.+data CreateScript = CreateScript'+  { _csDagEdges :: !(Maybe [CodeGenEdge])+  , _csDagNodes :: !(Maybe [CodeGenNode])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateScript' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csDagEdges' - A list of the edges in the DAG.+--+-- * 'csDagNodes' - A list of the nodes in the DAG.+createScript+    :: CreateScript+createScript = CreateScript' {_csDagEdges = Nothing, _csDagNodes = Nothing}+++-- | A list of the edges in the DAG.+csDagEdges :: Lens' CreateScript [CodeGenEdge]+csDagEdges = lens _csDagEdges (\ s a -> s{_csDagEdges = a}) . _Default . _Coerce;++-- | A list of the nodes in the DAG.+csDagNodes :: Lens' CreateScript [CodeGenNode]+csDagNodes = lens _csDagNodes (\ s a -> s{_csDagNodes = a}) . _Default . _Coerce;++instance AWSRequest CreateScript where+        type Rs CreateScript = CreateScriptResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 CreateScriptResponse' <$>+                   (x .?> "PythonScript") <*> (pure (fromEnum s)))++instance Hashable CreateScript where++instance NFData CreateScript where++instance ToHeaders CreateScript where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateScript" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateScript where+        toJSON CreateScript'{..}+          = object+              (catMaybes+                 [("DagEdges" .=) <$> _csDagEdges,+                  ("DagNodes" .=) <$> _csDagNodes])++instance ToPath CreateScript where+        toPath = const "/"++instance ToQuery CreateScript where+        toQuery = const mempty++-- | /See:/ 'createScriptResponse' smart constructor.+data CreateScriptResponse = CreateScriptResponse'+  { _csrsPythonScript   :: !(Maybe Text)+  , _csrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateScriptResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csrsPythonScript' - The Python script generated from the DAG.+--+-- * 'csrsResponseStatus' - -- | The response status code.+createScriptResponse+    :: Int -- ^ 'csrsResponseStatus'+    -> CreateScriptResponse+createScriptResponse pResponseStatus_ =+  CreateScriptResponse'+  {_csrsPythonScript = Nothing, _csrsResponseStatus = pResponseStatus_}+++-- | The Python script generated from the DAG.+csrsPythonScript :: Lens' CreateScriptResponse (Maybe Text)+csrsPythonScript = lens _csrsPythonScript (\ s a -> s{_csrsPythonScript = a});++-- | -- | The response status code.+csrsResponseStatus :: Lens' CreateScriptResponse Int+csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});++instance NFData CreateScriptResponse where
+ gen/Network/AWS/Glue/CreateTable.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.CreateTable+-- 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 new table definition in the Data Catalog.+--+--+module Network.AWS.Glue.CreateTable+    (+    -- * Creating a Request+      createTable+    , CreateTable+    -- * Request Lenses+    , ctCatalogId+    , ctDatabaseName+    , ctTableInput++    -- * Destructuring the Response+    , createTableResponse+    , CreateTableResponse+    -- * Response Lenses+    , cttrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createTable' smart constructor.+data CreateTable = CreateTable'+  { _ctCatalogId    :: !(Maybe Text)+  , _ctDatabaseName :: !Text+  , _ctTableInput   :: !TableInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctCatalogId' - The ID of the Data Catalog in which to create the @Table@ . If none is supplied, the AWS account ID is used by default.+--+-- * 'ctDatabaseName' - The catalog database in which to create the new table.+--+-- * 'ctTableInput' - The @TableInput@ object that defines the metadata table to create in the catalog.+createTable+    :: Text -- ^ 'ctDatabaseName'+    -> TableInput -- ^ 'ctTableInput'+    -> CreateTable+createTable pDatabaseName_ pTableInput_ =+  CreateTable'+  { _ctCatalogId = Nothing+  , _ctDatabaseName = pDatabaseName_+  , _ctTableInput = pTableInput_+  }+++-- | The ID of the Data Catalog in which to create the @Table@ . If none is supplied, the AWS account ID is used by default.+ctCatalogId :: Lens' CreateTable (Maybe Text)+ctCatalogId = lens _ctCatalogId (\ s a -> s{_ctCatalogId = a});++-- | The catalog database in which to create the new table.+ctDatabaseName :: Lens' CreateTable Text+ctDatabaseName = lens _ctDatabaseName (\ s a -> s{_ctDatabaseName = a});++-- | The @TableInput@ object that defines the metadata table to create in the catalog.+ctTableInput :: Lens' CreateTable TableInput+ctTableInput = lens _ctTableInput (\ s a -> s{_ctTableInput = a});++instance AWSRequest CreateTable where+        type Rs CreateTable = CreateTableResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreateTableResponse' <$> (pure (fromEnum s)))++instance Hashable CreateTable where++instance NFData CreateTable where++instance ToHeaders CreateTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateTable" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateTable where+        toJSON CreateTable'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _ctCatalogId,+                  Just ("DatabaseName" .= _ctDatabaseName),+                  Just ("TableInput" .= _ctTableInput)])++instance ToPath CreateTable where+        toPath = const "/"++instance ToQuery CreateTable where+        toQuery = const mempty++-- | /See:/ 'createTableResponse' smart constructor.+newtype CreateTableResponse = CreateTableResponse'+  { _cttrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cttrsResponseStatus' - -- | The response status code.+createTableResponse+    :: Int -- ^ 'cttrsResponseStatus'+    -> CreateTableResponse+createTableResponse pResponseStatus_ =+  CreateTableResponse' {_cttrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+cttrsResponseStatus :: Lens' CreateTableResponse Int+cttrsResponseStatus = lens _cttrsResponseStatus (\ s a -> s{_cttrsResponseStatus = a});++instance NFData CreateTableResponse where
+ gen/Network/AWS/Glue/CreateTrigger.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.Glue.CreateTrigger+-- 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 new trigger.+--+--+module Network.AWS.Glue.CreateTrigger+    (+    -- * Creating a Request+      createTrigger+    , CreateTrigger+    -- * Request Lenses+    , ctSchedule+    , ctPredicate+    , ctDescription+    , ctName+    , ctType+    , ctActions++    -- * Destructuring the Response+    , createTriggerResponse+    , CreateTriggerResponse+    -- * Response Lenses+    , ctrsName+    , ctrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createTrigger' smart constructor.+data CreateTrigger = CreateTrigger'+  { _ctSchedule    :: !(Maybe Text)+  , _ctPredicate   :: !(Maybe Predicate)+  , _ctDescription :: !(Maybe Text)+  , _ctName        :: !Text+  , _ctType        :: !TriggerType+  , _ctActions     :: ![Action]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'ctPredicate' - A predicate to specify when the new trigger should fire.+--+-- * 'ctDescription' - A description of the new trigger.+--+-- * 'ctName' - The name to assign to the new trigger.+--+-- * 'ctType' - The type of the new trigger.+--+-- * 'ctActions' - The actions initiated by this trigger when it fires.+createTrigger+    :: Text -- ^ 'ctName'+    -> TriggerType -- ^ 'ctType'+    -> CreateTrigger+createTrigger pName_ pType_ =+  CreateTrigger'+  { _ctSchedule = Nothing+  , _ctPredicate = Nothing+  , _ctDescription = Nothing+  , _ctName = pName_+  , _ctType = pType_+  , _ctActions = mempty+  }+++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+ctSchedule :: Lens' CreateTrigger (Maybe Text)+ctSchedule = lens _ctSchedule (\ s a -> s{_ctSchedule = a});++-- | A predicate to specify when the new trigger should fire.+ctPredicate :: Lens' CreateTrigger (Maybe Predicate)+ctPredicate = lens _ctPredicate (\ s a -> s{_ctPredicate = a});++-- | A description of the new trigger.+ctDescription :: Lens' CreateTrigger (Maybe Text)+ctDescription = lens _ctDescription (\ s a -> s{_ctDescription = a});++-- | The name to assign to the new trigger.+ctName :: Lens' CreateTrigger Text+ctName = lens _ctName (\ s a -> s{_ctName = a});++-- | The type of the new trigger.+ctType :: Lens' CreateTrigger TriggerType+ctType = lens _ctType (\ s a -> s{_ctType = a});++-- | The actions initiated by this trigger when it fires.+ctActions :: Lens' CreateTrigger [Action]+ctActions = lens _ctActions (\ s a -> s{_ctActions = a}) . _Coerce;++instance AWSRequest CreateTrigger where+        type Rs CreateTrigger = CreateTriggerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 CreateTriggerResponse' <$>+                   (x .?> "Name") <*> (pure (fromEnum s)))++instance Hashable CreateTrigger where++instance NFData CreateTrigger where++instance ToHeaders CreateTrigger where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateTrigger" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateTrigger where+        toJSON CreateTrigger'{..}+          = object+              (catMaybes+                 [("Schedule" .=) <$> _ctSchedule,+                  ("Predicate" .=) <$> _ctPredicate,+                  ("Description" .=) <$> _ctDescription,+                  Just ("Name" .= _ctName), Just ("Type" .= _ctType),+                  Just ("Actions" .= _ctActions)])++instance ToPath CreateTrigger where+        toPath = const "/"++instance ToQuery CreateTrigger where+        toQuery = const mempty++-- | /See:/ 'createTriggerResponse' smart constructor.+data CreateTriggerResponse = CreateTriggerResponse'+  { _ctrsName           :: !(Maybe Text)+  , _ctrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateTriggerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctrsName' - The name assigned to the new trigger.+--+-- * 'ctrsResponseStatus' - -- | The response status code.+createTriggerResponse+    :: Int -- ^ 'ctrsResponseStatus'+    -> CreateTriggerResponse+createTriggerResponse pResponseStatus_ =+  CreateTriggerResponse'+  {_ctrsName = Nothing, _ctrsResponseStatus = pResponseStatus_}+++-- | The name assigned to the new trigger.+ctrsName :: Lens' CreateTriggerResponse (Maybe Text)+ctrsName = lens _ctrsName (\ s a -> s{_ctrsName = a});++-- | -- | The response status code.+ctrsResponseStatus :: Lens' CreateTriggerResponse Int+ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});++instance NFData CreateTriggerResponse where
+ gen/Network/AWS/Glue/CreateUserDefinedFunction.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.Glue.CreateUserDefinedFunction+-- 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 new function definition in the Data Catalog.+--+--+module Network.AWS.Glue.CreateUserDefinedFunction+    (+    -- * Creating a Request+      createUserDefinedFunction+    , CreateUserDefinedFunction+    -- * Request Lenses+    , cudfCatalogId+    , cudfDatabaseName+    , cudfFunctionInput++    -- * Destructuring the Response+    , createUserDefinedFunctionResponse+    , CreateUserDefinedFunctionResponse+    -- * Response Lenses+    , cudfrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createUserDefinedFunction' smart constructor.+data CreateUserDefinedFunction = CreateUserDefinedFunction'+  { _cudfCatalogId     :: !(Maybe Text)+  , _cudfDatabaseName  :: !Text+  , _cudfFunctionInput :: !UserDefinedFunctionInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateUserDefinedFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cudfCatalogId' - The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default.+--+-- * 'cudfDatabaseName' - The name of the catalog database in which to create the function.+--+-- * 'cudfFunctionInput' - A @FunctionInput@ object that defines the function to create in the Data Catalog.+createUserDefinedFunction+    :: Text -- ^ 'cudfDatabaseName'+    -> UserDefinedFunctionInput -- ^ 'cudfFunctionInput'+    -> CreateUserDefinedFunction+createUserDefinedFunction pDatabaseName_ pFunctionInput_ =+  CreateUserDefinedFunction'+  { _cudfCatalogId = Nothing+  , _cudfDatabaseName = pDatabaseName_+  , _cudfFunctionInput = pFunctionInput_+  }+++-- | The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default.+cudfCatalogId :: Lens' CreateUserDefinedFunction (Maybe Text)+cudfCatalogId = lens _cudfCatalogId (\ s a -> s{_cudfCatalogId = a});++-- | The name of the catalog database in which to create the function.+cudfDatabaseName :: Lens' CreateUserDefinedFunction Text+cudfDatabaseName = lens _cudfDatabaseName (\ s a -> s{_cudfDatabaseName = a});++-- | A @FunctionInput@ object that defines the function to create in the Data Catalog.+cudfFunctionInput :: Lens' CreateUserDefinedFunction UserDefinedFunctionInput+cudfFunctionInput = lens _cudfFunctionInput (\ s a -> s{_cudfFunctionInput = a});++instance AWSRequest CreateUserDefinedFunction where+        type Rs CreateUserDefinedFunction =+             CreateUserDefinedFunctionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 CreateUserDefinedFunctionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable CreateUserDefinedFunction where++instance NFData CreateUserDefinedFunction where++instance ToHeaders CreateUserDefinedFunction where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.CreateUserDefinedFunction" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateUserDefinedFunction where+        toJSON CreateUserDefinedFunction'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _cudfCatalogId,+                  Just ("DatabaseName" .= _cudfDatabaseName),+                  Just ("FunctionInput" .= _cudfFunctionInput)])++instance ToPath CreateUserDefinedFunction where+        toPath = const "/"++instance ToQuery CreateUserDefinedFunction where+        toQuery = const mempty++-- | /See:/ 'createUserDefinedFunctionResponse' smart constructor.+newtype CreateUserDefinedFunctionResponse = CreateUserDefinedFunctionResponse'+  { _cudfrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateUserDefinedFunctionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cudfrsResponseStatus' - -- | The response status code.+createUserDefinedFunctionResponse+    :: Int -- ^ 'cudfrsResponseStatus'+    -> CreateUserDefinedFunctionResponse+createUserDefinedFunctionResponse pResponseStatus_ =+  CreateUserDefinedFunctionResponse' {_cudfrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+cudfrsResponseStatus :: Lens' CreateUserDefinedFunctionResponse Int+cudfrsResponseStatus = lens _cudfrsResponseStatus (\ s a -> s{_cudfrsResponseStatus = a});++instance NFData CreateUserDefinedFunctionResponse+         where
+ gen/Network/AWS/Glue/DeleteClassifier.hs view
@@ -0,0 +1,120 @@+{-# 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.Glue.DeleteClassifier+-- 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)+--+-- Removes a @Classifier@ from the metadata store.+--+--+module Network.AWS.Glue.DeleteClassifier+    (+    -- * Creating a Request+      deleteClassifier+    , DeleteClassifier+    -- * Request Lenses+    , delName++    -- * Destructuring the Response+    , deleteClassifierResponse+    , DeleteClassifierResponse+    -- * Response Lenses+    , drsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteClassifier' smart constructor.+newtype DeleteClassifier = DeleteClassifier'+  { _delName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'delName' - Name of the @Classifier@ to remove.+deleteClassifier+    :: Text -- ^ 'delName'+    -> DeleteClassifier+deleteClassifier pName_ = DeleteClassifier' {_delName = pName_}+++-- | Name of the @Classifier@ to remove.+delName :: Lens' DeleteClassifier Text+delName = lens _delName (\ s a -> s{_delName = a});++instance AWSRequest DeleteClassifier where+        type Rs DeleteClassifier = DeleteClassifierResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteClassifierResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteClassifier where++instance NFData DeleteClassifier where++instance ToHeaders DeleteClassifier where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteClassifier" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteClassifier where+        toJSON DeleteClassifier'{..}+          = object (catMaybes [Just ("Name" .= _delName)])++instance ToPath DeleteClassifier where+        toPath = const "/"++instance ToQuery DeleteClassifier where+        toQuery = const mempty++-- | /See:/ 'deleteClassifierResponse' smart constructor.+newtype DeleteClassifierResponse = DeleteClassifierResponse'+  { _drsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteClassifierResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsResponseStatus' - -- | The response status code.+deleteClassifierResponse+    :: Int -- ^ 'drsResponseStatus'+    -> DeleteClassifierResponse+deleteClassifierResponse pResponseStatus_ =+  DeleteClassifierResponse' {_drsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+drsResponseStatus :: Lens' DeleteClassifierResponse Int+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});++instance NFData DeleteClassifierResponse where
+ gen/Network/AWS/Glue/DeleteConnection.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.DeleteConnection+-- 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 connection from the Data Catalog.+--+--+module Network.AWS.Glue.DeleteConnection+    (+    -- * Creating a Request+      deleteConnection+    , DeleteConnection+    -- * Request Lenses+    , dcCatalogId+    , dcConnectionName++    -- * Destructuring the Response+    , deleteConnectionResponse+    , DeleteConnectionResponse+    -- * Response Lenses+    , dcrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteConnection' smart constructor.+data DeleteConnection = DeleteConnection'+  { _dcCatalogId      :: !(Maybe Text)+  , _dcConnectionName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcCatalogId' - The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'dcConnectionName' - The name of the connection to delete.+deleteConnection+    :: Text -- ^ 'dcConnectionName'+    -> DeleteConnection+deleteConnection pConnectionName_ =+  DeleteConnection'+  {_dcCatalogId = Nothing, _dcConnectionName = pConnectionName_}+++-- | The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.+dcCatalogId :: Lens' DeleteConnection (Maybe Text)+dcCatalogId = lens _dcCatalogId (\ s a -> s{_dcCatalogId = a});++-- | The name of the connection to delete.+dcConnectionName :: Lens' DeleteConnection Text+dcConnectionName = lens _dcConnectionName (\ s a -> s{_dcConnectionName = a});++instance AWSRequest DeleteConnection where+        type Rs DeleteConnection = DeleteConnectionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteConnectionResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteConnection where++instance NFData DeleteConnection where++instance ToHeaders DeleteConnection where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteConnection" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteConnection where+        toJSON DeleteConnection'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _dcCatalogId,+                  Just ("ConnectionName" .= _dcConnectionName)])++instance ToPath DeleteConnection where+        toPath = const "/"++instance ToQuery DeleteConnection where+        toQuery = const mempty++-- | /See:/ 'deleteConnectionResponse' smart constructor.+newtype DeleteConnectionResponse = DeleteConnectionResponse'+  { _dcrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrsResponseStatus' - -- | The response status code.+deleteConnectionResponse+    :: Int -- ^ 'dcrsResponseStatus'+    -> DeleteConnectionResponse+deleteConnectionResponse pResponseStatus_ =+  DeleteConnectionResponse' {_dcrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dcrsResponseStatus :: Lens' DeleteConnectionResponse Int+dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a});++instance NFData DeleteConnectionResponse where
+ gen/Network/AWS/Glue/DeleteCrawler.hs view
@@ -0,0 +1,120 @@+{-# 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.Glue.DeleteCrawler+-- 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)+--+-- Removes a specified @Crawler@ from the metadata store, unless the @Crawler@ state is @RUNNING@ .+--+--+module Network.AWS.Glue.DeleteCrawler+    (+    -- * Creating a Request+      deleteCrawler+    , DeleteCrawler+    -- * Request Lenses+    , dcName++    -- * Destructuring the Response+    , deleteCrawlerResponse+    , DeleteCrawlerResponse+    -- * Response Lenses+    , dccrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteCrawler' smart constructor.+newtype DeleteCrawler = DeleteCrawler'+  { _dcName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteCrawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcName' - Name of the @Crawler@ to remove.+deleteCrawler+    :: Text -- ^ 'dcName'+    -> DeleteCrawler+deleteCrawler pName_ = DeleteCrawler' {_dcName = pName_}+++-- | Name of the @Crawler@ to remove.+dcName :: Lens' DeleteCrawler Text+dcName = lens _dcName (\ s a -> s{_dcName = a});++instance AWSRequest DeleteCrawler where+        type Rs DeleteCrawler = DeleteCrawlerResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteCrawlerResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteCrawler where++instance NFData DeleteCrawler where++instance ToHeaders DeleteCrawler where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteCrawler" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteCrawler where+        toJSON DeleteCrawler'{..}+          = object (catMaybes [Just ("Name" .= _dcName)])++instance ToPath DeleteCrawler where+        toPath = const "/"++instance ToQuery DeleteCrawler where+        toQuery = const mempty++-- | /See:/ 'deleteCrawlerResponse' smart constructor.+newtype DeleteCrawlerResponse = DeleteCrawlerResponse'+  { _dccrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteCrawlerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dccrsResponseStatus' - -- | The response status code.+deleteCrawlerResponse+    :: Int -- ^ 'dccrsResponseStatus'+    -> DeleteCrawlerResponse+deleteCrawlerResponse pResponseStatus_ =+  DeleteCrawlerResponse' {_dccrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dccrsResponseStatus :: Lens' DeleteCrawlerResponse Int+dccrsResponseStatus = lens _dccrsResponseStatus (\ s a -> s{_dccrsResponseStatus = a});++instance NFData DeleteCrawlerResponse where
+ gen/Network/AWS/Glue/DeleteDatabase.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.Glue.DeleteDatabase+-- 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)+--+-- Removes a specified Database from a Data Catalog.+--+--+module Network.AWS.Glue.DeleteDatabase+    (+    -- * Creating a Request+      deleteDatabase+    , DeleteDatabase+    -- * Request Lenses+    , ddCatalogId+    , ddName++    -- * Destructuring the Response+    , deleteDatabaseResponse+    , DeleteDatabaseResponse+    -- * Response Lenses+    , ddrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDatabase' smart constructor.+data DeleteDatabase = DeleteDatabase'+  { _ddCatalogId :: !(Maybe Text)+  , _ddName      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatabase' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddCatalogId' - The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'ddName' - The name of the Database to delete.+deleteDatabase+    :: Text -- ^ 'ddName'+    -> DeleteDatabase+deleteDatabase pName_ =+  DeleteDatabase' {_ddCatalogId = Nothing, _ddName = pName_}+++-- | The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.+ddCatalogId :: Lens' DeleteDatabase (Maybe Text)+ddCatalogId = lens _ddCatalogId (\ s a -> s{_ddCatalogId = a});++-- | The name of the Database to delete.+ddName :: Lens' DeleteDatabase Text+ddName = lens _ddName (\ s a -> s{_ddName = a});++instance AWSRequest DeleteDatabase where+        type Rs DeleteDatabase = DeleteDatabaseResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteDatabaseResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteDatabase where++instance NFData DeleteDatabase where++instance ToHeaders DeleteDatabase where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteDatabase" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDatabase where+        toJSON DeleteDatabase'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _ddCatalogId,+                  Just ("Name" .= _ddName)])++instance ToPath DeleteDatabase where+        toPath = const "/"++instance ToQuery DeleteDatabase where+        toQuery = const mempty++-- | /See:/ 'deleteDatabaseResponse' smart constructor.+newtype DeleteDatabaseResponse = DeleteDatabaseResponse'+  { _ddrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDatabaseResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddrsResponseStatus' - -- | The response status code.+deleteDatabaseResponse+    :: Int -- ^ 'ddrsResponseStatus'+    -> DeleteDatabaseResponse+deleteDatabaseResponse pResponseStatus_ =+  DeleteDatabaseResponse' {_ddrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ddrsResponseStatus :: Lens' DeleteDatabaseResponse Int+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});++instance NFData DeleteDatabaseResponse where
+ gen/Network/AWS/Glue/DeleteDevEndpoint.hs view
@@ -0,0 +1,123 @@+{-# 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.Glue.DeleteDevEndpoint+-- 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 specified DevEndpoint.+--+--+module Network.AWS.Glue.DeleteDevEndpoint+    (+    -- * Creating a Request+      deleteDevEndpoint+    , DeleteDevEndpoint+    -- * Request Lenses+    , ddeEndpointName++    -- * Destructuring the Response+    , deleteDevEndpointResponse+    , DeleteDevEndpointResponse+    -- * Response Lenses+    , ddersResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteDevEndpoint' smart constructor.+newtype DeleteDevEndpoint = DeleteDevEndpoint'+  { _ddeEndpointName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDevEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddeEndpointName' - The name of the DevEndpoint.+deleteDevEndpoint+    :: Text -- ^ 'ddeEndpointName'+    -> DeleteDevEndpoint+deleteDevEndpoint pEndpointName_ =+  DeleteDevEndpoint' {_ddeEndpointName = pEndpointName_}+++-- | The name of the DevEndpoint.+ddeEndpointName :: Lens' DeleteDevEndpoint Text+ddeEndpointName = lens _ddeEndpointName (\ s a -> s{_ddeEndpointName = a});++instance AWSRequest DeleteDevEndpoint where+        type Rs DeleteDevEndpoint = DeleteDevEndpointResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteDevEndpointResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteDevEndpoint where++instance NFData DeleteDevEndpoint where++instance ToHeaders DeleteDevEndpoint where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteDevEndpoint" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDevEndpoint where+        toJSON DeleteDevEndpoint'{..}+          = object+              (catMaybes+                 [Just ("EndpointName" .= _ddeEndpointName)])++instance ToPath DeleteDevEndpoint where+        toPath = const "/"++instance ToQuery DeleteDevEndpoint where+        toQuery = const mempty++-- | /See:/ 'deleteDevEndpointResponse' smart constructor.+newtype DeleteDevEndpointResponse = DeleteDevEndpointResponse'+  { _ddersResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteDevEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddersResponseStatus' - -- | The response status code.+deleteDevEndpointResponse+    :: Int -- ^ 'ddersResponseStatus'+    -> DeleteDevEndpointResponse+deleteDevEndpointResponse pResponseStatus_ =+  DeleteDevEndpointResponse' {_ddersResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ddersResponseStatus :: Lens' DeleteDevEndpointResponse Int+ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a});++instance NFData DeleteDevEndpointResponse where
+ gen/Network/AWS/Glue/DeleteJob.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.DeleteJob+-- 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 specified job.+--+--+module Network.AWS.Glue.DeleteJob+    (+    -- * Creating a Request+      deleteJob+    , DeleteJob+    -- * Request Lenses+    , djJobName++    -- * Destructuring the Response+    , deleteJobResponse+    , DeleteJobResponse+    -- * Response Lenses+    , djrsJobName+    , djrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteJob' smart constructor.+newtype DeleteJob = DeleteJob'+  { _djJobName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'djJobName' - The name of the job to delete.+deleteJob+    :: Text -- ^ 'djJobName'+    -> DeleteJob+deleteJob pJobName_ = DeleteJob' {_djJobName = pJobName_}+++-- | The name of the job to delete.+djJobName :: Lens' DeleteJob Text+djJobName = lens _djJobName (\ s a -> s{_djJobName = a});++instance AWSRequest DeleteJob where+        type Rs DeleteJob = DeleteJobResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 DeleteJobResponse' <$>+                   (x .?> "JobName") <*> (pure (fromEnum s)))++instance Hashable DeleteJob where++instance NFData DeleteJob where++instance ToHeaders DeleteJob where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteJob" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteJob where+        toJSON DeleteJob'{..}+          = object (catMaybes [Just ("JobName" .= _djJobName)])++instance ToPath DeleteJob where+        toPath = const "/"++instance ToQuery DeleteJob where+        toQuery = const mempty++-- | /See:/ 'deleteJobResponse' smart constructor.+data DeleteJobResponse = DeleteJobResponse'+  { _djrsJobName        :: !(Maybe Text)+  , _djrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteJobResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'djrsJobName' - The name of the job that was deleted.+--+-- * 'djrsResponseStatus' - -- | The response status code.+deleteJobResponse+    :: Int -- ^ 'djrsResponseStatus'+    -> DeleteJobResponse+deleteJobResponse pResponseStatus_ =+  DeleteJobResponse'+  {_djrsJobName = Nothing, _djrsResponseStatus = pResponseStatus_}+++-- | The name of the job that was deleted.+djrsJobName :: Lens' DeleteJobResponse (Maybe Text)+djrsJobName = lens _djrsJobName (\ s a -> s{_djrsJobName = a});++-- | -- | The response status code.+djrsResponseStatus :: Lens' DeleteJobResponse Int+djrsResponseStatus = lens _djrsResponseStatus (\ s a -> s{_djrsResponseStatus = a});++instance NFData DeleteJobResponse where
+ gen/Network/AWS/Glue/DeletePartition.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.Glue.DeletePartition+-- 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 specified partition.+--+--+module Network.AWS.Glue.DeletePartition+    (+    -- * Creating a Request+      deletePartition+    , DeletePartition+    -- * Request Lenses+    , dpCatalogId+    , dpDatabaseName+    , dpTableName+    , dpPartitionValues++    -- * Destructuring the Response+    , deletePartitionResponse+    , DeletePartitionResponse+    -- * Response Lenses+    , dprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deletePartition' smart constructor.+data DeletePartition = DeletePartition'+  { _dpCatalogId       :: !(Maybe Text)+  , _dpDatabaseName    :: !Text+  , _dpTableName       :: !Text+  , _dpPartitionValues :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeletePartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpCatalogId' - The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'dpDatabaseName' - The name of the catalog database in which the table in question resides.+--+-- * 'dpTableName' - The name of the table where the partition to be deleted is located.+--+-- * 'dpPartitionValues' - The values that define the partition.+deletePartition+    :: Text -- ^ 'dpDatabaseName'+    -> Text -- ^ 'dpTableName'+    -> DeletePartition+deletePartition pDatabaseName_ pTableName_ =+  DeletePartition'+  { _dpCatalogId = Nothing+  , _dpDatabaseName = pDatabaseName_+  , _dpTableName = pTableName_+  , _dpPartitionValues = mempty+  }+++-- | The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.+dpCatalogId :: Lens' DeletePartition (Maybe Text)+dpCatalogId = lens _dpCatalogId (\ s a -> s{_dpCatalogId = a});++-- | The name of the catalog database in which the table in question resides.+dpDatabaseName :: Lens' DeletePartition Text+dpDatabaseName = lens _dpDatabaseName (\ s a -> s{_dpDatabaseName = a});++-- | The name of the table where the partition to be deleted is located.+dpTableName :: Lens' DeletePartition Text+dpTableName = lens _dpTableName (\ s a -> s{_dpTableName = a});++-- | The values that define the partition.+dpPartitionValues :: Lens' DeletePartition [Text]+dpPartitionValues = lens _dpPartitionValues (\ s a -> s{_dpPartitionValues = a}) . _Coerce;++instance AWSRequest DeletePartition where+        type Rs DeletePartition = DeletePartitionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeletePartitionResponse' <$> (pure (fromEnum s)))++instance Hashable DeletePartition where++instance NFData DeletePartition where++instance ToHeaders DeletePartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeletePartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeletePartition where+        toJSON DeletePartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _dpCatalogId,+                  Just ("DatabaseName" .= _dpDatabaseName),+                  Just ("TableName" .= _dpTableName),+                  Just ("PartitionValues" .= _dpPartitionValues)])++instance ToPath DeletePartition where+        toPath = const "/"++instance ToQuery DeletePartition where+        toQuery = const mempty++-- | /See:/ 'deletePartitionResponse' smart constructor.+newtype DeletePartitionResponse = DeletePartitionResponse'+  { _dprsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeletePartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dprsResponseStatus' - -- | The response status code.+deletePartitionResponse+    :: Int -- ^ 'dprsResponseStatus'+    -> DeletePartitionResponse+deletePartitionResponse pResponseStatus_ =+  DeletePartitionResponse' {_dprsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dprsResponseStatus :: Lens' DeletePartitionResponse Int+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});++instance NFData DeletePartitionResponse where
+ gen/Network/AWS/Glue/DeleteTable.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.DeleteTable+-- 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)+--+-- Removes a table definition from the Data Catalog.+--+--+module Network.AWS.Glue.DeleteTable+    (+    -- * Creating a Request+      deleteTable+    , DeleteTable+    -- * Request Lenses+    , dtCatalogId+    , dtDatabaseName+    , dtName++    -- * Destructuring the Response+    , deleteTableResponse+    , DeleteTableResponse+    -- * Response Lenses+    , dtrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteTable' smart constructor.+data DeleteTable = DeleteTable'+  { _dtCatalogId    :: !(Maybe Text)+  , _dtDatabaseName :: !Text+  , _dtName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'dtDatabaseName' - The name of the catalog database in which the table resides.+--+-- * 'dtName' - The name of the table to be deleted.+deleteTable+    :: Text -- ^ 'dtDatabaseName'+    -> Text -- ^ 'dtName'+    -> DeleteTable+deleteTable pDatabaseName_ pName_ =+  DeleteTable'+  {_dtCatalogId = Nothing, _dtDatabaseName = pDatabaseName_, _dtName = pName_}+++-- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+dtCatalogId :: Lens' DeleteTable (Maybe Text)+dtCatalogId = lens _dtCatalogId (\ s a -> s{_dtCatalogId = a});++-- | The name of the catalog database in which the table resides.+dtDatabaseName :: Lens' DeleteTable Text+dtDatabaseName = lens _dtDatabaseName (\ s a -> s{_dtDatabaseName = a});++-- | The name of the table to be deleted.+dtName :: Lens' DeleteTable Text+dtName = lens _dtName (\ s a -> s{_dtName = a});++instance AWSRequest DeleteTable where+        type Rs DeleteTable = DeleteTableResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteTableResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteTable where++instance NFData DeleteTable where++instance ToHeaders DeleteTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteTable" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteTable where+        toJSON DeleteTable'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _dtCatalogId,+                  Just ("DatabaseName" .= _dtDatabaseName),+                  Just ("Name" .= _dtName)])++instance ToPath DeleteTable where+        toPath = const "/"++instance ToQuery DeleteTable where+        toQuery = const mempty++-- | /See:/ 'deleteTableResponse' smart constructor.+newtype DeleteTableResponse = DeleteTableResponse'+  { _dtrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtrsResponseStatus' - -- | The response status code.+deleteTableResponse+    :: Int -- ^ 'dtrsResponseStatus'+    -> DeleteTableResponse+deleteTableResponse pResponseStatus_ =+  DeleteTableResponse' {_dtrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dtrsResponseStatus :: Lens' DeleteTableResponse Int+dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a});++instance NFData DeleteTableResponse where
+ gen/Network/AWS/Glue/DeleteTrigger.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.DeleteTrigger+-- 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 specified trigger.+--+--+module Network.AWS.Glue.DeleteTrigger+    (+    -- * Creating a Request+      deleteTrigger+    , DeleteTrigger+    -- * Request Lenses+    , dttName++    -- * Destructuring the Response+    , deleteTriggerResponse+    , DeleteTriggerResponse+    -- * Response Lenses+    , delrsName+    , delrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteTrigger' smart constructor.+newtype DeleteTrigger = DeleteTrigger'+  { _dttName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dttName' - The name of the trigger to delete.+deleteTrigger+    :: Text -- ^ 'dttName'+    -> DeleteTrigger+deleteTrigger pName_ = DeleteTrigger' {_dttName = pName_}+++-- | The name of the trigger to delete.+dttName :: Lens' DeleteTrigger Text+dttName = lens _dttName (\ s a -> s{_dttName = a});++instance AWSRequest DeleteTrigger where+        type Rs DeleteTrigger = DeleteTriggerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 DeleteTriggerResponse' <$>+                   (x .?> "Name") <*> (pure (fromEnum s)))++instance Hashable DeleteTrigger where++instance NFData DeleteTrigger where++instance ToHeaders DeleteTrigger where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteTrigger" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteTrigger where+        toJSON DeleteTrigger'{..}+          = object (catMaybes [Just ("Name" .= _dttName)])++instance ToPath DeleteTrigger where+        toPath = const "/"++instance ToQuery DeleteTrigger where+        toQuery = const mempty++-- | /See:/ 'deleteTriggerResponse' smart constructor.+data DeleteTriggerResponse = DeleteTriggerResponse'+  { _delrsName           :: !(Maybe Text)+  , _delrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTriggerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'delrsName' - The name of the trigger that was deleted.+--+-- * 'delrsResponseStatus' - -- | The response status code.+deleteTriggerResponse+    :: Int -- ^ 'delrsResponseStatus'+    -> DeleteTriggerResponse+deleteTriggerResponse pResponseStatus_ =+  DeleteTriggerResponse'+  {_delrsName = Nothing, _delrsResponseStatus = pResponseStatus_}+++-- | The name of the trigger that was deleted.+delrsName :: Lens' DeleteTriggerResponse (Maybe Text)+delrsName = lens _delrsName (\ s a -> s{_delrsName = a});++-- | -- | The response status code.+delrsResponseStatus :: Lens' DeleteTriggerResponse Int+delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a});++instance NFData DeleteTriggerResponse where
+ gen/Network/AWS/Glue/DeleteUserDefinedFunction.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.Glue.DeleteUserDefinedFunction+-- 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 an existing function definition from the Data Catalog.+--+--+module Network.AWS.Glue.DeleteUserDefinedFunction+    (+    -- * Creating a Request+      deleteUserDefinedFunction+    , DeleteUserDefinedFunction+    -- * Request Lenses+    , dudfCatalogId+    , dudfDatabaseName+    , dudfFunctionName++    -- * Destructuring the Response+    , deleteUserDefinedFunctionResponse+    , DeleteUserDefinedFunctionResponse+    -- * Response Lenses+    , dudfrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteUserDefinedFunction' smart constructor.+data DeleteUserDefinedFunction = DeleteUserDefinedFunction'+  { _dudfCatalogId    :: !(Maybe Text)+  , _dudfDatabaseName :: !Text+  , _dudfFunctionName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteUserDefinedFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dudfCatalogId' - The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default.+--+-- * 'dudfDatabaseName' - The name of the catalog database where the function is located.+--+-- * 'dudfFunctionName' - The name of the function definition to be deleted.+deleteUserDefinedFunction+    :: Text -- ^ 'dudfDatabaseName'+    -> Text -- ^ 'dudfFunctionName'+    -> DeleteUserDefinedFunction+deleteUserDefinedFunction pDatabaseName_ pFunctionName_ =+  DeleteUserDefinedFunction'+  { _dudfCatalogId = Nothing+  , _dudfDatabaseName = pDatabaseName_+  , _dudfFunctionName = pFunctionName_+  }+++-- | The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default.+dudfCatalogId :: Lens' DeleteUserDefinedFunction (Maybe Text)+dudfCatalogId = lens _dudfCatalogId (\ s a -> s{_dudfCatalogId = a});++-- | The name of the catalog database where the function is located.+dudfDatabaseName :: Lens' DeleteUserDefinedFunction Text+dudfDatabaseName = lens _dudfDatabaseName (\ s a -> s{_dudfDatabaseName = a});++-- | The name of the function definition to be deleted.+dudfFunctionName :: Lens' DeleteUserDefinedFunction Text+dudfFunctionName = lens _dudfFunctionName (\ s a -> s{_dudfFunctionName = a});++instance AWSRequest DeleteUserDefinedFunction where+        type Rs DeleteUserDefinedFunction =+             DeleteUserDefinedFunctionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteUserDefinedFunctionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable DeleteUserDefinedFunction where++instance NFData DeleteUserDefinedFunction where++instance ToHeaders DeleteUserDefinedFunction where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteUserDefinedFunction" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteUserDefinedFunction where+        toJSON DeleteUserDefinedFunction'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _dudfCatalogId,+                  Just ("DatabaseName" .= _dudfDatabaseName),+                  Just ("FunctionName" .= _dudfFunctionName)])++instance ToPath DeleteUserDefinedFunction where+        toPath = const "/"++instance ToQuery DeleteUserDefinedFunction where+        toQuery = const mempty++-- | /See:/ 'deleteUserDefinedFunctionResponse' smart constructor.+newtype DeleteUserDefinedFunctionResponse = DeleteUserDefinedFunctionResponse'+  { _dudfrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteUserDefinedFunctionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dudfrsResponseStatus' - -- | The response status code.+deleteUserDefinedFunctionResponse+    :: Int -- ^ 'dudfrsResponseStatus'+    -> DeleteUserDefinedFunctionResponse+deleteUserDefinedFunctionResponse pResponseStatus_ =+  DeleteUserDefinedFunctionResponse' {_dudfrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dudfrsResponseStatus :: Lens' DeleteUserDefinedFunctionResponse Int+dudfrsResponseStatus = lens _dudfrsResponseStatus (\ s a -> s{_dudfrsResponseStatus = a});++instance NFData DeleteUserDefinedFunctionResponse+         where
+ gen/Network/AWS/Glue/GetCatalogImportStatus.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.Glue.GetCatalogImportStatus+-- 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 status of a migration operation.+--+--+module Network.AWS.Glue.GetCatalogImportStatus+    (+    -- * Creating a Request+      getCatalogImportStatus+    , GetCatalogImportStatus+    -- * Request Lenses+    , gcisCatalogId++    -- * Destructuring the Response+    , getCatalogImportStatusResponse+    , GetCatalogImportStatusResponse+    -- * Response Lenses+    , gcisrsImportStatus+    , gcisrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCatalogImportStatus' smart constructor.+newtype GetCatalogImportStatus = GetCatalogImportStatus'+  { _gcisCatalogId :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCatalogImportStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcisCatalogId' - The ID of the catalog to migrate. Currently, this should be the AWS account ID.+getCatalogImportStatus+    :: GetCatalogImportStatus+getCatalogImportStatus = GetCatalogImportStatus' {_gcisCatalogId = Nothing}+++-- | The ID of the catalog to migrate. Currently, this should be the AWS account ID.+gcisCatalogId :: Lens' GetCatalogImportStatus (Maybe Text)+gcisCatalogId = lens _gcisCatalogId (\ s a -> s{_gcisCatalogId = a});++instance AWSRequest GetCatalogImportStatus where+        type Rs GetCatalogImportStatus =+             GetCatalogImportStatusResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetCatalogImportStatusResponse' <$>+                   (x .?> "ImportStatus") <*> (pure (fromEnum s)))++instance Hashable GetCatalogImportStatus where++instance NFData GetCatalogImportStatus where++instance ToHeaders GetCatalogImportStatus where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetCatalogImportStatus" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetCatalogImportStatus where+        toJSON GetCatalogImportStatus'{..}+          = object+              (catMaybes [("CatalogId" .=) <$> _gcisCatalogId])++instance ToPath GetCatalogImportStatus where+        toPath = const "/"++instance ToQuery GetCatalogImportStatus where+        toQuery = const mempty++-- | /See:/ 'getCatalogImportStatusResponse' smart constructor.+data GetCatalogImportStatusResponse = GetCatalogImportStatusResponse'+  { _gcisrsImportStatus   :: !(Maybe CatalogImportStatus)+  , _gcisrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCatalogImportStatusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcisrsImportStatus' - The status of the specified catalog migration.+--+-- * 'gcisrsResponseStatus' - -- | The response status code.+getCatalogImportStatusResponse+    :: Int -- ^ 'gcisrsResponseStatus'+    -> GetCatalogImportStatusResponse+getCatalogImportStatusResponse pResponseStatus_ =+  GetCatalogImportStatusResponse'+  {_gcisrsImportStatus = Nothing, _gcisrsResponseStatus = pResponseStatus_}+++-- | The status of the specified catalog migration.+gcisrsImportStatus :: Lens' GetCatalogImportStatusResponse (Maybe CatalogImportStatus)+gcisrsImportStatus = lens _gcisrsImportStatus (\ s a -> s{_gcisrsImportStatus = a});++-- | -- | The response status code.+gcisrsResponseStatus :: Lens' GetCatalogImportStatusResponse Int+gcisrsResponseStatus = lens _gcisrsResponseStatus (\ s a -> s{_gcisrsResponseStatus = a});++instance NFData GetCatalogImportStatusResponse where
+ gen/Network/AWS/Glue/GetClassifier.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.GetClassifier+-- 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)+--+-- Retrieve a @Classifier@ by name.+--+--+module Network.AWS.Glue.GetClassifier+    (+    -- * Creating a Request+      getClassifier+    , GetClassifier+    -- * Request Lenses+    , getName++    -- * Destructuring the Response+    , getClassifierResponse+    , GetClassifierResponse+    -- * Response Lenses+    , gcrsClassifier+    , gcrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getClassifier' smart constructor.+newtype GetClassifier = GetClassifier'+  { _getName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getName' - Name of the @Classifier@ to retrieve.+getClassifier+    :: Text -- ^ 'getName'+    -> GetClassifier+getClassifier pName_ = GetClassifier' {_getName = pName_}+++-- | Name of the @Classifier@ to retrieve.+getName :: Lens' GetClassifier Text+getName = lens _getName (\ s a -> s{_getName = a});++instance AWSRequest GetClassifier where+        type Rs GetClassifier = GetClassifierResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetClassifierResponse' <$>+                   (x .?> "Classifier") <*> (pure (fromEnum s)))++instance Hashable GetClassifier where++instance NFData GetClassifier where++instance ToHeaders GetClassifier where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetClassifier" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetClassifier where+        toJSON GetClassifier'{..}+          = object (catMaybes [Just ("Name" .= _getName)])++instance ToPath GetClassifier where+        toPath = const "/"++instance ToQuery GetClassifier where+        toQuery = const mempty++-- | /See:/ 'getClassifierResponse' smart constructor.+data GetClassifierResponse = GetClassifierResponse'+  { _gcrsClassifier     :: !(Maybe Classifier)+  , _gcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetClassifierResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcrsClassifier' - The requested @Classifier@ .+--+-- * 'gcrsResponseStatus' - -- | The response status code.+getClassifierResponse+    :: Int -- ^ 'gcrsResponseStatus'+    -> GetClassifierResponse+getClassifierResponse pResponseStatus_ =+  GetClassifierResponse'+  {_gcrsClassifier = Nothing, _gcrsResponseStatus = pResponseStatus_}+++-- | The requested @Classifier@ .+gcrsClassifier :: Lens' GetClassifierResponse (Maybe Classifier)+gcrsClassifier = lens _gcrsClassifier (\ s a -> s{_gcrsClassifier = a});++-- | -- | The response status code.+gcrsResponseStatus :: Lens' GetClassifierResponse Int+gcrsResponseStatus = lens _gcrsResponseStatus (\ s a -> s{_gcrsResponseStatus = a});++instance NFData GetClassifierResponse where
+ gen/Network/AWS/Glue/GetClassifiers.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.GetClassifiers+-- 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 all Classifier objects in the metadata store.+--+--+module Network.AWS.Glue.GetClassifiers+    (+    -- * Creating a Request+      getClassifiers+    , GetClassifiers+    -- * Request Lenses+    , gcNextToken+    , gcMaxResults++    -- * Destructuring the Response+    , getClassifiersResponse+    , GetClassifiersResponse+    -- * Response Lenses+    , gcsrsNextToken+    , gcsrsClassifiers+    , gcsrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getClassifiers' smart constructor.+data GetClassifiers = GetClassifiers'+  { _gcNextToken  :: !(Maybe Text)+  , _gcMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetClassifiers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcNextToken' - An optional continuation token.+--+-- * 'gcMaxResults' - Size of the list to return (optional).+getClassifiers+    :: GetClassifiers+getClassifiers =+  GetClassifiers' {_gcNextToken = Nothing, _gcMaxResults = Nothing}+++-- | An optional continuation token.+gcNextToken :: Lens' GetClassifiers (Maybe Text)+gcNextToken = lens _gcNextToken (\ s a -> s{_gcNextToken = a});++-- | Size of the list to return (optional).+gcMaxResults :: Lens' GetClassifiers (Maybe Natural)+gcMaxResults = lens _gcMaxResults (\ s a -> s{_gcMaxResults = a}) . mapping _Nat;++instance AWSRequest GetClassifiers where+        type Rs GetClassifiers = GetClassifiersResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetClassifiersResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "Classifiers" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetClassifiers where++instance NFData GetClassifiers where++instance ToHeaders GetClassifiers where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetClassifiers" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetClassifiers where+        toJSON GetClassifiers'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gcNextToken,+                  ("MaxResults" .=) <$> _gcMaxResults])++instance ToPath GetClassifiers where+        toPath = const "/"++instance ToQuery GetClassifiers where+        toQuery = const mempty++-- | /See:/ 'getClassifiersResponse' smart constructor.+data GetClassifiersResponse = GetClassifiersResponse'+  { _gcsrsNextToken      :: !(Maybe Text)+  , _gcsrsClassifiers    :: !(Maybe [Classifier])+  , _gcsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetClassifiersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcsrsNextToken' - A continuation token.+--+-- * 'gcsrsClassifiers' - The requested list of @Classifier@ objects.+--+-- * 'gcsrsResponseStatus' - -- | The response status code.+getClassifiersResponse+    :: Int -- ^ 'gcsrsResponseStatus'+    -> GetClassifiersResponse+getClassifiersResponse pResponseStatus_ =+  GetClassifiersResponse'+  { _gcsrsNextToken = Nothing+  , _gcsrsClassifiers = Nothing+  , _gcsrsResponseStatus = pResponseStatus_+  }+++-- | A continuation token.+gcsrsNextToken :: Lens' GetClassifiersResponse (Maybe Text)+gcsrsNextToken = lens _gcsrsNextToken (\ s a -> s{_gcsrsNextToken = a});++-- | The requested list of @Classifier@ objects.+gcsrsClassifiers :: Lens' GetClassifiersResponse [Classifier]+gcsrsClassifiers = lens _gcsrsClassifiers (\ s a -> s{_gcsrsClassifiers = a}) . _Default . _Coerce;++-- | -- | The response status code.+gcsrsResponseStatus :: Lens' GetClassifiersResponse Int+gcsrsResponseStatus = lens _gcsrsResponseStatus (\ s a -> s{_gcsrsResponseStatus = a});++instance NFData GetClassifiersResponse where
+ gen/Network/AWS/Glue/GetConnection.hs view
@@ -0,0 +1,141 @@+{-# 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.Glue.GetConnection+-- 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 connection definition from the Data Catalog.+--+--+module Network.AWS.Glue.GetConnection+    (+    -- * Creating a Request+      getConnection+    , GetConnection+    -- * Request Lenses+    , gCatalogId+    , gName++    -- * Destructuring the Response+    , getConnectionResponse+    , GetConnectionResponse+    -- * Response Lenses+    , getrsConnection+    , getrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getConnection' smart constructor.+data GetConnection = GetConnection'+  { _gCatalogId :: !(Maybe Text)+  , _gName      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gCatalogId' - The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'gName' - The name of the connection definition to retrieve.+getConnection+    :: Text -- ^ 'gName'+    -> GetConnection+getConnection pName_ = GetConnection' {_gCatalogId = Nothing, _gName = pName_}+++-- | The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.+gCatalogId :: Lens' GetConnection (Maybe Text)+gCatalogId = lens _gCatalogId (\ s a -> s{_gCatalogId = a});++-- | The name of the connection definition to retrieve.+gName :: Lens' GetConnection Text+gName = lens _gName (\ s a -> s{_gName = a});++instance AWSRequest GetConnection where+        type Rs GetConnection = GetConnectionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetConnectionResponse' <$>+                   (x .?> "Connection") <*> (pure (fromEnum s)))++instance Hashable GetConnection where++instance NFData GetConnection where++instance ToHeaders GetConnection where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetConnection" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetConnection where+        toJSON GetConnection'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gCatalogId,+                  Just ("Name" .= _gName)])++instance ToPath GetConnection where+        toPath = const "/"++instance ToQuery GetConnection where+        toQuery = const mempty++-- | /See:/ 'getConnectionResponse' smart constructor.+data GetConnectionResponse = GetConnectionResponse'+  { _getrsConnection     :: !(Maybe Connection)+  , _getrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getrsConnection' - The requested connection definition.+--+-- * 'getrsResponseStatus' - -- | The response status code.+getConnectionResponse+    :: Int -- ^ 'getrsResponseStatus'+    -> GetConnectionResponse+getConnectionResponse pResponseStatus_ =+  GetConnectionResponse'+  {_getrsConnection = Nothing, _getrsResponseStatus = pResponseStatus_}+++-- | The requested connection definition.+getrsConnection :: Lens' GetConnectionResponse (Maybe Connection)+getrsConnection = lens _getrsConnection (\ s a -> s{_getrsConnection = a});++-- | -- | The response status code.+getrsResponseStatus :: Lens' GetConnectionResponse Int+getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a});++instance NFData GetConnectionResponse where
+ gen/Network/AWS/Glue/GetConnections.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.Glue.GetConnections+-- 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 connection definitions from the Data Catalog.+--+--+module Network.AWS.Glue.GetConnections+    (+    -- * Creating a Request+      getConnections+    , GetConnections+    -- * Request Lenses+    , gcsCatalogId+    , gcsNextToken+    , gcsFilter+    , gcsMaxResults++    -- * Destructuring the Response+    , getConnectionsResponse+    , GetConnectionsResponse+    -- * Response Lenses+    , gccrsNextToken+    , gccrsConnectionList+    , gccrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getConnections' smart constructor.+data GetConnections = GetConnections'+  { _gcsCatalogId  :: !(Maybe Text)+  , _gcsNextToken  :: !(Maybe Text)+  , _gcsFilter     :: !(Maybe GetConnectionsFilter)+  , _gcsMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnections' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcsCatalogId' - The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'gcsNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gcsFilter' - A filter that controls which connections will be returned.+--+-- * 'gcsMaxResults' - The maximum number of connections to return in one response.+getConnections+    :: GetConnections+getConnections =+  GetConnections'+  { _gcsCatalogId = Nothing+  , _gcsNextToken = Nothing+  , _gcsFilter = Nothing+  , _gcsMaxResults = Nothing+  }+++-- | The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.+gcsCatalogId :: Lens' GetConnections (Maybe Text)+gcsCatalogId = lens _gcsCatalogId (\ s a -> s{_gcsCatalogId = a});++-- | A continuation token, if this is a continuation call.+gcsNextToken :: Lens' GetConnections (Maybe Text)+gcsNextToken = lens _gcsNextToken (\ s a -> s{_gcsNextToken = a});++-- | A filter that controls which connections will be returned.+gcsFilter :: Lens' GetConnections (Maybe GetConnectionsFilter)+gcsFilter = lens _gcsFilter (\ s a -> s{_gcsFilter = a});++-- | The maximum number of connections to return in one response.+gcsMaxResults :: Lens' GetConnections (Maybe Natural)+gcsMaxResults = lens _gcsMaxResults (\ s a -> s{_gcsMaxResults = a}) . mapping _Nat;++instance AWSRequest GetConnections where+        type Rs GetConnections = GetConnectionsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetConnectionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "ConnectionList" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetConnections where++instance NFData GetConnections where++instance ToHeaders GetConnections where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetConnections" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetConnections where+        toJSON GetConnections'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gcsCatalogId,+                  ("NextToken" .=) <$> _gcsNextToken,+                  ("Filter" .=) <$> _gcsFilter,+                  ("MaxResults" .=) <$> _gcsMaxResults])++instance ToPath GetConnections where+        toPath = const "/"++instance ToQuery GetConnections where+        toQuery = const mempty++-- | /See:/ 'getConnectionsResponse' smart constructor.+data GetConnectionsResponse = GetConnectionsResponse'+  { _gccrsNextToken      :: !(Maybe Text)+  , _gccrsConnectionList :: !(Maybe [Connection])+  , _gccrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnectionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccrsNextToken' - A continuation token, if the list of connections returned does not include the last of the filtered connections.+--+-- * 'gccrsConnectionList' - A list of requested connection definitions.+--+-- * 'gccrsResponseStatus' - -- | The response status code.+getConnectionsResponse+    :: Int -- ^ 'gccrsResponseStatus'+    -> GetConnectionsResponse+getConnectionsResponse pResponseStatus_ =+  GetConnectionsResponse'+  { _gccrsNextToken = Nothing+  , _gccrsConnectionList = Nothing+  , _gccrsResponseStatus = pResponseStatus_+  }+++-- | A continuation token, if the list of connections returned does not include the last of the filtered connections.+gccrsNextToken :: Lens' GetConnectionsResponse (Maybe Text)+gccrsNextToken = lens _gccrsNextToken (\ s a -> s{_gccrsNextToken = a});++-- | A list of requested connection definitions.+gccrsConnectionList :: Lens' GetConnectionsResponse [Connection]+gccrsConnectionList = lens _gccrsConnectionList (\ s a -> s{_gccrsConnectionList = a}) . _Default . _Coerce;++-- | -- | The response status code.+gccrsResponseStatus :: Lens' GetConnectionsResponse Int+gccrsResponseStatus = lens _gccrsResponseStatus (\ s a -> s{_gccrsResponseStatus = a});++instance NFData GetConnectionsResponse where
+ gen/Network/AWS/Glue/GetCrawler.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.GetCrawler+-- 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 metadata for a specified @Crawler@ .+--+--+module Network.AWS.Glue.GetCrawler+    (+    -- * Creating a Request+      getCrawler+    , GetCrawler+    -- * Request Lenses+    , gccName++    -- * Destructuring the Response+    , getCrawlerResponse+    , GetCrawlerResponse+    -- * Response Lenses+    , getersCrawler+    , getersResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCrawler' smart constructor.+newtype GetCrawler = GetCrawler'+  { _gccName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCrawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gccName' - Name of the @Crawler@ to retrieve metadata for.+getCrawler+    :: Text -- ^ 'gccName'+    -> GetCrawler+getCrawler pName_ = GetCrawler' {_gccName = pName_}+++-- | Name of the @Crawler@ to retrieve metadata for.+gccName :: Lens' GetCrawler Text+gccName = lens _gccName (\ s a -> s{_gccName = a});++instance AWSRequest GetCrawler where+        type Rs GetCrawler = GetCrawlerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetCrawlerResponse' <$>+                   (x .?> "Crawler") <*> (pure (fromEnum s)))++instance Hashable GetCrawler where++instance NFData GetCrawler where++instance ToHeaders GetCrawler where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetCrawler" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetCrawler where+        toJSON GetCrawler'{..}+          = object (catMaybes [Just ("Name" .= _gccName)])++instance ToPath GetCrawler where+        toPath = const "/"++instance ToQuery GetCrawler where+        toQuery = const mempty++-- | /See:/ 'getCrawlerResponse' smart constructor.+data GetCrawlerResponse = GetCrawlerResponse'+  { _getersCrawler        :: !(Maybe Crawler)+  , _getersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCrawlerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getersCrawler' - The metadata for the specified @Crawler@ .+--+-- * 'getersResponseStatus' - -- | The response status code.+getCrawlerResponse+    :: Int -- ^ 'getersResponseStatus'+    -> GetCrawlerResponse+getCrawlerResponse pResponseStatus_ =+  GetCrawlerResponse'+  {_getersCrawler = Nothing, _getersResponseStatus = pResponseStatus_}+++-- | The metadata for the specified @Crawler@ .+getersCrawler :: Lens' GetCrawlerResponse (Maybe Crawler)+getersCrawler = lens _getersCrawler (\ s a -> s{_getersCrawler = a});++-- | -- | The response status code.+getersResponseStatus :: Lens' GetCrawlerResponse Int+getersResponseStatus = lens _getersResponseStatus (\ s a -> s{_getersResponseStatus = a});++instance NFData GetCrawlerResponse where
+ gen/Network/AWS/Glue/GetCrawlerMetrics.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.Glue.GetCrawlerMetrics+-- 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 metrics about specified crawlers.+--+--+module Network.AWS.Glue.GetCrawlerMetrics+    (+    -- * Creating a Request+      getCrawlerMetrics+    , GetCrawlerMetrics+    -- * Request Lenses+    , gcmNextToken+    , gcmMaxResults+    , gcmCrawlerNameList++    -- * Destructuring the Response+    , getCrawlerMetricsResponse+    , GetCrawlerMetricsResponse+    -- * Response Lenses+    , gcmrsCrawlerMetricsList+    , gcmrsNextToken+    , gcmrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCrawlerMetrics' smart constructor.+data GetCrawlerMetrics = GetCrawlerMetrics'+  { _gcmNextToken       :: !(Maybe Text)+  , _gcmMaxResults      :: !(Maybe Nat)+  , _gcmCrawlerNameList :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCrawlerMetrics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcmNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gcmMaxResults' - The maximum size of a list to return.+--+-- * 'gcmCrawlerNameList' - A list of the names of crawlers about which to retrieve metrics.+getCrawlerMetrics+    :: GetCrawlerMetrics+getCrawlerMetrics =+  GetCrawlerMetrics'+  { _gcmNextToken = Nothing+  , _gcmMaxResults = Nothing+  , _gcmCrawlerNameList = Nothing+  }+++-- | A continuation token, if this is a continuation call.+gcmNextToken :: Lens' GetCrawlerMetrics (Maybe Text)+gcmNextToken = lens _gcmNextToken (\ s a -> s{_gcmNextToken = a});++-- | The maximum size of a list to return.+gcmMaxResults :: Lens' GetCrawlerMetrics (Maybe Natural)+gcmMaxResults = lens _gcmMaxResults (\ s a -> s{_gcmMaxResults = a}) . mapping _Nat;++-- | A list of the names of crawlers about which to retrieve metrics.+gcmCrawlerNameList :: Lens' GetCrawlerMetrics [Text]+gcmCrawlerNameList = lens _gcmCrawlerNameList (\ s a -> s{_gcmCrawlerNameList = a}) . _Default . _Coerce;++instance AWSRequest GetCrawlerMetrics where+        type Rs GetCrawlerMetrics = GetCrawlerMetricsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetCrawlerMetricsResponse' <$>+                   (x .?> "CrawlerMetricsList" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable GetCrawlerMetrics where++instance NFData GetCrawlerMetrics where++instance ToHeaders GetCrawlerMetrics where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetCrawlerMetrics" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetCrawlerMetrics where+        toJSON GetCrawlerMetrics'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gcmNextToken,+                  ("MaxResults" .=) <$> _gcmMaxResults,+                  ("CrawlerNameList" .=) <$> _gcmCrawlerNameList])++instance ToPath GetCrawlerMetrics where+        toPath = const "/"++instance ToQuery GetCrawlerMetrics where+        toQuery = const mempty++-- | /See:/ 'getCrawlerMetricsResponse' smart constructor.+data GetCrawlerMetricsResponse = GetCrawlerMetricsResponse'+  { _gcmrsCrawlerMetricsList :: !(Maybe [CrawlerMetrics])+  , _gcmrsNextToken          :: !(Maybe Text)+  , _gcmrsResponseStatus     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCrawlerMetricsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcmrsCrawlerMetricsList' - A list of metrics for the specified crawler.+--+-- * 'gcmrsNextToken' - A continuation token, if the returned list does not contain the last metric available.+--+-- * 'gcmrsResponseStatus' - -- | The response status code.+getCrawlerMetricsResponse+    :: Int -- ^ 'gcmrsResponseStatus'+    -> GetCrawlerMetricsResponse+getCrawlerMetricsResponse pResponseStatus_ =+  GetCrawlerMetricsResponse'+  { _gcmrsCrawlerMetricsList = Nothing+  , _gcmrsNextToken = Nothing+  , _gcmrsResponseStatus = pResponseStatus_+  }+++-- | A list of metrics for the specified crawler.+gcmrsCrawlerMetricsList :: Lens' GetCrawlerMetricsResponse [CrawlerMetrics]+gcmrsCrawlerMetricsList = lens _gcmrsCrawlerMetricsList (\ s a -> s{_gcmrsCrawlerMetricsList = a}) . _Default . _Coerce;++-- | A continuation token, if the returned list does not contain the last metric available.+gcmrsNextToken :: Lens' GetCrawlerMetricsResponse (Maybe Text)+gcmrsNextToken = lens _gcmrsNextToken (\ s a -> s{_gcmrsNextToken = a});++-- | -- | The response status code.+gcmrsResponseStatus :: Lens' GetCrawlerMetricsResponse Int+gcmrsResponseStatus = lens _gcmrsResponseStatus (\ s a -> s{_gcmrsResponseStatus = a});++instance NFData GetCrawlerMetricsResponse where
+ gen/Network/AWS/Glue/GetCrawlers.hs view
@@ -0,0 +1,152 @@+{-# 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.Glue.GetCrawlers+-- 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 metadata for all @Crawlers@ defined in the customer account.+--+--+module Network.AWS.Glue.GetCrawlers+    (+    -- * Creating a Request+      getCrawlers+    , GetCrawlers+    -- * Request Lenses+    , gNextToken+    , gMaxResults++    -- * Destructuring the Response+    , getCrawlersResponse+    , GetCrawlersResponse+    -- * Response Lenses+    , grsNextToken+    , grsCrawlers+    , grsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCrawlers' smart constructor.+data GetCrawlers = GetCrawlers'+  { _gNextToken  :: !(Maybe Text)+  , _gMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCrawlers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gNextToken' - A continuation token, if this is a continuation request.+--+-- * 'gMaxResults' - The number of Crawlers to return on each call.+getCrawlers+    :: GetCrawlers+getCrawlers = GetCrawlers' {_gNextToken = Nothing, _gMaxResults = Nothing}+++-- | A continuation token, if this is a continuation request.+gNextToken :: Lens' GetCrawlers (Maybe Text)+gNextToken = lens _gNextToken (\ s a -> s{_gNextToken = a});++-- | The number of Crawlers to return on each call.+gMaxResults :: Lens' GetCrawlers (Maybe Natural)+gMaxResults = lens _gMaxResults (\ s a -> s{_gMaxResults = a}) . mapping _Nat;++instance AWSRequest GetCrawlers where+        type Rs GetCrawlers = GetCrawlersResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetCrawlersResponse' <$>+                   (x .?> "NextToken") <*> (x .?> "Crawlers" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetCrawlers where++instance NFData GetCrawlers where++instance ToHeaders GetCrawlers where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetCrawlers" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetCrawlers where+        toJSON GetCrawlers'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gNextToken,+                  ("MaxResults" .=) <$> _gMaxResults])++instance ToPath GetCrawlers where+        toPath = const "/"++instance ToQuery GetCrawlers where+        toQuery = const mempty++-- | /See:/ 'getCrawlersResponse' smart constructor.+data GetCrawlersResponse = GetCrawlersResponse'+  { _grsNextToken      :: !(Maybe Text)+  , _grsCrawlers       :: !(Maybe [Crawler])+  , _grsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCrawlersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grsNextToken' - A continuation token, if the returned list has not reached the end of those defined in this customer account.+--+-- * 'grsCrawlers' - A list of @Crawler@ metadata.+--+-- * 'grsResponseStatus' - -- | The response status code.+getCrawlersResponse+    :: Int -- ^ 'grsResponseStatus'+    -> GetCrawlersResponse+getCrawlersResponse pResponseStatus_ =+  GetCrawlersResponse'+  { _grsNextToken = Nothing+  , _grsCrawlers = Nothing+  , _grsResponseStatus = pResponseStatus_+  }+++-- | A continuation token, if the returned list has not reached the end of those defined in this customer account.+grsNextToken :: Lens' GetCrawlersResponse (Maybe Text)+grsNextToken = lens _grsNextToken (\ s a -> s{_grsNextToken = a});++-- | A list of @Crawler@ metadata.+grsCrawlers :: Lens' GetCrawlersResponse [Crawler]+grsCrawlers = lens _grsCrawlers (\ s a -> s{_grsCrawlers = a}) . _Default . _Coerce;++-- | -- | The response status code.+grsResponseStatus :: Lens' GetCrawlersResponse Int+grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a});++instance NFData GetCrawlersResponse where
+ gen/Network/AWS/Glue/GetDatabase.hs view
@@ -0,0 +1,141 @@+{-# 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.Glue.GetDatabase+-- 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 definition of a specified database.+--+--+module Network.AWS.Glue.GetDatabase+    (+    -- * Creating a Request+      getDatabase+    , GetDatabase+    -- * Request Lenses+    , gddCatalogId+    , gddName++    -- * Destructuring the Response+    , getDatabaseResponse+    , GetDatabaseResponse+    -- * Response Lenses+    , gdrsDatabase+    , gdrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDatabase' smart constructor.+data GetDatabase = GetDatabase'+  { _gddCatalogId :: !(Maybe Text)+  , _gddName      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDatabase' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gddCatalogId' - The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'gddName' - The name of the database to retrieve.+getDatabase+    :: Text -- ^ 'gddName'+    -> GetDatabase+getDatabase pName_ = GetDatabase' {_gddCatalogId = Nothing, _gddName = pName_}+++-- | The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.+gddCatalogId :: Lens' GetDatabase (Maybe Text)+gddCatalogId = lens _gddCatalogId (\ s a -> s{_gddCatalogId = a});++-- | The name of the database to retrieve.+gddName :: Lens' GetDatabase Text+gddName = lens _gddName (\ s a -> s{_gddName = a});++instance AWSRequest GetDatabase where+        type Rs GetDatabase = GetDatabaseResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetDatabaseResponse' <$>+                   (x .?> "Database") <*> (pure (fromEnum s)))++instance Hashable GetDatabase where++instance NFData GetDatabase where++instance ToHeaders GetDatabase where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetDatabase" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDatabase where+        toJSON GetDatabase'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gddCatalogId,+                  Just ("Name" .= _gddName)])++instance ToPath GetDatabase where+        toPath = const "/"++instance ToQuery GetDatabase where+        toQuery = const mempty++-- | /See:/ 'getDatabaseResponse' smart constructor.+data GetDatabaseResponse = GetDatabaseResponse'+  { _gdrsDatabase       :: !(Maybe Database)+  , _gdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDatabaseResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdrsDatabase' - The definition of the specified database in the catalog.+--+-- * 'gdrsResponseStatus' - -- | The response status code.+getDatabaseResponse+    :: Int -- ^ 'gdrsResponseStatus'+    -> GetDatabaseResponse+getDatabaseResponse pResponseStatus_ =+  GetDatabaseResponse'+  {_gdrsDatabase = Nothing, _gdrsResponseStatus = pResponseStatus_}+++-- | The definition of the specified database in the catalog.+gdrsDatabase :: Lens' GetDatabaseResponse (Maybe Database)+gdrsDatabase = lens _gdrsDatabase (\ s a -> s{_gdrsDatabase = a});++-- | -- | The response status code.+gdrsResponseStatus :: Lens' GetDatabaseResponse Int+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});++instance NFData GetDatabaseResponse where
+ gen/Network/AWS/Glue/GetDatabases.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.Glue.GetDatabases+-- 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 all Databases defined in a given Data Catalog.+--+--+module Network.AWS.Glue.GetDatabases+    (+    -- * Creating a Request+      getDatabases+    , GetDatabases+    -- * Request Lenses+    , gdCatalogId+    , gdNextToken+    , gdMaxResults++    -- * Destructuring the Response+    , getDatabasesResponse+    , GetDatabasesResponse+    -- * Response Lenses+    , gdsrsNextToken+    , gdsrsResponseStatus+    , gdsrsDatabaseList+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDatabases' smart constructor.+data GetDatabases = GetDatabases'+  { _gdCatalogId  :: !(Maybe Text)+  , _gdNextToken  :: !(Maybe Text)+  , _gdMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDatabases' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdCatalogId' - The ID of the Data Catalog from which to retrieve @Databases@ . If none is supplied, the AWS account ID is used by default.+--+-- * 'gdNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gdMaxResults' - The maximum number of databases to return in one response.+getDatabases+    :: GetDatabases+getDatabases =+  GetDatabases'+  {_gdCatalogId = Nothing, _gdNextToken = Nothing, _gdMaxResults = Nothing}+++-- | The ID of the Data Catalog from which to retrieve @Databases@ . If none is supplied, the AWS account ID is used by default.+gdCatalogId :: Lens' GetDatabases (Maybe Text)+gdCatalogId = lens _gdCatalogId (\ s a -> s{_gdCatalogId = a});++-- | A continuation token, if this is a continuation call.+gdNextToken :: Lens' GetDatabases (Maybe Text)+gdNextToken = lens _gdNextToken (\ s a -> s{_gdNextToken = a});++-- | The maximum number of databases to return in one response.+gdMaxResults :: Lens' GetDatabases (Maybe Natural)+gdMaxResults = lens _gdMaxResults (\ s a -> s{_gdMaxResults = a}) . mapping _Nat;++instance AWSRequest GetDatabases where+        type Rs GetDatabases = GetDatabasesResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetDatabasesResponse' <$>+                   (x .?> "NextToken") <*> (pure (fromEnum s)) <*>+                     (x .?> "DatabaseList" .!@ mempty))++instance Hashable GetDatabases where++instance NFData GetDatabases where++instance ToHeaders GetDatabases where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetDatabases" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDatabases where+        toJSON GetDatabases'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gdCatalogId,+                  ("NextToken" .=) <$> _gdNextToken,+                  ("MaxResults" .=) <$> _gdMaxResults])++instance ToPath GetDatabases where+        toPath = const "/"++instance ToQuery GetDatabases where+        toQuery = const mempty++-- | /See:/ 'getDatabasesResponse' smart constructor.+data GetDatabasesResponse = GetDatabasesResponse'+  { _gdsrsNextToken      :: !(Maybe Text)+  , _gdsrsResponseStatus :: !Int+  , _gdsrsDatabaseList   :: ![Database]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDatabasesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdsrsNextToken' - A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.+--+-- * 'gdsrsResponseStatus' - -- | The response status code.+--+-- * 'gdsrsDatabaseList' - A list of @Database@ objects from the specified catalog.+getDatabasesResponse+    :: Int -- ^ 'gdsrsResponseStatus'+    -> GetDatabasesResponse+getDatabasesResponse pResponseStatus_ =+  GetDatabasesResponse'+  { _gdsrsNextToken = Nothing+  , _gdsrsResponseStatus = pResponseStatus_+  , _gdsrsDatabaseList = mempty+  }+++-- | A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.+gdsrsNextToken :: Lens' GetDatabasesResponse (Maybe Text)+gdsrsNextToken = lens _gdsrsNextToken (\ s a -> s{_gdsrsNextToken = a});++-- | -- | The response status code.+gdsrsResponseStatus :: Lens' GetDatabasesResponse Int+gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a});++-- | A list of @Database@ objects from the specified catalog.+gdsrsDatabaseList :: Lens' GetDatabasesResponse [Database]+gdsrsDatabaseList = lens _gdsrsDatabaseList (\ s a -> s{_gdsrsDatabaseList = a}) . _Coerce;++instance NFData GetDatabasesResponse where
+ gen/Network/AWS/Glue/GetDataflowGraph.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.Glue.GetDataflowGraph+-- 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)+--+-- Transforms a Python script into a directed acyclic graph (DAG).+--+--+module Network.AWS.Glue.GetDataflowGraph+    (+    -- * Creating a Request+      getDataflowGraph+    , GetDataflowGraph+    -- * Request Lenses+    , gdgPythonScript++    -- * Destructuring the Response+    , getDataflowGraphResponse+    , GetDataflowGraphResponse+    -- * Response Lenses+    , gdgrsDagEdges+    , gdgrsDagNodes+    , gdgrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDataflowGraph' smart constructor.+newtype GetDataflowGraph = GetDataflowGraph'+  { _gdgPythonScript :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDataflowGraph' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgPythonScript' - The Python script to transform.+getDataflowGraph+    :: GetDataflowGraph+getDataflowGraph = GetDataflowGraph' {_gdgPythonScript = Nothing}+++-- | The Python script to transform.+gdgPythonScript :: Lens' GetDataflowGraph (Maybe Text)+gdgPythonScript = lens _gdgPythonScript (\ s a -> s{_gdgPythonScript = a});++instance AWSRequest GetDataflowGraph where+        type Rs GetDataflowGraph = GetDataflowGraphResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetDataflowGraphResponse' <$>+                   (x .?> "DagEdges" .!@ mempty) <*>+                     (x .?> "DagNodes" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetDataflowGraph where++instance NFData GetDataflowGraph where++instance ToHeaders GetDataflowGraph where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetDataflowGraph" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDataflowGraph where+        toJSON GetDataflowGraph'{..}+          = object+              (catMaybes+                 [("PythonScript" .=) <$> _gdgPythonScript])++instance ToPath GetDataflowGraph where+        toPath = const "/"++instance ToQuery GetDataflowGraph where+        toQuery = const mempty++-- | /See:/ 'getDataflowGraphResponse' smart constructor.+data GetDataflowGraphResponse = GetDataflowGraphResponse'+  { _gdgrsDagEdges       :: !(Maybe [CodeGenEdge])+  , _gdgrsDagNodes       :: !(Maybe [CodeGenNode])+  , _gdgrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDataflowGraphResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdgrsDagEdges' - A list of the edges in the resulting DAG.+--+-- * 'gdgrsDagNodes' - A list of the nodes in the resulting DAG.+--+-- * 'gdgrsResponseStatus' - -- | The response status code.+getDataflowGraphResponse+    :: Int -- ^ 'gdgrsResponseStatus'+    -> GetDataflowGraphResponse+getDataflowGraphResponse pResponseStatus_ =+  GetDataflowGraphResponse'+  { _gdgrsDagEdges = Nothing+  , _gdgrsDagNodes = Nothing+  , _gdgrsResponseStatus = pResponseStatus_+  }+++-- | A list of the edges in the resulting DAG.+gdgrsDagEdges :: Lens' GetDataflowGraphResponse [CodeGenEdge]+gdgrsDagEdges = lens _gdgrsDagEdges (\ s a -> s{_gdgrsDagEdges = a}) . _Default . _Coerce;++-- | A list of the nodes in the resulting DAG.+gdgrsDagNodes :: Lens' GetDataflowGraphResponse [CodeGenNode]+gdgrsDagNodes = lens _gdgrsDagNodes (\ s a -> s{_gdgrsDagNodes = a}) . _Default . _Coerce;++-- | -- | The response status code.+gdgrsResponseStatus :: Lens' GetDataflowGraphResponse Int+gdgrsResponseStatus = lens _gdgrsResponseStatus (\ s a -> s{_gdgrsResponseStatus = a});++instance NFData GetDataflowGraphResponse where
+ gen/Network/AWS/Glue/GetDevEndpoint.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.GetDevEndpoint+-- 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 specified DevEndpoint.+--+--+module Network.AWS.Glue.GetDevEndpoint+    (+    -- * Creating a Request+      getDevEndpoint+    , GetDevEndpoint+    -- * Request Lenses+    , gdeEndpointName++    -- * Destructuring the Response+    , getDevEndpointResponse+    , GetDevEndpointResponse+    -- * Response Lenses+    , gdedrsDevEndpoint+    , gdedrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDevEndpoint' smart constructor.+newtype GetDevEndpoint = GetDevEndpoint'+  { _gdeEndpointName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDevEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdeEndpointName' - Name of the DevEndpoint for which to retrieve information.+getDevEndpoint+    :: Text -- ^ 'gdeEndpointName'+    -> GetDevEndpoint+getDevEndpoint pEndpointName_ =+  GetDevEndpoint' {_gdeEndpointName = pEndpointName_}+++-- | Name of the DevEndpoint for which to retrieve information.+gdeEndpointName :: Lens' GetDevEndpoint Text+gdeEndpointName = lens _gdeEndpointName (\ s a -> s{_gdeEndpointName = a});++instance AWSRequest GetDevEndpoint where+        type Rs GetDevEndpoint = GetDevEndpointResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetDevEndpointResponse' <$>+                   (x .?> "DevEndpoint") <*> (pure (fromEnum s)))++instance Hashable GetDevEndpoint where++instance NFData GetDevEndpoint where++instance ToHeaders GetDevEndpoint where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetDevEndpoint" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDevEndpoint where+        toJSON GetDevEndpoint'{..}+          = object+              (catMaybes+                 [Just ("EndpointName" .= _gdeEndpointName)])++instance ToPath GetDevEndpoint where+        toPath = const "/"++instance ToQuery GetDevEndpoint where+        toQuery = const mempty++-- | /See:/ 'getDevEndpointResponse' smart constructor.+data GetDevEndpointResponse = GetDevEndpointResponse'+  { _gdedrsDevEndpoint    :: !(Maybe DevEndpoint)+  , _gdedrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDevEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdedrsDevEndpoint' - A DevEndpoint definition.+--+-- * 'gdedrsResponseStatus' - -- | The response status code.+getDevEndpointResponse+    :: Int -- ^ 'gdedrsResponseStatus'+    -> GetDevEndpointResponse+getDevEndpointResponse pResponseStatus_ =+  GetDevEndpointResponse'+  {_gdedrsDevEndpoint = Nothing, _gdedrsResponseStatus = pResponseStatus_}+++-- | A DevEndpoint definition.+gdedrsDevEndpoint :: Lens' GetDevEndpointResponse (Maybe DevEndpoint)+gdedrsDevEndpoint = lens _gdedrsDevEndpoint (\ s a -> s{_gdedrsDevEndpoint = a});++-- | -- | The response status code.+gdedrsResponseStatus :: Lens' GetDevEndpointResponse Int+gdedrsResponseStatus = lens _gdedrsResponseStatus (\ s a -> s{_gdedrsResponseStatus = a});++instance NFData GetDevEndpointResponse where
+ gen/Network/AWS/Glue/GetDevEndpoints.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.GetDevEndpoints+-- 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 all the DevEndpoints in this AWS account.+--+--+module Network.AWS.Glue.GetDevEndpoints+    (+    -- * Creating a Request+      getDevEndpoints+    , GetDevEndpoints+    -- * Request Lenses+    , gdeNextToken+    , gdeMaxResults++    -- * Destructuring the Response+    , getDevEndpointsResponse+    , GetDevEndpointsResponse+    -- * Response Lenses+    , gdersNextToken+    , gdersDevEndpoints+    , gdersResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getDevEndpoints' smart constructor.+data GetDevEndpoints = GetDevEndpoints'+  { _gdeNextToken  :: !(Maybe Text)+  , _gdeMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDevEndpoints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdeNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gdeMaxResults' - The maximum size of information to return.+getDevEndpoints+    :: GetDevEndpoints+getDevEndpoints =+  GetDevEndpoints' {_gdeNextToken = Nothing, _gdeMaxResults = Nothing}+++-- | A continuation token, if this is a continuation call.+gdeNextToken :: Lens' GetDevEndpoints (Maybe Text)+gdeNextToken = lens _gdeNextToken (\ s a -> s{_gdeNextToken = a});++-- | The maximum size of information to return.+gdeMaxResults :: Lens' GetDevEndpoints (Maybe Natural)+gdeMaxResults = lens _gdeMaxResults (\ s a -> s{_gdeMaxResults = a}) . mapping _Nat;++instance AWSRequest GetDevEndpoints where+        type Rs GetDevEndpoints = GetDevEndpointsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetDevEndpointsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "DevEndpoints" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetDevEndpoints where++instance NFData GetDevEndpoints where++instance ToHeaders GetDevEndpoints where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetDevEndpoints" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDevEndpoints where+        toJSON GetDevEndpoints'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gdeNextToken,+                  ("MaxResults" .=) <$> _gdeMaxResults])++instance ToPath GetDevEndpoints where+        toPath = const "/"++instance ToQuery GetDevEndpoints where+        toQuery = const mempty++-- | /See:/ 'getDevEndpointsResponse' smart constructor.+data GetDevEndpointsResponse = GetDevEndpointsResponse'+  { _gdersNextToken      :: !(Maybe Text)+  , _gdersDevEndpoints   :: !(Maybe [DevEndpoint])+  , _gdersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetDevEndpointsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdersNextToken' - A continuation token, if not all DevEndpoint definitions have yet been returned.+--+-- * 'gdersDevEndpoints' - A list of DevEndpoint definitions.+--+-- * 'gdersResponseStatus' - -- | The response status code.+getDevEndpointsResponse+    :: Int -- ^ 'gdersResponseStatus'+    -> GetDevEndpointsResponse+getDevEndpointsResponse pResponseStatus_ =+  GetDevEndpointsResponse'+  { _gdersNextToken = Nothing+  , _gdersDevEndpoints = Nothing+  , _gdersResponseStatus = pResponseStatus_+  }+++-- | A continuation token, if not all DevEndpoint definitions have yet been returned.+gdersNextToken :: Lens' GetDevEndpointsResponse (Maybe Text)+gdersNextToken = lens _gdersNextToken (\ s a -> s{_gdersNextToken = a});++-- | A list of DevEndpoint definitions.+gdersDevEndpoints :: Lens' GetDevEndpointsResponse [DevEndpoint]+gdersDevEndpoints = lens _gdersDevEndpoints (\ s a -> s{_gdersDevEndpoints = a}) . _Default . _Coerce;++-- | -- | The response status code.+gdersResponseStatus :: Lens' GetDevEndpointsResponse Int+gdersResponseStatus = lens _gdersResponseStatus (\ s a -> s{_gdersResponseStatus = a});++instance NFData GetDevEndpointsResponse where
+ gen/Network/AWS/Glue/GetJob.hs view
@@ -0,0 +1,128 @@+{-# 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.Glue.GetJob+-- 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 an existing job definition.+--+--+module Network.AWS.Glue.GetJob+    (+    -- * Creating a Request+      getJob+    , GetJob+    -- * Request Lenses+    , gjJobName++    -- * Destructuring the Response+    , getJobResponse+    , GetJobResponse+    -- * Response Lenses+    , gjrsJob+    , gjrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getJob' smart constructor.+newtype GetJob = GetJob'+  { _gjJobName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjJobName' - The name of the job to retrieve.+getJob+    :: Text -- ^ 'gjJobName'+    -> GetJob+getJob pJobName_ = GetJob' {_gjJobName = pJobName_}+++-- | The name of the job to retrieve.+gjJobName :: Lens' GetJob Text+gjJobName = lens _gjJobName (\ s a -> s{_gjJobName = a});++instance AWSRequest GetJob where+        type Rs GetJob = GetJobResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetJobResponse' <$>+                   (x .?> "Job") <*> (pure (fromEnum s)))++instance Hashable GetJob where++instance NFData GetJob where++instance ToHeaders GetJob where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =# ("AWSGlue.GetJob" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetJob where+        toJSON GetJob'{..}+          = object (catMaybes [Just ("JobName" .= _gjJobName)])++instance ToPath GetJob where+        toPath = const "/"++instance ToQuery GetJob where+        toQuery = const mempty++-- | /See:/ 'getJobResponse' smart constructor.+data GetJobResponse = GetJobResponse'+  { _gjrsJob            :: !(Maybe Job)+  , _gjrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjrsJob' - The requested job definition.+--+-- * 'gjrsResponseStatus' - -- | The response status code.+getJobResponse+    :: Int -- ^ 'gjrsResponseStatus'+    -> GetJobResponse+getJobResponse pResponseStatus_ =+  GetJobResponse' {_gjrsJob = Nothing, _gjrsResponseStatus = pResponseStatus_}+++-- | The requested job definition.+gjrsJob :: Lens' GetJobResponse (Maybe Job)+gjrsJob = lens _gjrsJob (\ s a -> s{_gjrsJob = a});++-- | -- | The response status code.+gjrsResponseStatus :: Lens' GetJobResponse Int+gjrsResponseStatus = lens _gjrsResponseStatus (\ s a -> s{_gjrsResponseStatus = a});++instance NFData GetJobResponse where
+ gen/Network/AWS/Glue/GetJobRun.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.GetJobRun+-- 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 metadata for a given job run.+--+--+module Network.AWS.Glue.GetJobRun+    (+    -- * Creating a Request+      getJobRun+    , GetJobRun+    -- * Request Lenses+    , gPredecessorsIncluded+    , gJobName+    , gRunId++    -- * Destructuring the Response+    , getJobRunResponse+    , GetJobRunResponse+    -- * Response Lenses+    , gjrjrsJobRun+    , gjrjrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getJobRun' smart constructor.+data GetJobRun = GetJobRun'+  { _gPredecessorsIncluded :: !(Maybe Bool)+  , _gJobName              :: !Text+  , _gRunId                :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gPredecessorsIncluded' - A list of the predecessor runs to return as well.+--+-- * 'gJobName' - Name of the job being run.+--+-- * 'gRunId' - The ID of the job run.+getJobRun+    :: Text -- ^ 'gJobName'+    -> Text -- ^ 'gRunId'+    -> GetJobRun+getJobRun pJobName_ pRunId_ =+  GetJobRun'+  {_gPredecessorsIncluded = Nothing, _gJobName = pJobName_, _gRunId = pRunId_}+++-- | A list of the predecessor runs to return as well.+gPredecessorsIncluded :: Lens' GetJobRun (Maybe Bool)+gPredecessorsIncluded = lens _gPredecessorsIncluded (\ s a -> s{_gPredecessorsIncluded = a});++-- | Name of the job being run.+gJobName :: Lens' GetJobRun Text+gJobName = lens _gJobName (\ s a -> s{_gJobName = a});++-- | The ID of the job run.+gRunId :: Lens' GetJobRun Text+gRunId = lens _gRunId (\ s a -> s{_gRunId = a});++instance AWSRequest GetJobRun where+        type Rs GetJobRun = GetJobRunResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetJobRunResponse' <$>+                   (x .?> "JobRun") <*> (pure (fromEnum s)))++instance Hashable GetJobRun where++instance NFData GetJobRun where++instance ToHeaders GetJobRun where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetJobRun" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetJobRun where+        toJSON GetJobRun'{..}+          = object+              (catMaybes+                 [("PredecessorsIncluded" .=) <$>+                    _gPredecessorsIncluded,+                  Just ("JobName" .= _gJobName),+                  Just ("RunId" .= _gRunId)])++instance ToPath GetJobRun where+        toPath = const "/"++instance ToQuery GetJobRun where+        toQuery = const mempty++-- | /See:/ 'getJobRunResponse' smart constructor.+data GetJobRunResponse = GetJobRunResponse'+  { _gjrjrsJobRun         :: !(Maybe JobRun)+  , _gjrjrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobRunResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjrjrsJobRun' - The requested job-run metadata.+--+-- * 'gjrjrsResponseStatus' - -- | The response status code.+getJobRunResponse+    :: Int -- ^ 'gjrjrsResponseStatus'+    -> GetJobRunResponse+getJobRunResponse pResponseStatus_ =+  GetJobRunResponse'+  {_gjrjrsJobRun = Nothing, _gjrjrsResponseStatus = pResponseStatus_}+++-- | The requested job-run metadata.+gjrjrsJobRun :: Lens' GetJobRunResponse (Maybe JobRun)+gjrjrsJobRun = lens _gjrjrsJobRun (\ s a -> s{_gjrjrsJobRun = a});++-- | -- | The response status code.+gjrjrsResponseStatus :: Lens' GetJobRunResponse Int+gjrjrsResponseStatus = lens _gjrjrsResponseStatus (\ s a -> s{_gjrjrsResponseStatus = a});++instance NFData GetJobRunResponse where
+ gen/Network/AWS/Glue/GetJobRuns.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.Glue.GetJobRuns+-- 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 metadata for all runs of a given job.+--+--+module Network.AWS.Glue.GetJobRuns+    (+    -- * Creating a Request+      getJobRuns+    , GetJobRuns+    -- * Request Lenses+    , gjrNextToken+    , gjrMaxResults+    , gjrJobName++    -- * Destructuring the Response+    , getJobRunsResponse+    , GetJobRunsResponse+    -- * Response Lenses+    , gjrrsNextToken+    , gjrrsJobRuns+    , gjrrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getJobRuns' smart constructor.+data GetJobRuns = GetJobRuns'+  { _gjrNextToken  :: !(Maybe Text)+  , _gjrMaxResults :: !(Maybe Nat)+  , _gjrJobName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobRuns' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjrNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gjrMaxResults' - The maximum size of the response.+--+-- * 'gjrJobName' - The name of the job for which to retrieve all job runs.+getJobRuns+    :: Text -- ^ 'gjrJobName'+    -> GetJobRuns+getJobRuns pJobName_ =+  GetJobRuns'+  {_gjrNextToken = Nothing, _gjrMaxResults = Nothing, _gjrJobName = pJobName_}+++-- | A continuation token, if this is a continuation call.+gjrNextToken :: Lens' GetJobRuns (Maybe Text)+gjrNextToken = lens _gjrNextToken (\ s a -> s{_gjrNextToken = a});++-- | The maximum size of the response.+gjrMaxResults :: Lens' GetJobRuns (Maybe Natural)+gjrMaxResults = lens _gjrMaxResults (\ s a -> s{_gjrMaxResults = a}) . mapping _Nat;++-- | The name of the job for which to retrieve all job runs.+gjrJobName :: Lens' GetJobRuns Text+gjrJobName = lens _gjrJobName (\ s a -> s{_gjrJobName = a});++instance AWSRequest GetJobRuns where+        type Rs GetJobRuns = GetJobRunsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetJobRunsResponse' <$>+                   (x .?> "NextToken") <*> (x .?> "JobRuns" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetJobRuns where++instance NFData GetJobRuns where++instance ToHeaders GetJobRuns where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetJobRuns" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetJobRuns where+        toJSON GetJobRuns'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gjrNextToken,+                  ("MaxResults" .=) <$> _gjrMaxResults,+                  Just ("JobName" .= _gjrJobName)])++instance ToPath GetJobRuns where+        toPath = const "/"++instance ToQuery GetJobRuns where+        toQuery = const mempty++-- | /See:/ 'getJobRunsResponse' smart constructor.+data GetJobRunsResponse = GetJobRunsResponse'+  { _gjrrsNextToken      :: !(Maybe Text)+  , _gjrrsJobRuns        :: !(Maybe [JobRun])+  , _gjrrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobRunsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjrrsNextToken' - A continuation token, if not all reequested job runs have been returned.+--+-- * 'gjrrsJobRuns' - A list of job-run metatdata objects.+--+-- * 'gjrrsResponseStatus' - -- | The response status code.+getJobRunsResponse+    :: Int -- ^ 'gjrrsResponseStatus'+    -> GetJobRunsResponse+getJobRunsResponse pResponseStatus_ =+  GetJobRunsResponse'+  { _gjrrsNextToken = Nothing+  , _gjrrsJobRuns = Nothing+  , _gjrrsResponseStatus = pResponseStatus_+  }+++-- | A continuation token, if not all reequested job runs have been returned.+gjrrsNextToken :: Lens' GetJobRunsResponse (Maybe Text)+gjrrsNextToken = lens _gjrrsNextToken (\ s a -> s{_gjrrsNextToken = a});++-- | A list of job-run metatdata objects.+gjrrsJobRuns :: Lens' GetJobRunsResponse [JobRun]+gjrrsJobRuns = lens _gjrrsJobRuns (\ s a -> s{_gjrrsJobRuns = a}) . _Default . _Coerce;++-- | -- | The response status code.+gjrrsResponseStatus :: Lens' GetJobRunsResponse Int+gjrrsResponseStatus = lens _gjrrsResponseStatus (\ s a -> s{_gjrrsResponseStatus = a});++instance NFData GetJobRunsResponse where
+ gen/Network/AWS/Glue/GetJobs.hs view
@@ -0,0 +1,151 @@+{-# 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.Glue.GetJobs+-- 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 all current jobs.+--+--+module Network.AWS.Glue.GetJobs+    (+    -- * Creating a Request+      getJobs+    , GetJobs+    -- * Request Lenses+    , gjNextToken+    , gjMaxResults++    -- * Destructuring the Response+    , getJobsResponse+    , GetJobsResponse+    -- * Response Lenses+    , gjsrsNextToken+    , gjsrsJobs+    , gjsrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getJobs' smart constructor.+data GetJobs = GetJobs'+  { _gjNextToken  :: !(Maybe Text)+  , _gjMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gjMaxResults' - The maximum size of the response.+getJobs+    :: GetJobs+getJobs = GetJobs' {_gjNextToken = Nothing, _gjMaxResults = Nothing}+++-- | A continuation token, if this is a continuation call.+gjNextToken :: Lens' GetJobs (Maybe Text)+gjNextToken = lens _gjNextToken (\ s a -> s{_gjNextToken = a});++-- | The maximum size of the response.+gjMaxResults :: Lens' GetJobs (Maybe Natural)+gjMaxResults = lens _gjMaxResults (\ s a -> s{_gjMaxResults = a}) . mapping _Nat;++instance AWSRequest GetJobs where+        type Rs GetJobs = GetJobsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetJobsResponse' <$>+                   (x .?> "NextToken") <*> (x .?> "Jobs" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable GetJobs where++instance NFData GetJobs where++instance ToHeaders GetJobs where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =# ("AWSGlue.GetJobs" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetJobs where+        toJSON GetJobs'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gjNextToken,+                  ("MaxResults" .=) <$> _gjMaxResults])++instance ToPath GetJobs where+        toPath = const "/"++instance ToQuery GetJobs where+        toQuery = const mempty++-- | /See:/ 'getJobsResponse' smart constructor.+data GetJobsResponse = GetJobsResponse'+  { _gjsrsNextToken      :: !(Maybe Text)+  , _gjsrsJobs           :: !(Maybe [Job])+  , _gjsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gjsrsNextToken' - A continuation token, if not all jobs have yet been returned.+--+-- * 'gjsrsJobs' - A list of jobs.+--+-- * 'gjsrsResponseStatus' - -- | The response status code.+getJobsResponse+    :: Int -- ^ 'gjsrsResponseStatus'+    -> GetJobsResponse+getJobsResponse pResponseStatus_ =+  GetJobsResponse'+  { _gjsrsNextToken = Nothing+  , _gjsrsJobs = Nothing+  , _gjsrsResponseStatus = pResponseStatus_+  }+++-- | A continuation token, if not all jobs have yet been returned.+gjsrsNextToken :: Lens' GetJobsResponse (Maybe Text)+gjsrsNextToken = lens _gjsrsNextToken (\ s a -> s{_gjsrsNextToken = a});++-- | A list of jobs.+gjsrsJobs :: Lens' GetJobsResponse [Job]+gjsrsJobs = lens _gjsrsJobs (\ s a -> s{_gjsrsJobs = a}) . _Default . _Coerce;++-- | -- | The response status code.+gjsrsResponseStatus :: Lens' GetJobsResponse Int+gjsrsResponseStatus = lens _gjsrsResponseStatus (\ s a -> s{_gjsrsResponseStatus = a});++instance NFData GetJobsResponse where
+ gen/Network/AWS/Glue/GetMapping.hs view
@@ -0,0 +1,151 @@+{-# 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.Glue.GetMapping+-- 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 mappings.+--+--+module Network.AWS.Glue.GetMapping+    (+    -- * Creating a Request+      getMapping+    , GetMapping+    -- * Request Lenses+    , gmSinks+    , gmLocation+    , gmSource++    -- * Destructuring the Response+    , getMappingResponse+    , GetMappingResponse+    -- * Response Lenses+    , gmrsResponseStatus+    , gmrsMapping+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getMapping' smart constructor.+data GetMapping = GetMapping'+  { _gmSinks    :: !(Maybe [CatalogEntry])+  , _gmLocation :: !(Maybe Location)+  , _gmSource   :: !CatalogEntry+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmSinks' - A list of target tables.+--+-- * 'gmLocation' - Parameters for the mapping.+--+-- * 'gmSource' - Specifies the source table.+getMapping+    :: CatalogEntry -- ^ 'gmSource'+    -> GetMapping+getMapping pSource_ =+  GetMapping' {_gmSinks = Nothing, _gmLocation = Nothing, _gmSource = pSource_}+++-- | A list of target tables.+gmSinks :: Lens' GetMapping [CatalogEntry]+gmSinks = lens _gmSinks (\ s a -> s{_gmSinks = a}) . _Default . _Coerce;++-- | Parameters for the mapping.+gmLocation :: Lens' GetMapping (Maybe Location)+gmLocation = lens _gmLocation (\ s a -> s{_gmLocation = a});++-- | Specifies the source table.+gmSource :: Lens' GetMapping CatalogEntry+gmSource = lens _gmSource (\ s a -> s{_gmSource = a});++instance AWSRequest GetMapping where+        type Rs GetMapping = GetMappingResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetMappingResponse' <$>+                   (pure (fromEnum s)) <*> (x .?> "Mapping" .!@ mempty))++instance Hashable GetMapping where++instance NFData GetMapping where++instance ToHeaders GetMapping where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetMapping" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetMapping where+        toJSON GetMapping'{..}+          = object+              (catMaybes+                 [("Sinks" .=) <$> _gmSinks,+                  ("Location" .=) <$> _gmLocation,+                  Just ("Source" .= _gmSource)])++instance ToPath GetMapping where+        toPath = const "/"++instance ToQuery GetMapping where+        toQuery = const mempty++-- | /See:/ 'getMappingResponse' smart constructor.+data GetMappingResponse = GetMappingResponse'+  { _gmrsResponseStatus :: !Int+  , _gmrsMapping        :: ![MappingEntry]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetMappingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gmrsResponseStatus' - -- | The response status code.+--+-- * 'gmrsMapping' - A list of mappings to the specified targets.+getMappingResponse+    :: Int -- ^ 'gmrsResponseStatus'+    -> GetMappingResponse+getMappingResponse pResponseStatus_ =+  GetMappingResponse'+  {_gmrsResponseStatus = pResponseStatus_, _gmrsMapping = mempty}+++-- | -- | The response status code.+gmrsResponseStatus :: Lens' GetMappingResponse Int+gmrsResponseStatus = lens _gmrsResponseStatus (\ s a -> s{_gmrsResponseStatus = a});++-- | A list of mappings to the specified targets.+gmrsMapping :: Lens' GetMappingResponse [MappingEntry]+gmrsMapping = lens _gmrsMapping (\ s a -> s{_gmrsMapping = a}) . _Coerce;++instance NFData GetMappingResponse where
+ gen/Network/AWS/Glue/GetPartition.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.GetPartition+-- 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 specified partition.+--+--+module Network.AWS.Glue.GetPartition+    (+    -- * Creating a Request+      getPartition+    , GetPartition+    -- * Request Lenses+    , gpCatalogId+    , gpDatabaseName+    , gpTableName+    , gpPartitionValues++    -- * Destructuring the Response+    , getPartitionResponse+    , GetPartitionResponse+    -- * Response Lenses+    , gprsPartition+    , gprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getPartition' smart constructor.+data GetPartition = GetPartition'+  { _gpCatalogId       :: !(Maybe Text)+  , _gpDatabaseName    :: !Text+  , _gpTableName       :: !Text+  , _gpPartitionValues :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetPartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpCatalogId' - The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'gpDatabaseName' - The name of the catalog database where the partition resides.+--+-- * 'gpTableName' - The name of the partition's table.+--+-- * 'gpPartitionValues' - The values that define the partition.+getPartition+    :: Text -- ^ 'gpDatabaseName'+    -> Text -- ^ 'gpTableName'+    -> GetPartition+getPartition pDatabaseName_ pTableName_ =+  GetPartition'+  { _gpCatalogId = Nothing+  , _gpDatabaseName = pDatabaseName_+  , _gpTableName = pTableName_+  , _gpPartitionValues = mempty+  }+++-- | The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default.+gpCatalogId :: Lens' GetPartition (Maybe Text)+gpCatalogId = lens _gpCatalogId (\ s a -> s{_gpCatalogId = a});++-- | The name of the catalog database where the partition resides.+gpDatabaseName :: Lens' GetPartition Text+gpDatabaseName = lens _gpDatabaseName (\ s a -> s{_gpDatabaseName = a});++-- | The name of the partition's table.+gpTableName :: Lens' GetPartition Text+gpTableName = lens _gpTableName (\ s a -> s{_gpTableName = a});++-- | The values that define the partition.+gpPartitionValues :: Lens' GetPartition [Text]+gpPartitionValues = lens _gpPartitionValues (\ s a -> s{_gpPartitionValues = a}) . _Coerce;++instance AWSRequest GetPartition where+        type Rs GetPartition = GetPartitionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetPartitionResponse' <$>+                   (x .?> "Partition") <*> (pure (fromEnum s)))++instance Hashable GetPartition where++instance NFData GetPartition where++instance ToHeaders GetPartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetPartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetPartition where+        toJSON GetPartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gpCatalogId,+                  Just ("DatabaseName" .= _gpDatabaseName),+                  Just ("TableName" .= _gpTableName),+                  Just ("PartitionValues" .= _gpPartitionValues)])++instance ToPath GetPartition where+        toPath = const "/"++instance ToQuery GetPartition where+        toQuery = const mempty++-- | /See:/ 'getPartitionResponse' smart constructor.+data GetPartitionResponse = GetPartitionResponse'+  { _gprsPartition      :: !(Maybe Partition)+  , _gprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetPartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gprsPartition' - The requested information, in the form of a @Partition@ object.+--+-- * 'gprsResponseStatus' - -- | The response status code.+getPartitionResponse+    :: Int -- ^ 'gprsResponseStatus'+    -> GetPartitionResponse+getPartitionResponse pResponseStatus_ =+  GetPartitionResponse'+  {_gprsPartition = Nothing, _gprsResponseStatus = pResponseStatus_}+++-- | The requested information, in the form of a @Partition@ object.+gprsPartition :: Lens' GetPartitionResponse (Maybe Partition)+gprsPartition = lens _gprsPartition (\ s a -> s{_gprsPartition = a});++-- | -- | The response status code.+gprsResponseStatus :: Lens' GetPartitionResponse Int+gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a});++instance NFData GetPartitionResponse where
+ gen/Network/AWS/Glue/GetPartitions.hs view
@@ -0,0 +1,209 @@+{-# 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.Glue.GetPartitions+-- 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 the partitions in a table.+--+--+module Network.AWS.Glue.GetPartitions+    (+    -- * Creating a Request+      getPartitions+    , GetPartitions+    -- * Request Lenses+    , gpsCatalogId+    , gpsNextToken+    , gpsExpression+    , gpsSegment+    , gpsMaxResults+    , gpsDatabaseName+    , gpsTableName++    -- * Destructuring the Response+    , getPartitionsResponse+    , GetPartitionsResponse+    -- * Response Lenses+    , gpsrsPartitions+    , gpsrsNextToken+    , gpsrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getPartitions' smart constructor.+data GetPartitions = GetPartitions'+  { _gpsCatalogId    :: !(Maybe Text)+  , _gpsNextToken    :: !(Maybe Text)+  , _gpsExpression   :: !(Maybe Text)+  , _gpsSegment      :: !(Maybe Segment)+  , _gpsMaxResults   :: !(Maybe Nat)+  , _gpsDatabaseName :: !Text+  , _gpsTableName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetPartitions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpsCatalogId' - The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'gpsNextToken' - A continuation token, if this is not the first call to retrieve these partitions.+--+-- * 'gpsExpression' - An expression filtering the partitions to be returned.+--+-- * 'gpsSegment' - The segment of the table's partitions to scan in this request.+--+-- * 'gpsMaxResults' - The maximum number of partitions to return in a single response.+--+-- * 'gpsDatabaseName' - The name of the catalog database where the partitions reside.+--+-- * 'gpsTableName' - The name of the partitions' table.+getPartitions+    :: Text -- ^ 'gpsDatabaseName'+    -> Text -- ^ 'gpsTableName'+    -> GetPartitions+getPartitions pDatabaseName_ pTableName_ =+  GetPartitions'+  { _gpsCatalogId = Nothing+  , _gpsNextToken = Nothing+  , _gpsExpression = Nothing+  , _gpsSegment = Nothing+  , _gpsMaxResults = Nothing+  , _gpsDatabaseName = pDatabaseName_+  , _gpsTableName = pTableName_+  }+++-- | The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.+gpsCatalogId :: Lens' GetPartitions (Maybe Text)+gpsCatalogId = lens _gpsCatalogId (\ s a -> s{_gpsCatalogId = a});++-- | A continuation token, if this is not the first call to retrieve these partitions.+gpsNextToken :: Lens' GetPartitions (Maybe Text)+gpsNextToken = lens _gpsNextToken (\ s a -> s{_gpsNextToken = a});++-- | An expression filtering the partitions to be returned.+gpsExpression :: Lens' GetPartitions (Maybe Text)+gpsExpression = lens _gpsExpression (\ s a -> s{_gpsExpression = a});++-- | The segment of the table's partitions to scan in this request.+gpsSegment :: Lens' GetPartitions (Maybe Segment)+gpsSegment = lens _gpsSegment (\ s a -> s{_gpsSegment = a});++-- | The maximum number of partitions to return in a single response.+gpsMaxResults :: Lens' GetPartitions (Maybe Natural)+gpsMaxResults = lens _gpsMaxResults (\ s a -> s{_gpsMaxResults = a}) . mapping _Nat;++-- | The name of the catalog database where the partitions reside.+gpsDatabaseName :: Lens' GetPartitions Text+gpsDatabaseName = lens _gpsDatabaseName (\ s a -> s{_gpsDatabaseName = a});++-- | The name of the partitions' table.+gpsTableName :: Lens' GetPartitions Text+gpsTableName = lens _gpsTableName (\ s a -> s{_gpsTableName = a});++instance AWSRequest GetPartitions where+        type Rs GetPartitions = GetPartitionsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetPartitionsResponse' <$>+                   (x .?> "Partitions" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable GetPartitions where++instance NFData GetPartitions where++instance ToHeaders GetPartitions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetPartitions" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetPartitions where+        toJSON GetPartitions'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gpsCatalogId,+                  ("NextToken" .=) <$> _gpsNextToken,+                  ("Expression" .=) <$> _gpsExpression,+                  ("Segment" .=) <$> _gpsSegment,+                  ("MaxResults" .=) <$> _gpsMaxResults,+                  Just ("DatabaseName" .= _gpsDatabaseName),+                  Just ("TableName" .= _gpsTableName)])++instance ToPath GetPartitions where+        toPath = const "/"++instance ToQuery GetPartitions where+        toQuery = const mempty++-- | /See:/ 'getPartitionsResponse' smart constructor.+data GetPartitionsResponse = GetPartitionsResponse'+  { _gpsrsPartitions     :: !(Maybe [Partition])+  , _gpsrsNextToken      :: !(Maybe Text)+  , _gpsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetPartitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpsrsPartitions' - A list of requested partitions.+--+-- * 'gpsrsNextToken' - A continuation token, if the returned list of partitions does not does not include the last one.+--+-- * 'gpsrsResponseStatus' - -- | The response status code.+getPartitionsResponse+    :: Int -- ^ 'gpsrsResponseStatus'+    -> GetPartitionsResponse+getPartitionsResponse pResponseStatus_ =+  GetPartitionsResponse'+  { _gpsrsPartitions = Nothing+  , _gpsrsNextToken = Nothing+  , _gpsrsResponseStatus = pResponseStatus_+  }+++-- | A list of requested partitions.+gpsrsPartitions :: Lens' GetPartitionsResponse [Partition]+gpsrsPartitions = lens _gpsrsPartitions (\ s a -> s{_gpsrsPartitions = a}) . _Default . _Coerce;++-- | A continuation token, if the returned list of partitions does not does not include the last one.+gpsrsNextToken :: Lens' GetPartitionsResponse (Maybe Text)+gpsrsNextToken = lens _gpsrsNextToken (\ s a -> s{_gpsrsNextToken = a});++-- | -- | The response status code.+gpsrsResponseStatus :: Lens' GetPartitionsResponse Int+gpsrsResponseStatus = lens _gpsrsResponseStatus (\ s a -> s{_gpsrsResponseStatus = a});++instance NFData GetPartitionsResponse where
+ gen/Network/AWS/Glue/GetPlan.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.Glue.GetPlan+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a Python script to perform a specified mapping.+--+--+module Network.AWS.Glue.GetPlan+    (+    -- * Creating a Request+      getPlan+    , GetPlan+    -- * Request Lenses+    , gpSinks+    , gpLocation+    , gpMapping+    , gpSource++    -- * Destructuring the Response+    , getPlanResponse+    , GetPlanResponse+    -- * Response Lenses+    , gpprsPythonScript+    , gpprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getPlan' smart constructor.+data GetPlan = GetPlan'+  { _gpSinks    :: !(Maybe [CatalogEntry])+  , _gpLocation :: !(Maybe Location)+  , _gpMapping  :: ![MappingEntry]+  , _gpSource   :: !CatalogEntry+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetPlan' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpSinks' - The target tables.+--+-- * 'gpLocation' - Parameters for the mapping.+--+-- * 'gpMapping' - The list of mappings from a source table to target tables.+--+-- * 'gpSource' - The source table.+getPlan+    :: CatalogEntry -- ^ 'gpSource'+    -> GetPlan+getPlan pSource_ =+  GetPlan'+  { _gpSinks = Nothing+  , _gpLocation = Nothing+  , _gpMapping = mempty+  , _gpSource = pSource_+  }+++-- | The target tables.+gpSinks :: Lens' GetPlan [CatalogEntry]+gpSinks = lens _gpSinks (\ s a -> s{_gpSinks = a}) . _Default . _Coerce;++-- | Parameters for the mapping.+gpLocation :: Lens' GetPlan (Maybe Location)+gpLocation = lens _gpLocation (\ s a -> s{_gpLocation = a});++-- | The list of mappings from a source table to target tables.+gpMapping :: Lens' GetPlan [MappingEntry]+gpMapping = lens _gpMapping (\ s a -> s{_gpMapping = a}) . _Coerce;++-- | The source table.+gpSource :: Lens' GetPlan CatalogEntry+gpSource = lens _gpSource (\ s a -> s{_gpSource = a});++instance AWSRequest GetPlan where+        type Rs GetPlan = GetPlanResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetPlanResponse' <$>+                   (x .?> "PythonScript") <*> (pure (fromEnum s)))++instance Hashable GetPlan where++instance NFData GetPlan where++instance ToHeaders GetPlan where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =# ("AWSGlue.GetPlan" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetPlan where+        toJSON GetPlan'{..}+          = object+              (catMaybes+                 [("Sinks" .=) <$> _gpSinks,+                  ("Location" .=) <$> _gpLocation,+                  Just ("Mapping" .= _gpMapping),+                  Just ("Source" .= _gpSource)])++instance ToPath GetPlan where+        toPath = const "/"++instance ToQuery GetPlan where+        toQuery = const mempty++-- | /See:/ 'getPlanResponse' smart constructor.+data GetPlanResponse = GetPlanResponse'+  { _gpprsPythonScript   :: !(Maybe Text)+  , _gpprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetPlanResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpprsPythonScript' - A python script to perform the mapping.+--+-- * 'gpprsResponseStatus' - -- | The response status code.+getPlanResponse+    :: Int -- ^ 'gpprsResponseStatus'+    -> GetPlanResponse+getPlanResponse pResponseStatus_ =+  GetPlanResponse'+  {_gpprsPythonScript = Nothing, _gpprsResponseStatus = pResponseStatus_}+++-- | A python script to perform the mapping.+gpprsPythonScript :: Lens' GetPlanResponse (Maybe Text)+gpprsPythonScript = lens _gpprsPythonScript (\ s a -> s{_gpprsPythonScript = a});++-- | -- | The response status code.+gpprsResponseStatus :: Lens' GetPlanResponse Int+gpprsResponseStatus = lens _gpprsResponseStatus (\ s a -> s{_gpprsResponseStatus = a});++instance NFData GetPlanResponse where
+ gen/Network/AWS/Glue/GetTable.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.Glue.GetTable+-- 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 @Table@ definition in a Data Catalog for a specified table.+--+--+module Network.AWS.Glue.GetTable+    (+    -- * Creating a Request+      getTable+    , GetTable+    -- * Request Lenses+    , gttCatalogId+    , gttDatabaseName+    , gttName++    -- * Destructuring the Response+    , getTableResponse+    , GetTableResponse+    -- * Response Lenses+    , ggrsTable+    , ggrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getTable' smart constructor.+data GetTable = GetTable'+  { _gttCatalogId    :: !(Maybe Text)+  , _gttDatabaseName :: !Text+  , _gttName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gttCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'gttDatabaseName' - The name of the database in the catalog in which the table resides.+--+-- * 'gttName' - The name of the table for which to retrieve the definition.+getTable+    :: Text -- ^ 'gttDatabaseName'+    -> Text -- ^ 'gttName'+    -> GetTable+getTable pDatabaseName_ pName_ =+  GetTable'+  { _gttCatalogId = Nothing+  , _gttDatabaseName = pDatabaseName_+  , _gttName = pName_+  }+++-- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+gttCatalogId :: Lens' GetTable (Maybe Text)+gttCatalogId = lens _gttCatalogId (\ s a -> s{_gttCatalogId = a});++-- | The name of the database in the catalog in which the table resides.+gttDatabaseName :: Lens' GetTable Text+gttDatabaseName = lens _gttDatabaseName (\ s a -> s{_gttDatabaseName = a});++-- | The name of the table for which to retrieve the definition.+gttName :: Lens' GetTable Text+gttName = lens _gttName (\ s a -> s{_gttName = a});++instance AWSRequest GetTable where+        type Rs GetTable = GetTableResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetTableResponse' <$>+                   (x .?> "Table") <*> (pure (fromEnum s)))++instance Hashable GetTable where++instance NFData GetTable where++instance ToHeaders GetTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetTable" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTable where+        toJSON GetTable'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gttCatalogId,+                  Just ("DatabaseName" .= _gttDatabaseName),+                  Just ("Name" .= _gttName)])++instance ToPath GetTable where+        toPath = const "/"++instance ToQuery GetTable where+        toQuery = const mempty++-- | /See:/ 'getTableResponse' smart constructor.+data GetTableResponse = GetTableResponse'+  { _ggrsTable          :: !(Maybe Table)+  , _ggrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggrsTable' - The @Table@ object that defines the specified table.+--+-- * 'ggrsResponseStatus' - -- | The response status code.+getTableResponse+    :: Int -- ^ 'ggrsResponseStatus'+    -> GetTableResponse+getTableResponse pResponseStatus_ =+  GetTableResponse'+  {_ggrsTable = Nothing, _ggrsResponseStatus = pResponseStatus_}+++-- | The @Table@ object that defines the specified table.+ggrsTable :: Lens' GetTableResponse (Maybe Table)+ggrsTable = lens _ggrsTable (\ s a -> s{_ggrsTable = a});++-- | -- | The response status code.+ggrsResponseStatus :: Lens' GetTableResponse Int+ggrsResponseStatus = lens _ggrsResponseStatus (\ s a -> s{_ggrsResponseStatus = a});++instance NFData GetTableResponse where
+ gen/Network/AWS/Glue/GetTableVersions.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.Glue.GetTableVersions+-- 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 strings that identify available versions of a specified table.+--+--+module Network.AWS.Glue.GetTableVersions+    (+    -- * Creating a Request+      getTableVersions+    , GetTableVersions+    -- * Request Lenses+    , gtvCatalogId+    , gtvNextToken+    , gtvMaxResults+    , gtvDatabaseName+    , gtvTableName++    -- * Destructuring the Response+    , getTableVersionsResponse+    , GetTableVersionsResponse+    -- * Response Lenses+    , gtvrsTableVersions+    , gtvrsNextToken+    , gtvrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getTableVersions' smart constructor.+data GetTableVersions = GetTableVersions'+  { _gtvCatalogId    :: !(Maybe Text)+  , _gtvNextToken    :: !(Maybe Text)+  , _gtvMaxResults   :: !(Maybe Nat)+  , _gtvDatabaseName :: !Text+  , _gtvTableName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTableVersions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtvCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'gtvNextToken' - A continuation token, if this is not the first call.+--+-- * 'gtvMaxResults' - The maximum number of table versions to return in one response.+--+-- * 'gtvDatabaseName' - The database in the catalog in which the table resides.+--+-- * 'gtvTableName' - The name of the table.+getTableVersions+    :: Text -- ^ 'gtvDatabaseName'+    -> Text -- ^ 'gtvTableName'+    -> GetTableVersions+getTableVersions pDatabaseName_ pTableName_ =+  GetTableVersions'+  { _gtvCatalogId = Nothing+  , _gtvNextToken = Nothing+  , _gtvMaxResults = Nothing+  , _gtvDatabaseName = pDatabaseName_+  , _gtvTableName = pTableName_+  }+++-- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+gtvCatalogId :: Lens' GetTableVersions (Maybe Text)+gtvCatalogId = lens _gtvCatalogId (\ s a -> s{_gtvCatalogId = a});++-- | A continuation token, if this is not the first call.+gtvNextToken :: Lens' GetTableVersions (Maybe Text)+gtvNextToken = lens _gtvNextToken (\ s a -> s{_gtvNextToken = a});++-- | The maximum number of table versions to return in one response.+gtvMaxResults :: Lens' GetTableVersions (Maybe Natural)+gtvMaxResults = lens _gtvMaxResults (\ s a -> s{_gtvMaxResults = a}) . mapping _Nat;++-- | The database in the catalog in which the table resides.+gtvDatabaseName :: Lens' GetTableVersions Text+gtvDatabaseName = lens _gtvDatabaseName (\ s a -> s{_gtvDatabaseName = a});++-- | The name of the table.+gtvTableName :: Lens' GetTableVersions Text+gtvTableName = lens _gtvTableName (\ s a -> s{_gtvTableName = a});++instance AWSRequest GetTableVersions where+        type Rs GetTableVersions = GetTableVersionsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetTableVersionsResponse' <$>+                   (x .?> "TableVersions" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable GetTableVersions where++instance NFData GetTableVersions where++instance ToHeaders GetTableVersions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetTableVersions" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTableVersions where+        toJSON GetTableVersions'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gtvCatalogId,+                  ("NextToken" .=) <$> _gtvNextToken,+                  ("MaxResults" .=) <$> _gtvMaxResults,+                  Just ("DatabaseName" .= _gtvDatabaseName),+                  Just ("TableName" .= _gtvTableName)])++instance ToPath GetTableVersions where+        toPath = const "/"++instance ToQuery GetTableVersions where+        toQuery = const mempty++-- | /See:/ 'getTableVersionsResponse' smart constructor.+data GetTableVersionsResponse = GetTableVersionsResponse'+  { _gtvrsTableVersions  :: !(Maybe [TableVersion])+  , _gtvrsNextToken      :: !(Maybe Text)+  , _gtvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTableVersionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtvrsTableVersions' - A list of strings identifying available versions of the specified table.+--+-- * 'gtvrsNextToken' - A continuation token, if the list of available versions does not include the last one.+--+-- * 'gtvrsResponseStatus' - -- | The response status code.+getTableVersionsResponse+    :: Int -- ^ 'gtvrsResponseStatus'+    -> GetTableVersionsResponse+getTableVersionsResponse pResponseStatus_ =+  GetTableVersionsResponse'+  { _gtvrsTableVersions = Nothing+  , _gtvrsNextToken = Nothing+  , _gtvrsResponseStatus = pResponseStatus_+  }+++-- | A list of strings identifying available versions of the specified table.+gtvrsTableVersions :: Lens' GetTableVersionsResponse [TableVersion]+gtvrsTableVersions = lens _gtvrsTableVersions (\ s a -> s{_gtvrsTableVersions = a}) . _Default . _Coerce;++-- | A continuation token, if the list of available versions does not include the last one.+gtvrsNextToken :: Lens' GetTableVersionsResponse (Maybe Text)+gtvrsNextToken = lens _gtvrsNextToken (\ s a -> s{_gtvrsNextToken = a});++-- | -- | The response status code.+gtvrsResponseStatus :: Lens' GetTableVersionsResponse Int+gtvrsResponseStatus = lens _gtvrsResponseStatus (\ s a -> s{_gtvrsResponseStatus = a});++instance NFData GetTableVersionsResponse where
+ gen/Network/AWS/Glue/GetTables.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.Glue.GetTables+-- 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 definitions of some or all of the tables in a given @Database@ .+--+--+module Network.AWS.Glue.GetTables+    (+    -- * Creating a Request+      getTables+    , GetTables+    -- * Request Lenses+    , gtCatalogId+    , gtNextToken+    , gtExpression+    , gtMaxResults+    , gtDatabaseName++    -- * Destructuring the Response+    , getTablesResponse+    , GetTablesResponse+    -- * Response Lenses+    , gtsrsTableList+    , gtsrsNextToken+    , gtsrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getTables' smart constructor.+data GetTables = GetTables'+  { _gtCatalogId    :: !(Maybe Text)+  , _gtNextToken    :: !(Maybe Text)+  , _gtExpression   :: !(Maybe Text)+  , _gtMaxResults   :: !(Maybe Nat)+  , _gtDatabaseName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTables' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'gtNextToken' - A continuation token, included if this is a continuation call.+--+-- * 'gtExpression' - A regular expression pattern. If present, only those tables whose names match the pattern are returned.+--+-- * 'gtMaxResults' - The maximum number of tables to return in a single response.+--+-- * 'gtDatabaseName' - The database in the catalog whose tables to list.+getTables+    :: Text -- ^ 'gtDatabaseName'+    -> GetTables+getTables pDatabaseName_ =+  GetTables'+  { _gtCatalogId = Nothing+  , _gtNextToken = Nothing+  , _gtExpression = Nothing+  , _gtMaxResults = Nothing+  , _gtDatabaseName = pDatabaseName_+  }+++-- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+gtCatalogId :: Lens' GetTables (Maybe Text)+gtCatalogId = lens _gtCatalogId (\ s a -> s{_gtCatalogId = a});++-- | A continuation token, included if this is a continuation call.+gtNextToken :: Lens' GetTables (Maybe Text)+gtNextToken = lens _gtNextToken (\ s a -> s{_gtNextToken = a});++-- | A regular expression pattern. If present, only those tables whose names match the pattern are returned.+gtExpression :: Lens' GetTables (Maybe Text)+gtExpression = lens _gtExpression (\ s a -> s{_gtExpression = a});++-- | The maximum number of tables to return in a single response.+gtMaxResults :: Lens' GetTables (Maybe Natural)+gtMaxResults = lens _gtMaxResults (\ s a -> s{_gtMaxResults = a}) . mapping _Nat;++-- | The database in the catalog whose tables to list.+gtDatabaseName :: Lens' GetTables Text+gtDatabaseName = lens _gtDatabaseName (\ s a -> s{_gtDatabaseName = a});++instance AWSRequest GetTables where+        type Rs GetTables = GetTablesResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetTablesResponse' <$>+                   (x .?> "TableList" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable GetTables where++instance NFData GetTables where++instance ToHeaders GetTables where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetTables" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTables where+        toJSON GetTables'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gtCatalogId,+                  ("NextToken" .=) <$> _gtNextToken,+                  ("Expression" .=) <$> _gtExpression,+                  ("MaxResults" .=) <$> _gtMaxResults,+                  Just ("DatabaseName" .= _gtDatabaseName)])++instance ToPath GetTables where+        toPath = const "/"++instance ToQuery GetTables where+        toQuery = const mempty++-- | /See:/ 'getTablesResponse' smart constructor.+data GetTablesResponse = GetTablesResponse'+  { _gtsrsTableList      :: !(Maybe [Table])+  , _gtsrsNextToken      :: !(Maybe Text)+  , _gtsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTablesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtsrsTableList' - A list of the requested @Table@ objects.+--+-- * 'gtsrsNextToken' - A continuation token, present if the current list segment is not the last.+--+-- * 'gtsrsResponseStatus' - -- | The response status code.+getTablesResponse+    :: Int -- ^ 'gtsrsResponseStatus'+    -> GetTablesResponse+getTablesResponse pResponseStatus_ =+  GetTablesResponse'+  { _gtsrsTableList = Nothing+  , _gtsrsNextToken = Nothing+  , _gtsrsResponseStatus = pResponseStatus_+  }+++-- | A list of the requested @Table@ objects.+gtsrsTableList :: Lens' GetTablesResponse [Table]+gtsrsTableList = lens _gtsrsTableList (\ s a -> s{_gtsrsTableList = a}) . _Default . _Coerce;++-- | A continuation token, present if the current list segment is not the last.+gtsrsNextToken :: Lens' GetTablesResponse (Maybe Text)+gtsrsNextToken = lens _gtsrsNextToken (\ s a -> s{_gtsrsNextToken = a});++-- | -- | The response status code.+gtsrsResponseStatus :: Lens' GetTablesResponse Int+gtsrsResponseStatus = lens _gtsrsResponseStatus (\ s a -> s{_gtsrsResponseStatus = a});++instance NFData GetTablesResponse where
+ gen/Network/AWS/Glue/GetTrigger.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.GetTrigger+-- 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 definition of a trigger.+--+--+module Network.AWS.Glue.GetTrigger+    (+    -- * Creating a Request+      getTrigger+    , GetTrigger+    -- * Request Lenses+    , gtName++    -- * Destructuring the Response+    , getTriggerResponse+    , GetTriggerResponse+    -- * Response Lenses+    , gtrsTrigger+    , gtrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getTrigger' smart constructor.+newtype GetTrigger = GetTrigger'+  { _gtName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtName' - The name of the trigger to retrieve.+getTrigger+    :: Text -- ^ 'gtName'+    -> GetTrigger+getTrigger pName_ = GetTrigger' {_gtName = pName_}+++-- | The name of the trigger to retrieve.+gtName :: Lens' GetTrigger Text+gtName = lens _gtName (\ s a -> s{_gtName = a});++instance AWSRequest GetTrigger where+        type Rs GetTrigger = GetTriggerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetTriggerResponse' <$>+                   (x .?> "Trigger") <*> (pure (fromEnum s)))++instance Hashable GetTrigger where++instance NFData GetTrigger where++instance ToHeaders GetTrigger where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetTrigger" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTrigger where+        toJSON GetTrigger'{..}+          = object (catMaybes [Just ("Name" .= _gtName)])++instance ToPath GetTrigger where+        toPath = const "/"++instance ToQuery GetTrigger where+        toQuery = const mempty++-- | /See:/ 'getTriggerResponse' smart constructor.+data GetTriggerResponse = GetTriggerResponse'+  { _gtrsTrigger        :: !(Maybe Trigger)+  , _gtrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTriggerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtrsTrigger' - The requested trigger definition.+--+-- * 'gtrsResponseStatus' - -- | The response status code.+getTriggerResponse+    :: Int -- ^ 'gtrsResponseStatus'+    -> GetTriggerResponse+getTriggerResponse pResponseStatus_ =+  GetTriggerResponse'+  {_gtrsTrigger = Nothing, _gtrsResponseStatus = pResponseStatus_}+++-- | The requested trigger definition.+gtrsTrigger :: Lens' GetTriggerResponse (Maybe Trigger)+gtrsTrigger = lens _gtrsTrigger (\ s a -> s{_gtrsTrigger = a});++-- | -- | The response status code.+gtrsResponseStatus :: Lens' GetTriggerResponse Int+gtrsResponseStatus = lens _gtrsResponseStatus (\ s a -> s{_gtrsResponseStatus = a});++instance NFData GetTriggerResponse where
+ gen/Network/AWS/Glue/GetTriggers.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.GetTriggers+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets all the triggers associated with a job.+--+--+module Network.AWS.Glue.GetTriggers+    (+    -- * Creating a Request+      getTriggers+    , GetTriggers+    -- * Request Lenses+    , gtsNextToken+    , gtsMaxResults+    , gtsDependentJobName++    -- * Destructuring the Response+    , getTriggersResponse+    , GetTriggersResponse+    -- * Response Lenses+    , gttrsTriggers+    , gttrsNextToken+    , gttrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getTriggers' smart constructor.+data GetTriggers = GetTriggers'+  { _gtsNextToken        :: !(Maybe Text)+  , _gtsMaxResults       :: !(Maybe Nat)+  , _gtsDependentJobName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTriggers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtsNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gtsMaxResults' - The maximum size of the response.+--+-- * 'gtsDependentJobName' - The name of the job for which to retrieve triggers.+getTriggers+    :: GetTriggers+getTriggers =+  GetTriggers'+  { _gtsNextToken = Nothing+  , _gtsMaxResults = Nothing+  , _gtsDependentJobName = Nothing+  }+++-- | A continuation token, if this is a continuation call.+gtsNextToken :: Lens' GetTriggers (Maybe Text)+gtsNextToken = lens _gtsNextToken (\ s a -> s{_gtsNextToken = a});++-- | The maximum size of the response.+gtsMaxResults :: Lens' GetTriggers (Maybe Natural)+gtsMaxResults = lens _gtsMaxResults (\ s a -> s{_gtsMaxResults = a}) . mapping _Nat;++-- | The name of the job for which to retrieve triggers.+gtsDependentJobName :: Lens' GetTriggers (Maybe Text)+gtsDependentJobName = lens _gtsDependentJobName (\ s a -> s{_gtsDependentJobName = a});++instance AWSRequest GetTriggers where+        type Rs GetTriggers = GetTriggersResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetTriggersResponse' <$>+                   (x .?> "Triggers" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable GetTriggers where++instance NFData GetTriggers where++instance ToHeaders GetTriggers where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetTriggers" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTriggers where+        toJSON GetTriggers'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _gtsNextToken,+                  ("MaxResults" .=) <$> _gtsMaxResults,+                  ("DependentJobName" .=) <$> _gtsDependentJobName])++instance ToPath GetTriggers where+        toPath = const "/"++instance ToQuery GetTriggers where+        toQuery = const mempty++-- | /See:/ 'getTriggersResponse' smart constructor.+data GetTriggersResponse = GetTriggersResponse'+  { _gttrsTriggers       :: !(Maybe [Trigger])+  , _gttrsNextToken      :: !(Maybe Text)+  , _gttrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTriggersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gttrsTriggers' - A list of triggers for the specified job.+--+-- * 'gttrsNextToken' - A continuation token, if not all the requested triggers have yet been returned.+--+-- * 'gttrsResponseStatus' - -- | The response status code.+getTriggersResponse+    :: Int -- ^ 'gttrsResponseStatus'+    -> GetTriggersResponse+getTriggersResponse pResponseStatus_ =+  GetTriggersResponse'+  { _gttrsTriggers = Nothing+  , _gttrsNextToken = Nothing+  , _gttrsResponseStatus = pResponseStatus_+  }+++-- | A list of triggers for the specified job.+gttrsTriggers :: Lens' GetTriggersResponse [Trigger]+gttrsTriggers = lens _gttrsTriggers (\ s a -> s{_gttrsTriggers = a}) . _Default . _Coerce;++-- | A continuation token, if not all the requested triggers have yet been returned.+gttrsNextToken :: Lens' GetTriggersResponse (Maybe Text)+gttrsNextToken = lens _gttrsNextToken (\ s a -> s{_gttrsNextToken = a});++-- | -- | The response status code.+gttrsResponseStatus :: Lens' GetTriggersResponse Int+gttrsResponseStatus = lens _gttrsResponseStatus (\ s a -> s{_gttrsResponseStatus = a});++instance NFData GetTriggersResponse where
+ gen/Network/AWS/Glue/GetUserDefinedFunction.hs view
@@ -0,0 +1,160 @@+{-# 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.Glue.GetUserDefinedFunction+-- 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 specified function definition from the Data Catalog.+--+--+module Network.AWS.Glue.GetUserDefinedFunction+    (+    -- * Creating a Request+      getUserDefinedFunction+    , GetUserDefinedFunction+    -- * Request Lenses+    , getCatalogId+    , getDatabaseName+    , getFunctionName++    -- * Destructuring the Response+    , getUserDefinedFunctionResponse+    , GetUserDefinedFunctionResponse+    -- * Response Lenses+    , gudfursUserDefinedFunction+    , gudfursResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getUserDefinedFunction' smart constructor.+data GetUserDefinedFunction = GetUserDefinedFunction'+  { _getCatalogId    :: !(Maybe Text)+  , _getDatabaseName :: !Text+  , _getFunctionName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetUserDefinedFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getCatalogId' - The ID of the Data Catalog where the function to be retrieved is located. If none is supplied, the AWS account ID is used by default.+--+-- * 'getDatabaseName' - The name of the catalog database where the function is located.+--+-- * 'getFunctionName' - The name of the function.+getUserDefinedFunction+    :: Text -- ^ 'getDatabaseName'+    -> Text -- ^ 'getFunctionName'+    -> GetUserDefinedFunction+getUserDefinedFunction pDatabaseName_ pFunctionName_ =+  GetUserDefinedFunction'+  { _getCatalogId = Nothing+  , _getDatabaseName = pDatabaseName_+  , _getFunctionName = pFunctionName_+  }+++-- | The ID of the Data Catalog where the function to be retrieved is located. If none is supplied, the AWS account ID is used by default.+getCatalogId :: Lens' GetUserDefinedFunction (Maybe Text)+getCatalogId = lens _getCatalogId (\ s a -> s{_getCatalogId = a});++-- | The name of the catalog database where the function is located.+getDatabaseName :: Lens' GetUserDefinedFunction Text+getDatabaseName = lens _getDatabaseName (\ s a -> s{_getDatabaseName = a});++-- | The name of the function.+getFunctionName :: Lens' GetUserDefinedFunction Text+getFunctionName = lens _getFunctionName (\ s a -> s{_getFunctionName = a});++instance AWSRequest GetUserDefinedFunction where+        type Rs GetUserDefinedFunction =+             GetUserDefinedFunctionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetUserDefinedFunctionResponse' <$>+                   (x .?> "UserDefinedFunction") <*>+                     (pure (fromEnum s)))++instance Hashable GetUserDefinedFunction where++instance NFData GetUserDefinedFunction where++instance ToHeaders GetUserDefinedFunction where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetUserDefinedFunction" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetUserDefinedFunction where+        toJSON GetUserDefinedFunction'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _getCatalogId,+                  Just ("DatabaseName" .= _getDatabaseName),+                  Just ("FunctionName" .= _getFunctionName)])++instance ToPath GetUserDefinedFunction where+        toPath = const "/"++instance ToQuery GetUserDefinedFunction where+        toQuery = const mempty++-- | /See:/ 'getUserDefinedFunctionResponse' smart constructor.+data GetUserDefinedFunctionResponse = GetUserDefinedFunctionResponse'+  { _gudfursUserDefinedFunction :: !(Maybe UserDefinedFunction)+  , _gudfursResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetUserDefinedFunctionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gudfursUserDefinedFunction' - The requested function definition.+--+-- * 'gudfursResponseStatus' - -- | The response status code.+getUserDefinedFunctionResponse+    :: Int -- ^ 'gudfursResponseStatus'+    -> GetUserDefinedFunctionResponse+getUserDefinedFunctionResponse pResponseStatus_ =+  GetUserDefinedFunctionResponse'+  { _gudfursUserDefinedFunction = Nothing+  , _gudfursResponseStatus = pResponseStatus_+  }+++-- | The requested function definition.+gudfursUserDefinedFunction :: Lens' GetUserDefinedFunctionResponse (Maybe UserDefinedFunction)+gudfursUserDefinedFunction = lens _gudfursUserDefinedFunction (\ s a -> s{_gudfursUserDefinedFunction = a});++-- | -- | The response status code.+gudfursResponseStatus :: Lens' GetUserDefinedFunctionResponse Int+gudfursResponseStatus = lens _gudfursResponseStatus (\ s a -> s{_gudfursResponseStatus = a});++instance NFData GetUserDefinedFunctionResponse where
+ gen/Network/AWS/Glue/GetUserDefinedFunctions.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.Glue.GetUserDefinedFunctions+-- 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 multiple function definitions from the Data Catalog.+--+--+module Network.AWS.Glue.GetUserDefinedFunctions+    (+    -- * Creating a Request+      getUserDefinedFunctions+    , GetUserDefinedFunctions+    -- * Request Lenses+    , gudfCatalogId+    , gudfNextToken+    , gudfMaxResults+    , gudfDatabaseName+    , gudfPattern++    -- * Destructuring the Response+    , getUserDefinedFunctionsResponse+    , GetUserDefinedFunctionsResponse+    -- * Response Lenses+    , gudfrsNextToken+    , gudfrsUserDefinedFunctions+    , gudfrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getUserDefinedFunctions' smart constructor.+data GetUserDefinedFunctions = GetUserDefinedFunctions'+  { _gudfCatalogId    :: !(Maybe Text)+  , _gudfNextToken    :: !(Maybe Text)+  , _gudfMaxResults   :: !(Maybe Nat)+  , _gudfDatabaseName :: !Text+  , _gudfPattern      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetUserDefinedFunctions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gudfCatalogId' - The ID of the Data Catalog where the functions to be retrieved are located. If none is supplied, the AWS account ID is used by default.+--+-- * 'gudfNextToken' - A continuation token, if this is a continuation call.+--+-- * 'gudfMaxResults' - The maximum number of functions to return in one response.+--+-- * 'gudfDatabaseName' - The name of the catalog database where the functions are located.+--+-- * 'gudfPattern' - An optional function-name pattern string that filters the function definitions returned.+getUserDefinedFunctions+    :: Text -- ^ 'gudfDatabaseName'+    -> Text -- ^ 'gudfPattern'+    -> GetUserDefinedFunctions+getUserDefinedFunctions pDatabaseName_ pPattern_ =+  GetUserDefinedFunctions'+  { _gudfCatalogId = Nothing+  , _gudfNextToken = Nothing+  , _gudfMaxResults = Nothing+  , _gudfDatabaseName = pDatabaseName_+  , _gudfPattern = pPattern_+  }+++-- | The ID of the Data Catalog where the functions to be retrieved are located. If none is supplied, the AWS account ID is used by default.+gudfCatalogId :: Lens' GetUserDefinedFunctions (Maybe Text)+gudfCatalogId = lens _gudfCatalogId (\ s a -> s{_gudfCatalogId = a});++-- | A continuation token, if this is a continuation call.+gudfNextToken :: Lens' GetUserDefinedFunctions (Maybe Text)+gudfNextToken = lens _gudfNextToken (\ s a -> s{_gudfNextToken = a});++-- | The maximum number of functions to return in one response.+gudfMaxResults :: Lens' GetUserDefinedFunctions (Maybe Natural)+gudfMaxResults = lens _gudfMaxResults (\ s a -> s{_gudfMaxResults = a}) . mapping _Nat;++-- | The name of the catalog database where the functions are located.+gudfDatabaseName :: Lens' GetUserDefinedFunctions Text+gudfDatabaseName = lens _gudfDatabaseName (\ s a -> s{_gudfDatabaseName = a});++-- | An optional function-name pattern string that filters the function definitions returned.+gudfPattern :: Lens' GetUserDefinedFunctions Text+gudfPattern = lens _gudfPattern (\ s a -> s{_gudfPattern = a});++instance AWSRequest GetUserDefinedFunctions where+        type Rs GetUserDefinedFunctions =+             GetUserDefinedFunctionsResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetUserDefinedFunctionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "UserDefinedFunctions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable GetUserDefinedFunctions where++instance NFData GetUserDefinedFunctions where++instance ToHeaders GetUserDefinedFunctions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetUserDefinedFunctions" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetUserDefinedFunctions where+        toJSON GetUserDefinedFunctions'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _gudfCatalogId,+                  ("NextToken" .=) <$> _gudfNextToken,+                  ("MaxResults" .=) <$> _gudfMaxResults,+                  Just ("DatabaseName" .= _gudfDatabaseName),+                  Just ("Pattern" .= _gudfPattern)])++instance ToPath GetUserDefinedFunctions where+        toPath = const "/"++instance ToQuery GetUserDefinedFunctions where+        toQuery = const mempty++-- | /See:/ 'getUserDefinedFunctionsResponse' smart constructor.+data GetUserDefinedFunctionsResponse = GetUserDefinedFunctionsResponse'+  { _gudfrsNextToken            :: !(Maybe Text)+  , _gudfrsUserDefinedFunctions :: !(Maybe [UserDefinedFunction])+  , _gudfrsResponseStatus       :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetUserDefinedFunctionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gudfrsNextToken' - A continuation token, if the list of functions returned does not include the last requested function.+--+-- * 'gudfrsUserDefinedFunctions' - A list of requested function definitions.+--+-- * 'gudfrsResponseStatus' - -- | The response status code.+getUserDefinedFunctionsResponse+    :: Int -- ^ 'gudfrsResponseStatus'+    -> GetUserDefinedFunctionsResponse+getUserDefinedFunctionsResponse pResponseStatus_ =+  GetUserDefinedFunctionsResponse'+  { _gudfrsNextToken = Nothing+  , _gudfrsUserDefinedFunctions = Nothing+  , _gudfrsResponseStatus = pResponseStatus_+  }+++-- | A continuation token, if the list of functions returned does not include the last requested function.+gudfrsNextToken :: Lens' GetUserDefinedFunctionsResponse (Maybe Text)+gudfrsNextToken = lens _gudfrsNextToken (\ s a -> s{_gudfrsNextToken = a});++-- | A list of requested function definitions.+gudfrsUserDefinedFunctions :: Lens' GetUserDefinedFunctionsResponse [UserDefinedFunction]+gudfrsUserDefinedFunctions = lens _gudfrsUserDefinedFunctions (\ s a -> s{_gudfrsUserDefinedFunctions = a}) . _Default . _Coerce;++-- | -- | The response status code.+gudfrsResponseStatus :: Lens' GetUserDefinedFunctionsResponse Int+gudfrsResponseStatus = lens _gudfrsResponseStatus (\ s a -> s{_gudfrsResponseStatus = a});++instance NFData GetUserDefinedFunctionsResponse where
+ gen/Network/AWS/Glue/ImportCatalogToGlue.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.ImportCatalogToGlue+-- 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)+--+-- Imports an existing Athena Data Catalog to AWS Glue+--+--+module Network.AWS.Glue.ImportCatalogToGlue+    (+    -- * Creating a Request+      importCatalogToGlue+    , ImportCatalogToGlue+    -- * Request Lenses+    , ictgCatalogId++    -- * Destructuring the Response+    , importCatalogToGlueResponse+    , ImportCatalogToGlueResponse+    -- * Response Lenses+    , ictgrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'importCatalogToGlue' smart constructor.+newtype ImportCatalogToGlue = ImportCatalogToGlue'+  { _ictgCatalogId :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ImportCatalogToGlue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ictgCatalogId' - The ID of the catalog to import. Currently, this should be the AWS account ID.+importCatalogToGlue+    :: ImportCatalogToGlue+importCatalogToGlue = ImportCatalogToGlue' {_ictgCatalogId = Nothing}+++-- | The ID of the catalog to import. Currently, this should be the AWS account ID.+ictgCatalogId :: Lens' ImportCatalogToGlue (Maybe Text)+ictgCatalogId = lens _ictgCatalogId (\ s a -> s{_ictgCatalogId = a});++instance AWSRequest ImportCatalogToGlue where+        type Rs ImportCatalogToGlue =+             ImportCatalogToGlueResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 ImportCatalogToGlueResponse' <$> (pure (fromEnum s)))++instance Hashable ImportCatalogToGlue where++instance NFData ImportCatalogToGlue where++instance ToHeaders ImportCatalogToGlue where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.ImportCatalogToGlue" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ImportCatalogToGlue where+        toJSON ImportCatalogToGlue'{..}+          = object+              (catMaybes [("CatalogId" .=) <$> _ictgCatalogId])++instance ToPath ImportCatalogToGlue where+        toPath = const "/"++instance ToQuery ImportCatalogToGlue where+        toQuery = const mempty++-- | /See:/ 'importCatalogToGlueResponse' smart constructor.+newtype ImportCatalogToGlueResponse = ImportCatalogToGlueResponse'+  { _ictgrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ImportCatalogToGlueResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ictgrsResponseStatus' - -- | The response status code.+importCatalogToGlueResponse+    :: Int -- ^ 'ictgrsResponseStatus'+    -> ImportCatalogToGlueResponse+importCatalogToGlueResponse pResponseStatus_ =+  ImportCatalogToGlueResponse' {_ictgrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ictgrsResponseStatus :: Lens' ImportCatalogToGlueResponse Int+ictgrsResponseStatus = lens _ictgrsResponseStatus (\ s a -> s{_ictgrsResponseStatus = a});++instance NFData ImportCatalogToGlueResponse where
+ gen/Network/AWS/Glue/ResetJobBookmark.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.Glue.ResetJobBookmark+-- 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 bookmark entry.+--+--+module Network.AWS.Glue.ResetJobBookmark+    (+    -- * Creating a Request+      resetJobBookmark+    , ResetJobBookmark+    -- * Request Lenses+    , rjbJobName++    -- * Destructuring the Response+    , resetJobBookmarkResponse+    , ResetJobBookmarkResponse+    -- * Response Lenses+    , rjbrsJobBookmarkEntry+    , rjbrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'resetJobBookmark' smart constructor.+newtype ResetJobBookmark = ResetJobBookmark'+  { _rjbJobName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResetJobBookmark' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rjbJobName' - The name of the job in question.+resetJobBookmark+    :: Text -- ^ 'rjbJobName'+    -> ResetJobBookmark+resetJobBookmark pJobName_ = ResetJobBookmark' {_rjbJobName = pJobName_}+++-- | The name of the job in question.+rjbJobName :: Lens' ResetJobBookmark Text+rjbJobName = lens _rjbJobName (\ s a -> s{_rjbJobName = a});++instance AWSRequest ResetJobBookmark where+        type Rs ResetJobBookmark = ResetJobBookmarkResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 ResetJobBookmarkResponse' <$>+                   (x .?> "JobBookmarkEntry") <*> (pure (fromEnum s)))++instance Hashable ResetJobBookmark where++instance NFData ResetJobBookmark where++instance ToHeaders ResetJobBookmark where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.ResetJobBookmark" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ResetJobBookmark where+        toJSON ResetJobBookmark'{..}+          = object+              (catMaybes [Just ("JobName" .= _rjbJobName)])++instance ToPath ResetJobBookmark where+        toPath = const "/"++instance ToQuery ResetJobBookmark where+        toQuery = const mempty++-- | /See:/ 'resetJobBookmarkResponse' smart constructor.+data ResetJobBookmarkResponse = ResetJobBookmarkResponse'+  { _rjbrsJobBookmarkEntry :: !(Maybe JobBookmarkEntry)+  , _rjbrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResetJobBookmarkResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rjbrsJobBookmarkEntry' - The reset bookmark entry.+--+-- * 'rjbrsResponseStatus' - -- | The response status code.+resetJobBookmarkResponse+    :: Int -- ^ 'rjbrsResponseStatus'+    -> ResetJobBookmarkResponse+resetJobBookmarkResponse pResponseStatus_ =+  ResetJobBookmarkResponse'+  {_rjbrsJobBookmarkEntry = Nothing, _rjbrsResponseStatus = pResponseStatus_}+++-- | The reset bookmark entry.+rjbrsJobBookmarkEntry :: Lens' ResetJobBookmarkResponse (Maybe JobBookmarkEntry)+rjbrsJobBookmarkEntry = lens _rjbrsJobBookmarkEntry (\ s a -> s{_rjbrsJobBookmarkEntry = a});++-- | -- | The response status code.+rjbrsResponseStatus :: Lens' ResetJobBookmarkResponse Int+rjbrsResponseStatus = lens _rjbrsResponseStatus (\ s a -> s{_rjbrsResponseStatus = a});++instance NFData ResetJobBookmarkResponse where
+ gen/Network/AWS/Glue/StartCrawler.hs view
@@ -0,0 +1,120 @@+{-# 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.Glue.StartCrawler+-- 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)+--+-- Starts a crawl using the specified @Crawler@ , regardless of what is scheduled. If the @Crawler@ is already running, does nothing.+--+--+module Network.AWS.Glue.StartCrawler+    (+    -- * Creating a Request+      startCrawler+    , StartCrawler+    -- * Request Lenses+    , scName++    -- * Destructuring the Response+    , startCrawlerResponse+    , StartCrawlerResponse+    -- * Response Lenses+    , scrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'startCrawler' smart constructor.+newtype StartCrawler = StartCrawler'+  { _scName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartCrawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scName' - Name of the @Crawler@ to start.+startCrawler+    :: Text -- ^ 'scName'+    -> StartCrawler+startCrawler pName_ = StartCrawler' {_scName = pName_}+++-- | Name of the @Crawler@ to start.+scName :: Lens' StartCrawler Text+scName = lens _scName (\ s a -> s{_scName = a});++instance AWSRequest StartCrawler where+        type Rs StartCrawler = StartCrawlerResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 StartCrawlerResponse' <$> (pure (fromEnum s)))++instance Hashable StartCrawler where++instance NFData StartCrawler where++instance ToHeaders StartCrawler where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StartCrawler" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartCrawler where+        toJSON StartCrawler'{..}+          = object (catMaybes [Just ("Name" .= _scName)])++instance ToPath StartCrawler where+        toPath = const "/"++instance ToQuery StartCrawler where+        toQuery = const mempty++-- | /See:/ 'startCrawlerResponse' smart constructor.+newtype StartCrawlerResponse = StartCrawlerResponse'+  { _scrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartCrawlerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scrsResponseStatus' - -- | The response status code.+startCrawlerResponse+    :: Int -- ^ 'scrsResponseStatus'+    -> StartCrawlerResponse+startCrawlerResponse pResponseStatus_ =+  StartCrawlerResponse' {_scrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+scrsResponseStatus :: Lens' StartCrawlerResponse Int+scrsResponseStatus = lens _scrsResponseStatus (\ s a -> s{_scrsResponseStatus = a});++instance NFData StartCrawlerResponse where
+ gen/Network/AWS/Glue/StartCrawlerSchedule.hs view
@@ -0,0 +1,124 @@+{-# 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.Glue.StartCrawlerSchedule+-- 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)+--+-- Changes the schedule state of the specified crawler to @SCHEDULED@ , unless the crawler is already running or the schedule state is already @SCHEDULED@ .+--+--+module Network.AWS.Glue.StartCrawlerSchedule+    (+    -- * Creating a Request+      startCrawlerSchedule+    , StartCrawlerSchedule+    -- * Request Lenses+    , scsCrawlerName++    -- * Destructuring the Response+    , startCrawlerScheduleResponse+    , StartCrawlerScheduleResponse+    -- * Response Lenses+    , scsrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'startCrawlerSchedule' smart constructor.+newtype StartCrawlerSchedule = StartCrawlerSchedule'+  { _scsCrawlerName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartCrawlerSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scsCrawlerName' - Name of the crawler to schedule.+startCrawlerSchedule+    :: Text -- ^ 'scsCrawlerName'+    -> StartCrawlerSchedule+startCrawlerSchedule pCrawlerName_ =+  StartCrawlerSchedule' {_scsCrawlerName = pCrawlerName_}+++-- | Name of the crawler to schedule.+scsCrawlerName :: Lens' StartCrawlerSchedule Text+scsCrawlerName = lens _scsCrawlerName (\ s a -> s{_scsCrawlerName = a});++instance AWSRequest StartCrawlerSchedule where+        type Rs StartCrawlerSchedule =+             StartCrawlerScheduleResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 StartCrawlerScheduleResponse' <$>+                   (pure (fromEnum s)))++instance Hashable StartCrawlerSchedule where++instance NFData StartCrawlerSchedule where++instance ToHeaders StartCrawlerSchedule where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StartCrawlerSchedule" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartCrawlerSchedule where+        toJSON StartCrawlerSchedule'{..}+          = object+              (catMaybes [Just ("CrawlerName" .= _scsCrawlerName)])++instance ToPath StartCrawlerSchedule where+        toPath = const "/"++instance ToQuery StartCrawlerSchedule where+        toQuery = const mempty++-- | /See:/ 'startCrawlerScheduleResponse' smart constructor.+newtype StartCrawlerScheduleResponse = StartCrawlerScheduleResponse'+  { _scsrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartCrawlerScheduleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scsrsResponseStatus' - -- | The response status code.+startCrawlerScheduleResponse+    :: Int -- ^ 'scsrsResponseStatus'+    -> StartCrawlerScheduleResponse+startCrawlerScheduleResponse pResponseStatus_ =+  StartCrawlerScheduleResponse' {_scsrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+scsrsResponseStatus :: Lens' StartCrawlerScheduleResponse Int+scsrsResponseStatus = lens _scsrsResponseStatus (\ s a -> s{_scsrsResponseStatus = a});++instance NFData StartCrawlerScheduleResponse where
+ gen/Network/AWS/Glue/StartJobRun.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.Glue.StartJobRun+-- 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)+--+-- Runs a job.+--+--+module Network.AWS.Glue.StartJobRun+    (+    -- * Creating a Request+      startJobRun+    , StartJobRun+    -- * Request Lenses+    , sjrArguments+    , sjrAllocatedCapacity+    , sjrJobRunId+    , sjrJobName++    -- * Destructuring the Response+    , startJobRunResponse+    , StartJobRunResponse+    -- * Response Lenses+    , sjrrsJobRunId+    , sjrrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'startJobRun' smart constructor.+data StartJobRun = StartJobRun'+  { _sjrArguments         :: !(Maybe (Map Text Text))+  , _sjrAllocatedCapacity :: !(Maybe Int)+  , _sjrJobRunId          :: !(Maybe Text)+  , _sjrJobName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartJobRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sjrArguments' - Specific arguments for this job run.+--+-- * 'sjrAllocatedCapacity' - The infrastructure capacity to allocate to this job.+--+-- * 'sjrJobRunId' - The ID of the job run to start.+--+-- * 'sjrJobName' - The name of the job to start.+startJobRun+    :: Text -- ^ 'sjrJobName'+    -> StartJobRun+startJobRun pJobName_ =+  StartJobRun'+  { _sjrArguments = Nothing+  , _sjrAllocatedCapacity = Nothing+  , _sjrJobRunId = Nothing+  , _sjrJobName = pJobName_+  }+++-- | Specific arguments for this job run.+sjrArguments :: Lens' StartJobRun (HashMap Text Text)+sjrArguments = lens _sjrArguments (\ s a -> s{_sjrArguments = a}) . _Default . _Map;++-- | The infrastructure capacity to allocate to this job.+sjrAllocatedCapacity :: Lens' StartJobRun (Maybe Int)+sjrAllocatedCapacity = lens _sjrAllocatedCapacity (\ s a -> s{_sjrAllocatedCapacity = a});++-- | The ID of the job run to start.+sjrJobRunId :: Lens' StartJobRun (Maybe Text)+sjrJobRunId = lens _sjrJobRunId (\ s a -> s{_sjrJobRunId = a});++-- | The name of the job to start.+sjrJobName :: Lens' StartJobRun Text+sjrJobName = lens _sjrJobName (\ s a -> s{_sjrJobName = a});++instance AWSRequest StartJobRun where+        type Rs StartJobRun = StartJobRunResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 StartJobRunResponse' <$>+                   (x .?> "JobRunId") <*> (pure (fromEnum s)))++instance Hashable StartJobRun where++instance NFData StartJobRun where++instance ToHeaders StartJobRun where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StartJobRun" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartJobRun where+        toJSON StartJobRun'{..}+          = object+              (catMaybes+                 [("Arguments" .=) <$> _sjrArguments,+                  ("AllocatedCapacity" .=) <$> _sjrAllocatedCapacity,+                  ("JobRunId" .=) <$> _sjrJobRunId,+                  Just ("JobName" .= _sjrJobName)])++instance ToPath StartJobRun where+        toPath = const "/"++instance ToQuery StartJobRun where+        toQuery = const mempty++-- | /See:/ 'startJobRunResponse' smart constructor.+data StartJobRunResponse = StartJobRunResponse'+  { _sjrrsJobRunId       :: !(Maybe Text)+  , _sjrrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartJobRunResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sjrrsJobRunId' - The ID assigned to this job run.+--+-- * 'sjrrsResponseStatus' - -- | The response status code.+startJobRunResponse+    :: Int -- ^ 'sjrrsResponseStatus'+    -> StartJobRunResponse+startJobRunResponse pResponseStatus_ =+  StartJobRunResponse'+  {_sjrrsJobRunId = Nothing, _sjrrsResponseStatus = pResponseStatus_}+++-- | The ID assigned to this job run.+sjrrsJobRunId :: Lens' StartJobRunResponse (Maybe Text)+sjrrsJobRunId = lens _sjrrsJobRunId (\ s a -> s{_sjrrsJobRunId = a});++-- | -- | The response status code.+sjrrsResponseStatus :: Lens' StartJobRunResponse Int+sjrrsResponseStatus = lens _sjrrsResponseStatus (\ s a -> s{_sjrrsResponseStatus = a});++instance NFData StartJobRunResponse where
+ gen/Network/AWS/Glue/StartTrigger.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.StartTrigger+-- 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)+--+-- Starts an existing trigger.+--+--+module Network.AWS.Glue.StartTrigger+    (+    -- * Creating a Request+      startTrigger+    , StartTrigger+    -- * Request Lenses+    , staName++    -- * Destructuring the Response+    , startTriggerResponse+    , StartTriggerResponse+    -- * Response Lenses+    , starsName+    , starsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'startTrigger' smart constructor.+newtype StartTrigger = StartTrigger'+  { _staName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'staName' - The name of the trigger to start.+startTrigger+    :: Text -- ^ 'staName'+    -> StartTrigger+startTrigger pName_ = StartTrigger' {_staName = pName_}+++-- | The name of the trigger to start.+staName :: Lens' StartTrigger Text+staName = lens _staName (\ s a -> s{_staName = a});++instance AWSRequest StartTrigger where+        type Rs StartTrigger = StartTriggerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 StartTriggerResponse' <$>+                   (x .?> "Name") <*> (pure (fromEnum s)))++instance Hashable StartTrigger where++instance NFData StartTrigger where++instance ToHeaders StartTrigger where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StartTrigger" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartTrigger where+        toJSON StartTrigger'{..}+          = object (catMaybes [Just ("Name" .= _staName)])++instance ToPath StartTrigger where+        toPath = const "/"++instance ToQuery StartTrigger where+        toQuery = const mempty++-- | /See:/ 'startTriggerResponse' smart constructor.+data StartTriggerResponse = StartTriggerResponse'+  { _starsName           :: !(Maybe Text)+  , _starsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartTriggerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'starsName' - The name of the trigger that was started.+--+-- * 'starsResponseStatus' - -- | The response status code.+startTriggerResponse+    :: Int -- ^ 'starsResponseStatus'+    -> StartTriggerResponse+startTriggerResponse pResponseStatus_ =+  StartTriggerResponse'+  {_starsName = Nothing, _starsResponseStatus = pResponseStatus_}+++-- | The name of the trigger that was started.+starsName :: Lens' StartTriggerResponse (Maybe Text)+starsName = lens _starsName (\ s a -> s{_starsName = a});++-- | -- | The response status code.+starsResponseStatus :: Lens' StartTriggerResponse Int+starsResponseStatus = lens _starsResponseStatus (\ s a -> s{_starsResponseStatus = a});++instance NFData StartTriggerResponse where
+ gen/Network/AWS/Glue/StopCrawler.hs view
@@ -0,0 +1,120 @@+{-# 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.Glue.StopCrawler+-- 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)+--+-- If the specified @Crawler@ is running, stops the crawl.+--+--+module Network.AWS.Glue.StopCrawler+    (+    -- * Creating a Request+      stopCrawler+    , StopCrawler+    -- * Request Lenses+    , sName++    -- * Destructuring the Response+    , stopCrawlerResponse+    , StopCrawlerResponse+    -- * Response Lenses+    , srsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'stopCrawler' smart constructor.+newtype StopCrawler = StopCrawler'+  { _sName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopCrawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sName' - Name of the @Crawler@ to stop.+stopCrawler+    :: Text -- ^ 'sName'+    -> StopCrawler+stopCrawler pName_ = StopCrawler' {_sName = pName_}+++-- | Name of the @Crawler@ to stop.+sName :: Lens' StopCrawler Text+sName = lens _sName (\ s a -> s{_sName = a});++instance AWSRequest StopCrawler where+        type Rs StopCrawler = StopCrawlerResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 StopCrawlerResponse' <$> (pure (fromEnum s)))++instance Hashable StopCrawler where++instance NFData StopCrawler where++instance ToHeaders StopCrawler where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StopCrawler" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StopCrawler where+        toJSON StopCrawler'{..}+          = object (catMaybes [Just ("Name" .= _sName)])++instance ToPath StopCrawler where+        toPath = const "/"++instance ToQuery StopCrawler where+        toQuery = const mempty++-- | /See:/ 'stopCrawlerResponse' smart constructor.+newtype StopCrawlerResponse = StopCrawlerResponse'+  { _srsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopCrawlerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsResponseStatus' - -- | The response status code.+stopCrawlerResponse+    :: Int -- ^ 'srsResponseStatus'+    -> StopCrawlerResponse+stopCrawlerResponse pResponseStatus_ =+  StopCrawlerResponse' {_srsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+srsResponseStatus :: Lens' StopCrawlerResponse Int+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});++instance NFData StopCrawlerResponse where
+ gen/Network/AWS/Glue/StopCrawlerSchedule.hs view
@@ -0,0 +1,123 @@+{-# 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.Glue.StopCrawlerSchedule+-- 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)+--+-- Sets the schedule state of the specified crawler to @NOT_SCHEDULED@ , but does not stop the crawler if it is already running.+--+--+module Network.AWS.Glue.StopCrawlerSchedule+    (+    -- * Creating a Request+      stopCrawlerSchedule+    , StopCrawlerSchedule+    -- * Request Lenses+    , sCrawlerName++    -- * Destructuring the Response+    , stopCrawlerScheduleResponse+    , StopCrawlerScheduleResponse+    -- * Response Lenses+    , storsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'stopCrawlerSchedule' smart constructor.+newtype StopCrawlerSchedule = StopCrawlerSchedule'+  { _sCrawlerName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopCrawlerSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sCrawlerName' - Name of the crawler whose schedule state to set.+stopCrawlerSchedule+    :: Text -- ^ 'sCrawlerName'+    -> StopCrawlerSchedule+stopCrawlerSchedule pCrawlerName_ =+  StopCrawlerSchedule' {_sCrawlerName = pCrawlerName_}+++-- | Name of the crawler whose schedule state to set.+sCrawlerName :: Lens' StopCrawlerSchedule Text+sCrawlerName = lens _sCrawlerName (\ s a -> s{_sCrawlerName = a});++instance AWSRequest StopCrawlerSchedule where+        type Rs StopCrawlerSchedule =+             StopCrawlerScheduleResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 StopCrawlerScheduleResponse' <$> (pure (fromEnum s)))++instance Hashable StopCrawlerSchedule where++instance NFData StopCrawlerSchedule where++instance ToHeaders StopCrawlerSchedule where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StopCrawlerSchedule" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StopCrawlerSchedule where+        toJSON StopCrawlerSchedule'{..}+          = object+              (catMaybes [Just ("CrawlerName" .= _sCrawlerName)])++instance ToPath StopCrawlerSchedule where+        toPath = const "/"++instance ToQuery StopCrawlerSchedule where+        toQuery = const mempty++-- | /See:/ 'stopCrawlerScheduleResponse' smart constructor.+newtype StopCrawlerScheduleResponse = StopCrawlerScheduleResponse'+  { _storsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopCrawlerScheduleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'storsResponseStatus' - -- | The response status code.+stopCrawlerScheduleResponse+    :: Int -- ^ 'storsResponseStatus'+    -> StopCrawlerScheduleResponse+stopCrawlerScheduleResponse pResponseStatus_ =+  StopCrawlerScheduleResponse' {_storsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+storsResponseStatus :: Lens' StopCrawlerScheduleResponse Int+storsResponseStatus = lens _storsResponseStatus (\ s a -> s{_storsResponseStatus = a});++instance NFData StopCrawlerScheduleResponse where
+ gen/Network/AWS/Glue/StopTrigger.hs view
@@ -0,0 +1,130 @@+{-# 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.Glue.StopTrigger+-- 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)+--+-- Stops a specified trigger.+--+--+module Network.AWS.Glue.StopTrigger+    (+    -- * Creating a Request+      stopTrigger+    , StopTrigger+    -- * Request Lenses+    , stName++    -- * Destructuring the Response+    , stopTriggerResponse+    , StopTriggerResponse+    -- * Response Lenses+    , strsName+    , strsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'stopTrigger' smart constructor.+newtype StopTrigger = StopTrigger'+  { _stName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stName' - The name of the trigger to stop.+stopTrigger+    :: Text -- ^ 'stName'+    -> StopTrigger+stopTrigger pName_ = StopTrigger' {_stName = pName_}+++-- | The name of the trigger to stop.+stName :: Lens' StopTrigger Text+stName = lens _stName (\ s a -> s{_stName = a});++instance AWSRequest StopTrigger where+        type Rs StopTrigger = StopTriggerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 StopTriggerResponse' <$>+                   (x .?> "Name") <*> (pure (fromEnum s)))++instance Hashable StopTrigger where++instance NFData StopTrigger where++instance ToHeaders StopTrigger where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.StopTrigger" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StopTrigger where+        toJSON StopTrigger'{..}+          = object (catMaybes [Just ("Name" .= _stName)])++instance ToPath StopTrigger where+        toPath = const "/"++instance ToQuery StopTrigger where+        toQuery = const mempty++-- | /See:/ 'stopTriggerResponse' smart constructor.+data StopTriggerResponse = StopTriggerResponse'+  { _strsName           :: !(Maybe Text)+  , _strsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopTriggerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'strsName' - The name of the trigger that was stopped.+--+-- * 'strsResponseStatus' - -- | The response status code.+stopTriggerResponse+    :: Int -- ^ 'strsResponseStatus'+    -> StopTriggerResponse+stopTriggerResponse pResponseStatus_ =+  StopTriggerResponse'+  {_strsName = Nothing, _strsResponseStatus = pResponseStatus_}+++-- | The name of the trigger that was stopped.+strsName :: Lens' StopTriggerResponse (Maybe Text)+strsName = lens _strsName (\ s a -> s{_strsName = a});++-- | -- | The response status code.+strsResponseStatus :: Lens' StopTriggerResponse Int+strsResponseStatus = lens _strsResponseStatus (\ s a -> s{_strsResponseStatus = a});++instance NFData StopTriggerResponse where
+ gen/Network/AWS/Glue/Types.hs view
@@ -0,0 +1,789 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.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.Glue.Types+    (+    -- * Service Configuration+      glue++    -- * Errors+    , _ValidationException+    , _AccessDeniedException+    , _CrawlerRunningException+    , _SchedulerTransitioningException+    , _SchedulerRunningException+    , _ConcurrentRunsExceededException+    , _NoScheduleException+    , _OperationTimeoutException+    , _CrawlerNotRunningException+    , _VersionMismatchException+    , _EntityNotFoundException+    , _ConcurrentModificationException+    , _SchedulerNotRunningException+    , _InternalServiceException+    , _InvalidInputException+    , _ResourceNumberLimitExceededException+    , _IdempotentParameterMismatchException+    , _CrawlerStoppingException+    , _AlreadyExistsException++    -- * ConnectionPropertyKey+    , ConnectionPropertyKey (..)++    -- * ConnectionType+    , ConnectionType (..)++    -- * CrawlerState+    , CrawlerState (..)++    -- * DeleteBehavior+    , DeleteBehavior (..)++    -- * JobRunState+    , JobRunState (..)++    -- * LastCrawlStatus+    , LastCrawlStatus (..)++    -- * Logical+    , Logical (..)++    -- * LogicalOperator+    , LogicalOperator (..)++    -- * PrincipalType+    , PrincipalType (..)++    -- * ResourceType+    , ResourceType (..)++    -- * ScheduleState+    , ScheduleState (..)++    -- * TriggerState+    , TriggerState (..)++    -- * TriggerType+    , TriggerType (..)++    -- * UpdateBehavior+    , UpdateBehavior (..)++    -- * Action+    , Action+    , action+    , aArguments+    , aJobName++    -- * BatchStopJobRunError+    , BatchStopJobRunError+    , batchStopJobRunError+    , bsjreJobName+    , bsjreJobRunId+    , bsjreErrorDetail++    -- * BatchStopJobRunSuccessfulSubmission+    , BatchStopJobRunSuccessfulSubmission+    , batchStopJobRunSuccessfulSubmission+    , bsjrssJobName+    , bsjrssJobRunId++    -- * CatalogEntry+    , CatalogEntry+    , catalogEntry+    , ceDatabaseName+    , ceTableName++    -- * CatalogImportStatus+    , CatalogImportStatus+    , catalogImportStatus+    , cisImportedBy+    , cisImportTime+    , cisImportCompleted++    -- * Classifier+    , Classifier+    , classifier+    , cGrokClassifier++    -- * CodeGenEdge+    , CodeGenEdge+    , codeGenEdge+    , cgeTargetParameter+    , cgeSource+    , cgeTarget++    -- * CodeGenNode+    , CodeGenNode+    , codeGenNode+    , cgnLineNumber+    , cgnId+    , cgnNodeType+    , cgnArgs++    -- * CodeGenNodeArg+    , CodeGenNodeArg+    , codeGenNodeArg+    , cgnaParam+    , cgnaName+    , cgnaValue++    -- * Column+    , Column+    , column+    , cType+    , cComment+    , cName++    -- * Condition+    , Condition+    , condition+    , cState+    , cJobName+    , cLogicalOperator++    -- * Connection+    , Connection+    , connection+    , conCreationTime+    , conLastUpdatedBy+    , conConnectionProperties+    , conLastUpdatedTime+    , conMatchCriteria+    , conPhysicalConnectionRequirements+    , conName+    , conDescription+    , conConnectionType++    -- * ConnectionInput+    , ConnectionInput+    , connectionInput+    , ciConnectionProperties+    , ciMatchCriteria+    , ciPhysicalConnectionRequirements+    , ciName+    , ciDescription+    , ciConnectionType++    -- * ConnectionsList+    , ConnectionsList+    , connectionsList+    , clConnections++    -- * Crawler+    , Crawler+    , crawler+    , craCreationTime+    , craState+    , craSchemaChangePolicy+    , craLastUpdated+    , craSchedule+    , craLastCrawl+    , craCrawlElapsedTime+    , craClassifiers+    , craRole+    , craName+    , craTargets+    , craVersion+    , craDatabaseName+    , craTablePrefix+    , craDescription++    -- * CrawlerMetrics+    , CrawlerMetrics+    , crawlerMetrics+    , cmLastRuntimeSeconds+    , cmTablesCreated+    , cmStillEstimating+    , cmMedianRuntimeSeconds+    , cmTimeLeftSeconds+    , cmTablesDeleted+    , cmTablesUpdated+    , cmCrawlerName++    -- * CrawlerTargets+    , CrawlerTargets+    , crawlerTargets+    , ctS3Targets+    , ctJdbcTargets++    -- * CreateGrokClassifierRequest+    , CreateGrokClassifierRequest+    , createGrokClassifierRequest+    , cgcrCustomPatterns+    , cgcrClassification+    , cgcrName+    , cgcrGrokPattern++    -- * Database+    , Database+    , database+    , dLocationURI+    , dParameters+    , dDescription+    , dCreateTime+    , dName++    -- * DatabaseInput+    , DatabaseInput+    , databaseInput+    , diLocationURI+    , diParameters+    , diDescription+    , diName++    -- * DevEndpoint+    , DevEndpoint+    , devEndpoint+    , deStatus+    , deFailureReason+    , deEndpointName+    , deExtraPythonLibsS3Path+    , deLastUpdateStatus+    , deSecurityGroupIds+    , deLastModifiedTimestamp+    , deVPCId+    , dePublicKey+    , deSubnetId+    , deNumberOfNodes+    , dePublicAddress+    , deAvailabilityZone+    , deZeppelinRemoteSparkInterpreterPort+    , deExtraJARsS3Path+    , deCreatedTimestamp+    , deYarnEndpointAddress+    , deRoleARN++    -- * DevEndpointCustomLibraries+    , DevEndpointCustomLibraries+    , devEndpointCustomLibraries+    , declExtraPythonLibsS3Path+    , declExtraJARsS3Path++    -- * ErrorDetail+    , ErrorDetail+    , errorDetail+    , edErrorCode+    , edErrorMessage++    -- * ExecutionProperty+    , ExecutionProperty+    , executionProperty+    , epMaxConcurrentRuns++    -- * GetConnectionsFilter+    , GetConnectionsFilter+    , getConnectionsFilter+    , gcfMatchCriteria+    , gcfConnectionType++    -- * GrokClassifier+    , GrokClassifier+    , grokClassifier+    , gcCreationTime+    , gcLastUpdated+    , gcVersion+    , gcCustomPatterns+    , gcName+    , gcClassification+    , gcGrokPattern++    -- * JdbcTarget+    , JdbcTarget+    , jdbcTarget+    , jtPath+    , jtConnectionName+    , jtExclusions++    -- * Job+    , Job+    , job+    , jCommand+    , jLastModifiedOn+    , jConnections+    , jRole+    , jName+    , jLogURI+    , jMaxRetries+    , jExecutionProperty+    , jAllocatedCapacity+    , jDefaultArguments+    , jDescription+    , jCreatedOn++    -- * JobBookmarkEntry+    , JobBookmarkEntry+    , jobBookmarkEntry+    , jbeJobName+    , jbeRun+    , jbeVersion+    , jbeAttempt+    , jbeJobBookmark++    -- * JobCommand+    , JobCommand+    , jobCommand+    , jcScriptLocation+    , jcName++    -- * JobRun+    , JobRun+    , jobRun+    , jrCompletedOn+    , jrTriggerName+    , jrLastModifiedOn+    , jrArguments+    , jrJobName+    , jrStartedOn+    , jrJobRunState+    , jrPredecessorRuns+    , jrPreviousRunId+    , jrId+    , jrAttempt+    , jrAllocatedCapacity+    , jrErrorMessage++    -- * JobUpdate+    , JobUpdate+    , jobUpdate+    , juCommand+    , juConnections+    , juRole+    , juLogURI+    , juMaxRetries+    , juExecutionProperty+    , juAllocatedCapacity+    , juDefaultArguments+    , juDescription++    -- * LastCrawlInfo+    , LastCrawlInfo+    , lastCrawlInfo+    , lciStatus+    , lciStartTime+    , lciLogStream+    , lciLogGroup+    , lciMessagePrefix+    , lciErrorMessage++    -- * Location+    , Location+    , location+    , lJdbc+    , lS3++    -- * MappingEntry+    , MappingEntry+    , mappingEntry+    , meTargetTable+    , meSourceType+    , meSourceTable+    , meTargetType+    , meTargetPath+    , meSourcePath++    -- * Order+    , Order+    , order+    , oColumn+    , oSortOrder++    -- * Partition+    , Partition+    , partition+    , pCreationTime+    , pValues+    , pLastAnalyzedTime+    , pStorageDescriptor+    , pDatabaseName+    , pParameters+    , pLastAccessTime+    , pTableName++    -- * PartitionError+    , PartitionError+    , partitionError+    , pePartitionValues+    , peErrorDetail++    -- * PartitionInput+    , PartitionInput+    , partitionInput+    , piValues+    , piLastAnalyzedTime+    , piStorageDescriptor+    , piParameters+    , piLastAccessTime++    -- * PartitionValueList+    , PartitionValueList+    , partitionValueList+    , pvlValues++    -- * PhysicalConnectionRequirements+    , PhysicalConnectionRequirements+    , physicalConnectionRequirements+    , pcrSecurityGroupIdList+    , pcrSubnetId+    , pcrAvailabilityZone++    -- * Predecessor+    , Predecessor+    , predecessor+    , pJobName+    , pRunId++    -- * Predicate+    , Predicate+    , predicate+    , pLogical+    , pConditions++    -- * ResourceURI+    , ResourceURI+    , resourceURI+    , ruResourceType+    , ruURI++    -- * S3Target+    , S3Target+    , s3Target+    , stPath+    , stExclusions++    -- * Schedule+    , Schedule+    , schedule+    , sState+    , sScheduleExpression++    -- * SchemaChangePolicy+    , SchemaChangePolicy+    , schemaChangePolicy+    , scpDeleteBehavior+    , scpUpdateBehavior++    -- * Segment+    , Segment+    , segment+    , sSegmentNumber+    , sTotalSegments++    -- * SerDeInfo+    , SerDeInfo+    , serDeInfo+    , sdiSerializationLibrary+    , sdiName+    , sdiParameters++    -- * SkewedInfo+    , SkewedInfo+    , skewedInfo+    , siSkewedColumnValueLocationMaps+    , siSkewedColumnValues+    , siSkewedColumnNames++    -- * StorageDescriptor+    , StorageDescriptor+    , storageDescriptor+    , sdSortColumns+    , sdCompressed+    , sdLocation+    , sdBucketColumns+    , sdSerdeInfo+    , sdOutputFormat+    , sdNumberOfBuckets+    , sdStoredAsSubDirectories+    , sdParameters+    , sdInputFormat+    , sdSkewedInfo+    , sdColumns++    -- * Table+    , Table+    , table+    , tRetention+    , tCreatedBy+    , tTableType+    , tOwner+    , tViewOriginalText+    , tUpdateTime+    , tViewExpandedText+    , tLastAnalyzedTime+    , tStorageDescriptor+    , tDatabaseName+    , tParameters+    , tLastAccessTime+    , tDescription+    , tPartitionKeys+    , tCreateTime+    , tName++    -- * TableError+    , TableError+    , tableError+    , teTableName+    , teErrorDetail++    -- * TableInput+    , TableInput+    , tableInput+    , tiRetention+    , tiTableType+    , tiOwner+    , tiViewOriginalText+    , tiViewExpandedText+    , tiLastAnalyzedTime+    , tiStorageDescriptor+    , tiParameters+    , tiLastAccessTime+    , tiDescription+    , tiPartitionKeys+    , tiName++    -- * TableVersion+    , TableVersion+    , tableVersion+    , tvVersionId+    , tvTable++    -- * Trigger+    , Trigger+    , trigger+    , triState+    , triActions+    , triSchedule+    , triPredicate+    , triName+    , triId+    , triType+    , triDescription++    -- * TriggerUpdate+    , TriggerUpdate+    , triggerUpdate+    , tuActions+    , tuSchedule+    , tuPredicate+    , tuName+    , tuDescription++    -- * UpdateGrokClassifierRequest+    , UpdateGrokClassifierRequest+    , updateGrokClassifierRequest+    , ugcrClassification+    , ugcrCustomPatterns+    , ugcrGrokPattern+    , ugcrName++    -- * UserDefinedFunction+    , UserDefinedFunction+    , userDefinedFunction+    , udfOwnerName+    , udfResourceURIs+    , udfFunctionName+    , udfOwnerType+    , udfCreateTime+    , udfClassName++    -- * UserDefinedFunctionInput+    , UserDefinedFunctionInput+    , userDefinedFunctionInput+    , udfiOwnerName+    , udfiResourceURIs+    , udfiFunctionName+    , udfiOwnerType+    , udfiClassName+    ) where++import Network.AWS.Glue.Types.Product+import Network.AWS.Glue.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | API version @2017-03-31@ of the Amazon Glue SDK configuration.+glue :: Service+glue =+  Service+  { _svcAbbrev = "Glue"+  , _svcSigner = v4+  , _svcPrefix = "glue"+  , _svcVersion = "2017-03-31"+  , _svcEndpoint = defaultEndpoint glue+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseJSONError "Glue"+  , _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+++-- | A value could not be validated.+--+--+_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError+_ValidationException = _MatchServiceError glue "ValidationException"+++-- | Access to a resource was denied.+--+--+_AccessDeniedException :: AsError a => Getting (First ServiceError) a ServiceError+_AccessDeniedException = _MatchServiceError glue "AccessDeniedException"+++-- | The operation cannot be performed because the crawler is already running.+--+--+_CrawlerRunningException :: AsError a => Getting (First ServiceError) a ServiceError+_CrawlerRunningException = _MatchServiceError glue "CrawlerRunningException"+++-- | The specified scheduler is transitioning.+--+--+_SchedulerTransitioningException :: AsError a => Getting (First ServiceError) a ServiceError+_SchedulerTransitioningException =+  _MatchServiceError glue "SchedulerTransitioningException"+++-- | The specified scheduler is already running.+--+--+_SchedulerRunningException :: AsError a => Getting (First ServiceError) a ServiceError+_SchedulerRunningException = _MatchServiceError glue "SchedulerRunningException"+++-- | Too many jobs are being run concurrently.+--+--+_ConcurrentRunsExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_ConcurrentRunsExceededException =+  _MatchServiceError glue "ConcurrentRunsExceededException"+++-- | There is no applicable schedule.+--+--+_NoScheduleException :: AsError a => Getting (First ServiceError) a ServiceError+_NoScheduleException = _MatchServiceError glue "NoScheduleException"+++-- | The operation timed out.+--+--+_OperationTimeoutException :: AsError a => Getting (First ServiceError) a ServiceError+_OperationTimeoutException = _MatchServiceError glue "OperationTimeoutException"+++-- | The specified crawler is not running.+--+--+_CrawlerNotRunningException :: AsError a => Getting (First ServiceError) a ServiceError+_CrawlerNotRunningException =+  _MatchServiceError glue "CrawlerNotRunningException"+++-- | There was a version conflict.+--+--+_VersionMismatchException :: AsError a => Getting (First ServiceError) a ServiceError+_VersionMismatchException = _MatchServiceError glue "VersionMismatchException"+++-- | A specified entity does not exist+--+--+_EntityNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_EntityNotFoundException = _MatchServiceError glue "EntityNotFoundException"+++-- | Two processes are trying to modify a resource simultaneously.+--+--+_ConcurrentModificationException :: AsError a => Getting (First ServiceError) a ServiceError+_ConcurrentModificationException =+  _MatchServiceError glue "ConcurrentModificationException"+++-- | The specified scheduler is not running.+--+--+_SchedulerNotRunningException :: AsError a => Getting (First ServiceError) a ServiceError+_SchedulerNotRunningException =+  _MatchServiceError glue "SchedulerNotRunningException"+++-- | An internal service error occurred.+--+--+_InternalServiceException :: AsError a => Getting (First ServiceError) a ServiceError+_InternalServiceException = _MatchServiceError glue "InternalServiceException"+++-- | The input provided was not valid.+--+--+_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidInputException = _MatchServiceError glue "InvalidInputException"+++-- | A resource numerical limit was exceeded.+--+--+_ResourceNumberLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceNumberLimitExceededException =+  _MatchServiceError glue "ResourceNumberLimitExceededException"+++-- | The same unique identifier was associated with two different records.+--+--+_IdempotentParameterMismatchException :: AsError a => Getting (First ServiceError) a ServiceError+_IdempotentParameterMismatchException =+  _MatchServiceError glue "IdempotentParameterMismatchException"+++-- | The specified crawler is stopping.+--+--+_CrawlerStoppingException :: AsError a => Getting (First ServiceError) a ServiceError+_CrawlerStoppingException = _MatchServiceError glue "CrawlerStoppingException"+++-- | A resource to be created or added already exists.+--+--+_AlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_AlreadyExistsException = _MatchServiceError glue "AlreadyExistsException"+
+ gen/Network/AWS/Glue/Types/Product.hs view
@@ -0,0 +1,4398 @@+{-# 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.Glue.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.Glue.Types.Product where++import Network.AWS.Glue.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Defines an action to be initiated by a trigger.+--+--+--+-- /See:/ 'action' smart constructor.+data Action = Action'+  { _aArguments :: !(Maybe (Map Text Text))+  , _aJobName   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Action' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aArguments' - Arguments to be passed to the job.+--+-- * 'aJobName' - The name of a job to be executed.+action+    :: Action+action = Action' {_aArguments = Nothing, _aJobName = Nothing}+++-- | Arguments to be passed to the job.+aArguments :: Lens' Action (HashMap Text Text)+aArguments = lens _aArguments (\ s a -> s{_aArguments = a}) . _Default . _Map;++-- | The name of a job to be executed.+aJobName :: Lens' Action (Maybe Text)+aJobName = lens _aJobName (\ s a -> s{_aJobName = a});++instance FromJSON Action where+        parseJSON+          = withObject "Action"+              (\ x ->+                 Action' <$>+                   (x .:? "Arguments" .!= mempty) <*> (x .:? "JobName"))++instance Hashable Action where++instance NFData Action where++instance ToJSON Action where+        toJSON Action'{..}+          = object+              (catMaybes+                 [("Arguments" .=) <$> _aArguments,+                  ("JobName" .=) <$> _aJobName])++-- | Details about the job run and the error that occurred while trying to submit it for stopping.+--+--+--+-- /See:/ 'batchStopJobRunError' smart constructor.+data BatchStopJobRunError = BatchStopJobRunError'+  { _bsjreJobName     :: !(Maybe Text)+  , _bsjreJobRunId    :: !(Maybe Text)+  , _bsjreErrorDetail :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchStopJobRunError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsjreJobName' - The name of the job.+--+-- * 'bsjreJobRunId' - The job run Id.+--+-- * 'bsjreErrorDetail' - The details of the error that occurred.+batchStopJobRunError+    :: BatchStopJobRunError+batchStopJobRunError =+  BatchStopJobRunError'+  { _bsjreJobName = Nothing+  , _bsjreJobRunId = Nothing+  , _bsjreErrorDetail = Nothing+  }+++-- | The name of the job.+bsjreJobName :: Lens' BatchStopJobRunError (Maybe Text)+bsjreJobName = lens _bsjreJobName (\ s a -> s{_bsjreJobName = a});++-- | The job run Id.+bsjreJobRunId :: Lens' BatchStopJobRunError (Maybe Text)+bsjreJobRunId = lens _bsjreJobRunId (\ s a -> s{_bsjreJobRunId = a});++-- | The details of the error that occurred.+bsjreErrorDetail :: Lens' BatchStopJobRunError (Maybe ErrorDetail)+bsjreErrorDetail = lens _bsjreErrorDetail (\ s a -> s{_bsjreErrorDetail = a});++instance FromJSON BatchStopJobRunError where+        parseJSON+          = withObject "BatchStopJobRunError"+              (\ x ->+                 BatchStopJobRunError' <$>+                   (x .:? "JobName") <*> (x .:? "JobRunId") <*>+                     (x .:? "ErrorDetail"))++instance Hashable BatchStopJobRunError where++instance NFData BatchStopJobRunError where++-- | Details about the job run which is submitted successfully for stopping.+--+--+--+-- /See:/ 'batchStopJobRunSuccessfulSubmission' smart constructor.+data BatchStopJobRunSuccessfulSubmission = BatchStopJobRunSuccessfulSubmission'+  { _bsjrssJobName  :: !(Maybe Text)+  , _bsjrssJobRunId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchStopJobRunSuccessfulSubmission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsjrssJobName' - The name of the job.+--+-- * 'bsjrssJobRunId' - The job run Id.+batchStopJobRunSuccessfulSubmission+    :: BatchStopJobRunSuccessfulSubmission+batchStopJobRunSuccessfulSubmission =+  BatchStopJobRunSuccessfulSubmission'+  {_bsjrssJobName = Nothing, _bsjrssJobRunId = Nothing}+++-- | The name of the job.+bsjrssJobName :: Lens' BatchStopJobRunSuccessfulSubmission (Maybe Text)+bsjrssJobName = lens _bsjrssJobName (\ s a -> s{_bsjrssJobName = a});++-- | The job run Id.+bsjrssJobRunId :: Lens' BatchStopJobRunSuccessfulSubmission (Maybe Text)+bsjrssJobRunId = lens _bsjrssJobRunId (\ s a -> s{_bsjrssJobRunId = a});++instance FromJSON BatchStopJobRunSuccessfulSubmission+         where+        parseJSON+          = withObject "BatchStopJobRunSuccessfulSubmission"+              (\ x ->+                 BatchStopJobRunSuccessfulSubmission' <$>+                   (x .:? "JobName") <*> (x .:? "JobRunId"))++instance Hashable BatchStopJobRunSuccessfulSubmission+         where++instance NFData BatchStopJobRunSuccessfulSubmission+         where++-- | Specifies a table definition in the Data Catalog.+--+--+--+-- /See:/ 'catalogEntry' smart constructor.+data CatalogEntry = CatalogEntry'+  { _ceDatabaseName :: !Text+  , _ceTableName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CatalogEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ceDatabaseName' - The database in which the table metadata resides.+--+-- * 'ceTableName' - The name of the table in question.+catalogEntry+    :: Text -- ^ 'ceDatabaseName'+    -> Text -- ^ 'ceTableName'+    -> CatalogEntry+catalogEntry pDatabaseName_ pTableName_ =+  CatalogEntry' {_ceDatabaseName = pDatabaseName_, _ceTableName = pTableName_}+++-- | The database in which the table metadata resides.+ceDatabaseName :: Lens' CatalogEntry Text+ceDatabaseName = lens _ceDatabaseName (\ s a -> s{_ceDatabaseName = a});++-- | The name of the table in question.+ceTableName :: Lens' CatalogEntry Text+ceTableName = lens _ceTableName (\ s a -> s{_ceTableName = a});++instance Hashable CatalogEntry where++instance NFData CatalogEntry where++instance ToJSON CatalogEntry where+        toJSON CatalogEntry'{..}+          = object+              (catMaybes+                 [Just ("DatabaseName" .= _ceDatabaseName),+                  Just ("TableName" .= _ceTableName)])++-- | A structure containing migration status information.+--+--+--+-- /See:/ 'catalogImportStatus' smart constructor.+data CatalogImportStatus = CatalogImportStatus'+  { _cisImportedBy      :: !(Maybe Text)+  , _cisImportTime      :: !(Maybe POSIX)+  , _cisImportCompleted :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CatalogImportStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cisImportedBy' - The name of the person who initiated the migration.+--+-- * 'cisImportTime' - The time that the migration was started.+--+-- * 'cisImportCompleted' - True if the migration has completed, or False otherwise.+catalogImportStatus+    :: CatalogImportStatus+catalogImportStatus =+  CatalogImportStatus'+  { _cisImportedBy = Nothing+  , _cisImportTime = Nothing+  , _cisImportCompleted = Nothing+  }+++-- | The name of the person who initiated the migration.+cisImportedBy :: Lens' CatalogImportStatus (Maybe Text)+cisImportedBy = lens _cisImportedBy (\ s a -> s{_cisImportedBy = a});++-- | The time that the migration was started.+cisImportTime :: Lens' CatalogImportStatus (Maybe UTCTime)+cisImportTime = lens _cisImportTime (\ s a -> s{_cisImportTime = a}) . mapping _Time;++-- | True if the migration has completed, or False otherwise.+cisImportCompleted :: Lens' CatalogImportStatus (Maybe Bool)+cisImportCompleted = lens _cisImportCompleted (\ s a -> s{_cisImportCompleted = a});++instance FromJSON CatalogImportStatus where+        parseJSON+          = withObject "CatalogImportStatus"+              (\ x ->+                 CatalogImportStatus' <$>+                   (x .:? "ImportedBy") <*> (x .:? "ImportTime") <*>+                     (x .:? "ImportCompleted"))++instance Hashable CatalogImportStatus where++instance NFData CatalogImportStatus where++-- | Classifiers are written in Python and triggered during a Crawl Task. You can write your own Classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A Classifier first checks whether a given file is in a format it can handle, and then, if so, creates a schema in the form of a @StructType@ object that matches that data format.+--+--+--+-- /See:/ 'classifier' smart constructor.+newtype Classifier = Classifier'+  { _cGrokClassifier :: Maybe GrokClassifier+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Classifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cGrokClassifier' - A GrokClassifier object.+classifier+    :: Classifier+classifier = Classifier' {_cGrokClassifier = Nothing}+++-- | A GrokClassifier object.+cGrokClassifier :: Lens' Classifier (Maybe GrokClassifier)+cGrokClassifier = lens _cGrokClassifier (\ s a -> s{_cGrokClassifier = a});++instance FromJSON Classifier where+        parseJSON+          = withObject "Classifier"+              (\ x -> Classifier' <$> (x .:? "GrokClassifier"))++instance Hashable Classifier where++instance NFData Classifier where++-- | Represents a directional edge in a directed acyclic graph (DAG).+--+--+--+-- /See:/ 'codeGenEdge' smart constructor.+data CodeGenEdge = CodeGenEdge'+  { _cgeTargetParameter :: !(Maybe Text)+  , _cgeSource          :: !Text+  , _cgeTarget          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CodeGenEdge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgeTargetParameter' - The target of the edge.+--+-- * 'cgeSource' - The ID of the node at which the edge starts.+--+-- * 'cgeTarget' - The ID of the node at which the edge ends.+codeGenEdge+    :: Text -- ^ 'cgeSource'+    -> Text -- ^ 'cgeTarget'+    -> CodeGenEdge+codeGenEdge pSource_ pTarget_ =+  CodeGenEdge'+  {_cgeTargetParameter = Nothing, _cgeSource = pSource_, _cgeTarget = pTarget_}+++-- | The target of the edge.+cgeTargetParameter :: Lens' CodeGenEdge (Maybe Text)+cgeTargetParameter = lens _cgeTargetParameter (\ s a -> s{_cgeTargetParameter = a});++-- | The ID of the node at which the edge starts.+cgeSource :: Lens' CodeGenEdge Text+cgeSource = lens _cgeSource (\ s a -> s{_cgeSource = a});++-- | The ID of the node at which the edge ends.+cgeTarget :: Lens' CodeGenEdge Text+cgeTarget = lens _cgeTarget (\ s a -> s{_cgeTarget = a});++instance FromJSON CodeGenEdge where+        parseJSON+          = withObject "CodeGenEdge"+              (\ x ->+                 CodeGenEdge' <$>+                   (x .:? "TargetParameter") <*> (x .: "Source") <*>+                     (x .: "Target"))++instance Hashable CodeGenEdge where++instance NFData CodeGenEdge where++instance ToJSON CodeGenEdge where+        toJSON CodeGenEdge'{..}+          = object+              (catMaybes+                 [("TargetParameter" .=) <$> _cgeTargetParameter,+                  Just ("Source" .= _cgeSource),+                  Just ("Target" .= _cgeTarget)])++-- | Represents a node in a directed acyclic graph (DAG)+--+--+--+-- /See:/ 'codeGenNode' smart constructor.+data CodeGenNode = CodeGenNode'+  { _cgnLineNumber :: !(Maybe Int)+  , _cgnId         :: !Text+  , _cgnNodeType   :: !Text+  , _cgnArgs       :: ![CodeGenNodeArg]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CodeGenNode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgnLineNumber' - The line number of the node.+--+-- * 'cgnId' - A node identifier that is unique within the node's graph.+--+-- * 'cgnNodeType' - The type of node this is.+--+-- * 'cgnArgs' - Properties of the node, in the form of name-value pairs.+codeGenNode+    :: Text -- ^ 'cgnId'+    -> Text -- ^ 'cgnNodeType'+    -> CodeGenNode+codeGenNode pId_ pNodeType_ =+  CodeGenNode'+  { _cgnLineNumber = Nothing+  , _cgnId = pId_+  , _cgnNodeType = pNodeType_+  , _cgnArgs = mempty+  }+++-- | The line number of the node.+cgnLineNumber :: Lens' CodeGenNode (Maybe Int)+cgnLineNumber = lens _cgnLineNumber (\ s a -> s{_cgnLineNumber = a});++-- | A node identifier that is unique within the node's graph.+cgnId :: Lens' CodeGenNode Text+cgnId = lens _cgnId (\ s a -> s{_cgnId = a});++-- | The type of node this is.+cgnNodeType :: Lens' CodeGenNode Text+cgnNodeType = lens _cgnNodeType (\ s a -> s{_cgnNodeType = a});++-- | Properties of the node, in the form of name-value pairs.+cgnArgs :: Lens' CodeGenNode [CodeGenNodeArg]+cgnArgs = lens _cgnArgs (\ s a -> s{_cgnArgs = a}) . _Coerce;++instance FromJSON CodeGenNode where+        parseJSON+          = withObject "CodeGenNode"+              (\ x ->+                 CodeGenNode' <$>+                   (x .:? "LineNumber") <*> (x .: "Id") <*>+                     (x .: "NodeType")+                     <*> (x .:? "Args" .!= mempty))++instance Hashable CodeGenNode where++instance NFData CodeGenNode where++instance ToJSON CodeGenNode where+        toJSON CodeGenNode'{..}+          = object+              (catMaybes+                 [("LineNumber" .=) <$> _cgnLineNumber,+                  Just ("Id" .= _cgnId),+                  Just ("NodeType" .= _cgnNodeType),+                  Just ("Args" .= _cgnArgs)])++-- | An argument or property of a node.+--+--+--+-- /See:/ 'codeGenNodeArg' smart constructor.+data CodeGenNodeArg = CodeGenNodeArg'+  { _cgnaParam :: !(Maybe Bool)+  , _cgnaName  :: !Text+  , _cgnaValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CodeGenNodeArg' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgnaParam' - True if the value is used as a parameter.+--+-- * 'cgnaName' - The name of the argument or property.+--+-- * 'cgnaValue' - The value of the argument or property.+codeGenNodeArg+    :: Text -- ^ 'cgnaName'+    -> Text -- ^ 'cgnaValue'+    -> CodeGenNodeArg+codeGenNodeArg pName_ pValue_ =+  CodeGenNodeArg'+  {_cgnaParam = Nothing, _cgnaName = pName_, _cgnaValue = pValue_}+++-- | True if the value is used as a parameter.+cgnaParam :: Lens' CodeGenNodeArg (Maybe Bool)+cgnaParam = lens _cgnaParam (\ s a -> s{_cgnaParam = a});++-- | The name of the argument or property.+cgnaName :: Lens' CodeGenNodeArg Text+cgnaName = lens _cgnaName (\ s a -> s{_cgnaName = a});++-- | The value of the argument or property.+cgnaValue :: Lens' CodeGenNodeArg Text+cgnaValue = lens _cgnaValue (\ s a -> s{_cgnaValue = a});++instance FromJSON CodeGenNodeArg where+        parseJSON+          = withObject "CodeGenNodeArg"+              (\ x ->+                 CodeGenNodeArg' <$>+                   (x .:? "Param") <*> (x .: "Name") <*> (x .: "Value"))++instance Hashable CodeGenNodeArg where++instance NFData CodeGenNodeArg where++instance ToJSON CodeGenNodeArg where+        toJSON CodeGenNodeArg'{..}+          = object+              (catMaybes+                 [("Param" .=) <$> _cgnaParam,+                  Just ("Name" .= _cgnaName),+                  Just ("Value" .= _cgnaValue)])++-- | A column in a @Table@ .+--+--+--+-- /See:/ 'column' smart constructor.+data Column = Column'+  { _cType    :: !(Maybe Text)+  , _cComment :: !(Maybe Text)+  , _cName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Column' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cType' - The datatype of data in the @Column@ .+--+-- * 'cComment' - Free-form text comment.+--+-- * 'cName' - The name of the @Column@ .+column+    :: Text -- ^ 'cName'+    -> Column+column pName_ = Column' {_cType = Nothing, _cComment = Nothing, _cName = pName_}+++-- | The datatype of data in the @Column@ .+cType :: Lens' Column (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a});++-- | Free-form text comment.+cComment :: Lens' Column (Maybe Text)+cComment = lens _cComment (\ s a -> s{_cComment = a});++-- | The name of the @Column@ .+cName :: Lens' Column Text+cName = lens _cName (\ s a -> s{_cName = a});++instance FromJSON Column where+        parseJSON+          = withObject "Column"+              (\ x ->+                 Column' <$>+                   (x .:? "Type") <*> (x .:? "Comment") <*>+                     (x .: "Name"))++instance Hashable Column where++instance NFData Column where++instance ToJSON Column where+        toJSON Column'{..}+          = object+              (catMaybes+                 [("Type" .=) <$> _cType,+                  ("Comment" .=) <$> _cComment,+                  Just ("Name" .= _cName)])++-- | Defines a condition under which a trigger fires.+--+--+--+-- /See:/ 'condition' smart constructor.+data Condition = Condition'+  { _cState           :: !(Maybe JobRunState)+  , _cJobName         :: !(Maybe Text)+  , _cLogicalOperator :: !(Maybe LogicalOperator)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Condition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cState' - The condition state.+--+-- * 'cJobName' - The name of the job in question.+--+-- * 'cLogicalOperator' - A logical operator.+condition+    :: Condition+condition =+  Condition'+  {_cState = Nothing, _cJobName = Nothing, _cLogicalOperator = Nothing}+++-- | The condition state.+cState :: Lens' Condition (Maybe JobRunState)+cState = lens _cState (\ s a -> s{_cState = a});++-- | The name of the job in question.+cJobName :: Lens' Condition (Maybe Text)+cJobName = lens _cJobName (\ s a -> s{_cJobName = a});++-- | A logical operator.+cLogicalOperator :: Lens' Condition (Maybe LogicalOperator)+cLogicalOperator = lens _cLogicalOperator (\ s a -> s{_cLogicalOperator = a});++instance FromJSON Condition where+        parseJSON+          = withObject "Condition"+              (\ x ->+                 Condition' <$>+                   (x .:? "State") <*> (x .:? "JobName") <*>+                     (x .:? "LogicalOperator"))++instance Hashable Condition where++instance NFData Condition where++instance ToJSON Condition where+        toJSON Condition'{..}+          = object+              (catMaybes+                 [("State" .=) <$> _cState,+                  ("JobName" .=) <$> _cJobName,+                  ("LogicalOperator" .=) <$> _cLogicalOperator])++-- | Defines a connection to a data source.+--+--+--+-- /See:/ 'connection' smart constructor.+data Connection = Connection'+  { _conCreationTime :: !(Maybe POSIX)+  , _conLastUpdatedBy :: !(Maybe Text)+  , _conConnectionProperties :: !(Maybe (Map ConnectionPropertyKey Text))+  , _conLastUpdatedTime :: !(Maybe POSIX)+  , _conMatchCriteria :: !(Maybe [Text])+  , _conPhysicalConnectionRequirements :: !(Maybe PhysicalConnectionRequirements)+  , _conName :: !(Maybe Text)+  , _conDescription :: !(Maybe Text)+  , _conConnectionType :: !(Maybe ConnectionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Connection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'conCreationTime' - The time this connection definition was created.+--+-- * 'conLastUpdatedBy' - The user, group or role that last updated this connection definition.+--+-- * 'conConnectionProperties' - A list of key-value pairs used as parameters for this connection.+--+-- * 'conLastUpdatedTime' - The last time this connection definition was updated.+--+-- * 'conMatchCriteria' - A list of criteria that can be used in selecting this connection.+--+-- * 'conPhysicalConnectionRequirements' - A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+--+-- * 'conName' - The name of the connection definition.+--+-- * 'conDescription' - Description of the connection.+--+-- * 'conConnectionType' - The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+connection+    :: Connection+connection =+  Connection'+  { _conCreationTime = Nothing+  , _conLastUpdatedBy = Nothing+  , _conConnectionProperties = Nothing+  , _conLastUpdatedTime = Nothing+  , _conMatchCriteria = Nothing+  , _conPhysicalConnectionRequirements = Nothing+  , _conName = Nothing+  , _conDescription = Nothing+  , _conConnectionType = Nothing+  }+++-- | The time this connection definition was created.+conCreationTime :: Lens' Connection (Maybe UTCTime)+conCreationTime = lens _conCreationTime (\ s a -> s{_conCreationTime = a}) . mapping _Time;++-- | The user, group or role that last updated this connection definition.+conLastUpdatedBy :: Lens' Connection (Maybe Text)+conLastUpdatedBy = lens _conLastUpdatedBy (\ s a -> s{_conLastUpdatedBy = a});++-- | A list of key-value pairs used as parameters for this connection.+conConnectionProperties :: Lens' Connection (HashMap ConnectionPropertyKey Text)+conConnectionProperties = lens _conConnectionProperties (\ s a -> s{_conConnectionProperties = a}) . _Default . _Map;++-- | The last time this connection definition was updated.+conLastUpdatedTime :: Lens' Connection (Maybe UTCTime)+conLastUpdatedTime = lens _conLastUpdatedTime (\ s a -> s{_conLastUpdatedTime = a}) . mapping _Time;++-- | A list of criteria that can be used in selecting this connection.+conMatchCriteria :: Lens' Connection [Text]+conMatchCriteria = lens _conMatchCriteria (\ s a -> s{_conMatchCriteria = a}) . _Default . _Coerce;++-- | A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+conPhysicalConnectionRequirements :: Lens' Connection (Maybe PhysicalConnectionRequirements)+conPhysicalConnectionRequirements = lens _conPhysicalConnectionRequirements (\ s a -> s{_conPhysicalConnectionRequirements = a});++-- | The name of the connection definition.+conName :: Lens' Connection (Maybe Text)+conName = lens _conName (\ s a -> s{_conName = a});++-- | Description of the connection.+conDescription :: Lens' Connection (Maybe Text)+conDescription = lens _conDescription (\ s a -> s{_conDescription = a});++-- | The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+conConnectionType :: Lens' Connection (Maybe ConnectionType)+conConnectionType = lens _conConnectionType (\ s a -> s{_conConnectionType = a});++instance FromJSON Connection where+        parseJSON+          = withObject "Connection"+              (\ x ->+                 Connection' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdatedBy")+                     <*> (x .:? "ConnectionProperties" .!= mempty)+                     <*> (x .:? "LastUpdatedTime")+                     <*> (x .:? "MatchCriteria" .!= mempty)+                     <*> (x .:? "PhysicalConnectionRequirements")+                     <*> (x .:? "Name")+                     <*> (x .:? "Description")+                     <*> (x .:? "ConnectionType"))++instance Hashable Connection where++instance NFData Connection where++-- | A structure used to specify a connection to create or update.+--+--+--+-- /See:/ 'connectionInput' smart constructor.+data ConnectionInput = ConnectionInput'+  { _ciConnectionProperties :: !(Maybe (Map ConnectionPropertyKey Text))+  , _ciMatchCriteria :: !(Maybe [Text])+  , _ciPhysicalConnectionRequirements :: !(Maybe PhysicalConnectionRequirements)+  , _ciName :: !(Maybe Text)+  , _ciDescription :: !(Maybe Text)+  , _ciConnectionType :: !(Maybe ConnectionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ConnectionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciConnectionProperties' - A list of key-value pairs used as parameters for this connection.+--+-- * 'ciMatchCriteria' - A list of criteria that can be used in selecting this connection.+--+-- * 'ciPhysicalConnectionRequirements' - A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+--+-- * 'ciName' - The name of the connection.+--+-- * 'ciDescription' - Description of the connection.+--+-- * 'ciConnectionType' - The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+connectionInput+    :: ConnectionInput+connectionInput =+  ConnectionInput'+  { _ciConnectionProperties = Nothing+  , _ciMatchCriteria = Nothing+  , _ciPhysicalConnectionRequirements = Nothing+  , _ciName = Nothing+  , _ciDescription = Nothing+  , _ciConnectionType = Nothing+  }+++-- | A list of key-value pairs used as parameters for this connection.+ciConnectionProperties :: Lens' ConnectionInput (HashMap ConnectionPropertyKey Text)+ciConnectionProperties = lens _ciConnectionProperties (\ s a -> s{_ciConnectionProperties = a}) . _Default . _Map;++-- | A list of criteria that can be used in selecting this connection.+ciMatchCriteria :: Lens' ConnectionInput [Text]+ciMatchCriteria = lens _ciMatchCriteria (\ s a -> s{_ciMatchCriteria = a}) . _Default . _Coerce;++-- | A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+ciPhysicalConnectionRequirements :: Lens' ConnectionInput (Maybe PhysicalConnectionRequirements)+ciPhysicalConnectionRequirements = lens _ciPhysicalConnectionRequirements (\ s a -> s{_ciPhysicalConnectionRequirements = a});++-- | The name of the connection.+ciName :: Lens' ConnectionInput (Maybe Text)+ciName = lens _ciName (\ s a -> s{_ciName = a});++-- | Description of the connection.+ciDescription :: Lens' ConnectionInput (Maybe Text)+ciDescription = lens _ciDescription (\ s a -> s{_ciDescription = a});++-- | The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+ciConnectionType :: Lens' ConnectionInput (Maybe ConnectionType)+ciConnectionType = lens _ciConnectionType (\ s a -> s{_ciConnectionType = a});++instance Hashable ConnectionInput where++instance NFData ConnectionInput where++instance ToJSON ConnectionInput where+        toJSON ConnectionInput'{..}+          = object+              (catMaybes+                 [("ConnectionProperties" .=) <$>+                    _ciConnectionProperties,+                  ("MatchCriteria" .=) <$> _ciMatchCriteria,+                  ("PhysicalConnectionRequirements" .=) <$>+                    _ciPhysicalConnectionRequirements,+                  ("Name" .=) <$> _ciName,+                  ("Description" .=) <$> _ciDescription,+                  ("ConnectionType" .=) <$> _ciConnectionType])++-- | Specifies the connections used by a job.+--+--+--+-- /See:/ 'connectionsList' smart constructor.+newtype ConnectionsList = ConnectionsList'+  { _clConnections :: Maybe [Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ConnectionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clConnections' - A list of connections used by the job.+connectionsList+    :: ConnectionsList+connectionsList = ConnectionsList' {_clConnections = Nothing}+++-- | A list of connections used by the job.+clConnections :: Lens' ConnectionsList [Text]+clConnections = lens _clConnections (\ s a -> s{_clConnections = a}) . _Default . _Coerce;++instance FromJSON ConnectionsList where+        parseJSON+          = withObject "ConnectionsList"+              (\ x ->+                 ConnectionsList' <$>+                   (x .:? "Connections" .!= mempty))++instance Hashable ConnectionsList where++instance NFData ConnectionsList where++instance ToJSON ConnectionsList where+        toJSON ConnectionsList'{..}+          = object+              (catMaybes [("Connections" .=) <$> _clConnections])++-- | Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metatdata concerning the data source in the Data Catalog.+--+--+--+-- /See:/ 'crawler' smart constructor.+data Crawler = Crawler'+  { _craCreationTime       :: !(Maybe POSIX)+  , _craState              :: !(Maybe CrawlerState)+  , _craSchemaChangePolicy :: !(Maybe SchemaChangePolicy)+  , _craLastUpdated        :: !(Maybe POSIX)+  , _craSchedule           :: !(Maybe Schedule)+  , _craLastCrawl          :: !(Maybe LastCrawlInfo)+  , _craCrawlElapsedTime   :: !(Maybe Integer)+  , _craClassifiers        :: !(Maybe [Text])+  , _craRole               :: !(Maybe Text)+  , _craName               :: !(Maybe Text)+  , _craTargets            :: !(Maybe CrawlerTargets)+  , _craVersion            :: !(Maybe Integer)+  , _craDatabaseName       :: !(Maybe Text)+  , _craTablePrefix        :: !(Maybe Text)+  , _craDescription        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Crawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'craCreationTime' - The time when the Crawler was created.+--+-- * 'craState' - Indicates whether this Crawler is running, or whether a run is pending.+--+-- * 'craSchemaChangePolicy' - Sets policy for the crawler's update and delete behavior.+--+-- * 'craLastUpdated' - The time the Crawler was last updated.+--+-- * 'craSchedule' - A @Schedule@ object that specifies the schedule on which this Crawler is to be run.+--+-- * 'craLastCrawl' - The status of the last crawl, and potentially error information if an error occurred.+--+-- * 'craCrawlElapsedTime' - If this Crawler is running, contains the total time elapsed since the last crawl began.+--+-- * 'craClassifiers' - A list of custom @Classifier@ s associated with this Crawler.+--+-- * 'craRole' - The IAM role (or ARN of an IAM role) used to access customer resources such as data in S3.+--+-- * 'craName' - The @Crawler@ name.+--+-- * 'craTargets' - A collection of targets to crawl.+--+-- * 'craVersion' - The version of the Crawler.+--+-- * 'craDatabaseName' - The @Database@ where this Crawler's output should be stored.+--+-- * 'craTablePrefix' - The table prefix used for catalog tables created.+--+-- * 'craDescription' - A description of this Crawler and where it should be used.+crawler+    :: Crawler+crawler =+  Crawler'+  { _craCreationTime = Nothing+  , _craState = Nothing+  , _craSchemaChangePolicy = Nothing+  , _craLastUpdated = Nothing+  , _craSchedule = Nothing+  , _craLastCrawl = Nothing+  , _craCrawlElapsedTime = Nothing+  , _craClassifiers = Nothing+  , _craRole = Nothing+  , _craName = Nothing+  , _craTargets = Nothing+  , _craVersion = Nothing+  , _craDatabaseName = Nothing+  , _craTablePrefix = Nothing+  , _craDescription = Nothing+  }+++-- | The time when the Crawler was created.+craCreationTime :: Lens' Crawler (Maybe UTCTime)+craCreationTime = lens _craCreationTime (\ s a -> s{_craCreationTime = a}) . mapping _Time;++-- | Indicates whether this Crawler is running, or whether a run is pending.+craState :: Lens' Crawler (Maybe CrawlerState)+craState = lens _craState (\ s a -> s{_craState = a});++-- | Sets policy for the crawler's update and delete behavior.+craSchemaChangePolicy :: Lens' Crawler (Maybe SchemaChangePolicy)+craSchemaChangePolicy = lens _craSchemaChangePolicy (\ s a -> s{_craSchemaChangePolicy = a});++-- | The time the Crawler was last updated.+craLastUpdated :: Lens' Crawler (Maybe UTCTime)+craLastUpdated = lens _craLastUpdated (\ s a -> s{_craLastUpdated = a}) . mapping _Time;++-- | A @Schedule@ object that specifies the schedule on which this Crawler is to be run.+craSchedule :: Lens' Crawler (Maybe Schedule)+craSchedule = lens _craSchedule (\ s a -> s{_craSchedule = a});++-- | The status of the last crawl, and potentially error information if an error occurred.+craLastCrawl :: Lens' Crawler (Maybe LastCrawlInfo)+craLastCrawl = lens _craLastCrawl (\ s a -> s{_craLastCrawl = a});++-- | If this Crawler is running, contains the total time elapsed since the last crawl began.+craCrawlElapsedTime :: Lens' Crawler (Maybe Integer)+craCrawlElapsedTime = lens _craCrawlElapsedTime (\ s a -> s{_craCrawlElapsedTime = a});++-- | A list of custom @Classifier@ s associated with this Crawler.+craClassifiers :: Lens' Crawler [Text]+craClassifiers = lens _craClassifiers (\ s a -> s{_craClassifiers = a}) . _Default . _Coerce;++-- | The IAM role (or ARN of an IAM role) used to access customer resources such as data in S3.+craRole :: Lens' Crawler (Maybe Text)+craRole = lens _craRole (\ s a -> s{_craRole = a});++-- | The @Crawler@ name.+craName :: Lens' Crawler (Maybe Text)+craName = lens _craName (\ s a -> s{_craName = a});++-- | A collection of targets to crawl.+craTargets :: Lens' Crawler (Maybe CrawlerTargets)+craTargets = lens _craTargets (\ s a -> s{_craTargets = a});++-- | The version of the Crawler.+craVersion :: Lens' Crawler (Maybe Integer)+craVersion = lens _craVersion (\ s a -> s{_craVersion = a});++-- | The @Database@ where this Crawler's output should be stored.+craDatabaseName :: Lens' Crawler (Maybe Text)+craDatabaseName = lens _craDatabaseName (\ s a -> s{_craDatabaseName = a});++-- | The table prefix used for catalog tables created.+craTablePrefix :: Lens' Crawler (Maybe Text)+craTablePrefix = lens _craTablePrefix (\ s a -> s{_craTablePrefix = a});++-- | A description of this Crawler and where it should be used.+craDescription :: Lens' Crawler (Maybe Text)+craDescription = lens _craDescription (\ s a -> s{_craDescription = a});++instance FromJSON Crawler where+        parseJSON+          = withObject "Crawler"+              (\ x ->+                 Crawler' <$>+                   (x .:? "CreationTime") <*> (x .:? "State") <*>+                     (x .:? "SchemaChangePolicy")+                     <*> (x .:? "LastUpdated")+                     <*> (x .:? "Schedule")+                     <*> (x .:? "LastCrawl")+                     <*> (x .:? "CrawlElapsedTime")+                     <*> (x .:? "Classifiers" .!= mempty)+                     <*> (x .:? "Role")+                     <*> (x .:? "Name")+                     <*> (x .:? "Targets")+                     <*> (x .:? "Version")+                     <*> (x .:? "DatabaseName")+                     <*> (x .:? "TablePrefix")+                     <*> (x .:? "Description"))++instance Hashable Crawler where++instance NFData Crawler where++-- | Metrics for a specified crawler.+--+--+--+-- /See:/ 'crawlerMetrics' smart constructor.+data CrawlerMetrics = CrawlerMetrics'+  { _cmLastRuntimeSeconds   :: !(Maybe Double)+  , _cmTablesCreated        :: !(Maybe Nat)+  , _cmStillEstimating      :: !(Maybe Bool)+  , _cmMedianRuntimeSeconds :: !(Maybe Double)+  , _cmTimeLeftSeconds      :: !(Maybe Double)+  , _cmTablesDeleted        :: !(Maybe Nat)+  , _cmTablesUpdated        :: !(Maybe Nat)+  , _cmCrawlerName          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CrawlerMetrics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmLastRuntimeSeconds' - The duration of the crawler's most recent run, in seconds.+--+-- * 'cmTablesCreated' - A list of the tables created by this crawler.+--+-- * 'cmStillEstimating' - True if the crawler is estimating its+--+-- * 'cmMedianRuntimeSeconds' - The median duration of this crawler's runs, in seconds.+--+-- * 'cmTimeLeftSeconds' - The estimated time left to complete a running crawl.+--+-- * 'cmTablesDeleted' - A list of the tables deleted by this crawler.+--+-- * 'cmTablesUpdated' - A list of the tables created by this crawler.+--+-- * 'cmCrawlerName' - The name of the crawler.+crawlerMetrics+    :: CrawlerMetrics+crawlerMetrics =+  CrawlerMetrics'+  { _cmLastRuntimeSeconds = Nothing+  , _cmTablesCreated = Nothing+  , _cmStillEstimating = Nothing+  , _cmMedianRuntimeSeconds = Nothing+  , _cmTimeLeftSeconds = Nothing+  , _cmTablesDeleted = Nothing+  , _cmTablesUpdated = Nothing+  , _cmCrawlerName = Nothing+  }+++-- | The duration of the crawler's most recent run, in seconds.+cmLastRuntimeSeconds :: Lens' CrawlerMetrics (Maybe Double)+cmLastRuntimeSeconds = lens _cmLastRuntimeSeconds (\ s a -> s{_cmLastRuntimeSeconds = a});++-- | A list of the tables created by this crawler.+cmTablesCreated :: Lens' CrawlerMetrics (Maybe Natural)+cmTablesCreated = lens _cmTablesCreated (\ s a -> s{_cmTablesCreated = a}) . mapping _Nat;++-- | True if the crawler is estimating its+cmStillEstimating :: Lens' CrawlerMetrics (Maybe Bool)+cmStillEstimating = lens _cmStillEstimating (\ s a -> s{_cmStillEstimating = a});++-- | The median duration of this crawler's runs, in seconds.+cmMedianRuntimeSeconds :: Lens' CrawlerMetrics (Maybe Double)+cmMedianRuntimeSeconds = lens _cmMedianRuntimeSeconds (\ s a -> s{_cmMedianRuntimeSeconds = a});++-- | The estimated time left to complete a running crawl.+cmTimeLeftSeconds :: Lens' CrawlerMetrics (Maybe Double)+cmTimeLeftSeconds = lens _cmTimeLeftSeconds (\ s a -> s{_cmTimeLeftSeconds = a});++-- | A list of the tables deleted by this crawler.+cmTablesDeleted :: Lens' CrawlerMetrics (Maybe Natural)+cmTablesDeleted = lens _cmTablesDeleted (\ s a -> s{_cmTablesDeleted = a}) . mapping _Nat;++-- | A list of the tables created by this crawler.+cmTablesUpdated :: Lens' CrawlerMetrics (Maybe Natural)+cmTablesUpdated = lens _cmTablesUpdated (\ s a -> s{_cmTablesUpdated = a}) . mapping _Nat;++-- | The name of the crawler.+cmCrawlerName :: Lens' CrawlerMetrics (Maybe Text)+cmCrawlerName = lens _cmCrawlerName (\ s a -> s{_cmCrawlerName = a});++instance FromJSON CrawlerMetrics where+        parseJSON+          = withObject "CrawlerMetrics"+              (\ x ->+                 CrawlerMetrics' <$>+                   (x .:? "LastRuntimeSeconds") <*>+                     (x .:? "TablesCreated")+                     <*> (x .:? "StillEstimating")+                     <*> (x .:? "MedianRuntimeSeconds")+                     <*> (x .:? "TimeLeftSeconds")+                     <*> (x .:? "TablesDeleted")+                     <*> (x .:? "TablesUpdated")+                     <*> (x .:? "CrawlerName"))++instance Hashable CrawlerMetrics where++instance NFData CrawlerMetrics where++-- | Specifies crawler targets.+--+--+--+-- /See:/ 'crawlerTargets' smart constructor.+data CrawlerTargets = CrawlerTargets'+  { _ctS3Targets   :: !(Maybe [S3Target])+  , _ctJdbcTargets :: !(Maybe [JdbcTarget])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CrawlerTargets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctS3Targets' - Specifies targets in AWS S3.+--+-- * 'ctJdbcTargets' - Specifies JDBC targets.+crawlerTargets+    :: CrawlerTargets+crawlerTargets =+  CrawlerTargets' {_ctS3Targets = Nothing, _ctJdbcTargets = Nothing}+++-- | Specifies targets in AWS S3.+ctS3Targets :: Lens' CrawlerTargets [S3Target]+ctS3Targets = lens _ctS3Targets (\ s a -> s{_ctS3Targets = a}) . _Default . _Coerce;++-- | Specifies JDBC targets.+ctJdbcTargets :: Lens' CrawlerTargets [JdbcTarget]+ctJdbcTargets = lens _ctJdbcTargets (\ s a -> s{_ctJdbcTargets = a}) . _Default . _Coerce;++instance FromJSON CrawlerTargets where+        parseJSON+          = withObject "CrawlerTargets"+              (\ x ->+                 CrawlerTargets' <$>+                   (x .:? "S3Targets" .!= mempty) <*>+                     (x .:? "JdbcTargets" .!= mempty))++instance Hashable CrawlerTargets where++instance NFData CrawlerTargets where++instance ToJSON CrawlerTargets where+        toJSON CrawlerTargets'{..}+          = object+              (catMaybes+                 [("S3Targets" .=) <$> _ctS3Targets,+                  ("JdbcTargets" .=) <$> _ctJdbcTargets])++-- | Specifies a Grok classifier for CreateClassifier to create.+--+--+--+-- /See:/ 'createGrokClassifierRequest' smart constructor.+data CreateGrokClassifierRequest = CreateGrokClassifierRequest'+  { _cgcrCustomPatterns :: !(Maybe Text)+  , _cgcrClassification :: !Text+  , _cgcrName           :: !Text+  , _cgcrGrokPattern    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGrokClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgcrCustomPatterns' - Custom grok patterns used by this classifier.+--+-- * 'cgcrClassification' - The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.+--+-- * 'cgcrName' - The name of the new Classifier.+--+-- * 'cgcrGrokPattern' - The grok pattern used by this classifier.+createGrokClassifierRequest+    :: Text -- ^ 'cgcrClassification'+    -> Text -- ^ 'cgcrName'+    -> Text -- ^ 'cgcrGrokPattern'+    -> CreateGrokClassifierRequest+createGrokClassifierRequest pClassification_ pName_ pGrokPattern_ =+  CreateGrokClassifierRequest'+  { _cgcrCustomPatterns = Nothing+  , _cgcrClassification = pClassification_+  , _cgcrName = pName_+  , _cgcrGrokPattern = pGrokPattern_+  }+++-- | Custom grok patterns used by this classifier.+cgcrCustomPatterns :: Lens' CreateGrokClassifierRequest (Maybe Text)+cgcrCustomPatterns = lens _cgcrCustomPatterns (\ s a -> s{_cgcrCustomPatterns = a});++-- | The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.+cgcrClassification :: Lens' CreateGrokClassifierRequest Text+cgcrClassification = lens _cgcrClassification (\ s a -> s{_cgcrClassification = a});++-- | The name of the new Classifier.+cgcrName :: Lens' CreateGrokClassifierRequest Text+cgcrName = lens _cgcrName (\ s a -> s{_cgcrName = a});++-- | The grok pattern used by this classifier.+cgcrGrokPattern :: Lens' CreateGrokClassifierRequest Text+cgcrGrokPattern = lens _cgcrGrokPattern (\ s a -> s{_cgcrGrokPattern = a});++instance Hashable CreateGrokClassifierRequest where++instance NFData CreateGrokClassifierRequest where++instance ToJSON CreateGrokClassifierRequest where+        toJSON CreateGrokClassifierRequest'{..}+          = object+              (catMaybes+                 [("CustomPatterns" .=) <$> _cgcrCustomPatterns,+                  Just ("Classification" .= _cgcrClassification),+                  Just ("Name" .= _cgcrName),+                  Just ("GrokPattern" .= _cgcrGrokPattern)])++-- | The @Database@ object represents a logical grouping of tables that may reside in a Hive metastore or an RDBMS.+--+--+--+-- /See:/ 'database' smart constructor.+data Database = Database'+  { _dLocationURI :: !(Maybe Text)+  , _dParameters  :: !(Maybe (Map Text Text))+  , _dDescription :: !(Maybe Text)+  , _dCreateTime  :: !(Maybe POSIX)+  , _dName        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Database' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dLocationURI' - The location of the database (for example, an HDFS path).+--+-- * 'dParameters' - A list of key-value pairs that define parameters and properties of the database.+--+-- * 'dDescription' - Description of the database.+--+-- * 'dCreateTime' - The time at which the metadata database was created in the catalog.+--+-- * 'dName' - Name of the database.+database+    :: Text -- ^ 'dName'+    -> Database+database pName_ =+  Database'+  { _dLocationURI = Nothing+  , _dParameters = Nothing+  , _dDescription = Nothing+  , _dCreateTime = Nothing+  , _dName = pName_+  }+++-- | The location of the database (for example, an HDFS path).+dLocationURI :: Lens' Database (Maybe Text)+dLocationURI = lens _dLocationURI (\ s a -> s{_dLocationURI = a});++-- | A list of key-value pairs that define parameters and properties of the database.+dParameters :: Lens' Database (HashMap Text Text)+dParameters = lens _dParameters (\ s a -> s{_dParameters = a}) . _Default . _Map;++-- | Description of the database.+dDescription :: Lens' Database (Maybe Text)+dDescription = lens _dDescription (\ s a -> s{_dDescription = a});++-- | The time at which the metadata database was created in the catalog.+dCreateTime :: Lens' Database (Maybe UTCTime)+dCreateTime = lens _dCreateTime (\ s a -> s{_dCreateTime = a}) . mapping _Time;++-- | Name of the database.+dName :: Lens' Database Text+dName = lens _dName (\ s a -> s{_dName = a});++instance FromJSON Database where+        parseJSON+          = withObject "Database"+              (\ x ->+                 Database' <$>+                   (x .:? "LocationUri") <*>+                     (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "Description")+                     <*> (x .:? "CreateTime")+                     <*> (x .: "Name"))++instance Hashable Database where++instance NFData Database where++-- | The structure used to create or updata a database.+--+--+--+-- /See:/ 'databaseInput' smart constructor.+data DatabaseInput = DatabaseInput'+  { _diLocationURI :: !(Maybe Text)+  , _diParameters  :: !(Maybe (Map Text Text))+  , _diDescription :: !(Maybe Text)+  , _diName        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatabaseInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diLocationURI' - The location of the database (for example, an HDFS path).+--+-- * 'diParameters' - A list of key-value pairs that define parameters and properties of the database.+--+-- * 'diDescription' - Description of the database+--+-- * 'diName' - Name of the database.+databaseInput+    :: Text -- ^ 'diName'+    -> DatabaseInput+databaseInput pName_ =+  DatabaseInput'+  { _diLocationURI = Nothing+  , _diParameters = Nothing+  , _diDescription = Nothing+  , _diName = pName_+  }+++-- | The location of the database (for example, an HDFS path).+diLocationURI :: Lens' DatabaseInput (Maybe Text)+diLocationURI = lens _diLocationURI (\ s a -> s{_diLocationURI = a});++-- | A list of key-value pairs that define parameters and properties of the database.+diParameters :: Lens' DatabaseInput (HashMap Text Text)+diParameters = lens _diParameters (\ s a -> s{_diParameters = a}) . _Default . _Map;++-- | Description of the database+diDescription :: Lens' DatabaseInput (Maybe Text)+diDescription = lens _diDescription (\ s a -> s{_diDescription = a});++-- | Name of the database.+diName :: Lens' DatabaseInput Text+diName = lens _diName (\ s a -> s{_diName = a});++instance Hashable DatabaseInput where++instance NFData DatabaseInput where++instance ToJSON DatabaseInput where+        toJSON DatabaseInput'{..}+          = object+              (catMaybes+                 [("LocationUri" .=) <$> _diLocationURI,+                  ("Parameters" .=) <$> _diParameters,+                  ("Description" .=) <$> _diDescription,+                  Just ("Name" .= _diName)])++-- | A development endpoint where a developer can remotely debug ETL scripts.+--+--+--+-- /See:/ 'devEndpoint' smart constructor.+data DevEndpoint = DevEndpoint'+  { _deStatus                             :: !(Maybe Text)+  , _deFailureReason                      :: !(Maybe Text)+  , _deEndpointName                       :: !(Maybe Text)+  , _deExtraPythonLibsS3Path              :: !(Maybe Text)+  , _deLastUpdateStatus                   :: !(Maybe Text)+  , _deSecurityGroupIds                   :: !(Maybe [Text])+  , _deLastModifiedTimestamp              :: !(Maybe POSIX)+  , _deVPCId                              :: !(Maybe Text)+  , _dePublicKey                          :: !(Maybe Text)+  , _deSubnetId                           :: !(Maybe Text)+  , _deNumberOfNodes                      :: !(Maybe Int)+  , _dePublicAddress                      :: !(Maybe Text)+  , _deAvailabilityZone                   :: !(Maybe Text)+  , _deZeppelinRemoteSparkInterpreterPort :: !(Maybe Int)+  , _deExtraJARsS3Path                    :: !(Maybe Text)+  , _deCreatedTimestamp                   :: !(Maybe POSIX)+  , _deYarnEndpointAddress                :: !(Maybe Text)+  , _deRoleARN                            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DevEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deStatus' - The current status of this DevEndpoint.+--+-- * 'deFailureReason' - The reason for a current failure in this DevEndpoint.+--+-- * 'deEndpointName' - The name of the DevEndpoint.+--+-- * 'deExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+--+-- * 'deLastUpdateStatus' - The status of the last update.+--+-- * 'deSecurityGroupIds' - A list of security group identifiers used in this DevEndpoint.+--+-- * 'deLastModifiedTimestamp' - The point in time at which this DevEndpoint was last modified.+--+-- * 'deVPCId' - The ID of the virtual private cloud (VPC) used by this DevEndpoint.+--+-- * 'dePublicKey' - The public key to be used by this DevEndpoint for authentication.+--+-- * 'deSubnetId' - The subnet ID for this DevEndpoint.+--+-- * 'deNumberOfNodes' - The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.+--+-- * 'dePublicAddress' - The public address used by this DevEndpoint.+--+-- * 'deAvailabilityZone' - The AWS availability zone where this DevEndpoint is located.+--+-- * 'deZeppelinRemoteSparkInterpreterPort' - The Apache Zeppelin port for the remote Apache Spark interpreter.+--+-- * 'deExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+--+-- * 'deCreatedTimestamp' - The point in time at which this DevEndpoint was created.+--+-- * 'deYarnEndpointAddress' - The YARN endpoint address used by this DevEndpoint.+--+-- * 'deRoleARN' - The AWS ARN of the IAM role used in this DevEndpoint.+devEndpoint+    :: DevEndpoint+devEndpoint =+  DevEndpoint'+  { _deStatus = Nothing+  , _deFailureReason = Nothing+  , _deEndpointName = Nothing+  , _deExtraPythonLibsS3Path = Nothing+  , _deLastUpdateStatus = Nothing+  , _deSecurityGroupIds = Nothing+  , _deLastModifiedTimestamp = Nothing+  , _deVPCId = Nothing+  , _dePublicKey = Nothing+  , _deSubnetId = Nothing+  , _deNumberOfNodes = Nothing+  , _dePublicAddress = Nothing+  , _deAvailabilityZone = Nothing+  , _deZeppelinRemoteSparkInterpreterPort = Nothing+  , _deExtraJARsS3Path = Nothing+  , _deCreatedTimestamp = Nothing+  , _deYarnEndpointAddress = Nothing+  , _deRoleARN = Nothing+  }+++-- | The current status of this DevEndpoint.+deStatus :: Lens' DevEndpoint (Maybe Text)+deStatus = lens _deStatus (\ s a -> s{_deStatus = a});++-- | The reason for a current failure in this DevEndpoint.+deFailureReason :: Lens' DevEndpoint (Maybe Text)+deFailureReason = lens _deFailureReason (\ s a -> s{_deFailureReason = a});++-- | The name of the DevEndpoint.+deEndpointName :: Lens' DevEndpoint (Maybe Text)+deEndpointName = lens _deEndpointName (\ s a -> s{_deEndpointName = a});++-- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+deExtraPythonLibsS3Path :: Lens' DevEndpoint (Maybe Text)+deExtraPythonLibsS3Path = lens _deExtraPythonLibsS3Path (\ s a -> s{_deExtraPythonLibsS3Path = a});++-- | The status of the last update.+deLastUpdateStatus :: Lens' DevEndpoint (Maybe Text)+deLastUpdateStatus = lens _deLastUpdateStatus (\ s a -> s{_deLastUpdateStatus = a});++-- | A list of security group identifiers used in this DevEndpoint.+deSecurityGroupIds :: Lens' DevEndpoint [Text]+deSecurityGroupIds = lens _deSecurityGroupIds (\ s a -> s{_deSecurityGroupIds = a}) . _Default . _Coerce;++-- | The point in time at which this DevEndpoint was last modified.+deLastModifiedTimestamp :: Lens' DevEndpoint (Maybe UTCTime)+deLastModifiedTimestamp = lens _deLastModifiedTimestamp (\ s a -> s{_deLastModifiedTimestamp = a}) . mapping _Time;++-- | The ID of the virtual private cloud (VPC) used by this DevEndpoint.+deVPCId :: Lens' DevEndpoint (Maybe Text)+deVPCId = lens _deVPCId (\ s a -> s{_deVPCId = a});++-- | The public key to be used by this DevEndpoint for authentication.+dePublicKey :: Lens' DevEndpoint (Maybe Text)+dePublicKey = lens _dePublicKey (\ s a -> s{_dePublicKey = a});++-- | The subnet ID for this DevEndpoint.+deSubnetId :: Lens' DevEndpoint (Maybe Text)+deSubnetId = lens _deSubnetId (\ s a -> s{_deSubnetId = a});++-- | The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.+deNumberOfNodes :: Lens' DevEndpoint (Maybe Int)+deNumberOfNodes = lens _deNumberOfNodes (\ s a -> s{_deNumberOfNodes = a});++-- | The public address used by this DevEndpoint.+dePublicAddress :: Lens' DevEndpoint (Maybe Text)+dePublicAddress = lens _dePublicAddress (\ s a -> s{_dePublicAddress = a});++-- | The AWS availability zone where this DevEndpoint is located.+deAvailabilityZone :: Lens' DevEndpoint (Maybe Text)+deAvailabilityZone = lens _deAvailabilityZone (\ s a -> s{_deAvailabilityZone = a});++-- | The Apache Zeppelin port for the remote Apache Spark interpreter.+deZeppelinRemoteSparkInterpreterPort :: Lens' DevEndpoint (Maybe Int)+deZeppelinRemoteSparkInterpreterPort = lens _deZeppelinRemoteSparkInterpreterPort (\ s a -> s{_deZeppelinRemoteSparkInterpreterPort = a});++-- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+deExtraJARsS3Path :: Lens' DevEndpoint (Maybe Text)+deExtraJARsS3Path = lens _deExtraJARsS3Path (\ s a -> s{_deExtraJARsS3Path = a});++-- | The point in time at which this DevEndpoint was created.+deCreatedTimestamp :: Lens' DevEndpoint (Maybe UTCTime)+deCreatedTimestamp = lens _deCreatedTimestamp (\ s a -> s{_deCreatedTimestamp = a}) . mapping _Time;++-- | The YARN endpoint address used by this DevEndpoint.+deYarnEndpointAddress :: Lens' DevEndpoint (Maybe Text)+deYarnEndpointAddress = lens _deYarnEndpointAddress (\ s a -> s{_deYarnEndpointAddress = a});++-- | The AWS ARN of the IAM role used in this DevEndpoint.+deRoleARN :: Lens' DevEndpoint (Maybe Text)+deRoleARN = lens _deRoleARN (\ s a -> s{_deRoleARN = a});++instance FromJSON DevEndpoint where+        parseJSON+          = withObject "DevEndpoint"+              (\ x ->+                 DevEndpoint' <$>+                   (x .:? "Status") <*> (x .:? "FailureReason") <*>+                     (x .:? "EndpointName")+                     <*> (x .:? "ExtraPythonLibsS3Path")+                     <*> (x .:? "LastUpdateStatus")+                     <*> (x .:? "SecurityGroupIds" .!= mempty)+                     <*> (x .:? "LastModifiedTimestamp")+                     <*> (x .:? "VpcId")+                     <*> (x .:? "PublicKey")+                     <*> (x .:? "SubnetId")+                     <*> (x .:? "NumberOfNodes")+                     <*> (x .:? "PublicAddress")+                     <*> (x .:? "AvailabilityZone")+                     <*> (x .:? "ZeppelinRemoteSparkInterpreterPort")+                     <*> (x .:? "ExtraJarsS3Path")+                     <*> (x .:? "CreatedTimestamp")+                     <*> (x .:? "YarnEndpointAddress")+                     <*> (x .:? "RoleArn"))++instance Hashable DevEndpoint where++instance NFData DevEndpoint where++-- | Custom libraries to be loaded into a DevEndpoint.+--+--+--+-- /See:/ 'devEndpointCustomLibraries' smart constructor.+data DevEndpointCustomLibraries = DevEndpointCustomLibraries'+  { _declExtraPythonLibsS3Path :: !(Maybe Text)+  , _declExtraJARsS3Path       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DevEndpointCustomLibraries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'declExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+--+-- * 'declExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+devEndpointCustomLibraries+    :: DevEndpointCustomLibraries+devEndpointCustomLibraries =+  DevEndpointCustomLibraries'+  {_declExtraPythonLibsS3Path = Nothing, _declExtraJARsS3Path = Nothing}+++-- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+declExtraPythonLibsS3Path :: Lens' DevEndpointCustomLibraries (Maybe Text)+declExtraPythonLibsS3Path = lens _declExtraPythonLibsS3Path (\ s a -> s{_declExtraPythonLibsS3Path = a});++-- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+declExtraJARsS3Path :: Lens' DevEndpointCustomLibraries (Maybe Text)+declExtraJARsS3Path = lens _declExtraJARsS3Path (\ s a -> s{_declExtraJARsS3Path = a});++instance Hashable DevEndpointCustomLibraries where++instance NFData DevEndpointCustomLibraries where++instance ToJSON DevEndpointCustomLibraries where+        toJSON DevEndpointCustomLibraries'{..}+          = object+              (catMaybes+                 [("ExtraPythonLibsS3Path" .=) <$>+                    _declExtraPythonLibsS3Path,+                  ("ExtraJarsS3Path" .=) <$> _declExtraJARsS3Path])++-- | Contains details about an error.+--+--+--+-- /See:/ 'errorDetail' smart constructor.+data ErrorDetail = ErrorDetail'+  { _edErrorCode    :: !(Maybe Text)+  , _edErrorMessage :: !(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:+--+-- * 'edErrorCode' - The code associated with this error.+--+-- * 'edErrorMessage' - A message describing the error.+errorDetail+    :: ErrorDetail+errorDetail = ErrorDetail' {_edErrorCode = Nothing, _edErrorMessage = Nothing}+++-- | The code associated with this error.+edErrorCode :: Lens' ErrorDetail (Maybe Text)+edErrorCode = lens _edErrorCode (\ s a -> s{_edErrorCode = a});++-- | A message describing the error.+edErrorMessage :: Lens' ErrorDetail (Maybe Text)+edErrorMessage = lens _edErrorMessage (\ s a -> s{_edErrorMessage = a});++instance FromJSON ErrorDetail where+        parseJSON+          = withObject "ErrorDetail"+              (\ x ->+                 ErrorDetail' <$>+                   (x .:? "ErrorCode") <*> (x .:? "ErrorMessage"))++instance Hashable ErrorDetail where++instance NFData ErrorDetail where++-- | An execution property of a job.+--+--+--+-- /See:/ 'executionProperty' smart constructor.+newtype ExecutionProperty = ExecutionProperty'+  { _epMaxConcurrentRuns :: Maybe Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExecutionProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epMaxConcurrentRuns' - The maximum number of concurrent runs allowed for a job.+executionProperty+    :: ExecutionProperty+executionProperty = ExecutionProperty' {_epMaxConcurrentRuns = Nothing}+++-- | The maximum number of concurrent runs allowed for a job.+epMaxConcurrentRuns :: Lens' ExecutionProperty (Maybe Int)+epMaxConcurrentRuns = lens _epMaxConcurrentRuns (\ s a -> s{_epMaxConcurrentRuns = a});++instance FromJSON ExecutionProperty where+        parseJSON+          = withObject "ExecutionProperty"+              (\ x ->+                 ExecutionProperty' <$> (x .:? "MaxConcurrentRuns"))++instance Hashable ExecutionProperty where++instance NFData ExecutionProperty where++instance ToJSON ExecutionProperty where+        toJSON ExecutionProperty'{..}+          = object+              (catMaybes+                 [("MaxConcurrentRuns" .=) <$> _epMaxConcurrentRuns])++-- | Filters the connection definitions returned by the @GetConnections@ API.+--+--+--+-- /See:/ 'getConnectionsFilter' smart constructor.+data GetConnectionsFilter = GetConnectionsFilter'+  { _gcfMatchCriteria  :: !(Maybe [Text])+  , _gcfConnectionType :: !(Maybe ConnectionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnectionsFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcfMatchCriteria' - A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.+--+-- * 'gcfConnectionType' - The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.+getConnectionsFilter+    :: GetConnectionsFilter+getConnectionsFilter =+  GetConnectionsFilter'+  {_gcfMatchCriteria = Nothing, _gcfConnectionType = Nothing}+++-- | A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.+gcfMatchCriteria :: Lens' GetConnectionsFilter [Text]+gcfMatchCriteria = lens _gcfMatchCriteria (\ s a -> s{_gcfMatchCriteria = a}) . _Default . _Coerce;++-- | The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.+gcfConnectionType :: Lens' GetConnectionsFilter (Maybe ConnectionType)+gcfConnectionType = lens _gcfConnectionType (\ s a -> s{_gcfConnectionType = a});++instance Hashable GetConnectionsFilter where++instance NFData GetConnectionsFilter where++instance ToJSON GetConnectionsFilter where+        toJSON GetConnectionsFilter'{..}+          = object+              (catMaybes+                 [("MatchCriteria" .=) <$> _gcfMatchCriteria,+                  ("ConnectionType" .=) <$> _gcfConnectionType])++-- | A classifier that uses @grok@ .+--+--+--+-- /See:/ 'grokClassifier' smart constructor.+data GrokClassifier = GrokClassifier'+  { _gcCreationTime   :: !(Maybe POSIX)+  , _gcLastUpdated    :: !(Maybe POSIX)+  , _gcVersion        :: !(Maybe Integer)+  , _gcCustomPatterns :: !(Maybe Text)+  , _gcName           :: !Text+  , _gcClassification :: !Text+  , _gcGrokPattern    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GrokClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcCreationTime' - The time this classifier was registered.+--+-- * 'gcLastUpdated' - The time this classifier was last updated.+--+-- * 'gcVersion' - The version of this classifier.+--+-- * 'gcCustomPatterns' - Custom grok patterns used by this classifier.+--+-- * 'gcName' - The name of the classifier.+--+-- * 'gcClassification' - The data form that the classifier matches, such as Twitter, JSON, Omniture Logs, and so forth.+--+-- * 'gcGrokPattern' - The grok pattern used by this classifier.+grokClassifier+    :: Text -- ^ 'gcName'+    -> Text -- ^ 'gcClassification'+    -> Text -- ^ 'gcGrokPattern'+    -> GrokClassifier+grokClassifier pName_ pClassification_ pGrokPattern_ =+  GrokClassifier'+  { _gcCreationTime = Nothing+  , _gcLastUpdated = Nothing+  , _gcVersion = Nothing+  , _gcCustomPatterns = Nothing+  , _gcName = pName_+  , _gcClassification = pClassification_+  , _gcGrokPattern = pGrokPattern_+  }+++-- | The time this classifier was registered.+gcCreationTime :: Lens' GrokClassifier (Maybe UTCTime)+gcCreationTime = lens _gcCreationTime (\ s a -> s{_gcCreationTime = a}) . mapping _Time;++-- | The time this classifier was last updated.+gcLastUpdated :: Lens' GrokClassifier (Maybe UTCTime)+gcLastUpdated = lens _gcLastUpdated (\ s a -> s{_gcLastUpdated = a}) . mapping _Time;++-- | The version of this classifier.+gcVersion :: Lens' GrokClassifier (Maybe Integer)+gcVersion = lens _gcVersion (\ s a -> s{_gcVersion = a});++-- | Custom grok patterns used by this classifier.+gcCustomPatterns :: Lens' GrokClassifier (Maybe Text)+gcCustomPatterns = lens _gcCustomPatterns (\ s a -> s{_gcCustomPatterns = a});++-- | The name of the classifier.+gcName :: Lens' GrokClassifier Text+gcName = lens _gcName (\ s a -> s{_gcName = a});++-- | The data form that the classifier matches, such as Twitter, JSON, Omniture Logs, and so forth.+gcClassification :: Lens' GrokClassifier Text+gcClassification = lens _gcClassification (\ s a -> s{_gcClassification = a});++-- | The grok pattern used by this classifier.+gcGrokPattern :: Lens' GrokClassifier Text+gcGrokPattern = lens _gcGrokPattern (\ s a -> s{_gcGrokPattern = a});++instance FromJSON GrokClassifier where+        parseJSON+          = withObject "GrokClassifier"+              (\ x ->+                 GrokClassifier' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdated") <*>+                     (x .:? "Version")+                     <*> (x .:? "CustomPatterns")+                     <*> (x .: "Name")+                     <*> (x .: "Classification")+                     <*> (x .: "GrokPattern"))++instance Hashable GrokClassifier where++instance NFData GrokClassifier where++-- | Specifies a JDBC target for a crawl.+--+--+--+-- /See:/ 'jdbcTarget' smart constructor.+data JdbcTarget = JdbcTarget'+  { _jtPath           :: !(Maybe Text)+  , _jtConnectionName :: !(Maybe Text)+  , _jtExclusions     :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JdbcTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jtPath' - The path of the JDBC target.+--+-- * 'jtConnectionName' - The name of the connection to use for the JDBC target.+--+-- * 'jtExclusions' - A list of items to exclude from the crawl.+jdbcTarget+    :: JdbcTarget+jdbcTarget =+  JdbcTarget'+  {_jtPath = Nothing, _jtConnectionName = Nothing, _jtExclusions = Nothing}+++-- | The path of the JDBC target.+jtPath :: Lens' JdbcTarget (Maybe Text)+jtPath = lens _jtPath (\ s a -> s{_jtPath = a});++-- | The name of the connection to use for the JDBC target.+jtConnectionName :: Lens' JdbcTarget (Maybe Text)+jtConnectionName = lens _jtConnectionName (\ s a -> s{_jtConnectionName = a});++-- | A list of items to exclude from the crawl.+jtExclusions :: Lens' JdbcTarget [Text]+jtExclusions = lens _jtExclusions (\ s a -> s{_jtExclusions = a}) . _Default . _Coerce;++instance FromJSON JdbcTarget where+        parseJSON+          = withObject "JdbcTarget"+              (\ x ->+                 JdbcTarget' <$>+                   (x .:? "Path") <*> (x .:? "ConnectionName") <*>+                     (x .:? "Exclusions" .!= mempty))++instance Hashable JdbcTarget where++instance NFData JdbcTarget where++instance ToJSON JdbcTarget where+        toJSON JdbcTarget'{..}+          = object+              (catMaybes+                 [("Path" .=) <$> _jtPath,+                  ("ConnectionName" .=) <$> _jtConnectionName,+                  ("Exclusions" .=) <$> _jtExclusions])++-- | Specifies a job in the Data Catalog.+--+--+--+-- /See:/ 'job' smart constructor.+data Job = Job'+  { _jCommand           :: !(Maybe JobCommand)+  , _jLastModifiedOn    :: !(Maybe POSIX)+  , _jConnections       :: !(Maybe ConnectionsList)+  , _jRole              :: !(Maybe Text)+  , _jName              :: !(Maybe Text)+  , _jLogURI            :: !(Maybe Text)+  , _jMaxRetries        :: !(Maybe Int)+  , _jExecutionProperty :: !(Maybe ExecutionProperty)+  , _jAllocatedCapacity :: !(Maybe Int)+  , _jDefaultArguments  :: !(Maybe (Map Text Text))+  , _jDescription       :: !(Maybe Text)+  , _jCreatedOn         :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Job' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jCommand' - The JobCommand that executes this job.+--+-- * 'jLastModifiedOn' - The last point in time when this job specification was modified.+--+-- * 'jConnections' - The connections used for this job.+--+-- * 'jRole' - The role associated with this job.+--+-- * 'jName' - The name you assign to this job.+--+-- * 'jLogURI' - This field is reserved for future use.+--+-- * 'jMaxRetries' - The maximum number of times to retry this job if it fails.+--+-- * 'jExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+--+-- * 'jAllocatedCapacity' - The number of capacity units allocated to this job.+--+-- * 'jDefaultArguments' - The default parameters for this job.+--+-- * 'jDescription' - Description of this job.+--+-- * 'jCreatedOn' - The time and date that this job specification was created.+job+    :: Job+job =+  Job'+  { _jCommand = Nothing+  , _jLastModifiedOn = Nothing+  , _jConnections = Nothing+  , _jRole = Nothing+  , _jName = Nothing+  , _jLogURI = Nothing+  , _jMaxRetries = Nothing+  , _jExecutionProperty = Nothing+  , _jAllocatedCapacity = Nothing+  , _jDefaultArguments = Nothing+  , _jDescription = Nothing+  , _jCreatedOn = Nothing+  }+++-- | The JobCommand that executes this job.+jCommand :: Lens' Job (Maybe JobCommand)+jCommand = lens _jCommand (\ s a -> s{_jCommand = a});++-- | The last point in time when this job specification was modified.+jLastModifiedOn :: Lens' Job (Maybe UTCTime)+jLastModifiedOn = lens _jLastModifiedOn (\ s a -> s{_jLastModifiedOn = a}) . mapping _Time;++-- | The connections used for this job.+jConnections :: Lens' Job (Maybe ConnectionsList)+jConnections = lens _jConnections (\ s a -> s{_jConnections = a});++-- | The role associated with this job.+jRole :: Lens' Job (Maybe Text)+jRole = lens _jRole (\ s a -> s{_jRole = a});++-- | The name you assign to this job.+jName :: Lens' Job (Maybe Text)+jName = lens _jName (\ s a -> s{_jName = a});++-- | This field is reserved for future use.+jLogURI :: Lens' Job (Maybe Text)+jLogURI = lens _jLogURI (\ s a -> s{_jLogURI = a});++-- | The maximum number of times to retry this job if it fails.+jMaxRetries :: Lens' Job (Maybe Int)+jMaxRetries = lens _jMaxRetries (\ s a -> s{_jMaxRetries = a});++-- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+jExecutionProperty :: Lens' Job (Maybe ExecutionProperty)+jExecutionProperty = lens _jExecutionProperty (\ s a -> s{_jExecutionProperty = a});++-- | The number of capacity units allocated to this job.+jAllocatedCapacity :: Lens' Job (Maybe Int)+jAllocatedCapacity = lens _jAllocatedCapacity (\ s a -> s{_jAllocatedCapacity = a});++-- | The default parameters for this job.+jDefaultArguments :: Lens' Job (HashMap Text Text)+jDefaultArguments = lens _jDefaultArguments (\ s a -> s{_jDefaultArguments = a}) . _Default . _Map;++-- | Description of this job.+jDescription :: Lens' Job (Maybe Text)+jDescription = lens _jDescription (\ s a -> s{_jDescription = a});++-- | The time and date that this job specification was created.+jCreatedOn :: Lens' Job (Maybe UTCTime)+jCreatedOn = lens _jCreatedOn (\ s a -> s{_jCreatedOn = a}) . mapping _Time;++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ x ->+                 Job' <$>+                   (x .:? "Command") <*> (x .:? "LastModifiedOn") <*>+                     (x .:? "Connections")+                     <*> (x .:? "Role")+                     <*> (x .:? "Name")+                     <*> (x .:? "LogUri")+                     <*> (x .:? "MaxRetries")+                     <*> (x .:? "ExecutionProperty")+                     <*> (x .:? "AllocatedCapacity")+                     <*> (x .:? "DefaultArguments" .!= mempty)+                     <*> (x .:? "Description")+                     <*> (x .:? "CreatedOn"))++instance Hashable Job where++instance NFData Job where++-- | Defines a point which a job can resume processing.+--+--+--+-- /See:/ 'jobBookmarkEntry' smart constructor.+data JobBookmarkEntry = JobBookmarkEntry'+  { _jbeJobName     :: !(Maybe Text)+  , _jbeRun         :: !(Maybe Int)+  , _jbeVersion     :: !(Maybe Int)+  , _jbeAttempt     :: !(Maybe Int)+  , _jbeJobBookmark :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobBookmarkEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jbeJobName' - Name of the job in question.+--+-- * 'jbeRun' - The run ID number.+--+-- * 'jbeVersion' - Version of the job.+--+-- * 'jbeAttempt' - The attempt ID number.+--+-- * 'jbeJobBookmark' - The bookmark itself.+jobBookmarkEntry+    :: JobBookmarkEntry+jobBookmarkEntry =+  JobBookmarkEntry'+  { _jbeJobName = Nothing+  , _jbeRun = Nothing+  , _jbeVersion = Nothing+  , _jbeAttempt = Nothing+  , _jbeJobBookmark = Nothing+  }+++-- | Name of the job in question.+jbeJobName :: Lens' JobBookmarkEntry (Maybe Text)+jbeJobName = lens _jbeJobName (\ s a -> s{_jbeJobName = a});++-- | The run ID number.+jbeRun :: Lens' JobBookmarkEntry (Maybe Int)+jbeRun = lens _jbeRun (\ s a -> s{_jbeRun = a});++-- | Version of the job.+jbeVersion :: Lens' JobBookmarkEntry (Maybe Int)+jbeVersion = lens _jbeVersion (\ s a -> s{_jbeVersion = a});++-- | The attempt ID number.+jbeAttempt :: Lens' JobBookmarkEntry (Maybe Int)+jbeAttempt = lens _jbeAttempt (\ s a -> s{_jbeAttempt = a});++-- | The bookmark itself.+jbeJobBookmark :: Lens' JobBookmarkEntry (Maybe Text)+jbeJobBookmark = lens _jbeJobBookmark (\ s a -> s{_jbeJobBookmark = a});++instance FromJSON JobBookmarkEntry where+        parseJSON+          = withObject "JobBookmarkEntry"+              (\ x ->+                 JobBookmarkEntry' <$>+                   (x .:? "JobName") <*> (x .:? "Run") <*>+                     (x .:? "Version")+                     <*> (x .:? "Attempt")+                     <*> (x .:? "JobBookmark"))++instance Hashable JobBookmarkEntry where++instance NFData JobBookmarkEntry where++-- | Specifies code that executes a job.+--+--+--+-- /See:/ 'jobCommand' smart constructor.+data JobCommand = JobCommand'+  { _jcScriptLocation :: !(Maybe Text)+  , _jcName           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobCommand' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcScriptLocation' - Specifies the location of a script that executes a job.+--+-- * 'jcName' - The name of this job command.+jobCommand+    :: JobCommand+jobCommand = JobCommand' {_jcScriptLocation = Nothing, _jcName = Nothing}+++-- | Specifies the location of a script that executes a job.+jcScriptLocation :: Lens' JobCommand (Maybe Text)+jcScriptLocation = lens _jcScriptLocation (\ s a -> s{_jcScriptLocation = a});++-- | The name of this job command.+jcName :: Lens' JobCommand (Maybe Text)+jcName = lens _jcName (\ s a -> s{_jcName = a});++instance FromJSON JobCommand where+        parseJSON+          = withObject "JobCommand"+              (\ x ->+                 JobCommand' <$>+                   (x .:? "ScriptLocation") <*> (x .:? "Name"))++instance Hashable JobCommand where++instance NFData JobCommand where++instance ToJSON JobCommand where+        toJSON JobCommand'{..}+          = object+              (catMaybes+                 [("ScriptLocation" .=) <$> _jcScriptLocation,+                  ("Name" .=) <$> _jcName])++-- | Contains information about a job run.+--+--+--+-- /See:/ 'jobRun' smart constructor.+data JobRun = JobRun'+  { _jrCompletedOn       :: !(Maybe POSIX)+  , _jrTriggerName       :: !(Maybe Text)+  , _jrLastModifiedOn    :: !(Maybe POSIX)+  , _jrArguments         :: !(Maybe (Map Text Text))+  , _jrJobName           :: !(Maybe Text)+  , _jrStartedOn         :: !(Maybe POSIX)+  , _jrJobRunState       :: !(Maybe JobRunState)+  , _jrPredecessorRuns   :: !(Maybe [Predecessor])+  , _jrPreviousRunId     :: !(Maybe Text)+  , _jrId                :: !(Maybe Text)+  , _jrAttempt           :: !(Maybe Int)+  , _jrAllocatedCapacity :: !(Maybe Int)+  , _jrErrorMessage      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jrCompletedOn' - The date and time this job run completed.+--+-- * 'jrTriggerName' - The name of the trigger for this job run.+--+-- * 'jrLastModifiedOn' - The last time this job run was modified.+--+-- * 'jrArguments' - The job arguments associated with this run.+--+-- * 'jrJobName' - The name of the job being run.+--+-- * 'jrStartedOn' - The date and time at which this job run was started.+--+-- * 'jrJobRunState' - The current state of the job run.+--+-- * 'jrPredecessorRuns' - A list of predecessors to this job run.+--+-- * 'jrPreviousRunId' - The ID of the previous run of this job.+--+-- * 'jrId' - The ID of this job run.+--+-- * 'jrAttempt' - The number or the attempt to run this job.+--+-- * 'jrAllocatedCapacity' - The amount of infrastructure capacity allocated to this job run.+--+-- * 'jrErrorMessage' - An error message associated with this job run.+jobRun+    :: JobRun+jobRun =+  JobRun'+  { _jrCompletedOn = Nothing+  , _jrTriggerName = Nothing+  , _jrLastModifiedOn = Nothing+  , _jrArguments = Nothing+  , _jrJobName = Nothing+  , _jrStartedOn = Nothing+  , _jrJobRunState = Nothing+  , _jrPredecessorRuns = Nothing+  , _jrPreviousRunId = Nothing+  , _jrId = Nothing+  , _jrAttempt = Nothing+  , _jrAllocatedCapacity = Nothing+  , _jrErrorMessage = Nothing+  }+++-- | The date and time this job run completed.+jrCompletedOn :: Lens' JobRun (Maybe UTCTime)+jrCompletedOn = lens _jrCompletedOn (\ s a -> s{_jrCompletedOn = a}) . mapping _Time;++-- | The name of the trigger for this job run.+jrTriggerName :: Lens' JobRun (Maybe Text)+jrTriggerName = lens _jrTriggerName (\ s a -> s{_jrTriggerName = a});++-- | The last time this job run was modified.+jrLastModifiedOn :: Lens' JobRun (Maybe UTCTime)+jrLastModifiedOn = lens _jrLastModifiedOn (\ s a -> s{_jrLastModifiedOn = a}) . mapping _Time;++-- | The job arguments associated with this run.+jrArguments :: Lens' JobRun (HashMap Text Text)+jrArguments = lens _jrArguments (\ s a -> s{_jrArguments = a}) . _Default . _Map;++-- | The name of the job being run.+jrJobName :: Lens' JobRun (Maybe Text)+jrJobName = lens _jrJobName (\ s a -> s{_jrJobName = a});++-- | The date and time at which this job run was started.+jrStartedOn :: Lens' JobRun (Maybe UTCTime)+jrStartedOn = lens _jrStartedOn (\ s a -> s{_jrStartedOn = a}) . mapping _Time;++-- | The current state of the job run.+jrJobRunState :: Lens' JobRun (Maybe JobRunState)+jrJobRunState = lens _jrJobRunState (\ s a -> s{_jrJobRunState = a});++-- | A list of predecessors to this job run.+jrPredecessorRuns :: Lens' JobRun [Predecessor]+jrPredecessorRuns = lens _jrPredecessorRuns (\ s a -> s{_jrPredecessorRuns = a}) . _Default . _Coerce;++-- | The ID of the previous run of this job.+jrPreviousRunId :: Lens' JobRun (Maybe Text)+jrPreviousRunId = lens _jrPreviousRunId (\ s a -> s{_jrPreviousRunId = a});++-- | The ID of this job run.+jrId :: Lens' JobRun (Maybe Text)+jrId = lens _jrId (\ s a -> s{_jrId = a});++-- | The number or the attempt to run this job.+jrAttempt :: Lens' JobRun (Maybe Int)+jrAttempt = lens _jrAttempt (\ s a -> s{_jrAttempt = a});++-- | The amount of infrastructure capacity allocated to this job run.+jrAllocatedCapacity :: Lens' JobRun (Maybe Int)+jrAllocatedCapacity = lens _jrAllocatedCapacity (\ s a -> s{_jrAllocatedCapacity = a});++-- | An error message associated with this job run.+jrErrorMessage :: Lens' JobRun (Maybe Text)+jrErrorMessage = lens _jrErrorMessage (\ s a -> s{_jrErrorMessage = a});++instance FromJSON JobRun where+        parseJSON+          = withObject "JobRun"+              (\ x ->+                 JobRun' <$>+                   (x .:? "CompletedOn") <*> (x .:? "TriggerName") <*>+                     (x .:? "LastModifiedOn")+                     <*> (x .:? "Arguments" .!= mempty)+                     <*> (x .:? "JobName")+                     <*> (x .:? "StartedOn")+                     <*> (x .:? "JobRunState")+                     <*> (x .:? "PredecessorRuns" .!= mempty)+                     <*> (x .:? "PreviousRunId")+                     <*> (x .:? "Id")+                     <*> (x .:? "Attempt")+                     <*> (x .:? "AllocatedCapacity")+                     <*> (x .:? "ErrorMessage"))++instance Hashable JobRun where++instance NFData JobRun where++-- | Specifies information used to update an existing job.+--+--+--+-- /See:/ 'jobUpdate' smart constructor.+data JobUpdate = JobUpdate'+  { _juCommand           :: !(Maybe JobCommand)+  , _juConnections       :: !(Maybe ConnectionsList)+  , _juRole              :: !(Maybe Text)+  , _juLogURI            :: !(Maybe Text)+  , _juMaxRetries        :: !(Maybe Int)+  , _juExecutionProperty :: !(Maybe ExecutionProperty)+  , _juAllocatedCapacity :: !(Maybe Int)+  , _juDefaultArguments  :: !(Maybe (Map Text Text))+  , _juDescription       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'juCommand' - The JobCommand that executes this job.+--+-- * 'juConnections' - The connections used for this job.+--+-- * 'juRole' - The role associated with this job.+--+-- * 'juLogURI' - This field is reserved for future use.+--+-- * 'juMaxRetries' - The maximum number of times to retry this job if it fails.+--+-- * 'juExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+--+-- * 'juAllocatedCapacity' - The number of capacity units allocated to this job.+--+-- * 'juDefaultArguments' - The default parameters for this job.+--+-- * 'juDescription' - Description of the job.+jobUpdate+    :: JobUpdate+jobUpdate =+  JobUpdate'+  { _juCommand = Nothing+  , _juConnections = Nothing+  , _juRole = Nothing+  , _juLogURI = Nothing+  , _juMaxRetries = Nothing+  , _juExecutionProperty = Nothing+  , _juAllocatedCapacity = Nothing+  , _juDefaultArguments = Nothing+  , _juDescription = Nothing+  }+++-- | The JobCommand that executes this job.+juCommand :: Lens' JobUpdate (Maybe JobCommand)+juCommand = lens _juCommand (\ s a -> s{_juCommand = a});++-- | The connections used for this job.+juConnections :: Lens' JobUpdate (Maybe ConnectionsList)+juConnections = lens _juConnections (\ s a -> s{_juConnections = a});++-- | The role associated with this job.+juRole :: Lens' JobUpdate (Maybe Text)+juRole = lens _juRole (\ s a -> s{_juRole = a});++-- | This field is reserved for future use.+juLogURI :: Lens' JobUpdate (Maybe Text)+juLogURI = lens _juLogURI (\ s a -> s{_juLogURI = a});++-- | The maximum number of times to retry this job if it fails.+juMaxRetries :: Lens' JobUpdate (Maybe Int)+juMaxRetries = lens _juMaxRetries (\ s a -> s{_juMaxRetries = a});++-- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+juExecutionProperty :: Lens' JobUpdate (Maybe ExecutionProperty)+juExecutionProperty = lens _juExecutionProperty (\ s a -> s{_juExecutionProperty = a});++-- | The number of capacity units allocated to this job.+juAllocatedCapacity :: Lens' JobUpdate (Maybe Int)+juAllocatedCapacity = lens _juAllocatedCapacity (\ s a -> s{_juAllocatedCapacity = a});++-- | The default parameters for this job.+juDefaultArguments :: Lens' JobUpdate (HashMap Text Text)+juDefaultArguments = lens _juDefaultArguments (\ s a -> s{_juDefaultArguments = a}) . _Default . _Map;++-- | Description of the job.+juDescription :: Lens' JobUpdate (Maybe Text)+juDescription = lens _juDescription (\ s a -> s{_juDescription = a});++instance Hashable JobUpdate where++instance NFData JobUpdate where++instance ToJSON JobUpdate where+        toJSON JobUpdate'{..}+          = object+              (catMaybes+                 [("Command" .=) <$> _juCommand,+                  ("Connections" .=) <$> _juConnections,+                  ("Role" .=) <$> _juRole, ("LogUri" .=) <$> _juLogURI,+                  ("MaxRetries" .=) <$> _juMaxRetries,+                  ("ExecutionProperty" .=) <$> _juExecutionProperty,+                  ("AllocatedCapacity" .=) <$> _juAllocatedCapacity,+                  ("DefaultArguments" .=) <$> _juDefaultArguments,+                  ("Description" .=) <$> _juDescription])++-- | Status and error information about the most recent crawl.+--+--+--+-- /See:/ 'lastCrawlInfo' smart constructor.+data LastCrawlInfo = LastCrawlInfo'+  { _lciStatus        :: !(Maybe LastCrawlStatus)+  , _lciStartTime     :: !(Maybe POSIX)+  , _lciLogStream     :: !(Maybe Text)+  , _lciLogGroup      :: !(Maybe Text)+  , _lciMessagePrefix :: !(Maybe Text)+  , _lciErrorMessage  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LastCrawlInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lciStatus' - Status of the last crawl.+--+-- * 'lciStartTime' - The time at which the crawl started.+--+-- * 'lciLogStream' - The log stream for the last crawl.+--+-- * 'lciLogGroup' - The log group for the last crawl.+--+-- * 'lciMessagePrefix' - The prefix for a message about this crawl.+--+-- * 'lciErrorMessage' - Error information about the last crawl, if an error occurred.+lastCrawlInfo+    :: LastCrawlInfo+lastCrawlInfo =+  LastCrawlInfo'+  { _lciStatus = Nothing+  , _lciStartTime = Nothing+  , _lciLogStream = Nothing+  , _lciLogGroup = Nothing+  , _lciMessagePrefix = Nothing+  , _lciErrorMessage = Nothing+  }+++-- | Status of the last crawl.+lciStatus :: Lens' LastCrawlInfo (Maybe LastCrawlStatus)+lciStatus = lens _lciStatus (\ s a -> s{_lciStatus = a});++-- | The time at which the crawl started.+lciStartTime :: Lens' LastCrawlInfo (Maybe UTCTime)+lciStartTime = lens _lciStartTime (\ s a -> s{_lciStartTime = a}) . mapping _Time;++-- | The log stream for the last crawl.+lciLogStream :: Lens' LastCrawlInfo (Maybe Text)+lciLogStream = lens _lciLogStream (\ s a -> s{_lciLogStream = a});++-- | The log group for the last crawl.+lciLogGroup :: Lens' LastCrawlInfo (Maybe Text)+lciLogGroup = lens _lciLogGroup (\ s a -> s{_lciLogGroup = a});++-- | The prefix for a message about this crawl.+lciMessagePrefix :: Lens' LastCrawlInfo (Maybe Text)+lciMessagePrefix = lens _lciMessagePrefix (\ s a -> s{_lciMessagePrefix = a});++-- | Error information about the last crawl, if an error occurred.+lciErrorMessage :: Lens' LastCrawlInfo (Maybe Text)+lciErrorMessage = lens _lciErrorMessage (\ s a -> s{_lciErrorMessage = a});++instance FromJSON LastCrawlInfo where+        parseJSON+          = withObject "LastCrawlInfo"+              (\ x ->+                 LastCrawlInfo' <$>+                   (x .:? "Status") <*> (x .:? "StartTime") <*>+                     (x .:? "LogStream")+                     <*> (x .:? "LogGroup")+                     <*> (x .:? "MessagePrefix")+                     <*> (x .:? "ErrorMessage"))++instance Hashable LastCrawlInfo where++instance NFData LastCrawlInfo where++-- | The location of resources.+--+--+--+-- /See:/ 'location' smart constructor.+data Location = Location'+  { _lJdbc :: !(Maybe [CodeGenNodeArg])+  , _lS3   :: !(Maybe [CodeGenNodeArg])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lJdbc' - A JDBC location.+--+-- * 'lS3' - An AWS S3 location.+location+    :: Location+location = Location' {_lJdbc = Nothing, _lS3 = Nothing}+++-- | A JDBC location.+lJdbc :: Lens' Location [CodeGenNodeArg]+lJdbc = lens _lJdbc (\ s a -> s{_lJdbc = a}) . _Default . _Coerce;++-- | An AWS S3 location.+lS3 :: Lens' Location [CodeGenNodeArg]+lS3 = lens _lS3 (\ s a -> s{_lS3 = a}) . _Default . _Coerce;++instance Hashable Location where++instance NFData Location where++instance ToJSON Location where+        toJSON Location'{..}+          = object+              (catMaybes+                 [("Jdbc" .=) <$> _lJdbc, ("S3" .=) <$> _lS3])++-- | Defines a mapping.+--+--+--+-- /See:/ 'mappingEntry' smart constructor.+data MappingEntry = MappingEntry'+  { _meTargetTable :: !(Maybe Text)+  , _meSourceType  :: !(Maybe Text)+  , _meSourceTable :: !(Maybe Text)+  , _meTargetType  :: !(Maybe Text)+  , _meTargetPath  :: !(Maybe Text)+  , _meSourcePath  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MappingEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'meTargetTable' - The target table.+--+-- * 'meSourceType' - The source type.+--+-- * 'meSourceTable' - The name of the source table.+--+-- * 'meTargetType' - The target type.+--+-- * 'meTargetPath' - The target path.+--+-- * 'meSourcePath' - The source path.+mappingEntry+    :: MappingEntry+mappingEntry =+  MappingEntry'+  { _meTargetTable = Nothing+  , _meSourceType = Nothing+  , _meSourceTable = Nothing+  , _meTargetType = Nothing+  , _meTargetPath = Nothing+  , _meSourcePath = Nothing+  }+++-- | The target table.+meTargetTable :: Lens' MappingEntry (Maybe Text)+meTargetTable = lens _meTargetTable (\ s a -> s{_meTargetTable = a});++-- | The source type.+meSourceType :: Lens' MappingEntry (Maybe Text)+meSourceType = lens _meSourceType (\ s a -> s{_meSourceType = a});++-- | The name of the source table.+meSourceTable :: Lens' MappingEntry (Maybe Text)+meSourceTable = lens _meSourceTable (\ s a -> s{_meSourceTable = a});++-- | The target type.+meTargetType :: Lens' MappingEntry (Maybe Text)+meTargetType = lens _meTargetType (\ s a -> s{_meTargetType = a});++-- | The target path.+meTargetPath :: Lens' MappingEntry (Maybe Text)+meTargetPath = lens _meTargetPath (\ s a -> s{_meTargetPath = a});++-- | The source path.+meSourcePath :: Lens' MappingEntry (Maybe Text)+meSourcePath = lens _meSourcePath (\ s a -> s{_meSourcePath = a});++instance FromJSON MappingEntry where+        parseJSON+          = withObject "MappingEntry"+              (\ x ->+                 MappingEntry' <$>+                   (x .:? "TargetTable") <*> (x .:? "SourceType") <*>+                     (x .:? "SourceTable")+                     <*> (x .:? "TargetType")+                     <*> (x .:? "TargetPath")+                     <*> (x .:? "SourcePath"))++instance Hashable MappingEntry where++instance NFData MappingEntry where++instance ToJSON MappingEntry where+        toJSON MappingEntry'{..}+          = object+              (catMaybes+                 [("TargetTable" .=) <$> _meTargetTable,+                  ("SourceType" .=) <$> _meSourceType,+                  ("SourceTable" .=) <$> _meSourceTable,+                  ("TargetType" .=) <$> _meTargetType,+                  ("TargetPath" .=) <$> _meTargetPath,+                  ("SourcePath" .=) <$> _meSourcePath])++-- | Specifies the sort order of a sorted column.+--+--+--+-- /See:/ 'order' smart constructor.+data Order = Order'+  { _oColumn    :: !Text+  , _oSortOrder :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Order' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oColumn' - The name of the column.+--+-- * 'oSortOrder' - Indicates that the column is sorted in ascending order (@== 1@ ), or in descending order (@==0@ ).+order+    :: Text -- ^ 'oColumn'+    -> Natural -- ^ 'oSortOrder'+    -> Order+order pColumn_ pSortOrder_ =+  Order' {_oColumn = pColumn_, _oSortOrder = _Nat # pSortOrder_}+++-- | The name of the column.+oColumn :: Lens' Order Text+oColumn = lens _oColumn (\ s a -> s{_oColumn = a});++-- | Indicates that the column is sorted in ascending order (@== 1@ ), or in descending order (@==0@ ).+oSortOrder :: Lens' Order Natural+oSortOrder = lens _oSortOrder (\ s a -> s{_oSortOrder = a}) . _Nat;++instance FromJSON Order where+        parseJSON+          = withObject "Order"+              (\ x ->+                 Order' <$> (x .: "Column") <*> (x .: "SortOrder"))++instance Hashable Order where++instance NFData Order where++instance ToJSON Order where+        toJSON Order'{..}+          = object+              (catMaybes+                 [Just ("Column" .= _oColumn),+                  Just ("SortOrder" .= _oSortOrder)])++-- | Represents a slice of table data.+--+--+--+-- /See:/ 'partition' smart constructor.+data Partition = Partition'+  { _pCreationTime      :: !(Maybe POSIX)+  , _pValues            :: !(Maybe [Text])+  , _pLastAnalyzedTime  :: !(Maybe POSIX)+  , _pStorageDescriptor :: !(Maybe StorageDescriptor)+  , _pDatabaseName      :: !(Maybe Text)+  , _pParameters        :: !(Maybe (Map Text Text))+  , _pLastAccessTime    :: !(Maybe POSIX)+  , _pTableName         :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Partition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pCreationTime' - The time at which the partition was created.+--+-- * 'pValues' - The values of the partition.+--+-- * 'pLastAnalyzedTime' - The last time at which column statistics were computed for this partition.+--+-- * 'pStorageDescriptor' - Provides information about the physical location where the partition is stored.+--+-- * 'pDatabaseName' - The name of the catalog database where the table in question is located.+--+-- * 'pParameters' - Partition parameters, in the form of a list of key-value pairs.+--+-- * 'pLastAccessTime' - The last time at which the partition was accessed.+--+-- * 'pTableName' - The name of the table in question.+partition+    :: Partition+partition =+  Partition'+  { _pCreationTime = Nothing+  , _pValues = Nothing+  , _pLastAnalyzedTime = Nothing+  , _pStorageDescriptor = Nothing+  , _pDatabaseName = Nothing+  , _pParameters = Nothing+  , _pLastAccessTime = Nothing+  , _pTableName = Nothing+  }+++-- | The time at which the partition was created.+pCreationTime :: Lens' Partition (Maybe UTCTime)+pCreationTime = lens _pCreationTime (\ s a -> s{_pCreationTime = a}) . mapping _Time;++-- | The values of the partition.+pValues :: Lens' Partition [Text]+pValues = lens _pValues (\ s a -> s{_pValues = a}) . _Default . _Coerce;++-- | The last time at which column statistics were computed for this partition.+pLastAnalyzedTime :: Lens' Partition (Maybe UTCTime)+pLastAnalyzedTime = lens _pLastAnalyzedTime (\ s a -> s{_pLastAnalyzedTime = a}) . mapping _Time;++-- | Provides information about the physical location where the partition is stored.+pStorageDescriptor :: Lens' Partition (Maybe StorageDescriptor)+pStorageDescriptor = lens _pStorageDescriptor (\ s a -> s{_pStorageDescriptor = a});++-- | The name of the catalog database where the table in question is located.+pDatabaseName :: Lens' Partition (Maybe Text)+pDatabaseName = lens _pDatabaseName (\ s a -> s{_pDatabaseName = a});++-- | Partition parameters, in the form of a list of key-value pairs.+pParameters :: Lens' Partition (HashMap Text Text)+pParameters = lens _pParameters (\ s a -> s{_pParameters = a}) . _Default . _Map;++-- | The last time at which the partition was accessed.+pLastAccessTime :: Lens' Partition (Maybe UTCTime)+pLastAccessTime = lens _pLastAccessTime (\ s a -> s{_pLastAccessTime = a}) . mapping _Time;++-- | The name of the table in question.+pTableName :: Lens' Partition (Maybe Text)+pTableName = lens _pTableName (\ s a -> s{_pTableName = a});++instance FromJSON Partition where+        parseJSON+          = withObject "Partition"+              (\ x ->+                 Partition' <$>+                   (x .:? "CreationTime") <*>+                     (x .:? "Values" .!= mempty)+                     <*> (x .:? "LastAnalyzedTime")+                     <*> (x .:? "StorageDescriptor")+                     <*> (x .:? "DatabaseName")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "LastAccessTime")+                     <*> (x .:? "TableName"))++instance Hashable Partition where++instance NFData Partition where++-- | Contains information about a partition error.+--+--+--+-- /See:/ 'partitionError' smart constructor.+data PartitionError = PartitionError'+  { _pePartitionValues :: !(Maybe [Text])+  , _peErrorDetail     :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartitionError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pePartitionValues' - The values that define the partition.+--+-- * 'peErrorDetail' - Details about the partition error.+partitionError+    :: PartitionError+partitionError =+  PartitionError' {_pePartitionValues = Nothing, _peErrorDetail = Nothing}+++-- | The values that define the partition.+pePartitionValues :: Lens' PartitionError [Text]+pePartitionValues = lens _pePartitionValues (\ s a -> s{_pePartitionValues = a}) . _Default . _Coerce;++-- | Details about the partition error.+peErrorDetail :: Lens' PartitionError (Maybe ErrorDetail)+peErrorDetail = lens _peErrorDetail (\ s a -> s{_peErrorDetail = a});++instance FromJSON PartitionError where+        parseJSON+          = withObject "PartitionError"+              (\ x ->+                 PartitionError' <$>+                   (x .:? "PartitionValues" .!= mempty) <*>+                     (x .:? "ErrorDetail"))++instance Hashable PartitionError where++instance NFData PartitionError where++-- | The structure used to create and update a partion.+--+--+--+-- /See:/ 'partitionInput' smart constructor.+data PartitionInput = PartitionInput'+  { _piValues            :: !(Maybe [Text])+  , _piLastAnalyzedTime  :: !(Maybe POSIX)+  , _piStorageDescriptor :: !(Maybe StorageDescriptor)+  , _piParameters        :: !(Maybe (Map Text Text))+  , _piLastAccessTime    :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartitionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piValues' - The values of the partition.+--+-- * 'piLastAnalyzedTime' - The last time at which column statistics were computed for this partition.+--+-- * 'piStorageDescriptor' - Provides information about the physical location where the partition is stored.+--+-- * 'piParameters' - Partition parameters, in the form of a list of key-value pairs.+--+-- * 'piLastAccessTime' - The last time at which the partition was accessed.+partitionInput+    :: PartitionInput+partitionInput =+  PartitionInput'+  { _piValues = Nothing+  , _piLastAnalyzedTime = Nothing+  , _piStorageDescriptor = Nothing+  , _piParameters = Nothing+  , _piLastAccessTime = Nothing+  }+++-- | The values of the partition.+piValues :: Lens' PartitionInput [Text]+piValues = lens _piValues (\ s a -> s{_piValues = a}) . _Default . _Coerce;++-- | The last time at which column statistics were computed for this partition.+piLastAnalyzedTime :: Lens' PartitionInput (Maybe UTCTime)+piLastAnalyzedTime = lens _piLastAnalyzedTime (\ s a -> s{_piLastAnalyzedTime = a}) . mapping _Time;++-- | Provides information about the physical location where the partition is stored.+piStorageDescriptor :: Lens' PartitionInput (Maybe StorageDescriptor)+piStorageDescriptor = lens _piStorageDescriptor (\ s a -> s{_piStorageDescriptor = a});++-- | Partition parameters, in the form of a list of key-value pairs.+piParameters :: Lens' PartitionInput (HashMap Text Text)+piParameters = lens _piParameters (\ s a -> s{_piParameters = a}) . _Default . _Map;++-- | The last time at which the partition was accessed.+piLastAccessTime :: Lens' PartitionInput (Maybe UTCTime)+piLastAccessTime = lens _piLastAccessTime (\ s a -> s{_piLastAccessTime = a}) . mapping _Time;++instance Hashable PartitionInput where++instance NFData PartitionInput where++instance ToJSON PartitionInput where+        toJSON PartitionInput'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _piValues,+                  ("LastAnalyzedTime" .=) <$> _piLastAnalyzedTime,+                  ("StorageDescriptor" .=) <$> _piStorageDescriptor,+                  ("Parameters" .=) <$> _piParameters,+                  ("LastAccessTime" .=) <$> _piLastAccessTime])++-- | Contains a list of values defining partitions.+--+--+--+-- /See:/ 'partitionValueList' smart constructor.+newtype PartitionValueList = PartitionValueList'+  { _pvlValues :: [Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartitionValueList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvlValues' - The list of values.+partitionValueList+    :: PartitionValueList+partitionValueList = PartitionValueList' {_pvlValues = mempty}+++-- | The list of values.+pvlValues :: Lens' PartitionValueList [Text]+pvlValues = lens _pvlValues (\ s a -> s{_pvlValues = a}) . _Coerce;++instance FromJSON PartitionValueList where+        parseJSON+          = withObject "PartitionValueList"+              (\ x ->+                 PartitionValueList' <$> (x .:? "Values" .!= mempty))++instance Hashable PartitionValueList where++instance NFData PartitionValueList where++instance ToJSON PartitionValueList where+        toJSON PartitionValueList'{..}+          = object (catMaybes [Just ("Values" .= _pvlValues)])++-- | Specifies the physical requirements for a connection.+--+--+--+-- /See:/ 'physicalConnectionRequirements' smart constructor.+data PhysicalConnectionRequirements = PhysicalConnectionRequirements'+  { _pcrSecurityGroupIdList :: !(Maybe [Text])+  , _pcrSubnetId            :: !(Maybe Text)+  , _pcrAvailabilityZone    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PhysicalConnectionRequirements' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcrSecurityGroupIdList' - The security group ID list used by the connection.+--+-- * 'pcrSubnetId' - The subnet ID used by the connection.+--+-- * 'pcrAvailabilityZone' - The connection's availability zone.+physicalConnectionRequirements+    :: PhysicalConnectionRequirements+physicalConnectionRequirements =+  PhysicalConnectionRequirements'+  { _pcrSecurityGroupIdList = Nothing+  , _pcrSubnetId = Nothing+  , _pcrAvailabilityZone = Nothing+  }+++-- | The security group ID list used by the connection.+pcrSecurityGroupIdList :: Lens' PhysicalConnectionRequirements [Text]+pcrSecurityGroupIdList = lens _pcrSecurityGroupIdList (\ s a -> s{_pcrSecurityGroupIdList = a}) . _Default . _Coerce;++-- | The subnet ID used by the connection.+pcrSubnetId :: Lens' PhysicalConnectionRequirements (Maybe Text)+pcrSubnetId = lens _pcrSubnetId (\ s a -> s{_pcrSubnetId = a});++-- | The connection's availability zone.+pcrAvailabilityZone :: Lens' PhysicalConnectionRequirements (Maybe Text)+pcrAvailabilityZone = lens _pcrAvailabilityZone (\ s a -> s{_pcrAvailabilityZone = a});++instance FromJSON PhysicalConnectionRequirements+         where+        parseJSON+          = withObject "PhysicalConnectionRequirements"+              (\ x ->+                 PhysicalConnectionRequirements' <$>+                   (x .:? "SecurityGroupIdList" .!= mempty) <*>+                     (x .:? "SubnetId")+                     <*> (x .:? "AvailabilityZone"))++instance Hashable PhysicalConnectionRequirements+         where++instance NFData PhysicalConnectionRequirements where++instance ToJSON PhysicalConnectionRequirements where+        toJSON PhysicalConnectionRequirements'{..}+          = object+              (catMaybes+                 [("SecurityGroupIdList" .=) <$>+                    _pcrSecurityGroupIdList,+                  ("SubnetId" .=) <$> _pcrSubnetId,+                  ("AvailabilityZone" .=) <$> _pcrAvailabilityZone])++-- | A job run that preceded this one.+--+--+--+-- /See:/ 'predecessor' smart constructor.+data Predecessor = Predecessor'+  { _pJobName :: !(Maybe Text)+  , _pRunId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Predecessor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pJobName' - The name of the predecessor job.+--+-- * 'pRunId' - The job-run ID of the precessor job run.+predecessor+    :: Predecessor+predecessor = Predecessor' {_pJobName = Nothing, _pRunId = Nothing}+++-- | The name of the predecessor job.+pJobName :: Lens' Predecessor (Maybe Text)+pJobName = lens _pJobName (\ s a -> s{_pJobName = a});++-- | The job-run ID of the precessor job run.+pRunId :: Lens' Predecessor (Maybe Text)+pRunId = lens _pRunId (\ s a -> s{_pRunId = a});++instance FromJSON Predecessor where+        parseJSON+          = withObject "Predecessor"+              (\ x ->+                 Predecessor' <$>+                   (x .:? "JobName") <*> (x .:? "RunId"))++instance Hashable Predecessor where++instance NFData Predecessor where++-- | Defines the predicate of the trigger, which determines when it fires.+--+--+--+-- /See:/ 'predicate' smart constructor.+data Predicate = Predicate'+  { _pLogical    :: !(Maybe Logical)+  , _pConditions :: !(Maybe [Condition])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Predicate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pLogical' - Currently "OR" is not supported.+--+-- * 'pConditions' - A list of the conditions that determine when the trigger will fire.+predicate+    :: Predicate+predicate = Predicate' {_pLogical = Nothing, _pConditions = Nothing}+++-- | Currently "OR" is not supported.+pLogical :: Lens' Predicate (Maybe Logical)+pLogical = lens _pLogical (\ s a -> s{_pLogical = a});++-- | A list of the conditions that determine when the trigger will fire.+pConditions :: Lens' Predicate [Condition]+pConditions = lens _pConditions (\ s a -> s{_pConditions = a}) . _Default . _Coerce;++instance FromJSON Predicate where+        parseJSON+          = withObject "Predicate"+              (\ x ->+                 Predicate' <$>+                   (x .:? "Logical") <*>+                     (x .:? "Conditions" .!= mempty))++instance Hashable Predicate where++instance NFData Predicate where++instance ToJSON Predicate where+        toJSON Predicate'{..}+          = object+              (catMaybes+                 [("Logical" .=) <$> _pLogical,+                  ("Conditions" .=) <$> _pConditions])++-- | URIs for function resources.+--+--+--+-- /See:/ 'resourceURI' smart constructor.+data ResourceURI = ResourceURI'+  { _ruResourceType :: !(Maybe ResourceType)+  , _ruURI          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceURI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruResourceType' - The type of the resource.+--+-- * 'ruURI' - The URI for accessing the resource.+resourceURI+    :: ResourceURI+resourceURI = ResourceURI' {_ruResourceType = Nothing, _ruURI = Nothing}+++-- | The type of the resource.+ruResourceType :: Lens' ResourceURI (Maybe ResourceType)+ruResourceType = lens _ruResourceType (\ s a -> s{_ruResourceType = a});++-- | The URI for accessing the resource.+ruURI :: Lens' ResourceURI (Maybe Text)+ruURI = lens _ruURI (\ s a -> s{_ruURI = a});++instance FromJSON ResourceURI where+        parseJSON+          = withObject "ResourceURI"+              (\ x ->+                 ResourceURI' <$>+                   (x .:? "ResourceType") <*> (x .:? "Uri"))++instance Hashable ResourceURI where++instance NFData ResourceURI where++instance ToJSON ResourceURI where+        toJSON ResourceURI'{..}+          = object+              (catMaybes+                 [("ResourceType" .=) <$> _ruResourceType,+                  ("Uri" .=) <$> _ruURI])++-- | Specifies a crawler target in AWS S3.+--+--+--+-- /See:/ 's3Target' smart constructor.+data S3Target = S3Target'+  { _stPath       :: !(Maybe Text)+  , _stExclusions :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3Target' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stPath' - The path to the S3 target.+--+-- * 'stExclusions' - A list of S3 objects to exclude from the crawl.+s3Target+    :: S3Target+s3Target = S3Target' {_stPath = Nothing, _stExclusions = Nothing}+++-- | The path to the S3 target.+stPath :: Lens' S3Target (Maybe Text)+stPath = lens _stPath (\ s a -> s{_stPath = a});++-- | A list of S3 objects to exclude from the crawl.+stExclusions :: Lens' S3Target [Text]+stExclusions = lens _stExclusions (\ s a -> s{_stExclusions = a}) . _Default . _Coerce;++instance FromJSON S3Target where+        parseJSON+          = withObject "S3Target"+              (\ x ->+                 S3Target' <$>+                   (x .:? "Path") <*> (x .:? "Exclusions" .!= mempty))++instance Hashable S3Target where++instance NFData S3Target where++instance ToJSON S3Target where+        toJSON S3Target'{..}+          = object+              (catMaybes+                 [("Path" .=) <$> _stPath,+                  ("Exclusions" .=) <$> _stExclusions])++-- | A scheduling object using a @cron@ statement to schedule an event.+--+--+--+-- /See:/ 'schedule' smart constructor.+data Schedule = Schedule'+  { _sState              :: !(Maybe ScheduleState)+  , _sScheduleExpression :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Schedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sState' - The state of the schedule.+--+-- * 'sScheduleExpression' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+schedule+    :: Schedule+schedule = Schedule' {_sState = Nothing, _sScheduleExpression = Nothing}+++-- | The state of the schedule.+sState :: Lens' Schedule (Maybe ScheduleState)+sState = lens _sState (\ s a -> s{_sState = a});++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+sScheduleExpression :: Lens' Schedule (Maybe Text)+sScheduleExpression = lens _sScheduleExpression (\ s a -> s{_sScheduleExpression = a});++instance FromJSON Schedule where+        parseJSON+          = withObject "Schedule"+              (\ x ->+                 Schedule' <$>+                   (x .:? "State") <*> (x .:? "ScheduleExpression"))++instance Hashable Schedule where++instance NFData Schedule where++-- | Crawler policy for update and deletion behavior.+--+--+--+-- /See:/ 'schemaChangePolicy' smart constructor.+data SchemaChangePolicy = SchemaChangePolicy'+  { _scpDeleteBehavior :: !(Maybe DeleteBehavior)+  , _scpUpdateBehavior :: !(Maybe UpdateBehavior)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SchemaChangePolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scpDeleteBehavior' - The deletion behavior.+--+-- * 'scpUpdateBehavior' - The update behavior.+schemaChangePolicy+    :: SchemaChangePolicy+schemaChangePolicy =+  SchemaChangePolicy'+  {_scpDeleteBehavior = Nothing, _scpUpdateBehavior = Nothing}+++-- | The deletion behavior.+scpDeleteBehavior :: Lens' SchemaChangePolicy (Maybe DeleteBehavior)+scpDeleteBehavior = lens _scpDeleteBehavior (\ s a -> s{_scpDeleteBehavior = a});++-- | The update behavior.+scpUpdateBehavior :: Lens' SchemaChangePolicy (Maybe UpdateBehavior)+scpUpdateBehavior = lens _scpUpdateBehavior (\ s a -> s{_scpUpdateBehavior = a});++instance FromJSON SchemaChangePolicy where+        parseJSON+          = withObject "SchemaChangePolicy"+              (\ x ->+                 SchemaChangePolicy' <$>+                   (x .:? "DeleteBehavior") <*>+                     (x .:? "UpdateBehavior"))++instance Hashable SchemaChangePolicy where++instance NFData SchemaChangePolicy where++instance ToJSON SchemaChangePolicy where+        toJSON SchemaChangePolicy'{..}+          = object+              (catMaybes+                 [("DeleteBehavior" .=) <$> _scpDeleteBehavior,+                  ("UpdateBehavior" .=) <$> _scpUpdateBehavior])++-- | Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.+--+--+--+-- /See:/ 'segment' smart constructor.+data Segment = Segment'+  { _sSegmentNumber :: !Nat+  , _sTotalSegments :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Segment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sSegmentNumber' - The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.+--+-- * 'sTotalSegments' - The total numer of segments.+segment+    :: Natural -- ^ 'sSegmentNumber'+    -> Natural -- ^ 'sTotalSegments'+    -> Segment+segment pSegmentNumber_ pTotalSegments_ =+  Segment'+  { _sSegmentNumber = _Nat # pSegmentNumber_+  , _sTotalSegments = _Nat # pTotalSegments_+  }+++-- | The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.+sSegmentNumber :: Lens' Segment Natural+sSegmentNumber = lens _sSegmentNumber (\ s a -> s{_sSegmentNumber = a}) . _Nat;++-- | The total numer of segments.+sTotalSegments :: Lens' Segment Natural+sTotalSegments = lens _sTotalSegments (\ s a -> s{_sTotalSegments = a}) . _Nat;++instance Hashable Segment where++instance NFData Segment where++instance ToJSON Segment where+        toJSON Segment'{..}+          = object+              (catMaybes+                 [Just ("SegmentNumber" .= _sSegmentNumber),+                  Just ("TotalSegments" .= _sTotalSegments)])++-- | Information about a serialization/deserialization program (SerDe) which serves as an extractor and loader.+--+--+--+-- /See:/ 'serDeInfo' smart constructor.+data SerDeInfo = SerDeInfo'+  { _sdiSerializationLibrary :: !(Maybe Text)+  , _sdiName                 :: !(Maybe Text)+  , _sdiParameters           :: !(Maybe (Map Text Text))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SerDeInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiSerializationLibrary' - Usually the class that implements the SerDe. An example is: @org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe@ .+--+-- * 'sdiName' - Name of the SerDe.+--+-- * 'sdiParameters' - A list of initialization parameters for the SerDe, in key-value form.+serDeInfo+    :: SerDeInfo+serDeInfo =+  SerDeInfo'+  { _sdiSerializationLibrary = Nothing+  , _sdiName = Nothing+  , _sdiParameters = Nothing+  }+++-- | Usually the class that implements the SerDe. An example is: @org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe@ .+sdiSerializationLibrary :: Lens' SerDeInfo (Maybe Text)+sdiSerializationLibrary = lens _sdiSerializationLibrary (\ s a -> s{_sdiSerializationLibrary = a});++-- | Name of the SerDe.+sdiName :: Lens' SerDeInfo (Maybe Text)+sdiName = lens _sdiName (\ s a -> s{_sdiName = a});++-- | A list of initialization parameters for the SerDe, in key-value form.+sdiParameters :: Lens' SerDeInfo (HashMap Text Text)+sdiParameters = lens _sdiParameters (\ s a -> s{_sdiParameters = a}) . _Default . _Map;++instance FromJSON SerDeInfo where+        parseJSON+          = withObject "SerDeInfo"+              (\ x ->+                 SerDeInfo' <$>+                   (x .:? "SerializationLibrary") <*> (x .:? "Name") <*>+                     (x .:? "Parameters" .!= mempty))++instance Hashable SerDeInfo where++instance NFData SerDeInfo where++instance ToJSON SerDeInfo where+        toJSON SerDeInfo'{..}+          = object+              (catMaybes+                 [("SerializationLibrary" .=) <$>+                    _sdiSerializationLibrary,+                  ("Name" .=) <$> _sdiName,+                  ("Parameters" .=) <$> _sdiParameters])++-- | Specifies skewed values in a table. Skewed are ones that occur with very high frequency.+--+--+--+-- /See:/ 'skewedInfo' smart constructor.+data SkewedInfo = SkewedInfo'+  { _siSkewedColumnValueLocationMaps :: !(Maybe (Map Text Text))+  , _siSkewedColumnValues            :: !(Maybe [Text])+  , _siSkewedColumnNames             :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SkewedInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siSkewedColumnValueLocationMaps' - A mapping of skewed values to the columns that contain them.+--+-- * 'siSkewedColumnValues' - A list of values that appear so frequently as to be considered skewed.+--+-- * 'siSkewedColumnNames' - A list of names of columns that contain skewed values.+skewedInfo+    :: SkewedInfo+skewedInfo =+  SkewedInfo'+  { _siSkewedColumnValueLocationMaps = Nothing+  , _siSkewedColumnValues = Nothing+  , _siSkewedColumnNames = Nothing+  }+++-- | A mapping of skewed values to the columns that contain them.+siSkewedColumnValueLocationMaps :: Lens' SkewedInfo (HashMap Text Text)+siSkewedColumnValueLocationMaps = lens _siSkewedColumnValueLocationMaps (\ s a -> s{_siSkewedColumnValueLocationMaps = a}) . _Default . _Map;++-- | A list of values that appear so frequently as to be considered skewed.+siSkewedColumnValues :: Lens' SkewedInfo [Text]+siSkewedColumnValues = lens _siSkewedColumnValues (\ s a -> s{_siSkewedColumnValues = a}) . _Default . _Coerce;++-- | A list of names of columns that contain skewed values.+siSkewedColumnNames :: Lens' SkewedInfo [Text]+siSkewedColumnNames = lens _siSkewedColumnNames (\ s a -> s{_siSkewedColumnNames = a}) . _Default . _Coerce;++instance FromJSON SkewedInfo where+        parseJSON+          = withObject "SkewedInfo"+              (\ x ->+                 SkewedInfo' <$>+                   (x .:? "SkewedColumnValueLocationMaps" .!= mempty)+                     <*> (x .:? "SkewedColumnValues" .!= mempty)+                     <*> (x .:? "SkewedColumnNames" .!= mempty))++instance Hashable SkewedInfo where++instance NFData SkewedInfo where++instance ToJSON SkewedInfo where+        toJSON SkewedInfo'{..}+          = object+              (catMaybes+                 [("SkewedColumnValueLocationMaps" .=) <$>+                    _siSkewedColumnValueLocationMaps,+                  ("SkewedColumnValues" .=) <$> _siSkewedColumnValues,+                  ("SkewedColumnNames" .=) <$> _siSkewedColumnNames])++-- | Describes the physical storage of table data.+--+--+--+-- /See:/ 'storageDescriptor' smart constructor.+data StorageDescriptor = StorageDescriptor'+  { _sdSortColumns            :: !(Maybe [Order])+  , _sdCompressed             :: !(Maybe Bool)+  , _sdLocation               :: !(Maybe Text)+  , _sdBucketColumns          :: !(Maybe [Text])+  , _sdSerdeInfo              :: !(Maybe SerDeInfo)+  , _sdOutputFormat           :: !(Maybe Text)+  , _sdNumberOfBuckets        :: !(Maybe Int)+  , _sdStoredAsSubDirectories :: !(Maybe Bool)+  , _sdParameters             :: !(Maybe (Map Text Text))+  , _sdInputFormat            :: !(Maybe Text)+  , _sdSkewedInfo             :: !(Maybe SkewedInfo)+  , _sdColumns                :: !(Maybe [Column])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StorageDescriptor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdSortColumns' - A list specifying the sort order of each bucket in the table.+--+-- * 'sdCompressed' - True if the data in the table is compressed, or False if not.+--+-- * 'sdLocation' - The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.+--+-- * 'sdBucketColumns' - A list of reducer grouping columns, clustering columns, and bucketing columns in the table.+--+-- * 'sdSerdeInfo' - Serialization/deserialization (SerDe) information.+--+-- * 'sdOutputFormat' - The output format: @SequenceFileOutputFormat@ (binary), or @IgnoreKeyTextOutputFormat@ , or a custom format.+--+-- * 'sdNumberOfBuckets' - Must be specified if the table contains any dimension columns.+--+-- * 'sdStoredAsSubDirectories' - True if the table data is stored in subdirectories, or False if not.+--+-- * 'sdParameters' - User-supplied properties in key-value form.+--+-- * 'sdInputFormat' - The input format: @SequenceFileInputFormat@ (binary), or @TextInputFormat@ , or a custom format.+--+-- * 'sdSkewedInfo' - Information about values that appear very frequently in a column (skewed values).+--+-- * 'sdColumns' - A list of the @Columns@ in the table.+storageDescriptor+    :: StorageDescriptor+storageDescriptor =+  StorageDescriptor'+  { _sdSortColumns = Nothing+  , _sdCompressed = Nothing+  , _sdLocation = Nothing+  , _sdBucketColumns = Nothing+  , _sdSerdeInfo = Nothing+  , _sdOutputFormat = Nothing+  , _sdNumberOfBuckets = Nothing+  , _sdStoredAsSubDirectories = Nothing+  , _sdParameters = Nothing+  , _sdInputFormat = Nothing+  , _sdSkewedInfo = Nothing+  , _sdColumns = Nothing+  }+++-- | A list specifying the sort order of each bucket in the table.+sdSortColumns :: Lens' StorageDescriptor [Order]+sdSortColumns = lens _sdSortColumns (\ s a -> s{_sdSortColumns = a}) . _Default . _Coerce;++-- | True if the data in the table is compressed, or False if not.+sdCompressed :: Lens' StorageDescriptor (Maybe Bool)+sdCompressed = lens _sdCompressed (\ s a -> s{_sdCompressed = a});++-- | The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.+sdLocation :: Lens' StorageDescriptor (Maybe Text)+sdLocation = lens _sdLocation (\ s a -> s{_sdLocation = a});++-- | A list of reducer grouping columns, clustering columns, and bucketing columns in the table.+sdBucketColumns :: Lens' StorageDescriptor [Text]+sdBucketColumns = lens _sdBucketColumns (\ s a -> s{_sdBucketColumns = a}) . _Default . _Coerce;++-- | Serialization/deserialization (SerDe) information.+sdSerdeInfo :: Lens' StorageDescriptor (Maybe SerDeInfo)+sdSerdeInfo = lens _sdSerdeInfo (\ s a -> s{_sdSerdeInfo = a});++-- | The output format: @SequenceFileOutputFormat@ (binary), or @IgnoreKeyTextOutputFormat@ , or a custom format.+sdOutputFormat :: Lens' StorageDescriptor (Maybe Text)+sdOutputFormat = lens _sdOutputFormat (\ s a -> s{_sdOutputFormat = a});++-- | Must be specified if the table contains any dimension columns.+sdNumberOfBuckets :: Lens' StorageDescriptor (Maybe Int)+sdNumberOfBuckets = lens _sdNumberOfBuckets (\ s a -> s{_sdNumberOfBuckets = a});++-- | True if the table data is stored in subdirectories, or False if not.+sdStoredAsSubDirectories :: Lens' StorageDescriptor (Maybe Bool)+sdStoredAsSubDirectories = lens _sdStoredAsSubDirectories (\ s a -> s{_sdStoredAsSubDirectories = a});++-- | User-supplied properties in key-value form.+sdParameters :: Lens' StorageDescriptor (HashMap Text Text)+sdParameters = lens _sdParameters (\ s a -> s{_sdParameters = a}) . _Default . _Map;++-- | The input format: @SequenceFileInputFormat@ (binary), or @TextInputFormat@ , or a custom format.+sdInputFormat :: Lens' StorageDescriptor (Maybe Text)+sdInputFormat = lens _sdInputFormat (\ s a -> s{_sdInputFormat = a});++-- | Information about values that appear very frequently in a column (skewed values).+sdSkewedInfo :: Lens' StorageDescriptor (Maybe SkewedInfo)+sdSkewedInfo = lens _sdSkewedInfo (\ s a -> s{_sdSkewedInfo = a});++-- | A list of the @Columns@ in the table.+sdColumns :: Lens' StorageDescriptor [Column]+sdColumns = lens _sdColumns (\ s a -> s{_sdColumns = a}) . _Default . _Coerce;++instance FromJSON StorageDescriptor where+        parseJSON+          = withObject "StorageDescriptor"+              (\ x ->+                 StorageDescriptor' <$>+                   (x .:? "SortColumns" .!= mempty) <*>+                     (x .:? "Compressed")+                     <*> (x .:? "Location")+                     <*> (x .:? "BucketColumns" .!= mempty)+                     <*> (x .:? "SerdeInfo")+                     <*> (x .:? "OutputFormat")+                     <*> (x .:? "NumberOfBuckets")+                     <*> (x .:? "StoredAsSubDirectories")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "InputFormat")+                     <*> (x .:? "SkewedInfo")+                     <*> (x .:? "Columns" .!= mempty))++instance Hashable StorageDescriptor where++instance NFData StorageDescriptor where++instance ToJSON StorageDescriptor where+        toJSON StorageDescriptor'{..}+          = object+              (catMaybes+                 [("SortColumns" .=) <$> _sdSortColumns,+                  ("Compressed" .=) <$> _sdCompressed,+                  ("Location" .=) <$> _sdLocation,+                  ("BucketColumns" .=) <$> _sdBucketColumns,+                  ("SerdeInfo" .=) <$> _sdSerdeInfo,+                  ("OutputFormat" .=) <$> _sdOutputFormat,+                  ("NumberOfBuckets" .=) <$> _sdNumberOfBuckets,+                  ("StoredAsSubDirectories" .=) <$>+                    _sdStoredAsSubDirectories,+                  ("Parameters" .=) <$> _sdParameters,+                  ("InputFormat" .=) <$> _sdInputFormat,+                  ("SkewedInfo" .=) <$> _sdSkewedInfo,+                  ("Columns" .=) <$> _sdColumns])++-- | Represents a collection of related data organized in columns and rows.+--+--+--+-- /See:/ 'table' smart constructor.+data Table = Table'+  { _tRetention         :: !(Maybe Nat)+  , _tCreatedBy         :: !(Maybe Text)+  , _tTableType         :: !(Maybe Text)+  , _tOwner             :: !(Maybe Text)+  , _tViewOriginalText  :: !(Maybe Text)+  , _tUpdateTime        :: !(Maybe POSIX)+  , _tViewExpandedText  :: !(Maybe Text)+  , _tLastAnalyzedTime  :: !(Maybe POSIX)+  , _tStorageDescriptor :: !(Maybe StorageDescriptor)+  , _tDatabaseName      :: !(Maybe Text)+  , _tParameters        :: !(Maybe (Map Text Text))+  , _tLastAccessTime    :: !(Maybe POSIX)+  , _tDescription       :: !(Maybe Text)+  , _tPartitionKeys     :: !(Maybe [Column])+  , _tCreateTime        :: !(Maybe POSIX)+  , _tName              :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Table' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tRetention' - Retention time for this table.+--+-- * 'tCreatedBy' - Person or entity who created the table.+--+-- * 'tTableType' - The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+--+-- * 'tOwner' - Owner of the table.+--+-- * 'tViewOriginalText' - If the table is a view, the original text of the view; otherwise @null@ .+--+-- * 'tUpdateTime' - Last time the table was updated.+--+-- * 'tViewExpandedText' - If the table is a view, the expanded text of the view; otherwise @null@ .+--+-- * 'tLastAnalyzedTime' - Last time column statistics were computed for this table.+--+-- * 'tStorageDescriptor' - A storage descriptor containing information about the physical storage of this table.+--+-- * 'tDatabaseName' - Name of the metadata database where the table metadata resides.+--+-- * 'tParameters' - Properties associated with this table, as a list of key-value pairs.+--+-- * 'tLastAccessTime' - Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.+--+-- * 'tDescription' - Description of the table.+--+-- * 'tPartitionKeys' - A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+--+-- * 'tCreateTime' - Time when the table definition was created in the Data Catalog.+--+-- * 'tName' - Name of the table.+table+    :: Text -- ^ 'tName'+    -> Table+table pName_ =+  Table'+  { _tRetention = Nothing+  , _tCreatedBy = Nothing+  , _tTableType = Nothing+  , _tOwner = Nothing+  , _tViewOriginalText = Nothing+  , _tUpdateTime = Nothing+  , _tViewExpandedText = Nothing+  , _tLastAnalyzedTime = Nothing+  , _tStorageDescriptor = Nothing+  , _tDatabaseName = Nothing+  , _tParameters = Nothing+  , _tLastAccessTime = Nothing+  , _tDescription = Nothing+  , _tPartitionKeys = Nothing+  , _tCreateTime = Nothing+  , _tName = pName_+  }+++-- | Retention time for this table.+tRetention :: Lens' Table (Maybe Natural)+tRetention = lens _tRetention (\ s a -> s{_tRetention = a}) . mapping _Nat;++-- | Person or entity who created the table.+tCreatedBy :: Lens' Table (Maybe Text)+tCreatedBy = lens _tCreatedBy (\ s a -> s{_tCreatedBy = a});++-- | The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+tTableType :: Lens' Table (Maybe Text)+tTableType = lens _tTableType (\ s a -> s{_tTableType = a});++-- | Owner of the table.+tOwner :: Lens' Table (Maybe Text)+tOwner = lens _tOwner (\ s a -> s{_tOwner = a});++-- | If the table is a view, the original text of the view; otherwise @null@ .+tViewOriginalText :: Lens' Table (Maybe Text)+tViewOriginalText = lens _tViewOriginalText (\ s a -> s{_tViewOriginalText = a});++-- | Last time the table was updated.+tUpdateTime :: Lens' Table (Maybe UTCTime)+tUpdateTime = lens _tUpdateTime (\ s a -> s{_tUpdateTime = a}) . mapping _Time;++-- | If the table is a view, the expanded text of the view; otherwise @null@ .+tViewExpandedText :: Lens' Table (Maybe Text)+tViewExpandedText = lens _tViewExpandedText (\ s a -> s{_tViewExpandedText = a});++-- | Last time column statistics were computed for this table.+tLastAnalyzedTime :: Lens' Table (Maybe UTCTime)+tLastAnalyzedTime = lens _tLastAnalyzedTime (\ s a -> s{_tLastAnalyzedTime = a}) . mapping _Time;++-- | A storage descriptor containing information about the physical storage of this table.+tStorageDescriptor :: Lens' Table (Maybe StorageDescriptor)+tStorageDescriptor = lens _tStorageDescriptor (\ s a -> s{_tStorageDescriptor = a});++-- | Name of the metadata database where the table metadata resides.+tDatabaseName :: Lens' Table (Maybe Text)+tDatabaseName = lens _tDatabaseName (\ s a -> s{_tDatabaseName = a});++-- | Properties associated with this table, as a list of key-value pairs.+tParameters :: Lens' Table (HashMap Text Text)+tParameters = lens _tParameters (\ s a -> s{_tParameters = a}) . _Default . _Map;++-- | Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.+tLastAccessTime :: Lens' Table (Maybe UTCTime)+tLastAccessTime = lens _tLastAccessTime (\ s a -> s{_tLastAccessTime = a}) . mapping _Time;++-- | Description of the table.+tDescription :: Lens' Table (Maybe Text)+tDescription = lens _tDescription (\ s a -> s{_tDescription = a});++-- | A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+tPartitionKeys :: Lens' Table [Column]+tPartitionKeys = lens _tPartitionKeys (\ s a -> s{_tPartitionKeys = a}) . _Default . _Coerce;++-- | Time when the table definition was created in the Data Catalog.+tCreateTime :: Lens' Table (Maybe UTCTime)+tCreateTime = lens _tCreateTime (\ s a -> s{_tCreateTime = a}) . mapping _Time;++-- | Name of the table.+tName :: Lens' Table Text+tName = lens _tName (\ s a -> s{_tName = a});++instance FromJSON Table where+        parseJSON+          = withObject "Table"+              (\ x ->+                 Table' <$>+                   (x .:? "Retention") <*> (x .:? "CreatedBy") <*>+                     (x .:? "TableType")+                     <*> (x .:? "Owner")+                     <*> (x .:? "ViewOriginalText")+                     <*> (x .:? "UpdateTime")+                     <*> (x .:? "ViewExpandedText")+                     <*> (x .:? "LastAnalyzedTime")+                     <*> (x .:? "StorageDescriptor")+                     <*> (x .:? "DatabaseName")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "LastAccessTime")+                     <*> (x .:? "Description")+                     <*> (x .:? "PartitionKeys" .!= mempty)+                     <*> (x .:? "CreateTime")+                     <*> (x .: "Name"))++instance Hashable Table where++instance NFData Table where++-- | An error record for table operations.+--+--+--+-- /See:/ 'tableError' smart constructor.+data TableError = TableError'+  { _teTableName   :: !(Maybe Text)+  , _teErrorDetail :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'teTableName' - Name of the table.+--+-- * 'teErrorDetail' - Detail about the error.+tableError+    :: TableError+tableError = TableError' {_teTableName = Nothing, _teErrorDetail = Nothing}+++-- | Name of the table.+teTableName :: Lens' TableError (Maybe Text)+teTableName = lens _teTableName (\ s a -> s{_teTableName = a});++-- | Detail about the error.+teErrorDetail :: Lens' TableError (Maybe ErrorDetail)+teErrorDetail = lens _teErrorDetail (\ s a -> s{_teErrorDetail = a});++instance FromJSON TableError where+        parseJSON+          = withObject "TableError"+              (\ x ->+                 TableError' <$>+                   (x .:? "TableName") <*> (x .:? "ErrorDetail"))++instance Hashable TableError where++instance NFData TableError where++-- | Structure used to create or update the table.+--+--+--+-- /See:/ 'tableInput' smart constructor.+data TableInput = TableInput'+  { _tiRetention         :: !(Maybe Nat)+  , _tiTableType         :: !(Maybe Text)+  , _tiOwner             :: !(Maybe Text)+  , _tiViewOriginalText  :: !(Maybe Text)+  , _tiViewExpandedText  :: !(Maybe Text)+  , _tiLastAnalyzedTime  :: !(Maybe POSIX)+  , _tiStorageDescriptor :: !(Maybe StorageDescriptor)+  , _tiParameters        :: !(Maybe (Map Text Text))+  , _tiLastAccessTime    :: !(Maybe POSIX)+  , _tiDescription       :: !(Maybe Text)+  , _tiPartitionKeys     :: !(Maybe [Column])+  , _tiName              :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiRetention' - Retention time for this table.+--+-- * 'tiTableType' - The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+--+-- * 'tiOwner' - Owner of the table.+--+-- * 'tiViewOriginalText' - If the table is a view, the original text of the view; otherwise @null@ .+--+-- * 'tiViewExpandedText' - If the table is a view, the expanded text of the view; otherwise @null@ .+--+-- * 'tiLastAnalyzedTime' - Last time column statistics were computed for this table.+--+-- * 'tiStorageDescriptor' - A storage descriptor containing information about the physical storage of this table.+--+-- * 'tiParameters' - Properties associated with this table, as a list of key-value pairs.+--+-- * 'tiLastAccessTime' - Last time the table was accessed.+--+-- * 'tiDescription' - Description of the table.+--+-- * 'tiPartitionKeys' - A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+--+-- * 'tiName' - Name of the table.+tableInput+    :: Text -- ^ 'tiName'+    -> TableInput+tableInput pName_ =+  TableInput'+  { _tiRetention = Nothing+  , _tiTableType = Nothing+  , _tiOwner = Nothing+  , _tiViewOriginalText = Nothing+  , _tiViewExpandedText = Nothing+  , _tiLastAnalyzedTime = Nothing+  , _tiStorageDescriptor = Nothing+  , _tiParameters = Nothing+  , _tiLastAccessTime = Nothing+  , _tiDescription = Nothing+  , _tiPartitionKeys = Nothing+  , _tiName = pName_+  }+++-- | Retention time for this table.+tiRetention :: Lens' TableInput (Maybe Natural)+tiRetention = lens _tiRetention (\ s a -> s{_tiRetention = a}) . mapping _Nat;++-- | The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+tiTableType :: Lens' TableInput (Maybe Text)+tiTableType = lens _tiTableType (\ s a -> s{_tiTableType = a});++-- | Owner of the table.+tiOwner :: Lens' TableInput (Maybe Text)+tiOwner = lens _tiOwner (\ s a -> s{_tiOwner = a});++-- | If the table is a view, the original text of the view; otherwise @null@ .+tiViewOriginalText :: Lens' TableInput (Maybe Text)+tiViewOriginalText = lens _tiViewOriginalText (\ s a -> s{_tiViewOriginalText = a});++-- | If the table is a view, the expanded text of the view; otherwise @null@ .+tiViewExpandedText :: Lens' TableInput (Maybe Text)+tiViewExpandedText = lens _tiViewExpandedText (\ s a -> s{_tiViewExpandedText = a});++-- | Last time column statistics were computed for this table.+tiLastAnalyzedTime :: Lens' TableInput (Maybe UTCTime)+tiLastAnalyzedTime = lens _tiLastAnalyzedTime (\ s a -> s{_tiLastAnalyzedTime = a}) . mapping _Time;++-- | A storage descriptor containing information about the physical storage of this table.+tiStorageDescriptor :: Lens' TableInput (Maybe StorageDescriptor)+tiStorageDescriptor = lens _tiStorageDescriptor (\ s a -> s{_tiStorageDescriptor = a});++-- | Properties associated with this table, as a list of key-value pairs.+tiParameters :: Lens' TableInput (HashMap Text Text)+tiParameters = lens _tiParameters (\ s a -> s{_tiParameters = a}) . _Default . _Map;++-- | Last time the table was accessed.+tiLastAccessTime :: Lens' TableInput (Maybe UTCTime)+tiLastAccessTime = lens _tiLastAccessTime (\ s a -> s{_tiLastAccessTime = a}) . mapping _Time;++-- | Description of the table.+tiDescription :: Lens' TableInput (Maybe Text)+tiDescription = lens _tiDescription (\ s a -> s{_tiDescription = a});++-- | A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+tiPartitionKeys :: Lens' TableInput [Column]+tiPartitionKeys = lens _tiPartitionKeys (\ s a -> s{_tiPartitionKeys = a}) . _Default . _Coerce;++-- | Name of the table.+tiName :: Lens' TableInput Text+tiName = lens _tiName (\ s a -> s{_tiName = a});++instance Hashable TableInput where++instance NFData TableInput where++instance ToJSON TableInput where+        toJSON TableInput'{..}+          = object+              (catMaybes+                 [("Retention" .=) <$> _tiRetention,+                  ("TableType" .=) <$> _tiTableType,+                  ("Owner" .=) <$> _tiOwner,+                  ("ViewOriginalText" .=) <$> _tiViewOriginalText,+                  ("ViewExpandedText" .=) <$> _tiViewExpandedText,+                  ("LastAnalyzedTime" .=) <$> _tiLastAnalyzedTime,+                  ("StorageDescriptor" .=) <$> _tiStorageDescriptor,+                  ("Parameters" .=) <$> _tiParameters,+                  ("LastAccessTime" .=) <$> _tiLastAccessTime,+                  ("Description" .=) <$> _tiDescription,+                  ("PartitionKeys" .=) <$> _tiPartitionKeys,+                  Just ("Name" .= _tiName)])++-- | Specifies a version of a table.+--+--+--+-- /See:/ 'tableVersion' smart constructor.+data TableVersion = TableVersion'+  { _tvVersionId :: !(Maybe Text)+  , _tvTable     :: !(Maybe Table)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvVersionId' - The ID value that identifies this table version.+--+-- * 'tvTable' - The table in question+tableVersion+    :: TableVersion+tableVersion = TableVersion' {_tvVersionId = Nothing, _tvTable = Nothing}+++-- | The ID value that identifies this table version.+tvVersionId :: Lens' TableVersion (Maybe Text)+tvVersionId = lens _tvVersionId (\ s a -> s{_tvVersionId = a});++-- | The table in question+tvTable :: Lens' TableVersion (Maybe Table)+tvTable = lens _tvTable (\ s a -> s{_tvTable = a});++instance FromJSON TableVersion where+        parseJSON+          = withObject "TableVersion"+              (\ x ->+                 TableVersion' <$>+                   (x .:? "VersionId") <*> (x .:? "Table"))++instance Hashable TableVersion where++instance NFData TableVersion where++-- | Information about a specific trigger.+--+--+--+-- /See:/ 'trigger' smart constructor.+data Trigger = Trigger'+  { _triState       :: !(Maybe TriggerState)+  , _triActions     :: !(Maybe [Action])+  , _triSchedule    :: !(Maybe Text)+  , _triPredicate   :: !(Maybe Predicate)+  , _triName        :: !(Maybe Text)+  , _triId          :: !(Maybe Text)+  , _triType        :: !(Maybe TriggerType)+  , _triDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Trigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'triState' - The current state of the trigger.+--+-- * 'triActions' - The actions initiated by this trigger.+--+-- * 'triSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'triPredicate' - The predicate of this trigger.+--+-- * 'triName' - Name of the trigger.+--+-- * 'triId' - The trigger ID.+--+-- * 'triType' - The type of trigger that this is.+--+-- * 'triDescription' - A description of this trigger.+trigger+    :: Trigger+trigger =+  Trigger'+  { _triState = Nothing+  , _triActions = Nothing+  , _triSchedule = Nothing+  , _triPredicate = Nothing+  , _triName = Nothing+  , _triId = Nothing+  , _triType = Nothing+  , _triDescription = Nothing+  }+++-- | The current state of the trigger.+triState :: Lens' Trigger (Maybe TriggerState)+triState = lens _triState (\ s a -> s{_triState = a});++-- | The actions initiated by this trigger.+triActions :: Lens' Trigger [Action]+triActions = lens _triActions (\ s a -> s{_triActions = a}) . _Default . _Coerce;++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+triSchedule :: Lens' Trigger (Maybe Text)+triSchedule = lens _triSchedule (\ s a -> s{_triSchedule = a});++-- | The predicate of this trigger.+triPredicate :: Lens' Trigger (Maybe Predicate)+triPredicate = lens _triPredicate (\ s a -> s{_triPredicate = a});++-- | Name of the trigger.+triName :: Lens' Trigger (Maybe Text)+triName = lens _triName (\ s a -> s{_triName = a});++-- | The trigger ID.+triId :: Lens' Trigger (Maybe Text)+triId = lens _triId (\ s a -> s{_triId = a});++-- | The type of trigger that this is.+triType :: Lens' Trigger (Maybe TriggerType)+triType = lens _triType (\ s a -> s{_triType = a});++-- | A description of this trigger.+triDescription :: Lens' Trigger (Maybe Text)+triDescription = lens _triDescription (\ s a -> s{_triDescription = a});++instance FromJSON Trigger where+        parseJSON+          = withObject "Trigger"+              (\ x ->+                 Trigger' <$>+                   (x .:? "State") <*> (x .:? "Actions" .!= mempty) <*>+                     (x .:? "Schedule")+                     <*> (x .:? "Predicate")+                     <*> (x .:? "Name")+                     <*> (x .:? "Id")+                     <*> (x .:? "Type")+                     <*> (x .:? "Description"))++instance Hashable Trigger where++instance NFData Trigger where++-- | A structure used to provide information used to updata a trigger.+--+--+--+-- /See:/ 'triggerUpdate' smart constructor.+data TriggerUpdate = TriggerUpdate'+  { _tuActions     :: !(Maybe [Action])+  , _tuSchedule    :: !(Maybe Text)+  , _tuPredicate   :: !(Maybe Predicate)+  , _tuName        :: !(Maybe Text)+  , _tuDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TriggerUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tuActions' - The actions initiated by this trigger.+--+-- * 'tuSchedule' - An updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'tuPredicate' - The predicate of this trigger, which defines when it will fire.+--+-- * 'tuName' - The name of the trigger.+--+-- * 'tuDescription' - A description of this trigger.+triggerUpdate+    :: TriggerUpdate+triggerUpdate =+  TriggerUpdate'+  { _tuActions = Nothing+  , _tuSchedule = Nothing+  , _tuPredicate = Nothing+  , _tuName = Nothing+  , _tuDescription = Nothing+  }+++-- | The actions initiated by this trigger.+tuActions :: Lens' TriggerUpdate [Action]+tuActions = lens _tuActions (\ s a -> s{_tuActions = a}) . _Default . _Coerce;++-- | An updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+tuSchedule :: Lens' TriggerUpdate (Maybe Text)+tuSchedule = lens _tuSchedule (\ s a -> s{_tuSchedule = a});++-- | The predicate of this trigger, which defines when it will fire.+tuPredicate :: Lens' TriggerUpdate (Maybe Predicate)+tuPredicate = lens _tuPredicate (\ s a -> s{_tuPredicate = a});++-- | The name of the trigger.+tuName :: Lens' TriggerUpdate (Maybe Text)+tuName = lens _tuName (\ s a -> s{_tuName = a});++-- | A description of this trigger.+tuDescription :: Lens' TriggerUpdate (Maybe Text)+tuDescription = lens _tuDescription (\ s a -> s{_tuDescription = a});++instance Hashable TriggerUpdate where++instance NFData TriggerUpdate where++instance ToJSON TriggerUpdate where+        toJSON TriggerUpdate'{..}+          = object+              (catMaybes+                 [("Actions" .=) <$> _tuActions,+                  ("Schedule" .=) <$> _tuSchedule,+                  ("Predicate" .=) <$> _tuPredicate,+                  ("Name" .=) <$> _tuName,+                  ("Description" .=) <$> _tuDescription])++-- | Specifies a Grok classifier to update when passed to UpdateClassifier.+--+--+--+-- /See:/ 'updateGrokClassifierRequest' smart constructor.+data UpdateGrokClassifierRequest = UpdateGrokClassifierRequest'+  { _ugcrClassification :: !(Maybe Text)+  , _ugcrCustomPatterns :: !(Maybe Text)+  , _ugcrGrokPattern    :: !(Maybe Text)+  , _ugcrName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGrokClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugcrClassification' - The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.+--+-- * 'ugcrCustomPatterns' - Custom grok patterns used by this classifier.+--+-- * 'ugcrGrokPattern' - The grok pattern used by this classifier.+--+-- * 'ugcrName' - The name of the @GrokClassifier@ .+updateGrokClassifierRequest+    :: Text -- ^ 'ugcrName'+    -> UpdateGrokClassifierRequest+updateGrokClassifierRequest pName_ =+  UpdateGrokClassifierRequest'+  { _ugcrClassification = Nothing+  , _ugcrCustomPatterns = Nothing+  , _ugcrGrokPattern = Nothing+  , _ugcrName = pName_+  }+++-- | The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.+ugcrClassification :: Lens' UpdateGrokClassifierRequest (Maybe Text)+ugcrClassification = lens _ugcrClassification (\ s a -> s{_ugcrClassification = a});++-- | Custom grok patterns used by this classifier.+ugcrCustomPatterns :: Lens' UpdateGrokClassifierRequest (Maybe Text)+ugcrCustomPatterns = lens _ugcrCustomPatterns (\ s a -> s{_ugcrCustomPatterns = a});++-- | The grok pattern used by this classifier.+ugcrGrokPattern :: Lens' UpdateGrokClassifierRequest (Maybe Text)+ugcrGrokPattern = lens _ugcrGrokPattern (\ s a -> s{_ugcrGrokPattern = a});++-- | The name of the @GrokClassifier@ .+ugcrName :: Lens' UpdateGrokClassifierRequest Text+ugcrName = lens _ugcrName (\ s a -> s{_ugcrName = a});++instance Hashable UpdateGrokClassifierRequest where++instance NFData UpdateGrokClassifierRequest where++instance ToJSON UpdateGrokClassifierRequest where+        toJSON UpdateGrokClassifierRequest'{..}+          = object+              (catMaybes+                 [("Classification" .=) <$> _ugcrClassification,+                  ("CustomPatterns" .=) <$> _ugcrCustomPatterns,+                  ("GrokPattern" .=) <$> _ugcrGrokPattern,+                  Just ("Name" .= _ugcrName)])++-- | Represents the equivalent of a Hive user-defined function (@UDF@ ) definition.+--+--+--+-- /See:/ 'userDefinedFunction' smart constructor.+data UserDefinedFunction = UserDefinedFunction'+  { _udfOwnerName    :: !(Maybe Text)+  , _udfResourceURIs :: !(Maybe [ResourceURI])+  , _udfFunctionName :: !(Maybe Text)+  , _udfOwnerType    :: !(Maybe PrincipalType)+  , _udfCreateTime   :: !(Maybe POSIX)+  , _udfClassName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserDefinedFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udfOwnerName' - The owner of the function.+--+-- * 'udfResourceURIs' - The resource URIs for the function.+--+-- * 'udfFunctionName' - The name of the function.+--+-- * 'udfOwnerType' - The owner type.+--+-- * 'udfCreateTime' - The time at which the function was created.+--+-- * 'udfClassName' - The Java class that contains the function code.+userDefinedFunction+    :: UserDefinedFunction+userDefinedFunction =+  UserDefinedFunction'+  { _udfOwnerName = Nothing+  , _udfResourceURIs = Nothing+  , _udfFunctionName = Nothing+  , _udfOwnerType = Nothing+  , _udfCreateTime = Nothing+  , _udfClassName = Nothing+  }+++-- | The owner of the function.+udfOwnerName :: Lens' UserDefinedFunction (Maybe Text)+udfOwnerName = lens _udfOwnerName (\ s a -> s{_udfOwnerName = a});++-- | The resource URIs for the function.+udfResourceURIs :: Lens' UserDefinedFunction [ResourceURI]+udfResourceURIs = lens _udfResourceURIs (\ s a -> s{_udfResourceURIs = a}) . _Default . _Coerce;++-- | The name of the function.+udfFunctionName :: Lens' UserDefinedFunction (Maybe Text)+udfFunctionName = lens _udfFunctionName (\ s a -> s{_udfFunctionName = a});++-- | The owner type.+udfOwnerType :: Lens' UserDefinedFunction (Maybe PrincipalType)+udfOwnerType = lens _udfOwnerType (\ s a -> s{_udfOwnerType = a});++-- | The time at which the function was created.+udfCreateTime :: Lens' UserDefinedFunction (Maybe UTCTime)+udfCreateTime = lens _udfCreateTime (\ s a -> s{_udfCreateTime = a}) . mapping _Time;++-- | The Java class that contains the function code.+udfClassName :: Lens' UserDefinedFunction (Maybe Text)+udfClassName = lens _udfClassName (\ s a -> s{_udfClassName = a});++instance FromJSON UserDefinedFunction where+        parseJSON+          = withObject "UserDefinedFunction"+              (\ x ->+                 UserDefinedFunction' <$>+                   (x .:? "OwnerName") <*>+                     (x .:? "ResourceUris" .!= mempty)+                     <*> (x .:? "FunctionName")+                     <*> (x .:? "OwnerType")+                     <*> (x .:? "CreateTime")+                     <*> (x .:? "ClassName"))++instance Hashable UserDefinedFunction where++instance NFData UserDefinedFunction where++-- | A structure used to create or updata a user-defined function.+--+--+--+-- /See:/ 'userDefinedFunctionInput' smart constructor.+data UserDefinedFunctionInput = UserDefinedFunctionInput'+  { _udfiOwnerName    :: !(Maybe Text)+  , _udfiResourceURIs :: !(Maybe [ResourceURI])+  , _udfiFunctionName :: !(Maybe Text)+  , _udfiOwnerType    :: !(Maybe PrincipalType)+  , _udfiClassName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserDefinedFunctionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udfiOwnerName' - The owner of the function.+--+-- * 'udfiResourceURIs' - The resource URIs for the function.+--+-- * 'udfiFunctionName' - The name of the function.+--+-- * 'udfiOwnerType' - The owner type.+--+-- * 'udfiClassName' - The Java class that contains the function code.+userDefinedFunctionInput+    :: UserDefinedFunctionInput+userDefinedFunctionInput =+  UserDefinedFunctionInput'+  { _udfiOwnerName = Nothing+  , _udfiResourceURIs = Nothing+  , _udfiFunctionName = Nothing+  , _udfiOwnerType = Nothing+  , _udfiClassName = Nothing+  }+++-- | The owner of the function.+udfiOwnerName :: Lens' UserDefinedFunctionInput (Maybe Text)+udfiOwnerName = lens _udfiOwnerName (\ s a -> s{_udfiOwnerName = a});++-- | The resource URIs for the function.+udfiResourceURIs :: Lens' UserDefinedFunctionInput [ResourceURI]+udfiResourceURIs = lens _udfiResourceURIs (\ s a -> s{_udfiResourceURIs = a}) . _Default . _Coerce;++-- | The name of the function.+udfiFunctionName :: Lens' UserDefinedFunctionInput (Maybe Text)+udfiFunctionName = lens _udfiFunctionName (\ s a -> s{_udfiFunctionName = a});++-- | The owner type.+udfiOwnerType :: Lens' UserDefinedFunctionInput (Maybe PrincipalType)+udfiOwnerType = lens _udfiOwnerType (\ s a -> s{_udfiOwnerType = a});++-- | The Java class that contains the function code.+udfiClassName :: Lens' UserDefinedFunctionInput (Maybe Text)+udfiClassName = lens _udfiClassName (\ s a -> s{_udfiClassName = a});++instance Hashable UserDefinedFunctionInput where++instance NFData UserDefinedFunctionInput where++instance ToJSON UserDefinedFunctionInput where+        toJSON UserDefinedFunctionInput'{..}+          = object+              (catMaybes+                 [("OwnerName" .=) <$> _udfiOwnerName,+                  ("ResourceUris" .=) <$> _udfiResourceURIs,+                  ("FunctionName" .=) <$> _udfiFunctionName,+                  ("OwnerType" .=) <$> _udfiOwnerType,+                  ("ClassName" .=) <$> _udfiClassName])
+ gen/Network/AWS/Glue/Types/Sum.hs view
@@ -0,0 +1,500 @@+{-# 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.Glue.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.Glue.Types.Sum where++import Network.AWS.Prelude++data ConnectionPropertyKey+  = ConfigFiles+  | Host+  | InstanceId+  | JdbcConnectionURL+  | JdbcDriverClassName+  | JdbcDriverJARURI+  | JdbcEngine+  | JdbcEngineVersion+  | Password+  | Port+  | Username+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ConnectionPropertyKey where+    parser = takeLowerText >>= \case+        "config_files" -> pure ConfigFiles+        "host" -> pure Host+        "instance_id" -> pure InstanceId+        "jdbc_connection_url" -> pure JdbcConnectionURL+        "jdbc_driver_class_name" -> pure JdbcDriverClassName+        "jdbc_driver_jar_uri" -> pure JdbcDriverJARURI+        "jdbc_engine" -> pure JdbcEngine+        "jdbc_engine_version" -> pure JdbcEngineVersion+        "password" -> pure Password+        "port" -> pure Port+        "username" -> pure Username+        e -> fromTextError $ "Failure parsing ConnectionPropertyKey from value: '" <> e+           <> "'. Accepted values: config_files, host, instance_id, jdbc_connection_url, jdbc_driver_class_name, jdbc_driver_jar_uri, jdbc_engine, jdbc_engine_version, password, port, username"++instance ToText ConnectionPropertyKey where+    toText = \case+        ConfigFiles -> "CONFIG_FILES"+        Host -> "HOST"+        InstanceId -> "INSTANCE_ID"+        JdbcConnectionURL -> "JDBC_CONNECTION_URL"+        JdbcDriverClassName -> "JDBC_DRIVER_CLASS_NAME"+        JdbcDriverJARURI -> "JDBC_DRIVER_JAR_URI"+        JdbcEngine -> "JDBC_ENGINE"+        JdbcEngineVersion -> "JDBC_ENGINE_VERSION"+        Password -> "PASSWORD"+        Port -> "PORT"+        Username -> "USERNAME"++instance Hashable     ConnectionPropertyKey+instance NFData       ConnectionPropertyKey+instance ToByteString ConnectionPropertyKey+instance ToQuery      ConnectionPropertyKey+instance ToHeader     ConnectionPropertyKey++instance ToJSON ConnectionPropertyKey where+    toJSON = toJSONText++instance FromJSON ConnectionPropertyKey where+    parseJSON = parseJSONText "ConnectionPropertyKey"++data ConnectionType+  = Jdbc+  | Sftp+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ConnectionType where+    parser = takeLowerText >>= \case+        "jdbc" -> pure Jdbc+        "sftp" -> pure Sftp+        e -> fromTextError $ "Failure parsing ConnectionType from value: '" <> e+           <> "'. Accepted values: jdbc, sftp"++instance ToText ConnectionType where+    toText = \case+        Jdbc -> "JDBC"+        Sftp -> "SFTP"++instance Hashable     ConnectionType+instance NFData       ConnectionType+instance ToByteString ConnectionType+instance ToQuery      ConnectionType+instance ToHeader     ConnectionType++instance ToJSON ConnectionType where+    toJSON = toJSONText++instance FromJSON ConnectionType where+    parseJSON = parseJSONText "ConnectionType"++data CrawlerState+  = CSReady+  | CSRunning+  | CSStopping+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText CrawlerState where+    parser = takeLowerText >>= \case+        "ready" -> pure CSReady+        "running" -> pure CSRunning+        "stopping" -> pure CSStopping+        e -> fromTextError $ "Failure parsing CrawlerState from value: '" <> e+           <> "'. Accepted values: ready, running, stopping"++instance ToText CrawlerState where+    toText = \case+        CSReady -> "READY"+        CSRunning -> "RUNNING"+        CSStopping -> "STOPPING"++instance Hashable     CrawlerState+instance NFData       CrawlerState+instance ToByteString CrawlerState+instance ToQuery      CrawlerState+instance ToHeader     CrawlerState++instance FromJSON CrawlerState where+    parseJSON = parseJSONText "CrawlerState"++data DeleteBehavior+  = DeleteFromDatabase+  | DeprecateInDatabase+  | Log+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText DeleteBehavior where+    parser = takeLowerText >>= \case+        "delete_from_database" -> pure DeleteFromDatabase+        "deprecate_in_database" -> pure DeprecateInDatabase+        "log" -> pure Log+        e -> fromTextError $ "Failure parsing DeleteBehavior from value: '" <> e+           <> "'. Accepted values: delete_from_database, deprecate_in_database, log"++instance ToText DeleteBehavior where+    toText = \case+        DeleteFromDatabase -> "DELETE_FROM_DATABASE"+        DeprecateInDatabase -> "DEPRECATE_IN_DATABASE"+        Log -> "LOG"++instance Hashable     DeleteBehavior+instance NFData       DeleteBehavior+instance ToByteString DeleteBehavior+instance ToQuery      DeleteBehavior+instance ToHeader     DeleteBehavior++instance ToJSON DeleteBehavior where+    toJSON = toJSONText++instance FromJSON DeleteBehavior where+    parseJSON = parseJSONText "DeleteBehavior"++data JobRunState+  = Failed+  | Running+  | Starting+  | Stopped+  | Stopping+  | Succeeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText JobRunState where+    parser = takeLowerText >>= \case+        "failed" -> pure Failed+        "running" -> pure Running+        "starting" -> pure Starting+        "stopped" -> pure Stopped+        "stopping" -> pure Stopping+        "succeeded" -> pure Succeeded+        e -> fromTextError $ "Failure parsing JobRunState from value: '" <> e+           <> "'. Accepted values: failed, running, starting, stopped, stopping, succeeded"++instance ToText JobRunState where+    toText = \case+        Failed -> "FAILED"+        Running -> "RUNNING"+        Starting -> "STARTING"+        Stopped -> "STOPPED"+        Stopping -> "STOPPING"+        Succeeded -> "SUCCEEDED"++instance Hashable     JobRunState+instance NFData       JobRunState+instance ToByteString JobRunState+instance ToQuery      JobRunState+instance ToHeader     JobRunState++instance ToJSON JobRunState where+    toJSON = toJSONText++instance FromJSON JobRunState where+    parseJSON = parseJSONText "JobRunState"++data LastCrawlStatus+  = LCSCancelled+  | LCSFailed+  | LCSSucceeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LastCrawlStatus where+    parser = takeLowerText >>= \case+        "cancelled" -> pure LCSCancelled+        "failed" -> pure LCSFailed+        "succeeded" -> pure LCSSucceeded+        e -> fromTextError $ "Failure parsing LastCrawlStatus from value: '" <> e+           <> "'. Accepted values: cancelled, failed, succeeded"++instance ToText LastCrawlStatus where+    toText = \case+        LCSCancelled -> "CANCELLED"+        LCSFailed -> "FAILED"+        LCSSucceeded -> "SUCCEEDED"++instance Hashable     LastCrawlStatus+instance NFData       LastCrawlStatus+instance ToByteString LastCrawlStatus+instance ToQuery      LastCrawlStatus+instance ToHeader     LastCrawlStatus++instance FromJSON LastCrawlStatus where+    parseJSON = parseJSONText "LastCrawlStatus"++data Logical =+  And+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText Logical where+    parser = takeLowerText >>= \case+        "and" -> pure And+        e -> fromTextError $ "Failure parsing Logical from value: '" <> e+           <> "'. Accepted values: and"++instance ToText Logical where+    toText = \case+        And -> "AND"++instance Hashable     Logical+instance NFData       Logical+instance ToByteString Logical+instance ToQuery      Logical+instance ToHeader     Logical++instance ToJSON Logical where+    toJSON = toJSONText++instance FromJSON Logical where+    parseJSON = parseJSONText "Logical"++data LogicalOperator =+  Equals+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText LogicalOperator where+    parser = takeLowerText >>= \case+        "equals" -> pure Equals+        e -> fromTextError $ "Failure parsing LogicalOperator from value: '" <> e+           <> "'. Accepted values: equals"++instance ToText LogicalOperator where+    toText = \case+        Equals -> "EQUALS"++instance Hashable     LogicalOperator+instance NFData       LogicalOperator+instance ToByteString LogicalOperator+instance ToQuery      LogicalOperator+instance ToHeader     LogicalOperator++instance ToJSON LogicalOperator where+    toJSON = toJSONText++instance FromJSON LogicalOperator where+    parseJSON = parseJSONText "LogicalOperator"++data PrincipalType+  = Group+  | Role+  | User+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText PrincipalType where+    parser = takeLowerText >>= \case+        "group" -> pure Group+        "role" -> pure Role+        "user" -> pure User+        e -> fromTextError $ "Failure parsing PrincipalType from value: '" <> e+           <> "'. Accepted values: group, role, user"++instance ToText PrincipalType where+    toText = \case+        Group -> "GROUP"+        Role -> "ROLE"+        User -> "USER"++instance Hashable     PrincipalType+instance NFData       PrincipalType+instance ToByteString PrincipalType+instance ToQuery      PrincipalType+instance ToHeader     PrincipalType++instance ToJSON PrincipalType where+    toJSON = toJSONText++instance FromJSON PrincipalType where+    parseJSON = parseJSONText "PrincipalType"++data ResourceType+  = Archive+  | File+  | JAR+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ResourceType where+    parser = takeLowerText >>= \case+        "archive" -> pure Archive+        "file" -> pure File+        "jar" -> pure JAR+        e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e+           <> "'. Accepted values: archive, file, jar"++instance ToText ResourceType where+    toText = \case+        Archive -> "ARCHIVE"+        File -> "FILE"+        JAR -> "JAR"++instance Hashable     ResourceType+instance NFData       ResourceType+instance ToByteString ResourceType+instance ToQuery      ResourceType+instance ToHeader     ResourceType++instance ToJSON ResourceType where+    toJSON = toJSONText++instance FromJSON ResourceType where+    parseJSON = parseJSONText "ResourceType"++data ScheduleState+  = NotScheduled+  | Scheduled+  | Transitioning+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText ScheduleState where+    parser = takeLowerText >>= \case+        "not_scheduled" -> pure NotScheduled+        "scheduled" -> pure Scheduled+        "transitioning" -> pure Transitioning+        e -> fromTextError $ "Failure parsing ScheduleState from value: '" <> e+           <> "'. Accepted values: not_scheduled, scheduled, transitioning"++instance ToText ScheduleState where+    toText = \case+        NotScheduled -> "NOT_SCHEDULED"+        Scheduled -> "SCHEDULED"+        Transitioning -> "TRANSITIONING"++instance Hashable     ScheduleState+instance NFData       ScheduleState+instance ToByteString ScheduleState+instance ToQuery      ScheduleState+instance ToHeader     ScheduleState++instance FromJSON ScheduleState where+    parseJSON = parseJSONText "ScheduleState"++data TriggerState+  = Activated+  | Activating+  | Created+  | Creating+  | Deactivated+  | Deactivating+  | Deleting+  | Updating+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText TriggerState where+    parser = takeLowerText >>= \case+        "activated" -> pure Activated+        "activating" -> pure Activating+        "created" -> pure Created+        "creating" -> pure Creating+        "deactivated" -> pure Deactivated+        "deactivating" -> pure Deactivating+        "deleting" -> pure Deleting+        "updating" -> pure Updating+        e -> fromTextError $ "Failure parsing TriggerState from value: '" <> e+           <> "'. Accepted values: activated, activating, created, creating, deactivated, deactivating, deleting, updating"++instance ToText TriggerState where+    toText = \case+        Activated -> "ACTIVATED"+        Activating -> "ACTIVATING"+        Created -> "CREATED"+        Creating -> "CREATING"+        Deactivated -> "DEACTIVATED"+        Deactivating -> "DEACTIVATING"+        Deleting -> "DELETING"+        Updating -> "UPDATING"++instance Hashable     TriggerState+instance NFData       TriggerState+instance ToByteString TriggerState+instance ToQuery      TriggerState+instance ToHeader     TriggerState++instance FromJSON TriggerState where+    parseJSON = parseJSONText "TriggerState"++data TriggerType+  = TTConditional+  | TTOnDemand+  | TTScheduled+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText TriggerType where+    parser = takeLowerText >>= \case+        "conditional" -> pure TTConditional+        "on_demand" -> pure TTOnDemand+        "scheduled" -> pure TTScheduled+        e -> fromTextError $ "Failure parsing TriggerType from value: '" <> e+           <> "'. Accepted values: conditional, on_demand, scheduled"++instance ToText TriggerType where+    toText = \case+        TTConditional -> "CONDITIONAL"+        TTOnDemand -> "ON_DEMAND"+        TTScheduled -> "SCHEDULED"++instance Hashable     TriggerType+instance NFData       TriggerType+instance ToByteString TriggerType+instance ToQuery      TriggerType+instance ToHeader     TriggerType++instance ToJSON TriggerType where+    toJSON = toJSONText++instance FromJSON TriggerType where+    parseJSON = parseJSONText "TriggerType"++data UpdateBehavior+  = UBLog+  | UBUpdateInDatabase+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText UpdateBehavior where+    parser = takeLowerText >>= \case+        "log" -> pure UBLog+        "update_in_database" -> pure UBUpdateInDatabase+        e -> fromTextError $ "Failure parsing UpdateBehavior from value: '" <> e+           <> "'. Accepted values: log, update_in_database"++instance ToText UpdateBehavior where+    toText = \case+        UBLog -> "LOG"+        UBUpdateInDatabase -> "UPDATE_IN_DATABASE"++instance Hashable     UpdateBehavior+instance NFData       UpdateBehavior+instance ToByteString UpdateBehavior+instance ToQuery      UpdateBehavior+instance ToHeader     UpdateBehavior++instance ToJSON UpdateBehavior where+    toJSON = toJSONText++instance FromJSON UpdateBehavior where+    parseJSON = parseJSONText "UpdateBehavior"
+ gen/Network/AWS/Glue/UpdateClassifier.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateClassifier+-- 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)+--+-- Modifies an existing @Classifier@ .+--+--+module Network.AWS.Glue.UpdateClassifier+    (+    -- * Creating a Request+      updateClassifier+    , UpdateClassifier+    -- * Request Lenses+    , ucGrokClassifier++    -- * Destructuring the Response+    , updateClassifierResponse+    , UpdateClassifierResponse+    -- * Response Lenses+    , ursResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateClassifier' smart constructor.+newtype UpdateClassifier = UpdateClassifier'+  { _ucGrokClassifier :: Maybe UpdateGrokClassifierRequest+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucGrokClassifier' - A @GrokClassifier@ object with updated fields.+updateClassifier+    :: UpdateClassifier+updateClassifier = UpdateClassifier' {_ucGrokClassifier = Nothing}+++-- | A @GrokClassifier@ object with updated fields.+ucGrokClassifier :: Lens' UpdateClassifier (Maybe UpdateGrokClassifierRequest)+ucGrokClassifier = lens _ucGrokClassifier (\ s a -> s{_ucGrokClassifier = a});++instance AWSRequest UpdateClassifier where+        type Rs UpdateClassifier = UpdateClassifierResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateClassifierResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateClassifier where++instance NFData UpdateClassifier where++instance ToHeaders UpdateClassifier where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateClassifier" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateClassifier where+        toJSON UpdateClassifier'{..}+          = object+              (catMaybes+                 [("GrokClassifier" .=) <$> _ucGrokClassifier])++instance ToPath UpdateClassifier where+        toPath = const "/"++instance ToQuery UpdateClassifier where+        toQuery = const mempty++-- | /See:/ 'updateClassifierResponse' smart constructor.+newtype UpdateClassifierResponse = UpdateClassifierResponse'+  { _ursResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateClassifierResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ursResponseStatus' - -- | The response status code.+updateClassifierResponse+    :: Int -- ^ 'ursResponseStatus'+    -> UpdateClassifierResponse+updateClassifierResponse pResponseStatus_ =+  UpdateClassifierResponse' {_ursResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ursResponseStatus :: Lens' UpdateClassifierResponse Int+ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a});++instance NFData UpdateClassifierResponse where
+ gen/Network/AWS/Glue/UpdateConnection.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateConnection+-- 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 connection definition in the Data Catalog.+--+--+module Network.AWS.Glue.UpdateConnection+    (+    -- * Creating a Request+      updateConnection+    , UpdateConnection+    -- * Request Lenses+    , ucCatalogId+    , ucName+    , ucConnectionInput++    -- * Destructuring the Response+    , updateConnectionResponse+    , UpdateConnectionResponse+    -- * Response Lenses+    , ucrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateConnection' smart constructor.+data UpdateConnection = UpdateConnection'+  { _ucCatalogId       :: !(Maybe Text)+  , _ucName            :: !Text+  , _ucConnectionInput :: !ConnectionInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucCatalogId' - The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'ucName' - The name of the connection definition to update.+--+-- * 'ucConnectionInput' - A @ConnectionInput@ object that redefines the connection in question.+updateConnection+    :: Text -- ^ 'ucName'+    -> ConnectionInput -- ^ 'ucConnectionInput'+    -> UpdateConnection+updateConnection pName_ pConnectionInput_ =+  UpdateConnection'+  { _ucCatalogId = Nothing+  , _ucName = pName_+  , _ucConnectionInput = pConnectionInput_+  }+++-- | The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.+ucCatalogId :: Lens' UpdateConnection (Maybe Text)+ucCatalogId = lens _ucCatalogId (\ s a -> s{_ucCatalogId = a});++-- | The name of the connection definition to update.+ucName :: Lens' UpdateConnection Text+ucName = lens _ucName (\ s a -> s{_ucName = a});++-- | A @ConnectionInput@ object that redefines the connection in question.+ucConnectionInput :: Lens' UpdateConnection ConnectionInput+ucConnectionInput = lens _ucConnectionInput (\ s a -> s{_ucConnectionInput = a});++instance AWSRequest UpdateConnection where+        type Rs UpdateConnection = UpdateConnectionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateConnectionResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateConnection where++instance NFData UpdateConnection where++instance ToHeaders UpdateConnection where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateConnection" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateConnection where+        toJSON UpdateConnection'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _ucCatalogId,+                  Just ("Name" .= _ucName),+                  Just ("ConnectionInput" .= _ucConnectionInput)])++instance ToPath UpdateConnection where+        toPath = const "/"++instance ToQuery UpdateConnection where+        toQuery = const mempty++-- | /See:/ 'updateConnectionResponse' smart constructor.+newtype UpdateConnectionResponse = UpdateConnectionResponse'+  { _ucrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateConnectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucrsResponseStatus' - -- | The response status code.+updateConnectionResponse+    :: Int -- ^ 'ucrsResponseStatus'+    -> UpdateConnectionResponse+updateConnectionResponse pResponseStatus_ =+  UpdateConnectionResponse' {_ucrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ucrsResponseStatus :: Lens' UpdateConnectionResponse Int+ucrsResponseStatus = lens _ucrsResponseStatus (\ s a -> s{_ucrsResponseStatus = a});++instance NFData UpdateConnectionResponse where
+ gen/Network/AWS/Glue/UpdateCrawler.hs view
@@ -0,0 +1,204 @@+{-# 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.Glue.UpdateCrawler+-- 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 @Crawler@ . If a @Crawler@ is running, you must stop it using @StopCrawler@ before updating it.+--+--+module Network.AWS.Glue.UpdateCrawler+    (+    -- * Creating a Request+      updateCrawler+    , UpdateCrawler+    -- * Request Lenses+    , uSchemaChangePolicy+    , uSchedule+    , uClassifiers+    , uRole+    , uTargets+    , uDatabaseName+    , uTablePrefix+    , uDescription+    , uName++    -- * Destructuring the Response+    , updateCrawlerResponse+    , UpdateCrawlerResponse+    -- * Response Lenses+    , uccrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateCrawler' smart constructor.+data UpdateCrawler = UpdateCrawler'+  { _uSchemaChangePolicy :: !(Maybe SchemaChangePolicy)+  , _uSchedule           :: !(Maybe Text)+  , _uClassifiers        :: !(Maybe [Text])+  , _uRole               :: !(Maybe Text)+  , _uTargets            :: !(Maybe CrawlerTargets)+  , _uDatabaseName       :: !(Maybe Text)+  , _uTablePrefix        :: !(Maybe Text)+  , _uDescription        :: !(Maybe Text)+  , _uName               :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateCrawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uSchemaChangePolicy' - Policy for the crawler's update and deletion behavior.+--+-- * 'uSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'uClassifiers' - A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+--+-- * 'uRole' - The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+--+-- * 'uTargets' - A list of collection of targets to crawl.+--+-- * 'uDatabaseName' - The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+--+-- * 'uTablePrefix' - The table prefix used for catalog tables created.+--+-- * 'uDescription' - A description of the new @Crawler@ .+--+-- * 'uName' - Name of the new @Crawler@ .+updateCrawler+    :: Text -- ^ 'uName'+    -> UpdateCrawler+updateCrawler pName_ =+  UpdateCrawler'+  { _uSchemaChangePolicy = Nothing+  , _uSchedule = Nothing+  , _uClassifiers = Nothing+  , _uRole = Nothing+  , _uTargets = Nothing+  , _uDatabaseName = Nothing+  , _uTablePrefix = Nothing+  , _uDescription = Nothing+  , _uName = pName_+  }+++-- | Policy for the crawler's update and deletion behavior.+uSchemaChangePolicy :: Lens' UpdateCrawler (Maybe SchemaChangePolicy)+uSchemaChangePolicy = lens _uSchemaChangePolicy (\ s a -> s{_uSchemaChangePolicy = a});++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+uSchedule :: Lens' UpdateCrawler (Maybe Text)+uSchedule = lens _uSchedule (\ s a -> s{_uSchedule = a});++-- | A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+uClassifiers :: Lens' UpdateCrawler [Text]+uClassifiers = lens _uClassifiers (\ s a -> s{_uClassifiers = a}) . _Default . _Coerce;++-- | The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+uRole :: Lens' UpdateCrawler (Maybe Text)+uRole = lens _uRole (\ s a -> s{_uRole = a});++-- | A list of collection of targets to crawl.+uTargets :: Lens' UpdateCrawler (Maybe CrawlerTargets)+uTargets = lens _uTargets (\ s a -> s{_uTargets = a});++-- | The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+uDatabaseName :: Lens' UpdateCrawler (Maybe Text)+uDatabaseName = lens _uDatabaseName (\ s a -> s{_uDatabaseName = a});++-- | The table prefix used for catalog tables created.+uTablePrefix :: Lens' UpdateCrawler (Maybe Text)+uTablePrefix = lens _uTablePrefix (\ s a -> s{_uTablePrefix = a});++-- | A description of the new @Crawler@ .+uDescription :: Lens' UpdateCrawler (Maybe Text)+uDescription = lens _uDescription (\ s a -> s{_uDescription = a});++-- | Name of the new @Crawler@ .+uName :: Lens' UpdateCrawler Text+uName = lens _uName (\ s a -> s{_uName = a});++instance AWSRequest UpdateCrawler where+        type Rs UpdateCrawler = UpdateCrawlerResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateCrawlerResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateCrawler where++instance NFData UpdateCrawler where++instance ToHeaders UpdateCrawler where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateCrawler" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateCrawler where+        toJSON UpdateCrawler'{..}+          = object+              (catMaybes+                 [("SchemaChangePolicy" .=) <$> _uSchemaChangePolicy,+                  ("Schedule" .=) <$> _uSchedule,+                  ("Classifiers" .=) <$> _uClassifiers,+                  ("Role" .=) <$> _uRole, ("Targets" .=) <$> _uTargets,+                  ("DatabaseName" .=) <$> _uDatabaseName,+                  ("TablePrefix" .=) <$> _uTablePrefix,+                  ("Description" .=) <$> _uDescription,+                  Just ("Name" .= _uName)])++instance ToPath UpdateCrawler where+        toPath = const "/"++instance ToQuery UpdateCrawler where+        toQuery = const mempty++-- | /See:/ 'updateCrawlerResponse' smart constructor.+newtype UpdateCrawlerResponse = UpdateCrawlerResponse'+  { _uccrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateCrawlerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uccrsResponseStatus' - -- | The response status code.+updateCrawlerResponse+    :: Int -- ^ 'uccrsResponseStatus'+    -> UpdateCrawlerResponse+updateCrawlerResponse pResponseStatus_ =+  UpdateCrawlerResponse' {_uccrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+uccrsResponseStatus :: Lens' UpdateCrawlerResponse Int+uccrsResponseStatus = lens _uccrsResponseStatus (\ s a -> s{_uccrsResponseStatus = a});++instance NFData UpdateCrawlerResponse where
+ gen/Network/AWS/Glue/UpdateCrawlerSchedule.hs view
@@ -0,0 +1,135 @@+{-# 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.Glue.UpdateCrawlerSchedule+-- 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 schedule of a crawler using a Cron expression.+--+--+module Network.AWS.Glue.UpdateCrawlerSchedule+    (+    -- * Creating a Request+      updateCrawlerSchedule+    , UpdateCrawlerSchedule+    -- * Request Lenses+    , ucsSchedule+    , ucsCrawlerName++    -- * Destructuring the Response+    , updateCrawlerScheduleResponse+    , UpdateCrawlerScheduleResponse+    -- * Response Lenses+    , ucsrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateCrawlerSchedule' smart constructor.+data UpdateCrawlerSchedule = UpdateCrawlerSchedule'+  { _ucsSchedule    :: !(Maybe Text)+  , _ucsCrawlerName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateCrawlerSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucsSchedule' - The updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'ucsCrawlerName' - Name of the crawler whose schedule to update.+updateCrawlerSchedule+    :: Text -- ^ 'ucsCrawlerName'+    -> UpdateCrawlerSchedule+updateCrawlerSchedule pCrawlerName_ =+  UpdateCrawlerSchedule'+  {_ucsSchedule = Nothing, _ucsCrawlerName = pCrawlerName_}+++-- | The updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+ucsSchedule :: Lens' UpdateCrawlerSchedule (Maybe Text)+ucsSchedule = lens _ucsSchedule (\ s a -> s{_ucsSchedule = a});++-- | Name of the crawler whose schedule to update.+ucsCrawlerName :: Lens' UpdateCrawlerSchedule Text+ucsCrawlerName = lens _ucsCrawlerName (\ s a -> s{_ucsCrawlerName = a});++instance AWSRequest UpdateCrawlerSchedule where+        type Rs UpdateCrawlerSchedule =+             UpdateCrawlerScheduleResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateCrawlerScheduleResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateCrawlerSchedule where++instance NFData UpdateCrawlerSchedule where++instance ToHeaders UpdateCrawlerSchedule where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateCrawlerSchedule" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateCrawlerSchedule where+        toJSON UpdateCrawlerSchedule'{..}+          = object+              (catMaybes+                 [("Schedule" .=) <$> _ucsSchedule,+                  Just ("CrawlerName" .= _ucsCrawlerName)])++instance ToPath UpdateCrawlerSchedule where+        toPath = const "/"++instance ToQuery UpdateCrawlerSchedule where+        toQuery = const mempty++-- | /See:/ 'updateCrawlerScheduleResponse' smart constructor.+newtype UpdateCrawlerScheduleResponse = UpdateCrawlerScheduleResponse'+  { _ucsrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateCrawlerScheduleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucsrsResponseStatus' - -- | The response status code.+updateCrawlerScheduleResponse+    :: Int -- ^ 'ucsrsResponseStatus'+    -> UpdateCrawlerScheduleResponse+updateCrawlerScheduleResponse pResponseStatus_ =+  UpdateCrawlerScheduleResponse' {_ucsrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+ucsrsResponseStatus :: Lens' UpdateCrawlerScheduleResponse Int+ucsrsResponseStatus = lens _ucsrsResponseStatus (\ s a -> s{_ucsrsResponseStatus = a});++instance NFData UpdateCrawlerScheduleResponse where
+ gen/Network/AWS/Glue/UpdateDatabase.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateDatabase+-- 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 an existing database definition in a Data Catalog.+--+--+module Network.AWS.Glue.UpdateDatabase+    (+    -- * Creating a Request+      updateDatabase+    , UpdateDatabase+    -- * Request Lenses+    , udCatalogId+    , udName+    , udDatabaseInput++    -- * Destructuring the Response+    , updateDatabaseResponse+    , UpdateDatabaseResponse+    -- * Response Lenses+    , udrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateDatabase' smart constructor.+data UpdateDatabase = UpdateDatabase'+  { _udCatalogId     :: !(Maybe Text)+  , _udName          :: !Text+  , _udDatabaseInput :: !DatabaseInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDatabase' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udCatalogId' - The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'udName' - The name of the metadata database to update in the catalog.+--+-- * 'udDatabaseInput' - A @DatabaseInput@ object specifying the new definition of the metadata database in the catalog.+updateDatabase+    :: Text -- ^ 'udName'+    -> DatabaseInput -- ^ 'udDatabaseInput'+    -> UpdateDatabase+updateDatabase pName_ pDatabaseInput_ =+  UpdateDatabase'+  {_udCatalogId = Nothing, _udName = pName_, _udDatabaseInput = pDatabaseInput_}+++-- | The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default.+udCatalogId :: Lens' UpdateDatabase (Maybe Text)+udCatalogId = lens _udCatalogId (\ s a -> s{_udCatalogId = a});++-- | The name of the metadata database to update in the catalog.+udName :: Lens' UpdateDatabase Text+udName = lens _udName (\ s a -> s{_udName = a});++-- | A @DatabaseInput@ object specifying the new definition of the metadata database in the catalog.+udDatabaseInput :: Lens' UpdateDatabase DatabaseInput+udDatabaseInput = lens _udDatabaseInput (\ s a -> s{_udDatabaseInput = a});++instance AWSRequest UpdateDatabase where+        type Rs UpdateDatabase = UpdateDatabaseResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateDatabaseResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateDatabase where++instance NFData UpdateDatabase where++instance ToHeaders UpdateDatabase where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateDatabase" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateDatabase where+        toJSON UpdateDatabase'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _udCatalogId,+                  Just ("Name" .= _udName),+                  Just ("DatabaseInput" .= _udDatabaseInput)])++instance ToPath UpdateDatabase where+        toPath = const "/"++instance ToQuery UpdateDatabase where+        toQuery = const mempty++-- | /See:/ 'updateDatabaseResponse' smart constructor.+newtype UpdateDatabaseResponse = UpdateDatabaseResponse'+  { _udrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDatabaseResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udrsResponseStatus' - -- | The response status code.+updateDatabaseResponse+    :: Int -- ^ 'udrsResponseStatus'+    -> UpdateDatabaseResponse+updateDatabaseResponse pResponseStatus_ =+  UpdateDatabaseResponse' {_udrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+udrsResponseStatus :: Lens' UpdateDatabaseResponse Int+udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a});++instance NFData UpdateDatabaseResponse where
+ gen/Network/AWS/Glue/UpdateDevEndpoint.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateDevEndpoint+-- 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 specified DevEndpoint.+--+--+module Network.AWS.Glue.UpdateDevEndpoint+    (+    -- * Creating a Request+      updateDevEndpoint+    , UpdateDevEndpoint+    -- * Request Lenses+    , udeCustomLibraries+    , udePublicKey+    , udeUpdateEtlLibraries+    , udeEndpointName++    -- * Destructuring the Response+    , updateDevEndpointResponse+    , UpdateDevEndpointResponse+    -- * Response Lenses+    , udersResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateDevEndpoint' smart constructor.+data UpdateDevEndpoint = UpdateDevEndpoint'+  { _udeCustomLibraries    :: !(Maybe DevEndpointCustomLibraries)+  , _udePublicKey          :: !(Maybe Text)+  , _udeUpdateEtlLibraries :: !(Maybe Bool)+  , _udeEndpointName       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDevEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udeCustomLibraries' - Custom Python or Java libraries to be loaded in the DevEndpoint.+--+-- * 'udePublicKey' - The public key for the DevEndpoint to use.+--+-- * 'udeUpdateEtlLibraries' - True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise.+--+-- * 'udeEndpointName' - The name of the DevEndpoint to be updated.+updateDevEndpoint+    :: Text -- ^ 'udeEndpointName'+    -> UpdateDevEndpoint+updateDevEndpoint pEndpointName_ =+  UpdateDevEndpoint'+  { _udeCustomLibraries = Nothing+  , _udePublicKey = Nothing+  , _udeUpdateEtlLibraries = Nothing+  , _udeEndpointName = pEndpointName_+  }+++-- | Custom Python or Java libraries to be loaded in the DevEndpoint.+udeCustomLibraries :: Lens' UpdateDevEndpoint (Maybe DevEndpointCustomLibraries)+udeCustomLibraries = lens _udeCustomLibraries (\ s a -> s{_udeCustomLibraries = a});++-- | The public key for the DevEndpoint to use.+udePublicKey :: Lens' UpdateDevEndpoint (Maybe Text)+udePublicKey = lens _udePublicKey (\ s a -> s{_udePublicKey = a});++-- | True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise.+udeUpdateEtlLibraries :: Lens' UpdateDevEndpoint (Maybe Bool)+udeUpdateEtlLibraries = lens _udeUpdateEtlLibraries (\ s a -> s{_udeUpdateEtlLibraries = a});++-- | The name of the DevEndpoint to be updated.+udeEndpointName :: Lens' UpdateDevEndpoint Text+udeEndpointName = lens _udeEndpointName (\ s a -> s{_udeEndpointName = a});++instance AWSRequest UpdateDevEndpoint where+        type Rs UpdateDevEndpoint = UpdateDevEndpointResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateDevEndpointResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateDevEndpoint where++instance NFData UpdateDevEndpoint where++instance ToHeaders UpdateDevEndpoint where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateDevEndpoint" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateDevEndpoint where+        toJSON UpdateDevEndpoint'{..}+          = object+              (catMaybes+                 [("CustomLibraries" .=) <$> _udeCustomLibraries,+                  ("PublicKey" .=) <$> _udePublicKey,+                  ("UpdateEtlLibraries" .=) <$> _udeUpdateEtlLibraries,+                  Just ("EndpointName" .= _udeEndpointName)])++instance ToPath UpdateDevEndpoint where+        toPath = const "/"++instance ToQuery UpdateDevEndpoint where+        toQuery = const mempty++-- | /See:/ 'updateDevEndpointResponse' smart constructor.+newtype UpdateDevEndpointResponse = UpdateDevEndpointResponse'+  { _udersResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateDevEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udersResponseStatus' - -- | The response status code.+updateDevEndpointResponse+    :: Int -- ^ 'udersResponseStatus'+    -> UpdateDevEndpointResponse+updateDevEndpointResponse pResponseStatus_ =+  UpdateDevEndpointResponse' {_udersResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+udersResponseStatus :: Lens' UpdateDevEndpointResponse Int+udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a});++instance NFData UpdateDevEndpointResponse where
+ gen/Network/AWS/Glue/UpdateJob.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateJob+-- 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 an existing job definition.+--+--+module Network.AWS.Glue.UpdateJob+    (+    -- * Creating a Request+      updateJob+    , UpdateJob+    -- * Request Lenses+    , ujJobName+    , ujJobUpdate++    -- * Destructuring the Response+    , updateJobResponse+    , UpdateJobResponse+    -- * Response Lenses+    , ujrsJobName+    , ujrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateJob' smart constructor.+data UpdateJob = UpdateJob'+  { _ujJobName   :: !Text+  , _ujJobUpdate :: !JobUpdate+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateJob' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ujJobName' - Name of the job definition to update.+--+-- * 'ujJobUpdate' - Specifies the values with which to update the job.+updateJob+    :: Text -- ^ 'ujJobName'+    -> JobUpdate -- ^ 'ujJobUpdate'+    -> UpdateJob+updateJob pJobName_ pJobUpdate_ =+  UpdateJob' {_ujJobName = pJobName_, _ujJobUpdate = pJobUpdate_}+++-- | Name of the job definition to update.+ujJobName :: Lens' UpdateJob Text+ujJobName = lens _ujJobName (\ s a -> s{_ujJobName = a});++-- | Specifies the values with which to update the job.+ujJobUpdate :: Lens' UpdateJob JobUpdate+ujJobUpdate = lens _ujJobUpdate (\ s a -> s{_ujJobUpdate = a});++instance AWSRequest UpdateJob where+        type Rs UpdateJob = UpdateJobResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 UpdateJobResponse' <$>+                   (x .?> "JobName") <*> (pure (fromEnum s)))++instance Hashable UpdateJob where++instance NFData UpdateJob where++instance ToHeaders UpdateJob where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateJob" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateJob where+        toJSON UpdateJob'{..}+          = object+              (catMaybes+                 [Just ("JobName" .= _ujJobName),+                  Just ("JobUpdate" .= _ujJobUpdate)])++instance ToPath UpdateJob where+        toPath = const "/"++instance ToQuery UpdateJob where+        toQuery = const mempty++-- | /See:/ 'updateJobResponse' smart constructor.+data UpdateJobResponse = UpdateJobResponse'+  { _ujrsJobName        :: !(Maybe Text)+  , _ujrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateJobResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ujrsJobName' - Returns the name of the updated job.+--+-- * 'ujrsResponseStatus' - -- | The response status code.+updateJobResponse+    :: Int -- ^ 'ujrsResponseStatus'+    -> UpdateJobResponse+updateJobResponse pResponseStatus_ =+  UpdateJobResponse'+  {_ujrsJobName = Nothing, _ujrsResponseStatus = pResponseStatus_}+++-- | Returns the name of the updated job.+ujrsJobName :: Lens' UpdateJobResponse (Maybe Text)+ujrsJobName = lens _ujrsJobName (\ s a -> s{_ujrsJobName = a});++-- | -- | The response status code.+ujrsResponseStatus :: Lens' UpdateJobResponse Int+ujrsResponseStatus = lens _ujrsResponseStatus (\ s a -> s{_ujrsResponseStatus = a});++instance NFData UpdateJobResponse where
+ gen/Network/AWS/Glue/UpdatePartition.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.Glue.UpdatePartition+-- 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 partition.+--+--+module Network.AWS.Glue.UpdatePartition+    (+    -- * Creating a Request+      updatePartition+    , UpdatePartition+    -- * Request Lenses+    , upCatalogId+    , upDatabaseName+    , upTableName+    , upPartitionValueList+    , upPartitionInput++    -- * Destructuring the Response+    , updatePartitionResponse+    , UpdatePartitionResponse+    -- * Response Lenses+    , uprsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updatePartition' smart constructor.+data UpdatePartition = UpdatePartition'+  { _upCatalogId          :: !(Maybe Text)+  , _upDatabaseName       :: !Text+  , _upTableName          :: !Text+  , _upPartitionValueList :: ![Text]+  , _upPartitionInput     :: !PartitionInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdatePartition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upCatalogId' - The ID of the Data Catalog where the partition to be updated resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'upDatabaseName' - The name of the catalog database in which the table in question resides.+--+-- * 'upTableName' - The name of the table where the partition to be updated is located.+--+-- * 'upPartitionValueList' - A list of the values defining the partition.+--+-- * 'upPartitionInput' - The new partition object to which to update the partition.+updatePartition+    :: Text -- ^ 'upDatabaseName'+    -> Text -- ^ 'upTableName'+    -> PartitionInput -- ^ 'upPartitionInput'+    -> UpdatePartition+updatePartition pDatabaseName_ pTableName_ pPartitionInput_ =+  UpdatePartition'+  { _upCatalogId = Nothing+  , _upDatabaseName = pDatabaseName_+  , _upTableName = pTableName_+  , _upPartitionValueList = mempty+  , _upPartitionInput = pPartitionInput_+  }+++-- | The ID of the Data Catalog where the partition to be updated resides. If none is supplied, the AWS account ID is used by default.+upCatalogId :: Lens' UpdatePartition (Maybe Text)+upCatalogId = lens _upCatalogId (\ s a -> s{_upCatalogId = a});++-- | The name of the catalog database in which the table in question resides.+upDatabaseName :: Lens' UpdatePartition Text+upDatabaseName = lens _upDatabaseName (\ s a -> s{_upDatabaseName = a});++-- | The name of the table where the partition to be updated is located.+upTableName :: Lens' UpdatePartition Text+upTableName = lens _upTableName (\ s a -> s{_upTableName = a});++-- | A list of the values defining the partition.+upPartitionValueList :: Lens' UpdatePartition [Text]+upPartitionValueList = lens _upPartitionValueList (\ s a -> s{_upPartitionValueList = a}) . _Coerce;++-- | The new partition object to which to update the partition.+upPartitionInput :: Lens' UpdatePartition PartitionInput+upPartitionInput = lens _upPartitionInput (\ s a -> s{_upPartitionInput = a});++instance AWSRequest UpdatePartition where+        type Rs UpdatePartition = UpdatePartitionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdatePartitionResponse' <$> (pure (fromEnum s)))++instance Hashable UpdatePartition where++instance NFData UpdatePartition where++instance ToHeaders UpdatePartition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdatePartition" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdatePartition where+        toJSON UpdatePartition'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _upCatalogId,+                  Just ("DatabaseName" .= _upDatabaseName),+                  Just ("TableName" .= _upTableName),+                  Just ("PartitionValueList" .= _upPartitionValueList),+                  Just ("PartitionInput" .= _upPartitionInput)])++instance ToPath UpdatePartition where+        toPath = const "/"++instance ToQuery UpdatePartition where+        toQuery = const mempty++-- | /See:/ 'updatePartitionResponse' smart constructor.+newtype UpdatePartitionResponse = UpdatePartitionResponse'+  { _uprsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdatePartitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uprsResponseStatus' - -- | The response status code.+updatePartitionResponse+    :: Int -- ^ 'uprsResponseStatus'+    -> UpdatePartitionResponse+updatePartitionResponse pResponseStatus_ =+  UpdatePartitionResponse' {_uprsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+uprsResponseStatus :: Lens' UpdatePartitionResponse Int+uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a});++instance NFData UpdatePartitionResponse where
+ gen/Network/AWS/Glue/UpdateTable.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateTable+-- 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 metadata table in the Data Catalog.+--+--+module Network.AWS.Glue.UpdateTable+    (+    -- * Creating a Request+      updateTable+    , UpdateTable+    -- * Request Lenses+    , utCatalogId+    , utDatabaseName+    , utTableInput++    -- * Destructuring the Response+    , updateTableResponse+    , UpdateTableResponse+    -- * Response Lenses+    , utrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateTable' smart constructor.+data UpdateTable = UpdateTable'+  { _utCatalogId    :: !(Maybe Text)+  , _utDatabaseName :: !Text+  , _utTableInput   :: !TableInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+--+-- * 'utDatabaseName' - The name of the catalog database in which the table resides.+--+-- * 'utTableInput' - An updated @TableInput@ object to define the metadata table in the catalog.+updateTable+    :: Text -- ^ 'utDatabaseName'+    -> TableInput -- ^ 'utTableInput'+    -> UpdateTable+updateTable pDatabaseName_ pTableInput_ =+  UpdateTable'+  { _utCatalogId = Nothing+  , _utDatabaseName = pDatabaseName_+  , _utTableInput = pTableInput_+  }+++-- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.+utCatalogId :: Lens' UpdateTable (Maybe Text)+utCatalogId = lens _utCatalogId (\ s a -> s{_utCatalogId = a});++-- | The name of the catalog database in which the table resides.+utDatabaseName :: Lens' UpdateTable Text+utDatabaseName = lens _utDatabaseName (\ s a -> s{_utDatabaseName = a});++-- | An updated @TableInput@ object to define the metadata table in the catalog.+utTableInput :: Lens' UpdateTable TableInput+utTableInput = lens _utTableInput (\ s a -> s{_utTableInput = a});++instance AWSRequest UpdateTable where+        type Rs UpdateTable = UpdateTableResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateTableResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateTable where++instance NFData UpdateTable where++instance ToHeaders UpdateTable where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateTable" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateTable where+        toJSON UpdateTable'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _utCatalogId,+                  Just ("DatabaseName" .= _utDatabaseName),+                  Just ("TableInput" .= _utTableInput)])++instance ToPath UpdateTable where+        toPath = const "/"++instance ToQuery UpdateTable where+        toQuery = const mempty++-- | /See:/ 'updateTableResponse' smart constructor.+newtype UpdateTableResponse = UpdateTableResponse'+  { _utrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTableResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utrsResponseStatus' - -- | The response status code.+updateTableResponse+    :: Int -- ^ 'utrsResponseStatus'+    -> UpdateTableResponse+updateTableResponse pResponseStatus_ =+  UpdateTableResponse' {_utrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+utrsResponseStatus :: Lens' UpdateTableResponse Int+utrsResponseStatus = lens _utrsResponseStatus (\ s a -> s{_utrsResponseStatus = a});++instance NFData UpdateTableResponse where
+ gen/Network/AWS/Glue/UpdateTrigger.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.UpdateTrigger+-- 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 trigger definition.+--+--+module Network.AWS.Glue.UpdateTrigger+    (+    -- * Creating a Request+      updateTrigger+    , UpdateTrigger+    -- * Request Lenses+    , utName+    , utTriggerUpdate++    -- * Destructuring the Response+    , updateTriggerResponse+    , UpdateTriggerResponse+    -- * Response Lenses+    , updrsTrigger+    , updrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateTrigger' smart constructor.+data UpdateTrigger = UpdateTrigger'+  { _utName          :: !Text+  , _utTriggerUpdate :: !TriggerUpdate+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utName' - The name of the trigger to update.+--+-- * 'utTriggerUpdate' - The new values with which to update the trigger.+updateTrigger+    :: Text -- ^ 'utName'+    -> TriggerUpdate -- ^ 'utTriggerUpdate'+    -> UpdateTrigger+updateTrigger pName_ pTriggerUpdate_ =+  UpdateTrigger' {_utName = pName_, _utTriggerUpdate = pTriggerUpdate_}+++-- | The name of the trigger to update.+utName :: Lens' UpdateTrigger Text+utName = lens _utName (\ s a -> s{_utName = a});++-- | The new values with which to update the trigger.+utTriggerUpdate :: Lens' UpdateTrigger TriggerUpdate+utTriggerUpdate = lens _utTriggerUpdate (\ s a -> s{_utTriggerUpdate = a});++instance AWSRequest UpdateTrigger where+        type Rs UpdateTrigger = UpdateTriggerResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 UpdateTriggerResponse' <$>+                   (x .?> "Trigger") <*> (pure (fromEnum s)))++instance Hashable UpdateTrigger where++instance NFData UpdateTrigger where++instance ToHeaders UpdateTrigger where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateTrigger" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateTrigger where+        toJSON UpdateTrigger'{..}+          = object+              (catMaybes+                 [Just ("Name" .= _utName),+                  Just ("TriggerUpdate" .= _utTriggerUpdate)])++instance ToPath UpdateTrigger where+        toPath = const "/"++instance ToQuery UpdateTrigger where+        toQuery = const mempty++-- | /See:/ 'updateTriggerResponse' smart constructor.+data UpdateTriggerResponse = UpdateTriggerResponse'+  { _updrsTrigger        :: !(Maybe Trigger)+  , _updrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTriggerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'updrsTrigger' - The resulting trigger definition.+--+-- * 'updrsResponseStatus' - -- | The response status code.+updateTriggerResponse+    :: Int -- ^ 'updrsResponseStatus'+    -> UpdateTriggerResponse+updateTriggerResponse pResponseStatus_ =+  UpdateTriggerResponse'+  {_updrsTrigger = Nothing, _updrsResponseStatus = pResponseStatus_}+++-- | The resulting trigger definition.+updrsTrigger :: Lens' UpdateTriggerResponse (Maybe Trigger)+updrsTrigger = lens _updrsTrigger (\ s a -> s{_updrsTrigger = a});++-- | -- | The response status code.+updrsResponseStatus :: Lens' UpdateTriggerResponse Int+updrsResponseStatus = lens _updrsResponseStatus (\ s a -> s{_updrsResponseStatus = a});++instance NFData UpdateTriggerResponse where
+ gen/Network/AWS/Glue/UpdateUserDefinedFunction.hs view
@@ -0,0 +1,160 @@+{-# 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.Glue.UpdateUserDefinedFunction+-- 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 an existing function definition in the Data Catalog.+--+--+module Network.AWS.Glue.UpdateUserDefinedFunction+    (+    -- * Creating a Request+      updateUserDefinedFunction+    , UpdateUserDefinedFunction+    -- * Request Lenses+    , uudfCatalogId+    , uudfDatabaseName+    , uudfFunctionName+    , uudfFunctionInput++    -- * Destructuring the Response+    , updateUserDefinedFunctionResponse+    , UpdateUserDefinedFunctionResponse+    -- * Response Lenses+    , uudfrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateUserDefinedFunction' smart constructor.+data UpdateUserDefinedFunction = UpdateUserDefinedFunction'+  { _uudfCatalogId     :: !(Maybe Text)+  , _uudfDatabaseName  :: !Text+  , _uudfFunctionName  :: !Text+  , _uudfFunctionInput :: !UserDefinedFunctionInput+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateUserDefinedFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uudfCatalogId' - The ID of the Data Catalog where the function to be updated is located. If none is supplied, the AWS account ID is used by default.+--+-- * 'uudfDatabaseName' - The name of the catalog database where the function to be updated is located.+--+-- * 'uudfFunctionName' - The name of the function.+--+-- * 'uudfFunctionInput' - A @FunctionInput@ object that re-defines the function in the Data Catalog.+updateUserDefinedFunction+    :: Text -- ^ 'uudfDatabaseName'+    -> Text -- ^ 'uudfFunctionName'+    -> UserDefinedFunctionInput -- ^ 'uudfFunctionInput'+    -> UpdateUserDefinedFunction+updateUserDefinedFunction pDatabaseName_ pFunctionName_ pFunctionInput_ =+  UpdateUserDefinedFunction'+  { _uudfCatalogId = Nothing+  , _uudfDatabaseName = pDatabaseName_+  , _uudfFunctionName = pFunctionName_+  , _uudfFunctionInput = pFunctionInput_+  }+++-- | The ID of the Data Catalog where the function to be updated is located. If none is supplied, the AWS account ID is used by default.+uudfCatalogId :: Lens' UpdateUserDefinedFunction (Maybe Text)+uudfCatalogId = lens _uudfCatalogId (\ s a -> s{_uudfCatalogId = a});++-- | The name of the catalog database where the function to be updated is located.+uudfDatabaseName :: Lens' UpdateUserDefinedFunction Text+uudfDatabaseName = lens _uudfDatabaseName (\ s a -> s{_uudfDatabaseName = a});++-- | The name of the function.+uudfFunctionName :: Lens' UpdateUserDefinedFunction Text+uudfFunctionName = lens _uudfFunctionName (\ s a -> s{_uudfFunctionName = a});++-- | A @FunctionInput@ object that re-defines the function in the Data Catalog.+uudfFunctionInput :: Lens' UpdateUserDefinedFunction UserDefinedFunctionInput+uudfFunctionInput = lens _uudfFunctionInput (\ s a -> s{_uudfFunctionInput = a});++instance AWSRequest UpdateUserDefinedFunction where+        type Rs UpdateUserDefinedFunction =+             UpdateUserDefinedFunctionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 UpdateUserDefinedFunctionResponse' <$>+                   (pure (fromEnum s)))++instance Hashable UpdateUserDefinedFunction where++instance NFData UpdateUserDefinedFunction where++instance ToHeaders UpdateUserDefinedFunction where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.UpdateUserDefinedFunction" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateUserDefinedFunction where+        toJSON UpdateUserDefinedFunction'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _uudfCatalogId,+                  Just ("DatabaseName" .= _uudfDatabaseName),+                  Just ("FunctionName" .= _uudfFunctionName),+                  Just ("FunctionInput" .= _uudfFunctionInput)])++instance ToPath UpdateUserDefinedFunction where+        toPath = const "/"++instance ToQuery UpdateUserDefinedFunction where+        toQuery = const mempty++-- | /See:/ 'updateUserDefinedFunctionResponse' smart constructor.+newtype UpdateUserDefinedFunctionResponse = UpdateUserDefinedFunctionResponse'+  { _uudfrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateUserDefinedFunctionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uudfrsResponseStatus' - -- | The response status code.+updateUserDefinedFunctionResponse+    :: Int -- ^ 'uudfrsResponseStatus'+    -> UpdateUserDefinedFunctionResponse+updateUserDefinedFunctionResponse pResponseStatus_ =+  UpdateUserDefinedFunctionResponse' {_uudfrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+uudfrsResponseStatus :: Lens' UpdateUserDefinedFunctionResponse Int+uudfrsResponseStatus = lens _uudfrsResponseStatus (\ s a -> s{_uudfrsResponseStatus = a});++instance NFData UpdateUserDefinedFunctionResponse+         where
+ gen/Network/AWS/Glue/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.Glue.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.Glue.Waiters where++import Network.AWS.Glue.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.Glue+import Test.AWS.Glue.Internal++main :: IO ()+main = defaultMain $ testGroup "Glue"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/Glue.hs view
@@ -0,0 +1,1389 @@+{-# 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.Glue+-- 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.Glue where++import Data.Proxy+import Network.AWS.Glue+import Test.AWS.Fixture+import Test.AWS.Glue.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"+--         [ requestStartCrawler $+--             startCrawler+--+--         , requestGetCatalogImportStatus $+--             getCatalogImportStatus+--+--         , requestGetPartition $+--             getPartition+--+--         , requestCreateTrigger $+--             createTrigger+--+--         , requestDeleteTable $+--             deleteTable+--+--         , requestUpdateTable $+--             updateTable+--+--         , requestDeleteConnection $+--             deleteConnection+--+--         , requestUpdateConnection $+--             updateConnection+--+--         , requestGetUserDefinedFunctions $+--             getUserDefinedFunctions+--+--         , requestBatchCreatePartition $+--             batchCreatePartition+--+--         , requestGetMapping $+--             getMapping+--+--         , requestGetJobs $+--             getJobs+--+--         , requestGetClassifiers $+--             getClassifiers+--+--         , requestCreateConnection $+--             createConnection+--+--         , requestDeleteDevEndpoint $+--             deleteDevEndpoint+--+--         , requestUpdateDevEndpoint $+--             updateDevEndpoint+--+--         , requestDeleteCrawler $+--             deleteCrawler+--+--         , requestUpdateCrawler $+--             updateCrawler+--+--         , requestGetConnection $+--             getConnection+--+--         , requestBatchGetPartition $+--             batchGetPartition+--+--         , requestStopTrigger $+--             stopTrigger+--+--         , requestUpdateCrawlerSchedule $+--             updateCrawlerSchedule+--+--         , requestDeleteUserDefinedFunction $+--             deleteUserDefinedFunction+--+--         , requestUpdateUserDefinedFunction $+--             updateUserDefinedFunction+--+--         , requestBatchDeleteTable $+--             batchDeleteTable+--+--         , requestGetTables $+--             getTables+--+--         , requestCreateClassifier $+--             createClassifier+--+--         , requestBatchDeleteConnection $+--             batchDeleteConnection+--+--         , requestCreateJob $+--             createJob+--+--         , requestGetJobRuns $+--             getJobRuns+--+--         , requestCreateUserDefinedFunction $+--             createUserDefinedFunction+--+--         , requestResetJobBookmark $+--             resetJobBookmark+--+--         , requestDeleteJob $+--             deleteJob+--+--         , requestUpdateJob $+--             updateJob+--+--         , requestGetCrawlers $+--             getCrawlers+--+--         , requestGetClassifier $+--             getClassifier+--+--         , requestGetJob $+--             getJob+--+--         , requestGetDevEndpoints $+--             getDevEndpoints+--+--         , requestStartCrawlerSchedule $+--             startCrawlerSchedule+--+--         , requestGetUserDefinedFunction $+--             getUserDefinedFunction+--+--         , requestDeleteDatabase $+--             deleteDatabase+--+--         , requestUpdateDatabase $+--             updateDatabase+--+--         , requestStopCrawler $+--             stopCrawler+--+--         , requestGetPartitions $+--             getPartitions+--+--         , requestBatchDeletePartition $+--             batchDeletePartition+--+--         , requestGetCrawler $+--             getCrawler+--+--         , requestBatchStopJobRun $+--             batchStopJobRun+--+--         , requestGetDevEndpoint $+--             getDevEndpoint+--+--         , requestCreateTable $+--             createTable+--+--         , requestGetCrawlerMetrics $+--             getCrawlerMetrics+--+--         , requestGetPlan $+--             getPlan+--+--         , requestGetTriggers $+--             getTriggers+--+--         , requestStartTrigger $+--             startTrigger+--+--         , requestGetDataflowGraph $+--             getDataflowGraph+--+--         , requestGetDatabases $+--             getDatabases+--+--         , requestGetTable $+--             getTable+--+--         , requestCreateCrawler $+--             createCrawler+--+--         , requestGetJobRun $+--             getJobRun+--+--         , requestCreateDevEndpoint $+--             createDevEndpoint+--+--         , requestGetDatabase $+--             getDatabase+--+--         , requestDeletePartition $+--             deletePartition+--+--         , requestUpdatePartition $+--             updatePartition+--+--         , requestCreateScript $+--             createScript+--+--         , requestGetConnections $+--             getConnections+--+--         , requestGetTrigger $+--             getTrigger+--+--         , requestImportCatalogToGlue $+--             importCatalogToGlue+--+--         , requestDeleteClassifier $+--             deleteClassifier+--+--         , requestUpdateClassifier $+--             updateClassifier+--+--         , requestStartJobRun $+--             startJobRun+--+--         , requestCreatePartition $+--             createPartition+--+--         , requestStopCrawlerSchedule $+--             stopCrawlerSchedule+--+--         , requestCreateDatabase $+--             createDatabase+--+--         , requestGetTableVersions $+--             getTableVersions+--+--         , requestDeleteTrigger $+--             deleteTrigger+--+--         , requestUpdateTrigger $+--             updateTrigger+--+--           ]++--     , testGroup "response"+--         [ responseStartCrawler $+--             startCrawlerResponse+--+--         , responseGetCatalogImportStatus $+--             getCatalogImportStatusResponse+--+--         , responseGetPartition $+--             getPartitionResponse+--+--         , responseCreateTrigger $+--             createTriggerResponse+--+--         , responseDeleteTable $+--             deleteTableResponse+--+--         , responseUpdateTable $+--             updateTableResponse+--+--         , responseDeleteConnection $+--             deleteConnectionResponse+--+--         , responseUpdateConnection $+--             updateConnectionResponse+--+--         , responseGetUserDefinedFunctions $+--             getUserDefinedFunctionsResponse+--+--         , responseBatchCreatePartition $+--             batchCreatePartitionResponse+--+--         , responseGetMapping $+--             getMappingResponse+--+--         , responseGetJobs $+--             getJobsResponse+--+--         , responseGetClassifiers $+--             getClassifiersResponse+--+--         , responseCreateConnection $+--             createConnectionResponse+--+--         , responseDeleteDevEndpoint $+--             deleteDevEndpointResponse+--+--         , responseUpdateDevEndpoint $+--             updateDevEndpointResponse+--+--         , responseDeleteCrawler $+--             deleteCrawlerResponse+--+--         , responseUpdateCrawler $+--             updateCrawlerResponse+--+--         , responseGetConnection $+--             getConnectionResponse+--+--         , responseBatchGetPartition $+--             batchGetPartitionResponse+--+--         , responseStopTrigger $+--             stopTriggerResponse+--+--         , responseUpdateCrawlerSchedule $+--             updateCrawlerScheduleResponse+--+--         , responseDeleteUserDefinedFunction $+--             deleteUserDefinedFunctionResponse+--+--         , responseUpdateUserDefinedFunction $+--             updateUserDefinedFunctionResponse+--+--         , responseBatchDeleteTable $+--             batchDeleteTableResponse+--+--         , responseGetTables $+--             getTablesResponse+--+--         , responseCreateClassifier $+--             createClassifierResponse+--+--         , responseBatchDeleteConnection $+--             batchDeleteConnectionResponse+--+--         , responseCreateJob $+--             createJobResponse+--+--         , responseGetJobRuns $+--             getJobRunsResponse+--+--         , responseCreateUserDefinedFunction $+--             createUserDefinedFunctionResponse+--+--         , responseResetJobBookmark $+--             resetJobBookmarkResponse+--+--         , responseDeleteJob $+--             deleteJobResponse+--+--         , responseUpdateJob $+--             updateJobResponse+--+--         , responseGetCrawlers $+--             getCrawlersResponse+--+--         , responseGetClassifier $+--             getClassifierResponse+--+--         , responseGetJob $+--             getJobResponse+--+--         , responseGetDevEndpoints $+--             getDevEndpointsResponse+--+--         , responseStartCrawlerSchedule $+--             startCrawlerScheduleResponse+--+--         , responseGetUserDefinedFunction $+--             getUserDefinedFunctionResponse+--+--         , responseDeleteDatabase $+--             deleteDatabaseResponse+--+--         , responseUpdateDatabase $+--             updateDatabaseResponse+--+--         , responseStopCrawler $+--             stopCrawlerResponse+--+--         , responseGetPartitions $+--             getPartitionsResponse+--+--         , responseBatchDeletePartition $+--             batchDeletePartitionResponse+--+--         , responseGetCrawler $+--             getCrawlerResponse+--+--         , responseBatchStopJobRun $+--             batchStopJobRunResponse+--+--         , responseGetDevEndpoint $+--             getDevEndpointResponse+--+--         , responseCreateTable $+--             createTableResponse+--+--         , responseGetCrawlerMetrics $+--             getCrawlerMetricsResponse+--+--         , responseGetPlan $+--             getPlanResponse+--+--         , responseGetTriggers $+--             getTriggersResponse+--+--         , responseStartTrigger $+--             startTriggerResponse+--+--         , responseGetDataflowGraph $+--             getDataflowGraphResponse+--+--         , responseGetDatabases $+--             getDatabasesResponse+--+--         , responseGetTable $+--             getTableResponse+--+--         , responseCreateCrawler $+--             createCrawlerResponse+--+--         , responseGetJobRun $+--             getJobRunResponse+--+--         , responseCreateDevEndpoint $+--             createDevEndpointResponse+--+--         , responseGetDatabase $+--             getDatabaseResponse+--+--         , responseDeletePartition $+--             deletePartitionResponse+--+--         , responseUpdatePartition $+--             updatePartitionResponse+--+--         , responseCreateScript $+--             createScriptResponse+--+--         , responseGetConnections $+--             getConnectionsResponse+--+--         , responseGetTrigger $+--             getTriggerResponse+--+--         , responseImportCatalogToGlue $+--             importCatalogToGlueResponse+--+--         , responseDeleteClassifier $+--             deleteClassifierResponse+--+--         , responseUpdateClassifier $+--             updateClassifierResponse+--+--         , responseStartJobRun $+--             startJobRunResponse+--+--         , responseCreatePartition $+--             createPartitionResponse+--+--         , responseStopCrawlerSchedule $+--             stopCrawlerScheduleResponse+--+--         , responseCreateDatabase $+--             createDatabaseResponse+--+--         , responseGetTableVersions $+--             getTableVersionsResponse+--+--         , responseDeleteTrigger $+--             deleteTriggerResponse+--+--         , responseUpdateTrigger $+--             updateTriggerResponse+--+--           ]+--     ]++-- Requests++requestStartCrawler :: StartCrawler -> TestTree+requestStartCrawler = req+    "StartCrawler"+    "fixture/StartCrawler.yaml"++requestGetCatalogImportStatus :: GetCatalogImportStatus -> TestTree+requestGetCatalogImportStatus = req+    "GetCatalogImportStatus"+    "fixture/GetCatalogImportStatus.yaml"++requestGetPartition :: GetPartition -> TestTree+requestGetPartition = req+    "GetPartition"+    "fixture/GetPartition.yaml"++requestCreateTrigger :: CreateTrigger -> TestTree+requestCreateTrigger = req+    "CreateTrigger"+    "fixture/CreateTrigger.yaml"++requestDeleteTable :: DeleteTable -> TestTree+requestDeleteTable = req+    "DeleteTable"+    "fixture/DeleteTable.yaml"++requestUpdateTable :: UpdateTable -> TestTree+requestUpdateTable = req+    "UpdateTable"+    "fixture/UpdateTable.yaml"++requestDeleteConnection :: DeleteConnection -> TestTree+requestDeleteConnection = req+    "DeleteConnection"+    "fixture/DeleteConnection.yaml"++requestUpdateConnection :: UpdateConnection -> TestTree+requestUpdateConnection = req+    "UpdateConnection"+    "fixture/UpdateConnection.yaml"++requestGetUserDefinedFunctions :: GetUserDefinedFunctions -> TestTree+requestGetUserDefinedFunctions = req+    "GetUserDefinedFunctions"+    "fixture/GetUserDefinedFunctions.yaml"++requestBatchCreatePartition :: BatchCreatePartition -> TestTree+requestBatchCreatePartition = req+    "BatchCreatePartition"+    "fixture/BatchCreatePartition.yaml"++requestGetMapping :: GetMapping -> TestTree+requestGetMapping = req+    "GetMapping"+    "fixture/GetMapping.yaml"++requestGetJobs :: GetJobs -> TestTree+requestGetJobs = req+    "GetJobs"+    "fixture/GetJobs.yaml"++requestGetClassifiers :: GetClassifiers -> TestTree+requestGetClassifiers = req+    "GetClassifiers"+    "fixture/GetClassifiers.yaml"++requestCreateConnection :: CreateConnection -> TestTree+requestCreateConnection = req+    "CreateConnection"+    "fixture/CreateConnection.yaml"++requestDeleteDevEndpoint :: DeleteDevEndpoint -> TestTree+requestDeleteDevEndpoint = req+    "DeleteDevEndpoint"+    "fixture/DeleteDevEndpoint.yaml"++requestUpdateDevEndpoint :: UpdateDevEndpoint -> TestTree+requestUpdateDevEndpoint = req+    "UpdateDevEndpoint"+    "fixture/UpdateDevEndpoint.yaml"++requestDeleteCrawler :: DeleteCrawler -> TestTree+requestDeleteCrawler = req+    "DeleteCrawler"+    "fixture/DeleteCrawler.yaml"++requestUpdateCrawler :: UpdateCrawler -> TestTree+requestUpdateCrawler = req+    "UpdateCrawler"+    "fixture/UpdateCrawler.yaml"++requestGetConnection :: GetConnection -> TestTree+requestGetConnection = req+    "GetConnection"+    "fixture/GetConnection.yaml"++requestBatchGetPartition :: BatchGetPartition -> TestTree+requestBatchGetPartition = req+    "BatchGetPartition"+    "fixture/BatchGetPartition.yaml"++requestStopTrigger :: StopTrigger -> TestTree+requestStopTrigger = req+    "StopTrigger"+    "fixture/StopTrigger.yaml"++requestUpdateCrawlerSchedule :: UpdateCrawlerSchedule -> TestTree+requestUpdateCrawlerSchedule = req+    "UpdateCrawlerSchedule"+    "fixture/UpdateCrawlerSchedule.yaml"++requestDeleteUserDefinedFunction :: DeleteUserDefinedFunction -> TestTree+requestDeleteUserDefinedFunction = req+    "DeleteUserDefinedFunction"+    "fixture/DeleteUserDefinedFunction.yaml"++requestUpdateUserDefinedFunction :: UpdateUserDefinedFunction -> TestTree+requestUpdateUserDefinedFunction = req+    "UpdateUserDefinedFunction"+    "fixture/UpdateUserDefinedFunction.yaml"++requestBatchDeleteTable :: BatchDeleteTable -> TestTree+requestBatchDeleteTable = req+    "BatchDeleteTable"+    "fixture/BatchDeleteTable.yaml"++requestGetTables :: GetTables -> TestTree+requestGetTables = req+    "GetTables"+    "fixture/GetTables.yaml"++requestCreateClassifier :: CreateClassifier -> TestTree+requestCreateClassifier = req+    "CreateClassifier"+    "fixture/CreateClassifier.yaml"++requestBatchDeleteConnection :: BatchDeleteConnection -> TestTree+requestBatchDeleteConnection = req+    "BatchDeleteConnection"+    "fixture/BatchDeleteConnection.yaml"++requestCreateJob :: CreateJob -> TestTree+requestCreateJob = req+    "CreateJob"+    "fixture/CreateJob.yaml"++requestGetJobRuns :: GetJobRuns -> TestTree+requestGetJobRuns = req+    "GetJobRuns"+    "fixture/GetJobRuns.yaml"++requestCreateUserDefinedFunction :: CreateUserDefinedFunction -> TestTree+requestCreateUserDefinedFunction = req+    "CreateUserDefinedFunction"+    "fixture/CreateUserDefinedFunction.yaml"++requestResetJobBookmark :: ResetJobBookmark -> TestTree+requestResetJobBookmark = req+    "ResetJobBookmark"+    "fixture/ResetJobBookmark.yaml"++requestDeleteJob :: DeleteJob -> TestTree+requestDeleteJob = req+    "DeleteJob"+    "fixture/DeleteJob.yaml"++requestUpdateJob :: UpdateJob -> TestTree+requestUpdateJob = req+    "UpdateJob"+    "fixture/UpdateJob.yaml"++requestGetCrawlers :: GetCrawlers -> TestTree+requestGetCrawlers = req+    "GetCrawlers"+    "fixture/GetCrawlers.yaml"++requestGetClassifier :: GetClassifier -> TestTree+requestGetClassifier = req+    "GetClassifier"+    "fixture/GetClassifier.yaml"++requestGetJob :: GetJob -> TestTree+requestGetJob = req+    "GetJob"+    "fixture/GetJob.yaml"++requestGetDevEndpoints :: GetDevEndpoints -> TestTree+requestGetDevEndpoints = req+    "GetDevEndpoints"+    "fixture/GetDevEndpoints.yaml"++requestStartCrawlerSchedule :: StartCrawlerSchedule -> TestTree+requestStartCrawlerSchedule = req+    "StartCrawlerSchedule"+    "fixture/StartCrawlerSchedule.yaml"++requestGetUserDefinedFunction :: GetUserDefinedFunction -> TestTree+requestGetUserDefinedFunction = req+    "GetUserDefinedFunction"+    "fixture/GetUserDefinedFunction.yaml"++requestDeleteDatabase :: DeleteDatabase -> TestTree+requestDeleteDatabase = req+    "DeleteDatabase"+    "fixture/DeleteDatabase.yaml"++requestUpdateDatabase :: UpdateDatabase -> TestTree+requestUpdateDatabase = req+    "UpdateDatabase"+    "fixture/UpdateDatabase.yaml"++requestStopCrawler :: StopCrawler -> TestTree+requestStopCrawler = req+    "StopCrawler"+    "fixture/StopCrawler.yaml"++requestGetPartitions :: GetPartitions -> TestTree+requestGetPartitions = req+    "GetPartitions"+    "fixture/GetPartitions.yaml"++requestBatchDeletePartition :: BatchDeletePartition -> TestTree+requestBatchDeletePartition = req+    "BatchDeletePartition"+    "fixture/BatchDeletePartition.yaml"++requestGetCrawler :: GetCrawler -> TestTree+requestGetCrawler = req+    "GetCrawler"+    "fixture/GetCrawler.yaml"++requestBatchStopJobRun :: BatchStopJobRun -> TestTree+requestBatchStopJobRun = req+    "BatchStopJobRun"+    "fixture/BatchStopJobRun.yaml"++requestGetDevEndpoint :: GetDevEndpoint -> TestTree+requestGetDevEndpoint = req+    "GetDevEndpoint"+    "fixture/GetDevEndpoint.yaml"++requestCreateTable :: CreateTable -> TestTree+requestCreateTable = req+    "CreateTable"+    "fixture/CreateTable.yaml"++requestGetCrawlerMetrics :: GetCrawlerMetrics -> TestTree+requestGetCrawlerMetrics = req+    "GetCrawlerMetrics"+    "fixture/GetCrawlerMetrics.yaml"++requestGetPlan :: GetPlan -> TestTree+requestGetPlan = req+    "GetPlan"+    "fixture/GetPlan.yaml"++requestGetTriggers :: GetTriggers -> TestTree+requestGetTriggers = req+    "GetTriggers"+    "fixture/GetTriggers.yaml"++requestStartTrigger :: StartTrigger -> TestTree+requestStartTrigger = req+    "StartTrigger"+    "fixture/StartTrigger.yaml"++requestGetDataflowGraph :: GetDataflowGraph -> TestTree+requestGetDataflowGraph = req+    "GetDataflowGraph"+    "fixture/GetDataflowGraph.yaml"++requestGetDatabases :: GetDatabases -> TestTree+requestGetDatabases = req+    "GetDatabases"+    "fixture/GetDatabases.yaml"++requestGetTable :: GetTable -> TestTree+requestGetTable = req+    "GetTable"+    "fixture/GetTable.yaml"++requestCreateCrawler :: CreateCrawler -> TestTree+requestCreateCrawler = req+    "CreateCrawler"+    "fixture/CreateCrawler.yaml"++requestGetJobRun :: GetJobRun -> TestTree+requestGetJobRun = req+    "GetJobRun"+    "fixture/GetJobRun.yaml"++requestCreateDevEndpoint :: CreateDevEndpoint -> TestTree+requestCreateDevEndpoint = req+    "CreateDevEndpoint"+    "fixture/CreateDevEndpoint.yaml"++requestGetDatabase :: GetDatabase -> TestTree+requestGetDatabase = req+    "GetDatabase"+    "fixture/GetDatabase.yaml"++requestDeletePartition :: DeletePartition -> TestTree+requestDeletePartition = req+    "DeletePartition"+    "fixture/DeletePartition.yaml"++requestUpdatePartition :: UpdatePartition -> TestTree+requestUpdatePartition = req+    "UpdatePartition"+    "fixture/UpdatePartition.yaml"++requestCreateScript :: CreateScript -> TestTree+requestCreateScript = req+    "CreateScript"+    "fixture/CreateScript.yaml"++requestGetConnections :: GetConnections -> TestTree+requestGetConnections = req+    "GetConnections"+    "fixture/GetConnections.yaml"++requestGetTrigger :: GetTrigger -> TestTree+requestGetTrigger = req+    "GetTrigger"+    "fixture/GetTrigger.yaml"++requestImportCatalogToGlue :: ImportCatalogToGlue -> TestTree+requestImportCatalogToGlue = req+    "ImportCatalogToGlue"+    "fixture/ImportCatalogToGlue.yaml"++requestDeleteClassifier :: DeleteClassifier -> TestTree+requestDeleteClassifier = req+    "DeleteClassifier"+    "fixture/DeleteClassifier.yaml"++requestUpdateClassifier :: UpdateClassifier -> TestTree+requestUpdateClassifier = req+    "UpdateClassifier"+    "fixture/UpdateClassifier.yaml"++requestStartJobRun :: StartJobRun -> TestTree+requestStartJobRun = req+    "StartJobRun"+    "fixture/StartJobRun.yaml"++requestCreatePartition :: CreatePartition -> TestTree+requestCreatePartition = req+    "CreatePartition"+    "fixture/CreatePartition.yaml"++requestStopCrawlerSchedule :: StopCrawlerSchedule -> TestTree+requestStopCrawlerSchedule = req+    "StopCrawlerSchedule"+    "fixture/StopCrawlerSchedule.yaml"++requestCreateDatabase :: CreateDatabase -> TestTree+requestCreateDatabase = req+    "CreateDatabase"+    "fixture/CreateDatabase.yaml"++requestGetTableVersions :: GetTableVersions -> TestTree+requestGetTableVersions = req+    "GetTableVersions"+    "fixture/GetTableVersions.yaml"++requestDeleteTrigger :: DeleteTrigger -> TestTree+requestDeleteTrigger = req+    "DeleteTrigger"+    "fixture/DeleteTrigger.yaml"++requestUpdateTrigger :: UpdateTrigger -> TestTree+requestUpdateTrigger = req+    "UpdateTrigger"+    "fixture/UpdateTrigger.yaml"++-- Responses++responseStartCrawler :: StartCrawlerResponse -> TestTree+responseStartCrawler = res+    "StartCrawlerResponse"+    "fixture/StartCrawlerResponse.proto"+    glue+    (Proxy :: Proxy StartCrawler)++responseGetCatalogImportStatus :: GetCatalogImportStatusResponse -> TestTree+responseGetCatalogImportStatus = res+    "GetCatalogImportStatusResponse"+    "fixture/GetCatalogImportStatusResponse.proto"+    glue+    (Proxy :: Proxy GetCatalogImportStatus)++responseGetPartition :: GetPartitionResponse -> TestTree+responseGetPartition = res+    "GetPartitionResponse"+    "fixture/GetPartitionResponse.proto"+    glue+    (Proxy :: Proxy GetPartition)++responseCreateTrigger :: CreateTriggerResponse -> TestTree+responseCreateTrigger = res+    "CreateTriggerResponse"+    "fixture/CreateTriggerResponse.proto"+    glue+    (Proxy :: Proxy CreateTrigger)++responseDeleteTable :: DeleteTableResponse -> TestTree+responseDeleteTable = res+    "DeleteTableResponse"+    "fixture/DeleteTableResponse.proto"+    glue+    (Proxy :: Proxy DeleteTable)++responseUpdateTable :: UpdateTableResponse -> TestTree+responseUpdateTable = res+    "UpdateTableResponse"+    "fixture/UpdateTableResponse.proto"+    glue+    (Proxy :: Proxy UpdateTable)++responseDeleteConnection :: DeleteConnectionResponse -> TestTree+responseDeleteConnection = res+    "DeleteConnectionResponse"+    "fixture/DeleteConnectionResponse.proto"+    glue+    (Proxy :: Proxy DeleteConnection)++responseUpdateConnection :: UpdateConnectionResponse -> TestTree+responseUpdateConnection = res+    "UpdateConnectionResponse"+    "fixture/UpdateConnectionResponse.proto"+    glue+    (Proxy :: Proxy UpdateConnection)++responseGetUserDefinedFunctions :: GetUserDefinedFunctionsResponse -> TestTree+responseGetUserDefinedFunctions = res+    "GetUserDefinedFunctionsResponse"+    "fixture/GetUserDefinedFunctionsResponse.proto"+    glue+    (Proxy :: Proxy GetUserDefinedFunctions)++responseBatchCreatePartition :: BatchCreatePartitionResponse -> TestTree+responseBatchCreatePartition = res+    "BatchCreatePartitionResponse"+    "fixture/BatchCreatePartitionResponse.proto"+    glue+    (Proxy :: Proxy BatchCreatePartition)++responseGetMapping :: GetMappingResponse -> TestTree+responseGetMapping = res+    "GetMappingResponse"+    "fixture/GetMappingResponse.proto"+    glue+    (Proxy :: Proxy GetMapping)++responseGetJobs :: GetJobsResponse -> TestTree+responseGetJobs = res+    "GetJobsResponse"+    "fixture/GetJobsResponse.proto"+    glue+    (Proxy :: Proxy GetJobs)++responseGetClassifiers :: GetClassifiersResponse -> TestTree+responseGetClassifiers = res+    "GetClassifiersResponse"+    "fixture/GetClassifiersResponse.proto"+    glue+    (Proxy :: Proxy GetClassifiers)++responseCreateConnection :: CreateConnectionResponse -> TestTree+responseCreateConnection = res+    "CreateConnectionResponse"+    "fixture/CreateConnectionResponse.proto"+    glue+    (Proxy :: Proxy CreateConnection)++responseDeleteDevEndpoint :: DeleteDevEndpointResponse -> TestTree+responseDeleteDevEndpoint = res+    "DeleteDevEndpointResponse"+    "fixture/DeleteDevEndpointResponse.proto"+    glue+    (Proxy :: Proxy DeleteDevEndpoint)++responseUpdateDevEndpoint :: UpdateDevEndpointResponse -> TestTree+responseUpdateDevEndpoint = res+    "UpdateDevEndpointResponse"+    "fixture/UpdateDevEndpointResponse.proto"+    glue+    (Proxy :: Proxy UpdateDevEndpoint)++responseDeleteCrawler :: DeleteCrawlerResponse -> TestTree+responseDeleteCrawler = res+    "DeleteCrawlerResponse"+    "fixture/DeleteCrawlerResponse.proto"+    glue+    (Proxy :: Proxy DeleteCrawler)++responseUpdateCrawler :: UpdateCrawlerResponse -> TestTree+responseUpdateCrawler = res+    "UpdateCrawlerResponse"+    "fixture/UpdateCrawlerResponse.proto"+    glue+    (Proxy :: Proxy UpdateCrawler)++responseGetConnection :: GetConnectionResponse -> TestTree+responseGetConnection = res+    "GetConnectionResponse"+    "fixture/GetConnectionResponse.proto"+    glue+    (Proxy :: Proxy GetConnection)++responseBatchGetPartition :: BatchGetPartitionResponse -> TestTree+responseBatchGetPartition = res+    "BatchGetPartitionResponse"+    "fixture/BatchGetPartitionResponse.proto"+    glue+    (Proxy :: Proxy BatchGetPartition)++responseStopTrigger :: StopTriggerResponse -> TestTree+responseStopTrigger = res+    "StopTriggerResponse"+    "fixture/StopTriggerResponse.proto"+    glue+    (Proxy :: Proxy StopTrigger)++responseUpdateCrawlerSchedule :: UpdateCrawlerScheduleResponse -> TestTree+responseUpdateCrawlerSchedule = res+    "UpdateCrawlerScheduleResponse"+    "fixture/UpdateCrawlerScheduleResponse.proto"+    glue+    (Proxy :: Proxy UpdateCrawlerSchedule)++responseDeleteUserDefinedFunction :: DeleteUserDefinedFunctionResponse -> TestTree+responseDeleteUserDefinedFunction = res+    "DeleteUserDefinedFunctionResponse"+    "fixture/DeleteUserDefinedFunctionResponse.proto"+    glue+    (Proxy :: Proxy DeleteUserDefinedFunction)++responseUpdateUserDefinedFunction :: UpdateUserDefinedFunctionResponse -> TestTree+responseUpdateUserDefinedFunction = res+    "UpdateUserDefinedFunctionResponse"+    "fixture/UpdateUserDefinedFunctionResponse.proto"+    glue+    (Proxy :: Proxy UpdateUserDefinedFunction)++responseBatchDeleteTable :: BatchDeleteTableResponse -> TestTree+responseBatchDeleteTable = res+    "BatchDeleteTableResponse"+    "fixture/BatchDeleteTableResponse.proto"+    glue+    (Proxy :: Proxy BatchDeleteTable)++responseGetTables :: GetTablesResponse -> TestTree+responseGetTables = res+    "GetTablesResponse"+    "fixture/GetTablesResponse.proto"+    glue+    (Proxy :: Proxy GetTables)++responseCreateClassifier :: CreateClassifierResponse -> TestTree+responseCreateClassifier = res+    "CreateClassifierResponse"+    "fixture/CreateClassifierResponse.proto"+    glue+    (Proxy :: Proxy CreateClassifier)++responseBatchDeleteConnection :: BatchDeleteConnectionResponse -> TestTree+responseBatchDeleteConnection = res+    "BatchDeleteConnectionResponse"+    "fixture/BatchDeleteConnectionResponse.proto"+    glue+    (Proxy :: Proxy BatchDeleteConnection)++responseCreateJob :: CreateJobResponse -> TestTree+responseCreateJob = res+    "CreateJobResponse"+    "fixture/CreateJobResponse.proto"+    glue+    (Proxy :: Proxy CreateJob)++responseGetJobRuns :: GetJobRunsResponse -> TestTree+responseGetJobRuns = res+    "GetJobRunsResponse"+    "fixture/GetJobRunsResponse.proto"+    glue+    (Proxy :: Proxy GetJobRuns)++responseCreateUserDefinedFunction :: CreateUserDefinedFunctionResponse -> TestTree+responseCreateUserDefinedFunction = res+    "CreateUserDefinedFunctionResponse"+    "fixture/CreateUserDefinedFunctionResponse.proto"+    glue+    (Proxy :: Proxy CreateUserDefinedFunction)++responseResetJobBookmark :: ResetJobBookmarkResponse -> TestTree+responseResetJobBookmark = res+    "ResetJobBookmarkResponse"+    "fixture/ResetJobBookmarkResponse.proto"+    glue+    (Proxy :: Proxy ResetJobBookmark)++responseDeleteJob :: DeleteJobResponse -> TestTree+responseDeleteJob = res+    "DeleteJobResponse"+    "fixture/DeleteJobResponse.proto"+    glue+    (Proxy :: Proxy DeleteJob)++responseUpdateJob :: UpdateJobResponse -> TestTree+responseUpdateJob = res+    "UpdateJobResponse"+    "fixture/UpdateJobResponse.proto"+    glue+    (Proxy :: Proxy UpdateJob)++responseGetCrawlers :: GetCrawlersResponse -> TestTree+responseGetCrawlers = res+    "GetCrawlersResponse"+    "fixture/GetCrawlersResponse.proto"+    glue+    (Proxy :: Proxy GetCrawlers)++responseGetClassifier :: GetClassifierResponse -> TestTree+responseGetClassifier = res+    "GetClassifierResponse"+    "fixture/GetClassifierResponse.proto"+    glue+    (Proxy :: Proxy GetClassifier)++responseGetJob :: GetJobResponse -> TestTree+responseGetJob = res+    "GetJobResponse"+    "fixture/GetJobResponse.proto"+    glue+    (Proxy :: Proxy GetJob)++responseGetDevEndpoints :: GetDevEndpointsResponse -> TestTree+responseGetDevEndpoints = res+    "GetDevEndpointsResponse"+    "fixture/GetDevEndpointsResponse.proto"+    glue+    (Proxy :: Proxy GetDevEndpoints)++responseStartCrawlerSchedule :: StartCrawlerScheduleResponse -> TestTree+responseStartCrawlerSchedule = res+    "StartCrawlerScheduleResponse"+    "fixture/StartCrawlerScheduleResponse.proto"+    glue+    (Proxy :: Proxy StartCrawlerSchedule)++responseGetUserDefinedFunction :: GetUserDefinedFunctionResponse -> TestTree+responseGetUserDefinedFunction = res+    "GetUserDefinedFunctionResponse"+    "fixture/GetUserDefinedFunctionResponse.proto"+    glue+    (Proxy :: Proxy GetUserDefinedFunction)++responseDeleteDatabase :: DeleteDatabaseResponse -> TestTree+responseDeleteDatabase = res+    "DeleteDatabaseResponse"+    "fixture/DeleteDatabaseResponse.proto"+    glue+    (Proxy :: Proxy DeleteDatabase)++responseUpdateDatabase :: UpdateDatabaseResponse -> TestTree+responseUpdateDatabase = res+    "UpdateDatabaseResponse"+    "fixture/UpdateDatabaseResponse.proto"+    glue+    (Proxy :: Proxy UpdateDatabase)++responseStopCrawler :: StopCrawlerResponse -> TestTree+responseStopCrawler = res+    "StopCrawlerResponse"+    "fixture/StopCrawlerResponse.proto"+    glue+    (Proxy :: Proxy StopCrawler)++responseGetPartitions :: GetPartitionsResponse -> TestTree+responseGetPartitions = res+    "GetPartitionsResponse"+    "fixture/GetPartitionsResponse.proto"+    glue+    (Proxy :: Proxy GetPartitions)++responseBatchDeletePartition :: BatchDeletePartitionResponse -> TestTree+responseBatchDeletePartition = res+    "BatchDeletePartitionResponse"+    "fixture/BatchDeletePartitionResponse.proto"+    glue+    (Proxy :: Proxy BatchDeletePartition)++responseGetCrawler :: GetCrawlerResponse -> TestTree+responseGetCrawler = res+    "GetCrawlerResponse"+    "fixture/GetCrawlerResponse.proto"+    glue+    (Proxy :: Proxy GetCrawler)++responseBatchStopJobRun :: BatchStopJobRunResponse -> TestTree+responseBatchStopJobRun = res+    "BatchStopJobRunResponse"+    "fixture/BatchStopJobRunResponse.proto"+    glue+    (Proxy :: Proxy BatchStopJobRun)++responseGetDevEndpoint :: GetDevEndpointResponse -> TestTree+responseGetDevEndpoint = res+    "GetDevEndpointResponse"+    "fixture/GetDevEndpointResponse.proto"+    glue+    (Proxy :: Proxy GetDevEndpoint)++responseCreateTable :: CreateTableResponse -> TestTree+responseCreateTable = res+    "CreateTableResponse"+    "fixture/CreateTableResponse.proto"+    glue+    (Proxy :: Proxy CreateTable)++responseGetCrawlerMetrics :: GetCrawlerMetricsResponse -> TestTree+responseGetCrawlerMetrics = res+    "GetCrawlerMetricsResponse"+    "fixture/GetCrawlerMetricsResponse.proto"+    glue+    (Proxy :: Proxy GetCrawlerMetrics)++responseGetPlan :: GetPlanResponse -> TestTree+responseGetPlan = res+    "GetPlanResponse"+    "fixture/GetPlanResponse.proto"+    glue+    (Proxy :: Proxy GetPlan)++responseGetTriggers :: GetTriggersResponse -> TestTree+responseGetTriggers = res+    "GetTriggersResponse"+    "fixture/GetTriggersResponse.proto"+    glue+    (Proxy :: Proxy GetTriggers)++responseStartTrigger :: StartTriggerResponse -> TestTree+responseStartTrigger = res+    "StartTriggerResponse"+    "fixture/StartTriggerResponse.proto"+    glue+    (Proxy :: Proxy StartTrigger)++responseGetDataflowGraph :: GetDataflowGraphResponse -> TestTree+responseGetDataflowGraph = res+    "GetDataflowGraphResponse"+    "fixture/GetDataflowGraphResponse.proto"+    glue+    (Proxy :: Proxy GetDataflowGraph)++responseGetDatabases :: GetDatabasesResponse -> TestTree+responseGetDatabases = res+    "GetDatabasesResponse"+    "fixture/GetDatabasesResponse.proto"+    glue+    (Proxy :: Proxy GetDatabases)++responseGetTable :: GetTableResponse -> TestTree+responseGetTable = res+    "GetTableResponse"+    "fixture/GetTableResponse.proto"+    glue+    (Proxy :: Proxy GetTable)++responseCreateCrawler :: CreateCrawlerResponse -> TestTree+responseCreateCrawler = res+    "CreateCrawlerResponse"+    "fixture/CreateCrawlerResponse.proto"+    glue+    (Proxy :: Proxy CreateCrawler)++responseGetJobRun :: GetJobRunResponse -> TestTree+responseGetJobRun = res+    "GetJobRunResponse"+    "fixture/GetJobRunResponse.proto"+    glue+    (Proxy :: Proxy GetJobRun)++responseCreateDevEndpoint :: CreateDevEndpointResponse -> TestTree+responseCreateDevEndpoint = res+    "CreateDevEndpointResponse"+    "fixture/CreateDevEndpointResponse.proto"+    glue+    (Proxy :: Proxy CreateDevEndpoint)++responseGetDatabase :: GetDatabaseResponse -> TestTree+responseGetDatabase = res+    "GetDatabaseResponse"+    "fixture/GetDatabaseResponse.proto"+    glue+    (Proxy :: Proxy GetDatabase)++responseDeletePartition :: DeletePartitionResponse -> TestTree+responseDeletePartition = res+    "DeletePartitionResponse"+    "fixture/DeletePartitionResponse.proto"+    glue+    (Proxy :: Proxy DeletePartition)++responseUpdatePartition :: UpdatePartitionResponse -> TestTree+responseUpdatePartition = res+    "UpdatePartitionResponse"+    "fixture/UpdatePartitionResponse.proto"+    glue+    (Proxy :: Proxy UpdatePartition)++responseCreateScript :: CreateScriptResponse -> TestTree+responseCreateScript = res+    "CreateScriptResponse"+    "fixture/CreateScriptResponse.proto"+    glue+    (Proxy :: Proxy CreateScript)++responseGetConnections :: GetConnectionsResponse -> TestTree+responseGetConnections = res+    "GetConnectionsResponse"+    "fixture/GetConnectionsResponse.proto"+    glue+    (Proxy :: Proxy GetConnections)++responseGetTrigger :: GetTriggerResponse -> TestTree+responseGetTrigger = res+    "GetTriggerResponse"+    "fixture/GetTriggerResponse.proto"+    glue+    (Proxy :: Proxy GetTrigger)++responseImportCatalogToGlue :: ImportCatalogToGlueResponse -> TestTree+responseImportCatalogToGlue = res+    "ImportCatalogToGlueResponse"+    "fixture/ImportCatalogToGlueResponse.proto"+    glue+    (Proxy :: Proxy ImportCatalogToGlue)++responseDeleteClassifier :: DeleteClassifierResponse -> TestTree+responseDeleteClassifier = res+    "DeleteClassifierResponse"+    "fixture/DeleteClassifierResponse.proto"+    glue+    (Proxy :: Proxy DeleteClassifier)++responseUpdateClassifier :: UpdateClassifierResponse -> TestTree+responseUpdateClassifier = res+    "UpdateClassifierResponse"+    "fixture/UpdateClassifierResponse.proto"+    glue+    (Proxy :: Proxy UpdateClassifier)++responseStartJobRun :: StartJobRunResponse -> TestTree+responseStartJobRun = res+    "StartJobRunResponse"+    "fixture/StartJobRunResponse.proto"+    glue+    (Proxy :: Proxy StartJobRun)++responseCreatePartition :: CreatePartitionResponse -> TestTree+responseCreatePartition = res+    "CreatePartitionResponse"+    "fixture/CreatePartitionResponse.proto"+    glue+    (Proxy :: Proxy CreatePartition)++responseStopCrawlerSchedule :: StopCrawlerScheduleResponse -> TestTree+responseStopCrawlerSchedule = res+    "StopCrawlerScheduleResponse"+    "fixture/StopCrawlerScheduleResponse.proto"+    glue+    (Proxy :: Proxy StopCrawlerSchedule)++responseCreateDatabase :: CreateDatabaseResponse -> TestTree+responseCreateDatabase = res+    "CreateDatabaseResponse"+    "fixture/CreateDatabaseResponse.proto"+    glue+    (Proxy :: Proxy CreateDatabase)++responseGetTableVersions :: GetTableVersionsResponse -> TestTree+responseGetTableVersions = res+    "GetTableVersionsResponse"+    "fixture/GetTableVersionsResponse.proto"+    glue+    (Proxy :: Proxy GetTableVersions)++responseDeleteTrigger :: DeleteTriggerResponse -> TestTree+responseDeleteTrigger = res+    "DeleteTriggerResponse"+    "fixture/DeleteTriggerResponse.proto"+    glue+    (Proxy :: Proxy DeleteTrigger)++responseUpdateTrigger :: UpdateTriggerResponse -> TestTree+responseUpdateTrigger = res+    "UpdateTriggerResponse"+    "fixture/UpdateTriggerResponse.proto"+    glue+    (Proxy :: Proxy UpdateTrigger)
+ test/Test/AWS/Glue.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.AWS.Glue+-- 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.Glue+    ( tests+    , fixtures+    ) where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/Glue/Internal.hs view
@@ -0,0 +1,9 @@+-- |+-- Module      : Test.AWS.Glue.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.Glue.Internal where