amazonka-qldb-session (empty) → 2.0
raw patch · 33 files changed
+3119/−0 lines, 33 filesdep +amazonka-coredep +amazonka-qldb-sessiondep +amazonka-test
Dependencies added: amazonka-core, amazonka-qldb-session, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-qldb-session.cabal +102/−0
- fixture/SendCommand.yaml +10/−0
- fixture/SendCommandResponse.proto +0/−0
- gen/Amazonka/QLDBSession.hs +173/−0
- gen/Amazonka/QLDBSession/Lens.hs +124/−0
- gen/Amazonka/QLDBSession/SendCommand.hs +373/−0
- gen/Amazonka/QLDBSession/Types.hs +271/−0
- gen/Amazonka/QLDBSession/Types/AbortTransactionRequest.hs +51/−0
- gen/Amazonka/QLDBSession/Types/AbortTransactionResult.hs +73/−0
- gen/Amazonka/QLDBSession/Types/CommitTransactionRequest.hs +123/−0
- gen/Amazonka/QLDBSession/Types/CommitTransactionResult.hs +119/−0
- gen/Amazonka/QLDBSession/Types/EndSessionRequest.hs +51/−0
- gen/Amazonka/QLDBSession/Types/EndSessionResult.hs +73/−0
- gen/Amazonka/QLDBSession/Types/ExecuteStatementRequest.hs +103/−0
- gen/Amazonka/QLDBSession/Types/ExecuteStatementResult.hs +100/−0
- gen/Amazonka/QLDBSession/Types/FetchPageRequest.hs +89/−0
- gen/Amazonka/QLDBSession/Types/FetchPageResult.hs +99/−0
- gen/Amazonka/QLDBSession/Types/IOUsage.hs +84/−0
- gen/Amazonka/QLDBSession/Types/Page.hs +85/−0
- gen/Amazonka/QLDBSession/Types/StartSessionRequest.hs +68/−0
- gen/Amazonka/QLDBSession/Types/StartSessionResult.hs +88/−0
- gen/Amazonka/QLDBSession/Types/StartTransactionRequest.hs +51/−0
- gen/Amazonka/QLDBSession/Types/StartTransactionResult.hs +86/−0
- gen/Amazonka/QLDBSession/Types/TimingInformation.hs +78/−0
- gen/Amazonka/QLDBSession/Types/ValueHolder.hs +101/−0
- gen/Amazonka/QLDBSession/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/QLDBSession.hs +58/−0
- test/Test/Amazonka/QLDBSession.hs +20/−0
- test/Test/Amazonka/QLDBSession/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon QLDB Session SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-07-11@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-qldb-session)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.QLDBSession](http://hackage.haskell.org/package/amazonka-qldb-session/docs/Amazonka-QLDBSession.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-qldb-session` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-qldb-session.cabal view
@@ -0,0 +1,102 @@+cabal-version: 2.2+name: amazonka-qldb-session+version: 2.0+synopsis: Amazon QLDB Session SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2019-07-11@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+ which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.QLDBSession.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.QLDBSession" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-qldb-session++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.QLDBSession+ Amazonka.QLDBSession.Lens+ Amazonka.QLDBSession.SendCommand+ Amazonka.QLDBSession.Types+ Amazonka.QLDBSession.Types.AbortTransactionRequest+ Amazonka.QLDBSession.Types.AbortTransactionResult+ Amazonka.QLDBSession.Types.CommitTransactionRequest+ Amazonka.QLDBSession.Types.CommitTransactionResult+ Amazonka.QLDBSession.Types.EndSessionRequest+ Amazonka.QLDBSession.Types.EndSessionResult+ Amazonka.QLDBSession.Types.ExecuteStatementRequest+ Amazonka.QLDBSession.Types.ExecuteStatementResult+ Amazonka.QLDBSession.Types.FetchPageRequest+ Amazonka.QLDBSession.Types.FetchPageResult+ Amazonka.QLDBSession.Types.IOUsage+ Amazonka.QLDBSession.Types.Page+ Amazonka.QLDBSession.Types.StartSessionRequest+ Amazonka.QLDBSession.Types.StartSessionResult+ Amazonka.QLDBSession.Types.StartTransactionRequest+ Amazonka.QLDBSession.Types.StartTransactionResult+ Amazonka.QLDBSession.Types.TimingInformation+ Amazonka.QLDBSession.Types.ValueHolder+ Amazonka.QLDBSession.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-qldb-session-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.QLDBSession+ Test.Amazonka.QLDBSession+ Test.Amazonka.QLDBSession.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-qldb-session+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/SendCommand.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/session.qldb/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: session.qldb.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/SendCommandResponse.proto view
+ gen/Amazonka/QLDBSession.hs view
@@ -0,0 +1,173 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.QLDBSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2019-07-11@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The transactional data APIs for Amazon QLDB+--+-- Instead of interacting directly with this API, we recommend using the+-- QLDB driver or the QLDB shell to execute data transactions on a ledger.+--+-- - If you are working with an AWS SDK, use the QLDB driver. The driver+-- provides a high-level abstraction layer above this /QLDB Session/+-- data plane and manages @SendCommand@ API calls for you. For+-- information and a list of supported programming languages, see+-- <https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html Getting started with the driver>+-- in the /Amazon QLDB Developer Guide/.+--+-- - If you are working with the AWS Command Line Interface (AWS CLI),+-- use the QLDB shell. The shell is a command line interface that uses+-- the QLDB driver to interact with a ledger. For information, see+-- <https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html Accessing Amazon QLDB using the QLDB shell>.+module Amazonka.QLDBSession+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** BadRequestException+ _BadRequestException,++ -- ** CapacityExceededException+ _CapacityExceededException,++ -- ** InvalidSessionException+ _InvalidSessionException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** OccConflictException+ _OccConflictException,++ -- ** RateExceededException+ _RateExceededException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** SendCommand+ SendCommand (SendCommand'),+ newSendCommand,+ SendCommandResponse (SendCommandResponse'),+ newSendCommandResponse,++ -- * Types++ -- ** AbortTransactionRequest+ AbortTransactionRequest (AbortTransactionRequest'),+ newAbortTransactionRequest,++ -- ** AbortTransactionResult+ AbortTransactionResult (AbortTransactionResult'),+ newAbortTransactionResult,++ -- ** CommitTransactionRequest+ CommitTransactionRequest (CommitTransactionRequest'),+ newCommitTransactionRequest,++ -- ** CommitTransactionResult+ CommitTransactionResult (CommitTransactionResult'),+ newCommitTransactionResult,++ -- ** EndSessionRequest+ EndSessionRequest (EndSessionRequest'),+ newEndSessionRequest,++ -- ** EndSessionResult+ EndSessionResult (EndSessionResult'),+ newEndSessionResult,++ -- ** ExecuteStatementRequest+ ExecuteStatementRequest (ExecuteStatementRequest'),+ newExecuteStatementRequest,++ -- ** ExecuteStatementResult+ ExecuteStatementResult (ExecuteStatementResult'),+ newExecuteStatementResult,++ -- ** FetchPageRequest+ FetchPageRequest (FetchPageRequest'),+ newFetchPageRequest,++ -- ** FetchPageResult+ FetchPageResult (FetchPageResult'),+ newFetchPageResult,++ -- ** IOUsage+ IOUsage (IOUsage'),+ newIOUsage,++ -- ** Page+ Page (Page'),+ newPage,++ -- ** StartSessionRequest+ StartSessionRequest (StartSessionRequest'),+ newStartSessionRequest,++ -- ** StartSessionResult+ StartSessionResult (StartSessionResult'),+ newStartSessionResult,++ -- ** StartTransactionRequest+ StartTransactionRequest (StartTransactionRequest'),+ newStartTransactionRequest,++ -- ** StartTransactionResult+ StartTransactionResult (StartTransactionResult'),+ newStartTransactionResult,++ -- ** TimingInformation+ TimingInformation (TimingInformation'),+ newTimingInformation,++ -- ** ValueHolder+ ValueHolder (ValueHolder'),+ newValueHolder,+ )+where++import Amazonka.QLDBSession.Lens+import Amazonka.QLDBSession.SendCommand+import Amazonka.QLDBSession.Types+import Amazonka.QLDBSession.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 'QLDBSession'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/QLDBSession/Lens.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Lens+ ( -- * Operations++ -- ** SendCommand+ sendCommand_abortTransaction,+ sendCommand_commitTransaction,+ sendCommand_endSession,+ sendCommand_executeStatement,+ sendCommand_fetchPage,+ sendCommand_sessionToken,+ sendCommand_startSession,+ sendCommand_startTransaction,+ sendCommandResponse_abortTransaction,+ sendCommandResponse_commitTransaction,+ sendCommandResponse_endSession,+ sendCommandResponse_executeStatement,+ sendCommandResponse_fetchPage,+ sendCommandResponse_startSession,+ sendCommandResponse_startTransaction,+ sendCommandResponse_httpStatus,++ -- * Types++ -- ** AbortTransactionRequest++ -- ** AbortTransactionResult+ abortTransactionResult_timingInformation,++ -- ** CommitTransactionRequest+ commitTransactionRequest_transactionId,+ commitTransactionRequest_commitDigest,++ -- ** CommitTransactionResult+ commitTransactionResult_commitDigest,+ commitTransactionResult_consumedIOs,+ commitTransactionResult_timingInformation,+ commitTransactionResult_transactionId,++ -- ** EndSessionRequest++ -- ** EndSessionResult+ endSessionResult_timingInformation,++ -- ** ExecuteStatementRequest+ executeStatementRequest_parameters,+ executeStatementRequest_transactionId,+ executeStatementRequest_statement,++ -- ** ExecuteStatementResult+ executeStatementResult_consumedIOs,+ executeStatementResult_firstPage,+ executeStatementResult_timingInformation,++ -- ** FetchPageRequest+ fetchPageRequest_transactionId,+ fetchPageRequest_nextPageToken,++ -- ** FetchPageResult+ fetchPageResult_consumedIOs,+ fetchPageResult_page,+ fetchPageResult_timingInformation,++ -- ** IOUsage+ iOUsage_readIOs,+ iOUsage_writeIOs,++ -- ** Page+ page_nextPageToken,+ page_values,++ -- ** StartSessionRequest+ startSessionRequest_ledgerName,++ -- ** StartSessionResult+ startSessionResult_sessionToken,+ startSessionResult_timingInformation,++ -- ** StartTransactionRequest++ -- ** StartTransactionResult+ startTransactionResult_timingInformation,+ startTransactionResult_transactionId,++ -- ** TimingInformation+ timingInformation_processingTimeMilliseconds,++ -- ** ValueHolder+ valueHolder_ionBinary,+ valueHolder_ionText,+ )+where++import Amazonka.QLDBSession.SendCommand+import Amazonka.QLDBSession.Types.AbortTransactionRequest+import Amazonka.QLDBSession.Types.AbortTransactionResult+import Amazonka.QLDBSession.Types.CommitTransactionRequest+import Amazonka.QLDBSession.Types.CommitTransactionResult+import Amazonka.QLDBSession.Types.EndSessionRequest+import Amazonka.QLDBSession.Types.EndSessionResult+import Amazonka.QLDBSession.Types.ExecuteStatementRequest+import Amazonka.QLDBSession.Types.ExecuteStatementResult+import Amazonka.QLDBSession.Types.FetchPageRequest+import Amazonka.QLDBSession.Types.FetchPageResult+import Amazonka.QLDBSession.Types.IOUsage+import Amazonka.QLDBSession.Types.Page+import Amazonka.QLDBSession.Types.StartSessionRequest+import Amazonka.QLDBSession.Types.StartSessionResult+import Amazonka.QLDBSession.Types.StartTransactionRequest+import Amazonka.QLDBSession.Types.StartTransactionResult+import Amazonka.QLDBSession.Types.TimingInformation+import Amazonka.QLDBSession.Types.ValueHolder
+ gen/Amazonka/QLDBSession/SendCommand.hs view
@@ -0,0 +1,373 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.SendCommand+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends a command to an Amazon QLDB ledger.+--+-- Instead of interacting directly with this API, we recommend using the+-- QLDB driver or the QLDB shell to execute data transactions on a ledger.+--+-- - If you are working with an AWS SDK, use the QLDB driver. The driver+-- provides a high-level abstraction layer above this /QLDB Session/+-- data plane and manages @SendCommand@ API calls for you. For+-- information and a list of supported programming languages, see+-- <https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html Getting started with the driver>+-- in the /Amazon QLDB Developer Guide/.+--+-- - If you are working with the AWS Command Line Interface (AWS CLI),+-- use the QLDB shell. The shell is a command line interface that uses+-- the QLDB driver to interact with a ledger. For information, see+-- <https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html Accessing Amazon QLDB using the QLDB shell>.+module Amazonka.QLDBSession.SendCommand+ ( -- * Creating a Request+ SendCommand (..),+ newSendCommand,++ -- * Request Lenses+ sendCommand_abortTransaction,+ sendCommand_commitTransaction,+ sendCommand_endSession,+ sendCommand_executeStatement,+ sendCommand_fetchPage,+ sendCommand_sessionToken,+ sendCommand_startSession,+ sendCommand_startTransaction,++ -- * Destructuring the Response+ SendCommandResponse (..),+ newSendCommandResponse,++ -- * Response Lenses+ sendCommandResponse_abortTransaction,+ sendCommandResponse_commitTransaction,+ sendCommandResponse_endSession,+ sendCommandResponse_executeStatement,+ sendCommandResponse_fetchPage,+ sendCommandResponse_startSession,+ sendCommandResponse_startTransaction,+ sendCommandResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSendCommand' smart constructor.+data SendCommand = SendCommand'+ { -- | Command to abort the current transaction.+ abortTransaction :: Prelude.Maybe AbortTransactionRequest,+ -- | Command to commit the specified transaction.+ commitTransaction :: Prelude.Maybe CommitTransactionRequest,+ -- | Command to end the current session.+ endSession :: Prelude.Maybe EndSessionRequest,+ -- | Command to execute a statement in the specified transaction.+ executeStatement :: Prelude.Maybe ExecuteStatementRequest,+ -- | Command to fetch a page.+ fetchPage :: Prelude.Maybe FetchPageRequest,+ -- | Specifies the session token for the current command. A session token is+ -- constant throughout the life of the session.+ --+ -- To obtain a session token, run the @StartSession@ command. This+ -- @SessionToken@ is required for every subsequent command that is issued+ -- during the current session.+ sessionToken :: Prelude.Maybe Prelude.Text,+ -- | Command to start a new session. A session token is obtained as part of+ -- the response.+ startSession :: Prelude.Maybe StartSessionRequest,+ -- | Command to start a new transaction.+ startTransaction :: Prelude.Maybe StartTransactionRequest+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendCommand' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abortTransaction', 'sendCommand_abortTransaction' - Command to abort the current transaction.+--+-- 'commitTransaction', 'sendCommand_commitTransaction' - Command to commit the specified transaction.+--+-- 'endSession', 'sendCommand_endSession' - Command to end the current session.+--+-- 'executeStatement', 'sendCommand_executeStatement' - Command to execute a statement in the specified transaction.+--+-- 'fetchPage', 'sendCommand_fetchPage' - Command to fetch a page.+--+-- 'sessionToken', 'sendCommand_sessionToken' - Specifies the session token for the current command. A session token is+-- constant throughout the life of the session.+--+-- To obtain a session token, run the @StartSession@ command. This+-- @SessionToken@ is required for every subsequent command that is issued+-- during the current session.+--+-- 'startSession', 'sendCommand_startSession' - Command to start a new session. A session token is obtained as part of+-- the response.+--+-- 'startTransaction', 'sendCommand_startTransaction' - Command to start a new transaction.+newSendCommand ::+ SendCommand+newSendCommand =+ SendCommand'+ { abortTransaction = Prelude.Nothing,+ commitTransaction = Prelude.Nothing,+ endSession = Prelude.Nothing,+ executeStatement = Prelude.Nothing,+ fetchPage = Prelude.Nothing,+ sessionToken = Prelude.Nothing,+ startSession = Prelude.Nothing,+ startTransaction = Prelude.Nothing+ }++-- | Command to abort the current transaction.+sendCommand_abortTransaction :: Lens.Lens' SendCommand (Prelude.Maybe AbortTransactionRequest)+sendCommand_abortTransaction = Lens.lens (\SendCommand' {abortTransaction} -> abortTransaction) (\s@SendCommand' {} a -> s {abortTransaction = a} :: SendCommand)++-- | Command to commit the specified transaction.+sendCommand_commitTransaction :: Lens.Lens' SendCommand (Prelude.Maybe CommitTransactionRequest)+sendCommand_commitTransaction = Lens.lens (\SendCommand' {commitTransaction} -> commitTransaction) (\s@SendCommand' {} a -> s {commitTransaction = a} :: SendCommand)++-- | Command to end the current session.+sendCommand_endSession :: Lens.Lens' SendCommand (Prelude.Maybe EndSessionRequest)+sendCommand_endSession = Lens.lens (\SendCommand' {endSession} -> endSession) (\s@SendCommand' {} a -> s {endSession = a} :: SendCommand)++-- | Command to execute a statement in the specified transaction.+sendCommand_executeStatement :: Lens.Lens' SendCommand (Prelude.Maybe ExecuteStatementRequest)+sendCommand_executeStatement = Lens.lens (\SendCommand' {executeStatement} -> executeStatement) (\s@SendCommand' {} a -> s {executeStatement = a} :: SendCommand)++-- | Command to fetch a page.+sendCommand_fetchPage :: Lens.Lens' SendCommand (Prelude.Maybe FetchPageRequest)+sendCommand_fetchPage = Lens.lens (\SendCommand' {fetchPage} -> fetchPage) (\s@SendCommand' {} a -> s {fetchPage = a} :: SendCommand)++-- | Specifies the session token for the current command. A session token is+-- constant throughout the life of the session.+--+-- To obtain a session token, run the @StartSession@ command. This+-- @SessionToken@ is required for every subsequent command that is issued+-- during the current session.+sendCommand_sessionToken :: Lens.Lens' SendCommand (Prelude.Maybe Prelude.Text)+sendCommand_sessionToken = Lens.lens (\SendCommand' {sessionToken} -> sessionToken) (\s@SendCommand' {} a -> s {sessionToken = a} :: SendCommand)++-- | Command to start a new session. A session token is obtained as part of+-- the response.+sendCommand_startSession :: Lens.Lens' SendCommand (Prelude.Maybe StartSessionRequest)+sendCommand_startSession = Lens.lens (\SendCommand' {startSession} -> startSession) (\s@SendCommand' {} a -> s {startSession = a} :: SendCommand)++-- | Command to start a new transaction.+sendCommand_startTransaction :: Lens.Lens' SendCommand (Prelude.Maybe StartTransactionRequest)+sendCommand_startTransaction = Lens.lens (\SendCommand' {startTransaction} -> startTransaction) (\s@SendCommand' {} a -> s {startTransaction = a} :: SendCommand)++instance Core.AWSRequest SendCommand where+ type AWSResponse SendCommand = SendCommandResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ SendCommandResponse'+ Prelude.<$> (x Data..?> "AbortTransaction")+ Prelude.<*> (x Data..?> "CommitTransaction")+ Prelude.<*> (x Data..?> "EndSession")+ Prelude.<*> (x Data..?> "ExecuteStatement")+ Prelude.<*> (x Data..?> "FetchPage")+ Prelude.<*> (x Data..?> "StartSession")+ Prelude.<*> (x Data..?> "StartTransaction")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable SendCommand where+ hashWithSalt _salt SendCommand' {..} =+ _salt+ `Prelude.hashWithSalt` abortTransaction+ `Prelude.hashWithSalt` commitTransaction+ `Prelude.hashWithSalt` endSession+ `Prelude.hashWithSalt` executeStatement+ `Prelude.hashWithSalt` fetchPage+ `Prelude.hashWithSalt` sessionToken+ `Prelude.hashWithSalt` startSession+ `Prelude.hashWithSalt` startTransaction++instance Prelude.NFData SendCommand where+ rnf SendCommand' {..} =+ Prelude.rnf abortTransaction+ `Prelude.seq` Prelude.rnf commitTransaction+ `Prelude.seq` Prelude.rnf endSession+ `Prelude.seq` Prelude.rnf executeStatement+ `Prelude.seq` Prelude.rnf fetchPage+ `Prelude.seq` Prelude.rnf sessionToken+ `Prelude.seq` Prelude.rnf startSession+ `Prelude.seq` Prelude.rnf startTransaction++instance Data.ToHeaders SendCommand where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ("QLDBSession.SendCommand" :: Prelude.ByteString),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON SendCommand where+ toJSON SendCommand' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AbortTransaction" Data..=)+ Prelude.<$> abortTransaction,+ ("CommitTransaction" Data..=)+ Prelude.<$> commitTransaction,+ ("EndSession" Data..=) Prelude.<$> endSession,+ ("ExecuteStatement" Data..=)+ Prelude.<$> executeStatement,+ ("FetchPage" Data..=) Prelude.<$> fetchPage,+ ("SessionToken" Data..=) Prelude.<$> sessionToken,+ ("StartSession" Data..=) Prelude.<$> startSession,+ ("StartTransaction" Data..=)+ Prelude.<$> startTransaction+ ]+ )++instance Data.ToPath SendCommand where+ toPath = Prelude.const "/"++instance Data.ToQuery SendCommand where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSendCommandResponse' smart constructor.+data SendCommandResponse = SendCommandResponse'+ { -- | Contains the details of the aborted transaction.+ abortTransaction :: Prelude.Maybe AbortTransactionResult,+ -- | Contains the details of the committed transaction.+ commitTransaction :: Prelude.Maybe CommitTransactionResult,+ -- | Contains the details of the ended session.+ endSession :: Prelude.Maybe EndSessionResult,+ -- | Contains the details of the executed statement.+ executeStatement :: Prelude.Maybe ExecuteStatementResult,+ -- | Contains the details of the fetched page.+ fetchPage :: Prelude.Maybe FetchPageResult,+ -- | Contains the details of the started session that includes a session+ -- token. This @SessionToken@ is required for every subsequent command that+ -- is issued during the current session.+ startSession :: Prelude.Maybe StartSessionResult,+ -- | Contains the details of the started transaction.+ startTransaction :: Prelude.Maybe StartTransactionResult,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendCommandResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abortTransaction', 'sendCommandResponse_abortTransaction' - Contains the details of the aborted transaction.+--+-- 'commitTransaction', 'sendCommandResponse_commitTransaction' - Contains the details of the committed transaction.+--+-- 'endSession', 'sendCommandResponse_endSession' - Contains the details of the ended session.+--+-- 'executeStatement', 'sendCommandResponse_executeStatement' - Contains the details of the executed statement.+--+-- 'fetchPage', 'sendCommandResponse_fetchPage' - Contains the details of the fetched page.+--+-- 'startSession', 'sendCommandResponse_startSession' - Contains the details of the started session that includes a session+-- token. This @SessionToken@ is required for every subsequent command that+-- is issued during the current session.+--+-- 'startTransaction', 'sendCommandResponse_startTransaction' - Contains the details of the started transaction.+--+-- 'httpStatus', 'sendCommandResponse_httpStatus' - The response's http status code.+newSendCommandResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ SendCommandResponse+newSendCommandResponse pHttpStatus_ =+ SendCommandResponse'+ { abortTransaction =+ Prelude.Nothing,+ commitTransaction = Prelude.Nothing,+ endSession = Prelude.Nothing,+ executeStatement = Prelude.Nothing,+ fetchPage = Prelude.Nothing,+ startSession = Prelude.Nothing,+ startTransaction = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains the details of the aborted transaction.+sendCommandResponse_abortTransaction :: Lens.Lens' SendCommandResponse (Prelude.Maybe AbortTransactionResult)+sendCommandResponse_abortTransaction = Lens.lens (\SendCommandResponse' {abortTransaction} -> abortTransaction) (\s@SendCommandResponse' {} a -> s {abortTransaction = a} :: SendCommandResponse)++-- | Contains the details of the committed transaction.+sendCommandResponse_commitTransaction :: Lens.Lens' SendCommandResponse (Prelude.Maybe CommitTransactionResult)+sendCommandResponse_commitTransaction = Lens.lens (\SendCommandResponse' {commitTransaction} -> commitTransaction) (\s@SendCommandResponse' {} a -> s {commitTransaction = a} :: SendCommandResponse)++-- | Contains the details of the ended session.+sendCommandResponse_endSession :: Lens.Lens' SendCommandResponse (Prelude.Maybe EndSessionResult)+sendCommandResponse_endSession = Lens.lens (\SendCommandResponse' {endSession} -> endSession) (\s@SendCommandResponse' {} a -> s {endSession = a} :: SendCommandResponse)++-- | Contains the details of the executed statement.+sendCommandResponse_executeStatement :: Lens.Lens' SendCommandResponse (Prelude.Maybe ExecuteStatementResult)+sendCommandResponse_executeStatement = Lens.lens (\SendCommandResponse' {executeStatement} -> executeStatement) (\s@SendCommandResponse' {} a -> s {executeStatement = a} :: SendCommandResponse)++-- | Contains the details of the fetched page.+sendCommandResponse_fetchPage :: Lens.Lens' SendCommandResponse (Prelude.Maybe FetchPageResult)+sendCommandResponse_fetchPage = Lens.lens (\SendCommandResponse' {fetchPage} -> fetchPage) (\s@SendCommandResponse' {} a -> s {fetchPage = a} :: SendCommandResponse)++-- | Contains the details of the started session that includes a session+-- token. This @SessionToken@ is required for every subsequent command that+-- is issued during the current session.+sendCommandResponse_startSession :: Lens.Lens' SendCommandResponse (Prelude.Maybe StartSessionResult)+sendCommandResponse_startSession = Lens.lens (\SendCommandResponse' {startSession} -> startSession) (\s@SendCommandResponse' {} a -> s {startSession = a} :: SendCommandResponse)++-- | Contains the details of the started transaction.+sendCommandResponse_startTransaction :: Lens.Lens' SendCommandResponse (Prelude.Maybe StartTransactionResult)+sendCommandResponse_startTransaction = Lens.lens (\SendCommandResponse' {startTransaction} -> startTransaction) (\s@SendCommandResponse' {} a -> s {startTransaction = a} :: SendCommandResponse)++-- | The response's http status code.+sendCommandResponse_httpStatus :: Lens.Lens' SendCommandResponse Prelude.Int+sendCommandResponse_httpStatus = Lens.lens (\SendCommandResponse' {httpStatus} -> httpStatus) (\s@SendCommandResponse' {} a -> s {httpStatus = a} :: SendCommandResponse)++instance Prelude.NFData SendCommandResponse where+ rnf SendCommandResponse' {..} =+ Prelude.rnf abortTransaction+ `Prelude.seq` Prelude.rnf commitTransaction+ `Prelude.seq` Prelude.rnf endSession+ `Prelude.seq` Prelude.rnf executeStatement+ `Prelude.seq` Prelude.rnf fetchPage+ `Prelude.seq` Prelude.rnf startSession+ `Prelude.seq` Prelude.rnf startTransaction+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/QLDBSession/Types.hs view
@@ -0,0 +1,271 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _BadRequestException,+ _CapacityExceededException,+ _InvalidSessionException,+ _LimitExceededException,+ _OccConflictException,+ _RateExceededException,++ -- * AbortTransactionRequest+ AbortTransactionRequest (..),+ newAbortTransactionRequest,++ -- * AbortTransactionResult+ AbortTransactionResult (..),+ newAbortTransactionResult,+ abortTransactionResult_timingInformation,++ -- * CommitTransactionRequest+ CommitTransactionRequest (..),+ newCommitTransactionRequest,+ commitTransactionRequest_transactionId,+ commitTransactionRequest_commitDigest,++ -- * CommitTransactionResult+ CommitTransactionResult (..),+ newCommitTransactionResult,+ commitTransactionResult_commitDigest,+ commitTransactionResult_consumedIOs,+ commitTransactionResult_timingInformation,+ commitTransactionResult_transactionId,++ -- * EndSessionRequest+ EndSessionRequest (..),+ newEndSessionRequest,++ -- * EndSessionResult+ EndSessionResult (..),+ newEndSessionResult,+ endSessionResult_timingInformation,++ -- * ExecuteStatementRequest+ ExecuteStatementRequest (..),+ newExecuteStatementRequest,+ executeStatementRequest_parameters,+ executeStatementRequest_transactionId,+ executeStatementRequest_statement,++ -- * ExecuteStatementResult+ ExecuteStatementResult (..),+ newExecuteStatementResult,+ executeStatementResult_consumedIOs,+ executeStatementResult_firstPage,+ executeStatementResult_timingInformation,++ -- * FetchPageRequest+ FetchPageRequest (..),+ newFetchPageRequest,+ fetchPageRequest_transactionId,+ fetchPageRequest_nextPageToken,++ -- * FetchPageResult+ FetchPageResult (..),+ newFetchPageResult,+ fetchPageResult_consumedIOs,+ fetchPageResult_page,+ fetchPageResult_timingInformation,++ -- * IOUsage+ IOUsage (..),+ newIOUsage,+ iOUsage_readIOs,+ iOUsage_writeIOs,++ -- * Page+ Page (..),+ newPage,+ page_nextPageToken,+ page_values,++ -- * StartSessionRequest+ StartSessionRequest (..),+ newStartSessionRequest,+ startSessionRequest_ledgerName,++ -- * StartSessionResult+ StartSessionResult (..),+ newStartSessionResult,+ startSessionResult_sessionToken,+ startSessionResult_timingInformation,++ -- * StartTransactionRequest+ StartTransactionRequest (..),+ newStartTransactionRequest,++ -- * StartTransactionResult+ StartTransactionResult (..),+ newStartTransactionResult,+ startTransactionResult_timingInformation,+ startTransactionResult_transactionId,++ -- * TimingInformation+ TimingInformation (..),+ newTimingInformation,+ timingInformation_processingTimeMilliseconds,++ -- * ValueHolder+ ValueHolder (..),+ newValueHolder,+ valueHolder_ionBinary,+ valueHolder_ionText,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.AbortTransactionRequest+import Amazonka.QLDBSession.Types.AbortTransactionResult+import Amazonka.QLDBSession.Types.CommitTransactionRequest+import Amazonka.QLDBSession.Types.CommitTransactionResult+import Amazonka.QLDBSession.Types.EndSessionRequest+import Amazonka.QLDBSession.Types.EndSessionResult+import Amazonka.QLDBSession.Types.ExecuteStatementRequest+import Amazonka.QLDBSession.Types.ExecuteStatementResult+import Amazonka.QLDBSession.Types.FetchPageRequest+import Amazonka.QLDBSession.Types.FetchPageResult+import Amazonka.QLDBSession.Types.IOUsage+import Amazonka.QLDBSession.Types.Page+import Amazonka.QLDBSession.Types.StartSessionRequest+import Amazonka.QLDBSession.Types.StartSessionResult+import Amazonka.QLDBSession.Types.StartTransactionRequest+import Amazonka.QLDBSession.Types.StartTransactionResult+import Amazonka.QLDBSession.Types.TimingInformation+import Amazonka.QLDBSession.Types.ValueHolder+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-07-11@ of the Amazon QLDB Session SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "QLDBSession",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "session.qldb",+ Core.signingName = "qldb",+ Core.version = "2019-07-11",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "QLDBSession",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | Returned if the request is malformed or contains an error such as an+-- invalid parameter value or a missing required parameter.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"++-- | Returned when the request exceeds the processing capacity of the ledger.+_CapacityExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_CapacityExceededException =+ Core._MatchServiceError+ defaultService+ "CapacityExceededException"++-- | Returned if the session doesn\'t exist anymore because it timed out or+-- expired.+_InvalidSessionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidSessionException =+ Core._MatchServiceError+ defaultService+ "InvalidSessionException"++-- | Returned if a resource limit such as number of active sessions is+-- exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"++-- | Returned when a transaction cannot be written to the journal due to a+-- failure in the verification phase of /optimistic concurrency control/+-- (OCC).+_OccConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_OccConflictException =+ Core._MatchServiceError+ defaultService+ "OccConflictException"++-- | Returned when the rate of requests exceeds the allowed throughput.+_RateExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_RateExceededException =+ Core._MatchServiceError+ defaultService+ "RateExceededException"
+ gen/Amazonka/QLDBSession/Types/AbortTransactionRequest.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.AbortTransactionRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.AbortTransactionRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of the transaction to abort.+--+-- /See:/ 'newAbortTransactionRequest' smart constructor.+data AbortTransactionRequest = AbortTransactionRequest'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbortTransactionRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newAbortTransactionRequest ::+ AbortTransactionRequest+newAbortTransactionRequest = AbortTransactionRequest'++instance Prelude.Hashable AbortTransactionRequest where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData AbortTransactionRequest where+ rnf _ = ()++instance Data.ToJSON AbortTransactionRequest where+ toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/QLDBSession/Types/AbortTransactionResult.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.AbortTransactionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.AbortTransactionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the details of the aborted transaction.+--+-- /See:/ 'newAbortTransactionResult' smart constructor.+data AbortTransactionResult = AbortTransactionResult'+ { -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbortTransactionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timingInformation', 'abortTransactionResult_timingInformation' - Contains server-side performance information for the command.+newAbortTransactionResult ::+ AbortTransactionResult+newAbortTransactionResult =+ AbortTransactionResult'+ { timingInformation =+ Prelude.Nothing+ }++-- | Contains server-side performance information for the command.+abortTransactionResult_timingInformation :: Lens.Lens' AbortTransactionResult (Prelude.Maybe TimingInformation)+abortTransactionResult_timingInformation = Lens.lens (\AbortTransactionResult' {timingInformation} -> timingInformation) (\s@AbortTransactionResult' {} a -> s {timingInformation = a} :: AbortTransactionResult)++instance Data.FromJSON AbortTransactionResult where+ parseJSON =+ Data.withObject+ "AbortTransactionResult"+ ( \x ->+ AbortTransactionResult'+ Prelude.<$> (x Data..:? "TimingInformation")+ )++instance Prelude.Hashable AbortTransactionResult where+ hashWithSalt _salt AbortTransactionResult' {..} =+ _salt `Prelude.hashWithSalt` timingInformation++instance Prelude.NFData AbortTransactionResult where+ rnf AbortTransactionResult' {..} =+ Prelude.rnf timingInformation
+ gen/Amazonka/QLDBSession/Types/CommitTransactionRequest.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.CommitTransactionRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.CommitTransactionRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the details of the transaction to commit.+--+-- /See:/ 'newCommitTransactionRequest' smart constructor.+data CommitTransactionRequest = CommitTransactionRequest'+ { -- | Specifies the transaction ID of the transaction to commit.+ transactionId :: Prelude.Text,+ -- | Specifies the commit digest for the transaction to commit. For every+ -- active transaction, the commit digest must be passed. QLDB validates+ -- @CommitDigest@ and rejects the commit with an error if the digest+ -- computed on the client does not match the digest computed by QLDB.+ --+ -- The purpose of the @CommitDigest@ parameter is to ensure that QLDB+ -- commits a transaction if and only if the server has processed the exact+ -- set of statements sent by the client, in the same order that client sent+ -- them, and with no duplicates.+ commitDigest :: Data.Base64+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CommitTransactionRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transactionId', 'commitTransactionRequest_transactionId' - Specifies the transaction ID of the transaction to commit.+--+-- 'commitDigest', 'commitTransactionRequest_commitDigest' - Specifies the commit digest for the transaction to commit. For every+-- active transaction, the commit digest must be passed. QLDB validates+-- @CommitDigest@ and rejects the commit with an error if the digest+-- computed on the client does not match the digest computed by QLDB.+--+-- The purpose of the @CommitDigest@ parameter is to ensure that QLDB+-- commits a transaction if and only if the server has processed the exact+-- set of statements sent by the client, in the same order that client sent+-- them, and with no duplicates.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+newCommitTransactionRequest ::+ -- | 'transactionId'+ Prelude.Text ->+ -- | 'commitDigest'+ Prelude.ByteString ->+ CommitTransactionRequest+newCommitTransactionRequest+ pTransactionId_+ pCommitDigest_ =+ CommitTransactionRequest'+ { transactionId =+ pTransactionId_,+ commitDigest = Data._Base64 Lens.# pCommitDigest_+ }++-- | Specifies the transaction ID of the transaction to commit.+commitTransactionRequest_transactionId :: Lens.Lens' CommitTransactionRequest Prelude.Text+commitTransactionRequest_transactionId = Lens.lens (\CommitTransactionRequest' {transactionId} -> transactionId) (\s@CommitTransactionRequest' {} a -> s {transactionId = a} :: CommitTransactionRequest)++-- | Specifies the commit digest for the transaction to commit. For every+-- active transaction, the commit digest must be passed. QLDB validates+-- @CommitDigest@ and rejects the commit with an error if the digest+-- computed on the client does not match the digest computed by QLDB.+--+-- The purpose of the @CommitDigest@ parameter is to ensure that QLDB+-- commits a transaction if and only if the server has processed the exact+-- set of statements sent by the client, in the same order that client sent+-- them, and with no duplicates.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+commitTransactionRequest_commitDigest :: Lens.Lens' CommitTransactionRequest Prelude.ByteString+commitTransactionRequest_commitDigest = Lens.lens (\CommitTransactionRequest' {commitDigest} -> commitDigest) (\s@CommitTransactionRequest' {} a -> s {commitDigest = a} :: CommitTransactionRequest) Prelude.. Data._Base64++instance Prelude.Hashable CommitTransactionRequest where+ hashWithSalt _salt CommitTransactionRequest' {..} =+ _salt+ `Prelude.hashWithSalt` transactionId+ `Prelude.hashWithSalt` commitDigest++instance Prelude.NFData CommitTransactionRequest where+ rnf CommitTransactionRequest' {..} =+ Prelude.rnf transactionId+ `Prelude.seq` Prelude.rnf commitDigest++instance Data.ToJSON CommitTransactionRequest where+ toJSON CommitTransactionRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("TransactionId" Data..= transactionId),+ Prelude.Just ("CommitDigest" Data..= commitDigest)+ ]+ )
+ gen/Amazonka/QLDBSession/Types/CommitTransactionResult.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.CommitTransactionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.CommitTransactionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.IOUsage+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the details of the committed transaction.+--+-- /See:/ 'newCommitTransactionResult' smart constructor.+data CommitTransactionResult = CommitTransactionResult'+ { -- | The commit digest of the committed transaction.+ commitDigest :: Prelude.Maybe Data.Base64,+ -- | Contains metrics about the number of I\/O requests that were consumed.+ consumedIOs :: Prelude.Maybe IOUsage,+ -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation,+ -- | The transaction ID of the committed transaction.+ transactionId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CommitTransactionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'commitDigest', 'commitTransactionResult_commitDigest' - The commit digest of the committed transaction.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'consumedIOs', 'commitTransactionResult_consumedIOs' - Contains metrics about the number of I\/O requests that were consumed.+--+-- 'timingInformation', 'commitTransactionResult_timingInformation' - Contains server-side performance information for the command.+--+-- 'transactionId', 'commitTransactionResult_transactionId' - The transaction ID of the committed transaction.+newCommitTransactionResult ::+ CommitTransactionResult+newCommitTransactionResult =+ CommitTransactionResult'+ { commitDigest =+ Prelude.Nothing,+ consumedIOs = Prelude.Nothing,+ timingInformation = Prelude.Nothing,+ transactionId = Prelude.Nothing+ }++-- | The commit digest of the committed transaction.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+commitTransactionResult_commitDigest :: Lens.Lens' CommitTransactionResult (Prelude.Maybe Prelude.ByteString)+commitTransactionResult_commitDigest = Lens.lens (\CommitTransactionResult' {commitDigest} -> commitDigest) (\s@CommitTransactionResult' {} a -> s {commitDigest = a} :: CommitTransactionResult) Prelude.. Lens.mapping Data._Base64++-- | Contains metrics about the number of I\/O requests that were consumed.+commitTransactionResult_consumedIOs :: Lens.Lens' CommitTransactionResult (Prelude.Maybe IOUsage)+commitTransactionResult_consumedIOs = Lens.lens (\CommitTransactionResult' {consumedIOs} -> consumedIOs) (\s@CommitTransactionResult' {} a -> s {consumedIOs = a} :: CommitTransactionResult)++-- | Contains server-side performance information for the command.+commitTransactionResult_timingInformation :: Lens.Lens' CommitTransactionResult (Prelude.Maybe TimingInformation)+commitTransactionResult_timingInformation = Lens.lens (\CommitTransactionResult' {timingInformation} -> timingInformation) (\s@CommitTransactionResult' {} a -> s {timingInformation = a} :: CommitTransactionResult)++-- | The transaction ID of the committed transaction.+commitTransactionResult_transactionId :: Lens.Lens' CommitTransactionResult (Prelude.Maybe Prelude.Text)+commitTransactionResult_transactionId = Lens.lens (\CommitTransactionResult' {transactionId} -> transactionId) (\s@CommitTransactionResult' {} a -> s {transactionId = a} :: CommitTransactionResult)++instance Data.FromJSON CommitTransactionResult where+ parseJSON =+ Data.withObject+ "CommitTransactionResult"+ ( \x ->+ CommitTransactionResult'+ Prelude.<$> (x Data..:? "CommitDigest")+ Prelude.<*> (x Data..:? "ConsumedIOs")+ Prelude.<*> (x Data..:? "TimingInformation")+ Prelude.<*> (x Data..:? "TransactionId")+ )++instance Prelude.Hashable CommitTransactionResult where+ hashWithSalt _salt CommitTransactionResult' {..} =+ _salt+ `Prelude.hashWithSalt` commitDigest+ `Prelude.hashWithSalt` consumedIOs+ `Prelude.hashWithSalt` timingInformation+ `Prelude.hashWithSalt` transactionId++instance Prelude.NFData CommitTransactionResult where+ rnf CommitTransactionResult' {..} =+ Prelude.rnf commitDigest+ `Prelude.seq` Prelude.rnf consumedIOs+ `Prelude.seq` Prelude.rnf timingInformation+ `Prelude.seq` Prelude.rnf transactionId
+ gen/Amazonka/QLDBSession/Types/EndSessionRequest.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.EndSessionRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.EndSessionRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies a request to end the session.+--+-- /See:/ 'newEndSessionRequest' smart constructor.+data EndSessionRequest = EndSessionRequest'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EndSessionRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newEndSessionRequest ::+ EndSessionRequest+newEndSessionRequest = EndSessionRequest'++instance Prelude.Hashable EndSessionRequest where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData EndSessionRequest where+ rnf _ = ()++instance Data.ToJSON EndSessionRequest where+ toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/QLDBSession/Types/EndSessionResult.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.EndSessionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.EndSessionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the details of the ended session.+--+-- /See:/ 'newEndSessionResult' smart constructor.+data EndSessionResult = EndSessionResult'+ { -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EndSessionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timingInformation', 'endSessionResult_timingInformation' - Contains server-side performance information for the command.+newEndSessionResult ::+ EndSessionResult+newEndSessionResult =+ EndSessionResult'+ { timingInformation =+ Prelude.Nothing+ }++-- | Contains server-side performance information for the command.+endSessionResult_timingInformation :: Lens.Lens' EndSessionResult (Prelude.Maybe TimingInformation)+endSessionResult_timingInformation = Lens.lens (\EndSessionResult' {timingInformation} -> timingInformation) (\s@EndSessionResult' {} a -> s {timingInformation = a} :: EndSessionResult)++instance Data.FromJSON EndSessionResult where+ parseJSON =+ Data.withObject+ "EndSessionResult"+ ( \x ->+ EndSessionResult'+ Prelude.<$> (x Data..:? "TimingInformation")+ )++instance Prelude.Hashable EndSessionResult where+ hashWithSalt _salt EndSessionResult' {..} =+ _salt `Prelude.hashWithSalt` timingInformation++instance Prelude.NFData EndSessionResult where+ rnf EndSessionResult' {..} =+ Prelude.rnf timingInformation
+ gen/Amazonka/QLDBSession/Types/ExecuteStatementRequest.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.ExecuteStatementRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.ExecuteStatementRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.ValueHolder++-- | Specifies a request to execute a statement.+--+-- /See:/ 'newExecuteStatementRequest' smart constructor.+data ExecuteStatementRequest = ExecuteStatementRequest'+ { -- | Specifies the parameters for the parameterized statement in the request.+ parameters :: Prelude.Maybe [ValueHolder],+ -- | Specifies the transaction ID of the request.+ transactionId :: Prelude.Text,+ -- | Specifies the statement of the request.+ statement :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecuteStatementRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parameters', 'executeStatementRequest_parameters' - Specifies the parameters for the parameterized statement in the request.+--+-- 'transactionId', 'executeStatementRequest_transactionId' - Specifies the transaction ID of the request.+--+-- 'statement', 'executeStatementRequest_statement' - Specifies the statement of the request.+newExecuteStatementRequest ::+ -- | 'transactionId'+ Prelude.Text ->+ -- | 'statement'+ Prelude.Text ->+ ExecuteStatementRequest+newExecuteStatementRequest+ pTransactionId_+ pStatement_ =+ ExecuteStatementRequest'+ { parameters =+ Prelude.Nothing,+ transactionId = pTransactionId_,+ statement = pStatement_+ }++-- | Specifies the parameters for the parameterized statement in the request.+executeStatementRequest_parameters :: Lens.Lens' ExecuteStatementRequest (Prelude.Maybe [ValueHolder])+executeStatementRequest_parameters = Lens.lens (\ExecuteStatementRequest' {parameters} -> parameters) (\s@ExecuteStatementRequest' {} a -> s {parameters = a} :: ExecuteStatementRequest) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the transaction ID of the request.+executeStatementRequest_transactionId :: Lens.Lens' ExecuteStatementRequest Prelude.Text+executeStatementRequest_transactionId = Lens.lens (\ExecuteStatementRequest' {transactionId} -> transactionId) (\s@ExecuteStatementRequest' {} a -> s {transactionId = a} :: ExecuteStatementRequest)++-- | Specifies the statement of the request.+executeStatementRequest_statement :: Lens.Lens' ExecuteStatementRequest Prelude.Text+executeStatementRequest_statement = Lens.lens (\ExecuteStatementRequest' {statement} -> statement) (\s@ExecuteStatementRequest' {} a -> s {statement = a} :: ExecuteStatementRequest)++instance Prelude.Hashable ExecuteStatementRequest where+ hashWithSalt _salt ExecuteStatementRequest' {..} =+ _salt+ `Prelude.hashWithSalt` parameters+ `Prelude.hashWithSalt` transactionId+ `Prelude.hashWithSalt` statement++instance Prelude.NFData ExecuteStatementRequest where+ rnf ExecuteStatementRequest' {..} =+ Prelude.rnf parameters+ `Prelude.seq` Prelude.rnf transactionId+ `Prelude.seq` Prelude.rnf statement++instance Data.ToJSON ExecuteStatementRequest where+ toJSON ExecuteStatementRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Parameters" Data..=) Prelude.<$> parameters,+ Prelude.Just ("TransactionId" Data..= transactionId),+ Prelude.Just ("Statement" Data..= statement)+ ]+ )
+ gen/Amazonka/QLDBSession/Types/ExecuteStatementResult.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.ExecuteStatementResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.ExecuteStatementResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.IOUsage+import Amazonka.QLDBSession.Types.Page+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the details of the executed statement.+--+-- /See:/ 'newExecuteStatementResult' smart constructor.+data ExecuteStatementResult = ExecuteStatementResult'+ { -- | Contains metrics about the number of I\/O requests that were consumed.+ consumedIOs :: Prelude.Maybe IOUsage,+ -- | Contains the details of the first fetched page.+ firstPage :: Prelude.Maybe Page,+ -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecuteStatementResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'consumedIOs', 'executeStatementResult_consumedIOs' - Contains metrics about the number of I\/O requests that were consumed.+--+-- 'firstPage', 'executeStatementResult_firstPage' - Contains the details of the first fetched page.+--+-- 'timingInformation', 'executeStatementResult_timingInformation' - Contains server-side performance information for the command.+newExecuteStatementResult ::+ ExecuteStatementResult+newExecuteStatementResult =+ ExecuteStatementResult'+ { consumedIOs =+ Prelude.Nothing,+ firstPage = Prelude.Nothing,+ timingInformation = Prelude.Nothing+ }++-- | Contains metrics about the number of I\/O requests that were consumed.+executeStatementResult_consumedIOs :: Lens.Lens' ExecuteStatementResult (Prelude.Maybe IOUsage)+executeStatementResult_consumedIOs = Lens.lens (\ExecuteStatementResult' {consumedIOs} -> consumedIOs) (\s@ExecuteStatementResult' {} a -> s {consumedIOs = a} :: ExecuteStatementResult)++-- | Contains the details of the first fetched page.+executeStatementResult_firstPage :: Lens.Lens' ExecuteStatementResult (Prelude.Maybe Page)+executeStatementResult_firstPage = Lens.lens (\ExecuteStatementResult' {firstPage} -> firstPage) (\s@ExecuteStatementResult' {} a -> s {firstPage = a} :: ExecuteStatementResult)++-- | Contains server-side performance information for the command.+executeStatementResult_timingInformation :: Lens.Lens' ExecuteStatementResult (Prelude.Maybe TimingInformation)+executeStatementResult_timingInformation = Lens.lens (\ExecuteStatementResult' {timingInformation} -> timingInformation) (\s@ExecuteStatementResult' {} a -> s {timingInformation = a} :: ExecuteStatementResult)++instance Data.FromJSON ExecuteStatementResult where+ parseJSON =+ Data.withObject+ "ExecuteStatementResult"+ ( \x ->+ ExecuteStatementResult'+ Prelude.<$> (x Data..:? "ConsumedIOs")+ Prelude.<*> (x Data..:? "FirstPage")+ Prelude.<*> (x Data..:? "TimingInformation")+ )++instance Prelude.Hashable ExecuteStatementResult where+ hashWithSalt _salt ExecuteStatementResult' {..} =+ _salt+ `Prelude.hashWithSalt` consumedIOs+ `Prelude.hashWithSalt` firstPage+ `Prelude.hashWithSalt` timingInformation++instance Prelude.NFData ExecuteStatementResult where+ rnf ExecuteStatementResult' {..} =+ Prelude.rnf consumedIOs+ `Prelude.seq` Prelude.rnf firstPage+ `Prelude.seq` Prelude.rnf timingInformation
+ gen/Amazonka/QLDBSession/Types/FetchPageRequest.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.FetchPageRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.FetchPageRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the details of the page to be fetched.+--+-- /See:/ 'newFetchPageRequest' smart constructor.+data FetchPageRequest = FetchPageRequest'+ { -- | Specifies the transaction ID of the page to be fetched.+ transactionId :: Prelude.Text,+ -- | Specifies the next page token of the page to be fetched.+ nextPageToken :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FetchPageRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transactionId', 'fetchPageRequest_transactionId' - Specifies the transaction ID of the page to be fetched.+--+-- 'nextPageToken', 'fetchPageRequest_nextPageToken' - Specifies the next page token of the page to be fetched.+newFetchPageRequest ::+ -- | 'transactionId'+ Prelude.Text ->+ -- | 'nextPageToken'+ Prelude.Text ->+ FetchPageRequest+newFetchPageRequest pTransactionId_ pNextPageToken_ =+ FetchPageRequest'+ { transactionId = pTransactionId_,+ nextPageToken = pNextPageToken_+ }++-- | Specifies the transaction ID of the page to be fetched.+fetchPageRequest_transactionId :: Lens.Lens' FetchPageRequest Prelude.Text+fetchPageRequest_transactionId = Lens.lens (\FetchPageRequest' {transactionId} -> transactionId) (\s@FetchPageRequest' {} a -> s {transactionId = a} :: FetchPageRequest)++-- | Specifies the next page token of the page to be fetched.+fetchPageRequest_nextPageToken :: Lens.Lens' FetchPageRequest Prelude.Text+fetchPageRequest_nextPageToken = Lens.lens (\FetchPageRequest' {nextPageToken} -> nextPageToken) (\s@FetchPageRequest' {} a -> s {nextPageToken = a} :: FetchPageRequest)++instance Prelude.Hashable FetchPageRequest where+ hashWithSalt _salt FetchPageRequest' {..} =+ _salt+ `Prelude.hashWithSalt` transactionId+ `Prelude.hashWithSalt` nextPageToken++instance Prelude.NFData FetchPageRequest where+ rnf FetchPageRequest' {..} =+ Prelude.rnf transactionId+ `Prelude.seq` Prelude.rnf nextPageToken++instance Data.ToJSON FetchPageRequest where+ toJSON FetchPageRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("TransactionId" Data..= transactionId),+ Prelude.Just+ ("NextPageToken" Data..= nextPageToken)+ ]+ )
+ gen/Amazonka/QLDBSession/Types/FetchPageResult.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.FetchPageResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.FetchPageResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.IOUsage+import Amazonka.QLDBSession.Types.Page+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the page that was fetched.+--+-- /See:/ 'newFetchPageResult' smart constructor.+data FetchPageResult = FetchPageResult'+ { -- | Contains metrics about the number of I\/O requests that were consumed.+ consumedIOs :: Prelude.Maybe IOUsage,+ -- | Contains details of the fetched page.+ page :: Prelude.Maybe Page,+ -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FetchPageResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'consumedIOs', 'fetchPageResult_consumedIOs' - Contains metrics about the number of I\/O requests that were consumed.+--+-- 'page', 'fetchPageResult_page' - Contains details of the fetched page.+--+-- 'timingInformation', 'fetchPageResult_timingInformation' - Contains server-side performance information for the command.+newFetchPageResult ::+ FetchPageResult+newFetchPageResult =+ FetchPageResult'+ { consumedIOs = Prelude.Nothing,+ page = Prelude.Nothing,+ timingInformation = Prelude.Nothing+ }++-- | Contains metrics about the number of I\/O requests that were consumed.+fetchPageResult_consumedIOs :: Lens.Lens' FetchPageResult (Prelude.Maybe IOUsage)+fetchPageResult_consumedIOs = Lens.lens (\FetchPageResult' {consumedIOs} -> consumedIOs) (\s@FetchPageResult' {} a -> s {consumedIOs = a} :: FetchPageResult)++-- | Contains details of the fetched page.+fetchPageResult_page :: Lens.Lens' FetchPageResult (Prelude.Maybe Page)+fetchPageResult_page = Lens.lens (\FetchPageResult' {page} -> page) (\s@FetchPageResult' {} a -> s {page = a} :: FetchPageResult)++-- | Contains server-side performance information for the command.+fetchPageResult_timingInformation :: Lens.Lens' FetchPageResult (Prelude.Maybe TimingInformation)+fetchPageResult_timingInformation = Lens.lens (\FetchPageResult' {timingInformation} -> timingInformation) (\s@FetchPageResult' {} a -> s {timingInformation = a} :: FetchPageResult)++instance Data.FromJSON FetchPageResult where+ parseJSON =+ Data.withObject+ "FetchPageResult"+ ( \x ->+ FetchPageResult'+ Prelude.<$> (x Data..:? "ConsumedIOs")+ Prelude.<*> (x Data..:? "Page")+ Prelude.<*> (x Data..:? "TimingInformation")+ )++instance Prelude.Hashable FetchPageResult where+ hashWithSalt _salt FetchPageResult' {..} =+ _salt+ `Prelude.hashWithSalt` consumedIOs+ `Prelude.hashWithSalt` page+ `Prelude.hashWithSalt` timingInformation++instance Prelude.NFData FetchPageResult where+ rnf FetchPageResult' {..} =+ Prelude.rnf consumedIOs+ `Prelude.seq` Prelude.rnf page+ `Prelude.seq` Prelude.rnf timingInformation
+ gen/Amazonka/QLDBSession/Types/IOUsage.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.IOUsage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.IOUsage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains I\/O usage metrics for a command that was invoked.+--+-- /See:/ 'newIOUsage' smart constructor.+data IOUsage = IOUsage'+ { -- | The number of read I\/O requests that the command made.+ readIOs :: Prelude.Maybe Prelude.Integer,+ -- | The number of write I\/O requests that the command made.+ writeIOs :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IOUsage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'readIOs', 'iOUsage_readIOs' - The number of read I\/O requests that the command made.+--+-- 'writeIOs', 'iOUsage_writeIOs' - The number of write I\/O requests that the command made.+newIOUsage ::+ IOUsage+newIOUsage =+ IOUsage'+ { readIOs = Prelude.Nothing,+ writeIOs = Prelude.Nothing+ }++-- | The number of read I\/O requests that the command made.+iOUsage_readIOs :: Lens.Lens' IOUsage (Prelude.Maybe Prelude.Integer)+iOUsage_readIOs = Lens.lens (\IOUsage' {readIOs} -> readIOs) (\s@IOUsage' {} a -> s {readIOs = a} :: IOUsage)++-- | The number of write I\/O requests that the command made.+iOUsage_writeIOs :: Lens.Lens' IOUsage (Prelude.Maybe Prelude.Integer)+iOUsage_writeIOs = Lens.lens (\IOUsage' {writeIOs} -> writeIOs) (\s@IOUsage' {} a -> s {writeIOs = a} :: IOUsage)++instance Data.FromJSON IOUsage where+ parseJSON =+ Data.withObject+ "IOUsage"+ ( \x ->+ IOUsage'+ Prelude.<$> (x Data..:? "ReadIOs")+ Prelude.<*> (x Data..:? "WriteIOs")+ )++instance Prelude.Hashable IOUsage where+ hashWithSalt _salt IOUsage' {..} =+ _salt+ `Prelude.hashWithSalt` readIOs+ `Prelude.hashWithSalt` writeIOs++instance Prelude.NFData IOUsage where+ rnf IOUsage' {..} =+ Prelude.rnf readIOs+ `Prelude.seq` Prelude.rnf writeIOs
+ gen/Amazonka/QLDBSession/Types/Page.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.Page+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.Page where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.ValueHolder++-- | Contains details of the fetched page.+--+-- /See:/ 'newPage' smart constructor.+data Page = Page'+ { -- | The token of the next page.+ nextPageToken :: Prelude.Maybe Prelude.Text,+ -- | A structure that contains values in multiple encoding formats.+ values :: Prelude.Maybe [ValueHolder]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Page' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextPageToken', 'page_nextPageToken' - The token of the next page.+--+-- 'values', 'page_values' - A structure that contains values in multiple encoding formats.+newPage ::+ Page+newPage =+ Page'+ { nextPageToken = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The token of the next page.+page_nextPageToken :: Lens.Lens' Page (Prelude.Maybe Prelude.Text)+page_nextPageToken = Lens.lens (\Page' {nextPageToken} -> nextPageToken) (\s@Page' {} a -> s {nextPageToken = a} :: Page)++-- | A structure that contains values in multiple encoding formats.+page_values :: Lens.Lens' Page (Prelude.Maybe [ValueHolder])+page_values = Lens.lens (\Page' {values} -> values) (\s@Page' {} a -> s {values = a} :: Page) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Page where+ parseJSON =+ Data.withObject+ "Page"+ ( \x ->+ Page'+ Prelude.<$> (x Data..:? "NextPageToken")+ Prelude.<*> (x Data..:? "Values" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Page where+ hashWithSalt _salt Page' {..} =+ _salt+ `Prelude.hashWithSalt` nextPageToken+ `Prelude.hashWithSalt` values++instance Prelude.NFData Page where+ rnf Page' {..} =+ Prelude.rnf nextPageToken+ `Prelude.seq` Prelude.rnf values
+ gen/Amazonka/QLDBSession/Types/StartSessionRequest.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.StartSessionRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.StartSessionRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies a request to start a new session.+--+-- /See:/ 'newStartSessionRequest' smart constructor.+data StartSessionRequest = StartSessionRequest'+ { -- | The name of the ledger to start a new session against.+ ledgerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSessionRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ledgerName', 'startSessionRequest_ledgerName' - The name of the ledger to start a new session against.+newStartSessionRequest ::+ -- | 'ledgerName'+ Prelude.Text ->+ StartSessionRequest+newStartSessionRequest pLedgerName_ =+ StartSessionRequest' {ledgerName = pLedgerName_}++-- | The name of the ledger to start a new session against.+startSessionRequest_ledgerName :: Lens.Lens' StartSessionRequest Prelude.Text+startSessionRequest_ledgerName = Lens.lens (\StartSessionRequest' {ledgerName} -> ledgerName) (\s@StartSessionRequest' {} a -> s {ledgerName = a} :: StartSessionRequest)++instance Prelude.Hashable StartSessionRequest where+ hashWithSalt _salt StartSessionRequest' {..} =+ _salt `Prelude.hashWithSalt` ledgerName++instance Prelude.NFData StartSessionRequest where+ rnf StartSessionRequest' {..} = Prelude.rnf ledgerName++instance Data.ToJSON StartSessionRequest where+ toJSON StartSessionRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("LedgerName" Data..= ledgerName)]+ )
+ gen/Amazonka/QLDBSession/Types/StartSessionResult.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.StartSessionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.StartSessionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the details of the started session.+--+-- /See:/ 'newStartSessionResult' smart constructor.+data StartSessionResult = StartSessionResult'+ { -- | Session token of the started session. This @SessionToken@ is required+ -- for every subsequent command that is issued during the current session.+ sessionToken :: Prelude.Maybe Prelude.Text,+ -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSessionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sessionToken', 'startSessionResult_sessionToken' - Session token of the started session. This @SessionToken@ is required+-- for every subsequent command that is issued during the current session.+--+-- 'timingInformation', 'startSessionResult_timingInformation' - Contains server-side performance information for the command.+newStartSessionResult ::+ StartSessionResult+newStartSessionResult =+ StartSessionResult'+ { sessionToken = Prelude.Nothing,+ timingInformation = Prelude.Nothing+ }++-- | Session token of the started session. This @SessionToken@ is required+-- for every subsequent command that is issued during the current session.+startSessionResult_sessionToken :: Lens.Lens' StartSessionResult (Prelude.Maybe Prelude.Text)+startSessionResult_sessionToken = Lens.lens (\StartSessionResult' {sessionToken} -> sessionToken) (\s@StartSessionResult' {} a -> s {sessionToken = a} :: StartSessionResult)++-- | Contains server-side performance information for the command.+startSessionResult_timingInformation :: Lens.Lens' StartSessionResult (Prelude.Maybe TimingInformation)+startSessionResult_timingInformation = Lens.lens (\StartSessionResult' {timingInformation} -> timingInformation) (\s@StartSessionResult' {} a -> s {timingInformation = a} :: StartSessionResult)++instance Data.FromJSON StartSessionResult where+ parseJSON =+ Data.withObject+ "StartSessionResult"+ ( \x ->+ StartSessionResult'+ Prelude.<$> (x Data..:? "SessionToken")+ Prelude.<*> (x Data..:? "TimingInformation")+ )++instance Prelude.Hashable StartSessionResult where+ hashWithSalt _salt StartSessionResult' {..} =+ _salt+ `Prelude.hashWithSalt` sessionToken+ `Prelude.hashWithSalt` timingInformation++instance Prelude.NFData StartSessionResult where+ rnf StartSessionResult' {..} =+ Prelude.rnf sessionToken+ `Prelude.seq` Prelude.rnf timingInformation
+ gen/Amazonka/QLDBSession/Types/StartTransactionRequest.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.StartTransactionRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.StartTransactionRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies a request to start a transaction.+--+-- /See:/ 'newStartTransactionRequest' smart constructor.+data StartTransactionRequest = StartTransactionRequest'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartTransactionRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newStartTransactionRequest ::+ StartTransactionRequest+newStartTransactionRequest = StartTransactionRequest'++instance Prelude.Hashable StartTransactionRequest where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData StartTransactionRequest where+ rnf _ = ()++instance Data.ToJSON StartTransactionRequest where+ toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/QLDBSession/Types/StartTransactionResult.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.StartTransactionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.StartTransactionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Types.TimingInformation++-- | Contains the details of the started transaction.+--+-- /See:/ 'newStartTransactionResult' smart constructor.+data StartTransactionResult = StartTransactionResult'+ { -- | Contains server-side performance information for the command.+ timingInformation :: Prelude.Maybe TimingInformation,+ -- | The transaction ID of the started transaction.+ transactionId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartTransactionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timingInformation', 'startTransactionResult_timingInformation' - Contains server-side performance information for the command.+--+-- 'transactionId', 'startTransactionResult_transactionId' - The transaction ID of the started transaction.+newStartTransactionResult ::+ StartTransactionResult+newStartTransactionResult =+ StartTransactionResult'+ { timingInformation =+ Prelude.Nothing,+ transactionId = Prelude.Nothing+ }++-- | Contains server-side performance information for the command.+startTransactionResult_timingInformation :: Lens.Lens' StartTransactionResult (Prelude.Maybe TimingInformation)+startTransactionResult_timingInformation = Lens.lens (\StartTransactionResult' {timingInformation} -> timingInformation) (\s@StartTransactionResult' {} a -> s {timingInformation = a} :: StartTransactionResult)++-- | The transaction ID of the started transaction.+startTransactionResult_transactionId :: Lens.Lens' StartTransactionResult (Prelude.Maybe Prelude.Text)+startTransactionResult_transactionId = Lens.lens (\StartTransactionResult' {transactionId} -> transactionId) (\s@StartTransactionResult' {} a -> s {transactionId = a} :: StartTransactionResult)++instance Data.FromJSON StartTransactionResult where+ parseJSON =+ Data.withObject+ "StartTransactionResult"+ ( \x ->+ StartTransactionResult'+ Prelude.<$> (x Data..:? "TimingInformation")+ Prelude.<*> (x Data..:? "TransactionId")+ )++instance Prelude.Hashable StartTransactionResult where+ hashWithSalt _salt StartTransactionResult' {..} =+ _salt+ `Prelude.hashWithSalt` timingInformation+ `Prelude.hashWithSalt` transactionId++instance Prelude.NFData StartTransactionResult where+ rnf StartTransactionResult' {..} =+ Prelude.rnf timingInformation+ `Prelude.seq` Prelude.rnf transactionId
+ gen/Amazonka/QLDBSession/Types/TimingInformation.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.TimingInformation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.TimingInformation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains server-side performance information for a command. Amazon QLDB+-- captures timing information between the times when it receives the+-- request and when it sends the corresponding response.+--+-- /See:/ 'newTimingInformation' smart constructor.+data TimingInformation = TimingInformation'+ { -- | The amount of time that QLDB spent on processing the command, measured+ -- in milliseconds.+ processingTimeMilliseconds :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimingInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'processingTimeMilliseconds', 'timingInformation_processingTimeMilliseconds' - The amount of time that QLDB spent on processing the command, measured+-- in milliseconds.+newTimingInformation ::+ TimingInformation+newTimingInformation =+ TimingInformation'+ { processingTimeMilliseconds =+ Prelude.Nothing+ }++-- | The amount of time that QLDB spent on processing the command, measured+-- in milliseconds.+timingInformation_processingTimeMilliseconds :: Lens.Lens' TimingInformation (Prelude.Maybe Prelude.Integer)+timingInformation_processingTimeMilliseconds = Lens.lens (\TimingInformation' {processingTimeMilliseconds} -> processingTimeMilliseconds) (\s@TimingInformation' {} a -> s {processingTimeMilliseconds = a} :: TimingInformation)++instance Data.FromJSON TimingInformation where+ parseJSON =+ Data.withObject+ "TimingInformation"+ ( \x ->+ TimingInformation'+ Prelude.<$> (x Data..:? "ProcessingTimeMilliseconds")+ )++instance Prelude.Hashable TimingInformation where+ hashWithSalt _salt TimingInformation' {..} =+ _salt+ `Prelude.hashWithSalt` processingTimeMilliseconds++instance Prelude.NFData TimingInformation where+ rnf TimingInformation' {..} =+ Prelude.rnf processingTimeMilliseconds
+ gen/Amazonka/QLDBSession/Types/ValueHolder.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Types.ValueHolder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Types.ValueHolder where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A structure that can contain a value in multiple encoding formats.+--+-- /See:/ 'newValueHolder' smart constructor.+data ValueHolder = ValueHolder'+ { -- | An Amazon Ion binary value contained in a @ValueHolder@ structure.+ ionBinary :: Prelude.Maybe Data.Base64,+ -- | An Amazon Ion plaintext value contained in a @ValueHolder@ structure.+ ionText :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValueHolder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ionBinary', 'valueHolder_ionBinary' - An Amazon Ion binary value contained in a @ValueHolder@ structure.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'ionText', 'valueHolder_ionText' - An Amazon Ion plaintext value contained in a @ValueHolder@ structure.+newValueHolder ::+ ValueHolder+newValueHolder =+ ValueHolder'+ { ionBinary = Prelude.Nothing,+ ionText = Prelude.Nothing+ }++-- | An Amazon Ion binary value contained in a @ValueHolder@ structure.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+valueHolder_ionBinary :: Lens.Lens' ValueHolder (Prelude.Maybe Prelude.ByteString)+valueHolder_ionBinary = Lens.lens (\ValueHolder' {ionBinary} -> ionBinary) (\s@ValueHolder' {} a -> s {ionBinary = a} :: ValueHolder) Prelude.. Lens.mapping Data._Base64++-- | An Amazon Ion plaintext value contained in a @ValueHolder@ structure.+valueHolder_ionText :: Lens.Lens' ValueHolder (Prelude.Maybe Prelude.Text)+valueHolder_ionText = Lens.lens (\ValueHolder' {ionText} -> ionText) (\s@ValueHolder' {} a -> s {ionText = a} :: ValueHolder)++instance Data.FromJSON ValueHolder where+ parseJSON =+ Data.withObject+ "ValueHolder"+ ( \x ->+ ValueHolder'+ Prelude.<$> (x Data..:? "IonBinary")+ Prelude.<*> (x Data..:? "IonText")+ )++instance Prelude.Hashable ValueHolder where+ hashWithSalt _salt ValueHolder' {..} =+ _salt+ `Prelude.hashWithSalt` ionBinary+ `Prelude.hashWithSalt` ionText++instance Prelude.NFData ValueHolder where+ rnf ValueHolder' {..} =+ Prelude.rnf ionBinary+ `Prelude.seq` Prelude.rnf ionText++instance Data.ToJSON ValueHolder where+ toJSON ValueHolder' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("IonBinary" Data..=) Prelude.<$> ionBinary,+ ("IonText" Data..=) Prelude.<$> ionText+ ]+ )
+ gen/Amazonka/QLDBSession/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.QLDBSession.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.QLDBSession.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.QLDBSession.Lens+import Amazonka.QLDBSession.Types
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.QLDBSession+import Test.Amazonka.QLDBSession.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "QLDBSession"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/QLDBSession.hs view
@@ -0,0 +1,58 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.QLDBSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.QLDBSession where++import Amazonka.QLDBSession+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.QLDBSession.Internal+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"+-- [ requestSendCommand $+-- newSendCommand+--+-- ]++-- , testGroup "response"+-- [ responseSendCommand $+-- newSendCommandResponse+--+-- ]+-- ]++-- Requests++requestSendCommand :: SendCommand -> TestTree+requestSendCommand =+ req+ "SendCommand"+ "fixture/SendCommand.yaml"++-- Responses++responseSendCommand :: SendCommandResponse -> TestTree+responseSendCommand =+ res+ "SendCommandResponse"+ "fixture/SendCommandResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy SendCommand)
+ test/Test/Amazonka/QLDBSession.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.QLDBSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.QLDBSession+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/QLDBSession/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.QLDBSession.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.QLDBSession.Internal where