amazonka-timestream-write (empty) → 2.0
raw patch · 74 files changed
+6779/−0 lines, 74 filesdep +amazonka-coredep +amazonka-testdep +amazonka-timestream-write
Dependencies added: amazonka-core, amazonka-test, amazonka-timestream-write, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-timestream-write.cabal +115/−0
- fixture/CreateDatabase.yaml +10/−0
- fixture/CreateDatabaseResponse.proto +0/−0
- fixture/CreateTable.yaml +10/−0
- fixture/CreateTableResponse.proto +0/−0
- fixture/DeleteDatabase.yaml +10/−0
- fixture/DeleteDatabaseResponse.proto +0/−0
- fixture/DeleteTable.yaml +10/−0
- fixture/DeleteTableResponse.proto +0/−0
- fixture/DescribeDatabase.yaml +10/−0
- fixture/DescribeDatabaseResponse.proto +0/−0
- fixture/DescribeEndpoints.yaml +10/−0
- fixture/DescribeEndpointsResponse.proto +0/−0
- fixture/DescribeTable.yaml +10/−0
- fixture/DescribeTableResponse.proto +0/−0
- fixture/ListDatabases.yaml +10/−0
- fixture/ListDatabasesResponse.proto +0/−0
- fixture/ListTables.yaml +10/−0
- fixture/ListTablesResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateDatabase.yaml +10/−0
- fixture/UpdateDatabaseResponse.proto +0/−0
- fixture/UpdateTable.yaml +10/−0
- fixture/UpdateTableResponse.proto +0/−0
- fixture/WriteRecords.yaml +10/−0
- fixture/WriteRecordsResponse.proto +0/−0
- gen/Amazonka/TimeStreamWrite.hs +271/−0
- gen/Amazonka/TimeStreamWrite/CreateDatabase.hs +218/−0
- gen/Amazonka/TimeStreamWrite/CreateTable.hs +242/−0
- gen/Amazonka/TimeStreamWrite/DeleteDatabase.hs +145/−0
- gen/Amazonka/TimeStreamWrite/DeleteTable.hs +159/−0
- gen/Amazonka/TimeStreamWrite/DescribeDatabase.hs +174/−0
- gen/Amazonka/TimeStreamWrite/DescribeEndpoints.hs +169/−0
- gen/Amazonka/TimeStreamWrite/DescribeTable.hs +192/−0
- gen/Amazonka/TimeStreamWrite/Lens.hs +205/−0
- gen/Amazonka/TimeStreamWrite/ListDatabases.hs +214/−0
- gen/Amazonka/TimeStreamWrite/ListTables.hs +224/−0
- gen/Amazonka/TimeStreamWrite/ListTagsForResource.hs +172/−0
- gen/Amazonka/TimeStreamWrite/TagResource.hs +173/−0
- gen/Amazonka/TimeStreamWrite/Types.hs +321/−0
- gen/Amazonka/TimeStreamWrite/Types/Database.hs +140/−0
- gen/Amazonka/TimeStreamWrite/Types/Dimension.hs +118/−0
- gen/Amazonka/TimeStreamWrite/Types/DimensionValueType.hs +66/−0
- gen/Amazonka/TimeStreamWrite/Types/Endpoint.hs +89/−0
- gen/Amazonka/TimeStreamWrite/Types/MagneticStoreRejectedDataLocation.hs +100/−0
- gen/Amazonka/TimeStreamWrite/Types/MagneticStoreWriteProperties.hs +109/−0
- gen/Amazonka/TimeStreamWrite/Types/MeasureValue.hs +123/−0
- gen/Amazonka/TimeStreamWrite/Types/MeasureValueType.hs +91/−0
- gen/Amazonka/TimeStreamWrite/Types/Record.hs +227/−0
- gen/Amazonka/TimeStreamWrite/Types/RecordsIngested.hs +96/−0
- gen/Amazonka/TimeStreamWrite/Types/RetentionProperties.hs +108/−0
- gen/Amazonka/TimeStreamWrite/Types/S3Configuration.hs +128/−0
- gen/Amazonka/TimeStreamWrite/Types/S3EncryptionOption.hs +71/−0
- gen/Amazonka/TimeStreamWrite/Types/Table.hs +176/−0
- gen/Amazonka/TimeStreamWrite/Types/TableStatus.hs +71/−0
- gen/Amazonka/TimeStreamWrite/Types/Tag.hs +96/−0
- gen/Amazonka/TimeStreamWrite/Types/TimeUnit.hs +81/−0
- gen/Amazonka/TimeStreamWrite/UntagResource.hs +177/−0
- gen/Amazonka/TimeStreamWrite/UpdateDatabase.hs +235/−0
- gen/Amazonka/TimeStreamWrite/UpdateTable.hs +228/−0
- gen/Amazonka/TimeStreamWrite/Waiters.hs +24/−0
- gen/Amazonka/TimeStreamWrite/WriteRecords.hs +281/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/TimeStreamWrite.hs +338/−0
- test/Test/Amazonka/TimeStreamWrite.hs +20/−0
- test/Test/Amazonka/TimeStreamWrite/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 Timestream Write SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-11-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-timestream-write)+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.TimeStreamWrite](http://hackage.haskell.org/package/amazonka-timestream-write/docs/Amazonka-TimeStreamWrite.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-timestream-write` 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-timestream-write.cabal view
@@ -0,0 +1,115 @@+cabal-version: 2.2+name: amazonka-timestream-write+version: 2.0+synopsis: Amazon Timestream Write 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 @2018-11-01@ 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.TimeStreamWrite.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.TimeStreamWrite" 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-timestream-write++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.TimeStreamWrite+ Amazonka.TimeStreamWrite.CreateDatabase+ Amazonka.TimeStreamWrite.CreateTable+ Amazonka.TimeStreamWrite.DeleteDatabase+ Amazonka.TimeStreamWrite.DeleteTable+ Amazonka.TimeStreamWrite.DescribeDatabase+ Amazonka.TimeStreamWrite.DescribeEndpoints+ Amazonka.TimeStreamWrite.DescribeTable+ Amazonka.TimeStreamWrite.Lens+ Amazonka.TimeStreamWrite.ListDatabases+ Amazonka.TimeStreamWrite.ListTables+ Amazonka.TimeStreamWrite.ListTagsForResource+ Amazonka.TimeStreamWrite.TagResource+ Amazonka.TimeStreamWrite.Types+ Amazonka.TimeStreamWrite.Types.Database+ Amazonka.TimeStreamWrite.Types.Dimension+ Amazonka.TimeStreamWrite.Types.DimensionValueType+ Amazonka.TimeStreamWrite.Types.Endpoint+ Amazonka.TimeStreamWrite.Types.MagneticStoreRejectedDataLocation+ Amazonka.TimeStreamWrite.Types.MagneticStoreWriteProperties+ Amazonka.TimeStreamWrite.Types.MeasureValue+ Amazonka.TimeStreamWrite.Types.MeasureValueType+ Amazonka.TimeStreamWrite.Types.Record+ Amazonka.TimeStreamWrite.Types.RecordsIngested+ Amazonka.TimeStreamWrite.Types.RetentionProperties+ Amazonka.TimeStreamWrite.Types.S3Configuration+ Amazonka.TimeStreamWrite.Types.S3EncryptionOption+ Amazonka.TimeStreamWrite.Types.Table+ Amazonka.TimeStreamWrite.Types.TableStatus+ Amazonka.TimeStreamWrite.Types.Tag+ Amazonka.TimeStreamWrite.Types.TimeUnit+ Amazonka.TimeStreamWrite.UntagResource+ Amazonka.TimeStreamWrite.UpdateDatabase+ Amazonka.TimeStreamWrite.UpdateTable+ Amazonka.TimeStreamWrite.Waiters+ Amazonka.TimeStreamWrite.WriteRecords++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-timestream-write-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.TimeStreamWrite+ Test.Amazonka.TimeStreamWrite+ Test.Amazonka.TimeStreamWrite.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-test >=2.0 && <2.1+ , amazonka-timestream-write+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDatabaseResponse.proto view
+ fixture/CreateTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateTableResponse.proto view
+ fixture/DeleteDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDatabaseResponse.proto view
+ fixture/DeleteTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteTableResponse.proto view
+ fixture/DescribeDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/DescribeDatabaseResponse.proto view
+ fixture/DescribeEndpoints.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/DescribeEndpointsResponse.proto view
+ fixture/DescribeTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/DescribeTableResponse.proto view
+ fixture/ListDatabases.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/ListDatabasesResponse.proto view
+ fixture/ListTables.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/ListTablesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/ListTagsForResourceResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/UntagResourceResponse.proto view
+ fixture/UpdateDatabase.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDatabaseResponse.proto view
+ fixture/UpdateTable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateTableResponse.proto view
+ fixture/WriteRecords.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ingest.timestream/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: ingest.timestream.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/WriteRecordsResponse.proto view
+ gen/Amazonka/TimeStreamWrite.hs view
@@ -0,0 +1,271 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.TimeStreamWrite+-- 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 @2018-11-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Timestream Write+--+-- Amazon Timestream is a fast, scalable, fully managed time series+-- database service that makes it easy to store and analyze trillions of+-- time series data points per day. With Timestream, you can easily store+-- and analyze IoT sensor data to derive insights from your IoT+-- applications. You can analyze industrial telemetry to streamline+-- equipment management and maintenance. You can also store and analyze log+-- data and metrics to improve the performance and availability of your+-- applications. Timestream is built from the ground up to effectively+-- ingest, process, and store time series data. It organizes data to+-- optimize query processing. It automatically scales based on the volume+-- of data ingested and on the query volume to ensure you receive optimal+-- performance while inserting and querying data. As your data grows over+-- time, Timestream’s adaptive query processing engine spans across storage+-- tiers to provide fast analysis while reducing costs.+module Amazonka.TimeStreamWrite+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** InvalidEndpointException+ _InvalidEndpointException,++ -- ** RejectedRecordsException+ _RejectedRecordsException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateDatabase+ CreateDatabase (CreateDatabase'),+ newCreateDatabase,+ CreateDatabaseResponse (CreateDatabaseResponse'),+ newCreateDatabaseResponse,++ -- ** CreateTable+ CreateTable (CreateTable'),+ newCreateTable,+ CreateTableResponse (CreateTableResponse'),+ newCreateTableResponse,++ -- ** DeleteDatabase+ DeleteDatabase (DeleteDatabase'),+ newDeleteDatabase,+ DeleteDatabaseResponse (DeleteDatabaseResponse'),+ newDeleteDatabaseResponse,++ -- ** DeleteTable+ DeleteTable (DeleteTable'),+ newDeleteTable,+ DeleteTableResponse (DeleteTableResponse'),+ newDeleteTableResponse,++ -- ** DescribeDatabase+ DescribeDatabase (DescribeDatabase'),+ newDescribeDatabase,+ DescribeDatabaseResponse (DescribeDatabaseResponse'),+ newDescribeDatabaseResponse,++ -- ** DescribeEndpoints+ DescribeEndpoints (DescribeEndpoints'),+ newDescribeEndpoints,+ DescribeEndpointsResponse (DescribeEndpointsResponse'),+ newDescribeEndpointsResponse,++ -- ** DescribeTable+ DescribeTable (DescribeTable'),+ newDescribeTable,+ DescribeTableResponse (DescribeTableResponse'),+ newDescribeTableResponse,++ -- ** ListDatabases+ ListDatabases (ListDatabases'),+ newListDatabases,+ ListDatabasesResponse (ListDatabasesResponse'),+ newListDatabasesResponse,++ -- ** ListTables+ ListTables (ListTables'),+ newListTables,+ ListTablesResponse (ListTablesResponse'),+ newListTablesResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateDatabase+ UpdateDatabase (UpdateDatabase'),+ newUpdateDatabase,+ UpdateDatabaseResponse (UpdateDatabaseResponse'),+ newUpdateDatabaseResponse,++ -- ** UpdateTable+ UpdateTable (UpdateTable'),+ newUpdateTable,+ UpdateTableResponse (UpdateTableResponse'),+ newUpdateTableResponse,++ -- ** WriteRecords+ WriteRecords (WriteRecords'),+ newWriteRecords,+ WriteRecordsResponse (WriteRecordsResponse'),+ newWriteRecordsResponse,++ -- * Types++ -- ** DimensionValueType+ DimensionValueType (..),++ -- ** MeasureValueType+ MeasureValueType (..),++ -- ** S3EncryptionOption+ S3EncryptionOption (..),++ -- ** TableStatus+ TableStatus (..),++ -- ** TimeUnit+ TimeUnit (..),++ -- ** Database+ Database (Database'),+ newDatabase,++ -- ** Dimension+ Dimension (Dimension'),+ newDimension,++ -- ** Endpoint+ Endpoint (Endpoint'),+ newEndpoint,++ -- ** MagneticStoreRejectedDataLocation+ MagneticStoreRejectedDataLocation (MagneticStoreRejectedDataLocation'),+ newMagneticStoreRejectedDataLocation,++ -- ** MagneticStoreWriteProperties+ MagneticStoreWriteProperties (MagneticStoreWriteProperties'),+ newMagneticStoreWriteProperties,++ -- ** MeasureValue+ MeasureValue (MeasureValue'),+ newMeasureValue,++ -- ** Record+ Record (Record'),+ newRecord,++ -- ** RecordsIngested+ RecordsIngested (RecordsIngested'),+ newRecordsIngested,++ -- ** RetentionProperties+ RetentionProperties (RetentionProperties'),+ newRetentionProperties,++ -- ** S3Configuration+ S3Configuration (S3Configuration'),+ newS3Configuration,++ -- ** Table+ Table (Table'),+ newTable,++ -- ** Tag+ Tag (Tag'),+ newTag,+ )+where++import Amazonka.TimeStreamWrite.CreateDatabase+import Amazonka.TimeStreamWrite.CreateTable+import Amazonka.TimeStreamWrite.DeleteDatabase+import Amazonka.TimeStreamWrite.DeleteTable+import Amazonka.TimeStreamWrite.DescribeDatabase+import Amazonka.TimeStreamWrite.DescribeEndpoints+import Amazonka.TimeStreamWrite.DescribeTable+import Amazonka.TimeStreamWrite.Lens+import Amazonka.TimeStreamWrite.ListDatabases+import Amazonka.TimeStreamWrite.ListTables+import Amazonka.TimeStreamWrite.ListTagsForResource+import Amazonka.TimeStreamWrite.TagResource+import Amazonka.TimeStreamWrite.Types+import Amazonka.TimeStreamWrite.UntagResource+import Amazonka.TimeStreamWrite.UpdateDatabase+import Amazonka.TimeStreamWrite.UpdateTable+import Amazonka.TimeStreamWrite.Waiters+import Amazonka.TimeStreamWrite.WriteRecords++-- $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 'TimeStreamWrite'.++-- $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/TimeStreamWrite/CreateDatabase.hs view
@@ -0,0 +1,218 @@+{-# 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.TimeStreamWrite.CreateDatabase+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new Timestream database. If the KMS key is not specified, the+-- database will be encrypted with a Timestream managed KMS key located in+-- your account. Refer to+-- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk Amazon Web Services managed KMS keys>+-- for more info.+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Service quotas apply>.+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-db.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.CreateDatabase+ ( -- * Creating a Request+ CreateDatabase (..),+ newCreateDatabase,++ -- * Request Lenses+ createDatabase_kmsKeyId,+ createDatabase_tags,+ createDatabase_databaseName,++ -- * Destructuring the Response+ CreateDatabaseResponse (..),+ newCreateDatabaseResponse,++ -- * Response Lenses+ createDatabaseResponse_database,+ createDatabaseResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newCreateDatabase' smart constructor.+data CreateDatabase = CreateDatabase'+ { -- | The KMS key for the database. If the KMS key is not specified, the+ -- database will be encrypted with a Timestream managed KMS key located in+ -- your account. Refer to+ -- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk Amazon Web Services managed KMS keys>+ -- for more info.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | A list of key-value pairs to label the table.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the Timestream database.+ databaseName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatabase' 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:+--+-- 'kmsKeyId', 'createDatabase_kmsKeyId' - The KMS key for the database. If the KMS key is not specified, the+-- database will be encrypted with a Timestream managed KMS key located in+-- your account. Refer to+-- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk Amazon Web Services managed KMS keys>+-- for more info.+--+-- 'tags', 'createDatabase_tags' - A list of key-value pairs to label the table.+--+-- 'databaseName', 'createDatabase_databaseName' - The name of the Timestream database.+newCreateDatabase ::+ -- | 'databaseName'+ Prelude.Text ->+ CreateDatabase+newCreateDatabase pDatabaseName_ =+ CreateDatabase'+ { kmsKeyId = Prelude.Nothing,+ tags = Prelude.Nothing,+ databaseName = pDatabaseName_+ }++-- | The KMS key for the database. If the KMS key is not specified, the+-- database will be encrypted with a Timestream managed KMS key located in+-- your account. Refer to+-- <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk Amazon Web Services managed KMS keys>+-- for more info.+createDatabase_kmsKeyId :: Lens.Lens' CreateDatabase (Prelude.Maybe Prelude.Text)+createDatabase_kmsKeyId = Lens.lens (\CreateDatabase' {kmsKeyId} -> kmsKeyId) (\s@CreateDatabase' {} a -> s {kmsKeyId = a} :: CreateDatabase)++-- | A list of key-value pairs to label the table.+createDatabase_tags :: Lens.Lens' CreateDatabase (Prelude.Maybe [Tag])+createDatabase_tags = Lens.lens (\CreateDatabase' {tags} -> tags) (\s@CreateDatabase' {} a -> s {tags = a} :: CreateDatabase) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Timestream database.+createDatabase_databaseName :: Lens.Lens' CreateDatabase Prelude.Text+createDatabase_databaseName = Lens.lens (\CreateDatabase' {databaseName} -> databaseName) (\s@CreateDatabase' {} a -> s {databaseName = a} :: CreateDatabase)++instance Core.AWSRequest CreateDatabase where+ type+ AWSResponse CreateDatabase =+ CreateDatabaseResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDatabaseResponse'+ Prelude.<$> (x Data..?> "Database")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDatabase where+ hashWithSalt _salt CreateDatabase' {..} =+ _salt+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` databaseName++instance Prelude.NFData CreateDatabase where+ rnf CreateDatabase' {..} =+ Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf databaseName++instance Data.ToHeaders CreateDatabase where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.CreateDatabase" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDatabase where+ toJSON CreateDatabase' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("DatabaseName" Data..= databaseName)+ ]+ )++instance Data.ToPath CreateDatabase where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateDatabase where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatabaseResponse' smart constructor.+data CreateDatabaseResponse = CreateDatabaseResponse'+ { -- | The newly created Timestream database.+ database :: Prelude.Maybe Database,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatabaseResponse' 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:+--+-- 'database', 'createDatabaseResponse_database' - The newly created Timestream database.+--+-- 'httpStatus', 'createDatabaseResponse_httpStatus' - The response's http status code.+newCreateDatabaseResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatabaseResponse+newCreateDatabaseResponse pHttpStatus_ =+ CreateDatabaseResponse'+ { database = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The newly created Timestream database.+createDatabaseResponse_database :: Lens.Lens' CreateDatabaseResponse (Prelude.Maybe Database)+createDatabaseResponse_database = Lens.lens (\CreateDatabaseResponse' {database} -> database) (\s@CreateDatabaseResponse' {} a -> s {database = a} :: CreateDatabaseResponse)++-- | The response's http status code.+createDatabaseResponse_httpStatus :: Lens.Lens' CreateDatabaseResponse Prelude.Int+createDatabaseResponse_httpStatus = Lens.lens (\CreateDatabaseResponse' {httpStatus} -> httpStatus) (\s@CreateDatabaseResponse' {} a -> s {httpStatus = a} :: CreateDatabaseResponse)++instance Prelude.NFData CreateDatabaseResponse where+ rnf CreateDatabaseResponse' {..} =+ Prelude.rnf database+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/CreateTable.hs view
@@ -0,0 +1,242 @@+{-# 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.TimeStreamWrite.CreateTable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The CreateTable operation adds a new table to an existing database in+-- your account. In an Amazon Web Services account, table names must be at+-- least unique within each Region if they are in the same database. You+-- may have identical table names in the same Region if the tables are in+-- separate databases. While creating the table, you must specify the table+-- name, database name, and the retention properties.+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Service quotas apply>.+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-table.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.CreateTable+ ( -- * Creating a Request+ CreateTable (..),+ newCreateTable,++ -- * Request Lenses+ createTable_magneticStoreWriteProperties,+ createTable_retentionProperties,+ createTable_tags,+ createTable_databaseName,+ createTable_tableName,++ -- * Destructuring the Response+ CreateTableResponse (..),+ newCreateTableResponse,++ -- * Response Lenses+ createTableResponse_table,+ createTableResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newCreateTable' smart constructor.+data CreateTable = CreateTable'+ { -- | Contains properties to set on the table when enabling magnetic store+ -- writes.+ magneticStoreWriteProperties :: Prelude.Maybe MagneticStoreWriteProperties,+ -- | The duration for which your time series data must be stored in the+ -- memory store and the magnetic store.+ retentionProperties :: Prelude.Maybe RetentionProperties,+ -- | A list of key-value pairs to label the table.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the Timestream database.+ databaseName :: Prelude.Text,+ -- | The name of the Timestream table.+ tableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTable' 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:+--+-- 'magneticStoreWriteProperties', 'createTable_magneticStoreWriteProperties' - Contains properties to set on the table when enabling magnetic store+-- writes.+--+-- 'retentionProperties', 'createTable_retentionProperties' - The duration for which your time series data must be stored in the+-- memory store and the magnetic store.+--+-- 'tags', 'createTable_tags' - A list of key-value pairs to label the table.+--+-- 'databaseName', 'createTable_databaseName' - The name of the Timestream database.+--+-- 'tableName', 'createTable_tableName' - The name of the Timestream table.+newCreateTable ::+ -- | 'databaseName'+ Prelude.Text ->+ -- | 'tableName'+ Prelude.Text ->+ CreateTable+newCreateTable pDatabaseName_ pTableName_ =+ CreateTable'+ { magneticStoreWriteProperties =+ Prelude.Nothing,+ retentionProperties = Prelude.Nothing,+ tags = Prelude.Nothing,+ databaseName = pDatabaseName_,+ tableName = pTableName_+ }++-- | Contains properties to set on the table when enabling magnetic store+-- writes.+createTable_magneticStoreWriteProperties :: Lens.Lens' CreateTable (Prelude.Maybe MagneticStoreWriteProperties)+createTable_magneticStoreWriteProperties = Lens.lens (\CreateTable' {magneticStoreWriteProperties} -> magneticStoreWriteProperties) (\s@CreateTable' {} a -> s {magneticStoreWriteProperties = a} :: CreateTable)++-- | The duration for which your time series data must be stored in the+-- memory store and the magnetic store.+createTable_retentionProperties :: Lens.Lens' CreateTable (Prelude.Maybe RetentionProperties)+createTable_retentionProperties = Lens.lens (\CreateTable' {retentionProperties} -> retentionProperties) (\s@CreateTable' {} a -> s {retentionProperties = a} :: CreateTable)++-- | A list of key-value pairs to label the table.+createTable_tags :: Lens.Lens' CreateTable (Prelude.Maybe [Tag])+createTable_tags = Lens.lens (\CreateTable' {tags} -> tags) (\s@CreateTable' {} a -> s {tags = a} :: CreateTable) Prelude.. Lens.mapping Lens.coerced++-- | The name of the Timestream database.+createTable_databaseName :: Lens.Lens' CreateTable Prelude.Text+createTable_databaseName = Lens.lens (\CreateTable' {databaseName} -> databaseName) (\s@CreateTable' {} a -> s {databaseName = a} :: CreateTable)++-- | The name of the Timestream table.+createTable_tableName :: Lens.Lens' CreateTable Prelude.Text+createTable_tableName = Lens.lens (\CreateTable' {tableName} -> tableName) (\s@CreateTable' {} a -> s {tableName = a} :: CreateTable)++instance Core.AWSRequest CreateTable where+ type AWSResponse CreateTable = CreateTableResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateTableResponse'+ Prelude.<$> (x Data..?> "Table")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateTable where+ hashWithSalt _salt CreateTable' {..} =+ _salt+ `Prelude.hashWithSalt` magneticStoreWriteProperties+ `Prelude.hashWithSalt` retentionProperties+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` tableName++instance Prelude.NFData CreateTable where+ rnf CreateTable' {..} =+ Prelude.rnf magneticStoreWriteProperties+ `Prelude.seq` Prelude.rnf retentionProperties+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf tableName++instance Data.ToHeaders CreateTable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.CreateTable" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateTable where+ toJSON CreateTable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MagneticStoreWriteProperties" Data..=)+ Prelude.<$> magneticStoreWriteProperties,+ ("RetentionProperties" Data..=)+ Prelude.<$> retentionProperties,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("DatabaseName" Data..= databaseName),+ Prelude.Just ("TableName" Data..= tableName)+ ]+ )++instance Data.ToPath CreateTable where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateTable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTableResponse' smart constructor.+data CreateTableResponse = CreateTableResponse'+ { -- | The newly created Timestream table.+ table :: Prelude.Maybe Table,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTableResponse' 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:+--+-- 'table', 'createTableResponse_table' - The newly created Timestream table.+--+-- 'httpStatus', 'createTableResponse_httpStatus' - The response's http status code.+newCreateTableResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateTableResponse+newCreateTableResponse pHttpStatus_ =+ CreateTableResponse'+ { table = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The newly created Timestream table.+createTableResponse_table :: Lens.Lens' CreateTableResponse (Prelude.Maybe Table)+createTableResponse_table = Lens.lens (\CreateTableResponse' {table} -> table) (\s@CreateTableResponse' {} a -> s {table = a} :: CreateTableResponse)++-- | The response's http status code.+createTableResponse_httpStatus :: Lens.Lens' CreateTableResponse Prelude.Int+createTableResponse_httpStatus = Lens.lens (\CreateTableResponse' {httpStatus} -> httpStatus) (\s@CreateTableResponse' {} a -> s {httpStatus = a} :: CreateTableResponse)++instance Prelude.NFData CreateTableResponse where+ rnf CreateTableResponse' {..} =+ Prelude.rnf table+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/DeleteDatabase.hs view
@@ -0,0 +1,145 @@+{-# 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.TimeStreamWrite.DeleteDatabase+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a given Timestream database. /This is an irreversible operation.+-- After a database is deleted, the time series data from its tables cannot+-- be recovered./+--+-- All tables in the database must be deleted first, or a+-- ValidationException error will be thrown.+--+-- Due to the nature of distributed retries, the operation can return+-- either success or a ResourceNotFoundException. Clients should consider+-- them equivalent.+--+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.delete-db.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.DeleteDatabase+ ( -- * Creating a Request+ DeleteDatabase (..),+ newDeleteDatabase,++ -- * Request Lenses+ deleteDatabase_databaseName,++ -- * Destructuring the Response+ DeleteDatabaseResponse (..),+ newDeleteDatabaseResponse,+ )+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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newDeleteDatabase' smart constructor.+data DeleteDatabase = DeleteDatabase'+ { -- | The name of the Timestream database to be deleted.+ databaseName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatabase' 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:+--+-- 'databaseName', 'deleteDatabase_databaseName' - The name of the Timestream database to be deleted.+newDeleteDatabase ::+ -- | 'databaseName'+ Prelude.Text ->+ DeleteDatabase+newDeleteDatabase pDatabaseName_ =+ DeleteDatabase' {databaseName = pDatabaseName_}++-- | The name of the Timestream database to be deleted.+deleteDatabase_databaseName :: Lens.Lens' DeleteDatabase Prelude.Text+deleteDatabase_databaseName = Lens.lens (\DeleteDatabase' {databaseName} -> databaseName) (\s@DeleteDatabase' {} a -> s {databaseName = a} :: DeleteDatabase)++instance Core.AWSRequest DeleteDatabase where+ type+ AWSResponse DeleteDatabase =+ DeleteDatabaseResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveNull DeleteDatabaseResponse'++instance Prelude.Hashable DeleteDatabase where+ hashWithSalt _salt DeleteDatabase' {..} =+ _salt `Prelude.hashWithSalt` databaseName++instance Prelude.NFData DeleteDatabase where+ rnf DeleteDatabase' {..} = Prelude.rnf databaseName++instance Data.ToHeaders DeleteDatabase where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.DeleteDatabase" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteDatabase where+ toJSON DeleteDatabase' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("DatabaseName" Data..= databaseName)]+ )++instance Data.ToPath DeleteDatabase where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteDatabase where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatabaseResponse' smart constructor.+data DeleteDatabaseResponse = DeleteDatabaseResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatabaseResponse' 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.+newDeleteDatabaseResponse ::+ DeleteDatabaseResponse+newDeleteDatabaseResponse = DeleteDatabaseResponse'++instance Prelude.NFData DeleteDatabaseResponse where+ rnf _ = ()
+ gen/Amazonka/TimeStreamWrite/DeleteTable.hs view
@@ -0,0 +1,159 @@+{-# 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.TimeStreamWrite.DeleteTable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a given Timestream table. This is an irreversible operation.+-- After a Timestream database table is deleted, the time series data+-- stored in the table cannot be recovered.+--+-- Due to the nature of distributed retries, the operation can return+-- either success or a ResourceNotFoundException. Clients should consider+-- them equivalent.+--+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.delete-table.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.DeleteTable+ ( -- * Creating a Request+ DeleteTable (..),+ newDeleteTable,++ -- * Request Lenses+ deleteTable_databaseName,+ deleteTable_tableName,++ -- * Destructuring the Response+ DeleteTableResponse (..),+ newDeleteTableResponse,+ )+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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newDeleteTable' smart constructor.+data DeleteTable = DeleteTable'+ { -- | The name of the database where the Timestream database is to be deleted.+ databaseName :: Prelude.Text,+ -- | The name of the Timestream table to be deleted.+ tableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTable' 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:+--+-- 'databaseName', 'deleteTable_databaseName' - The name of the database where the Timestream database is to be deleted.+--+-- 'tableName', 'deleteTable_tableName' - The name of the Timestream table to be deleted.+newDeleteTable ::+ -- | 'databaseName'+ Prelude.Text ->+ -- | 'tableName'+ Prelude.Text ->+ DeleteTable+newDeleteTable pDatabaseName_ pTableName_ =+ DeleteTable'+ { databaseName = pDatabaseName_,+ tableName = pTableName_+ }++-- | The name of the database where the Timestream database is to be deleted.+deleteTable_databaseName :: Lens.Lens' DeleteTable Prelude.Text+deleteTable_databaseName = Lens.lens (\DeleteTable' {databaseName} -> databaseName) (\s@DeleteTable' {} a -> s {databaseName = a} :: DeleteTable)++-- | The name of the Timestream table to be deleted.+deleteTable_tableName :: Lens.Lens' DeleteTable Prelude.Text+deleteTable_tableName = Lens.lens (\DeleteTable' {tableName} -> tableName) (\s@DeleteTable' {} a -> s {tableName = a} :: DeleteTable)++instance Core.AWSRequest DeleteTable where+ type AWSResponse DeleteTable = DeleteTableResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response = Response.receiveNull DeleteTableResponse'++instance Prelude.Hashable DeleteTable where+ hashWithSalt _salt DeleteTable' {..} =+ _salt+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` tableName++instance Prelude.NFData DeleteTable where+ rnf DeleteTable' {..} =+ Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf tableName++instance Data.ToHeaders DeleteTable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.DeleteTable" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteTable where+ toJSON DeleteTable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DatabaseName" Data..= databaseName),+ Prelude.Just ("TableName" Data..= tableName)+ ]+ )++instance Data.ToPath DeleteTable where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteTable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTableResponse' smart constructor.+data DeleteTableResponse = DeleteTableResponse'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTableResponse' 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.+newDeleteTableResponse ::+ DeleteTableResponse+newDeleteTableResponse = DeleteTableResponse'++instance Prelude.NFData DeleteTableResponse where+ rnf _ = ()
+ gen/Amazonka/TimeStreamWrite/DescribeDatabase.hs view
@@ -0,0 +1,174 @@+{-# 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.TimeStreamWrite.DescribeDatabase+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the database, including the database name,+-- time that the database was created, and the total number of tables found+-- within the database.+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Service quotas apply>.+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.describe-db.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.DescribeDatabase+ ( -- * Creating a Request+ DescribeDatabase (..),+ newDescribeDatabase,++ -- * Request Lenses+ describeDatabase_databaseName,++ -- * Destructuring the Response+ DescribeDatabaseResponse (..),+ newDescribeDatabaseResponse,++ -- * Response Lenses+ describeDatabaseResponse_database,+ describeDatabaseResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newDescribeDatabase' smart constructor.+data DescribeDatabase = DescribeDatabase'+ { -- | The name of the Timestream database.+ databaseName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDatabase' 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:+--+-- 'databaseName', 'describeDatabase_databaseName' - The name of the Timestream database.+newDescribeDatabase ::+ -- | 'databaseName'+ Prelude.Text ->+ DescribeDatabase+newDescribeDatabase pDatabaseName_ =+ DescribeDatabase' {databaseName = pDatabaseName_}++-- | The name of the Timestream database.+describeDatabase_databaseName :: Lens.Lens' DescribeDatabase Prelude.Text+describeDatabase_databaseName = Lens.lens (\DescribeDatabase' {databaseName} -> databaseName) (\s@DescribeDatabase' {} a -> s {databaseName = a} :: DescribeDatabase)++instance Core.AWSRequest DescribeDatabase where+ type+ AWSResponse DescribeDatabase =+ DescribeDatabaseResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDatabaseResponse'+ Prelude.<$> (x Data..?> "Database")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeDatabase where+ hashWithSalt _salt DescribeDatabase' {..} =+ _salt `Prelude.hashWithSalt` databaseName++instance Prelude.NFData DescribeDatabase where+ rnf DescribeDatabase' {..} = Prelude.rnf databaseName++instance Data.ToHeaders DescribeDatabase where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.DescribeDatabase" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeDatabase where+ toJSON DescribeDatabase' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("DatabaseName" Data..= databaseName)]+ )++instance Data.ToPath DescribeDatabase where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeDatabase where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDatabaseResponse' smart constructor.+data DescribeDatabaseResponse = DescribeDatabaseResponse'+ { -- | The name of the Timestream table.+ database :: Prelude.Maybe Database,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDatabaseResponse' 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:+--+-- 'database', 'describeDatabaseResponse_database' - The name of the Timestream table.+--+-- 'httpStatus', 'describeDatabaseResponse_httpStatus' - The response's http status code.+newDescribeDatabaseResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDatabaseResponse+newDescribeDatabaseResponse pHttpStatus_ =+ DescribeDatabaseResponse'+ { database =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the Timestream table.+describeDatabaseResponse_database :: Lens.Lens' DescribeDatabaseResponse (Prelude.Maybe Database)+describeDatabaseResponse_database = Lens.lens (\DescribeDatabaseResponse' {database} -> database) (\s@DescribeDatabaseResponse' {} a -> s {database = a} :: DescribeDatabaseResponse)++-- | The response's http status code.+describeDatabaseResponse_httpStatus :: Lens.Lens' DescribeDatabaseResponse Prelude.Int+describeDatabaseResponse_httpStatus = Lens.lens (\DescribeDatabaseResponse' {httpStatus} -> httpStatus) (\s@DescribeDatabaseResponse' {} a -> s {httpStatus = a} :: DescribeDatabaseResponse)++instance Prelude.NFData DescribeDatabaseResponse where+ rnf DescribeDatabaseResponse' {..} =+ Prelude.rnf database+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/DescribeEndpoints.hs view
@@ -0,0 +1,169 @@+{-# 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.TimeStreamWrite.DescribeEndpoints+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- DescribeEndpoints returns a list of available endpoints to make+-- Timestream API calls against. This API is available through both Write+-- and Query.+--+-- Because the Timestream SDKs are designed to transparently work with the+-- service’s architecture, including the management and mapping of the+-- service endpoints, /it is not recommended that you use this API unless/:+--+-- - You are using+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/VPCEndpoints VPC endpoints (Amazon Web Services PrivateLink) with Timestream>+--+-- - Your application uses a programming language that does not yet have+-- SDK support+--+-- - You require better control over the client-side implementation+--+-- For detailed information on how and when to use and implement+-- DescribeEndpoints, see+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/Using.API.html#Using-API.endpoint-discovery The Endpoint Discovery Pattern>.+module Amazonka.TimeStreamWrite.DescribeEndpoints+ ( -- * Creating a Request+ DescribeEndpoints (..),+ newDescribeEndpoints,++ -- * Destructuring the Response+ DescribeEndpointsResponse (..),+ newDescribeEndpointsResponse,++ -- * Response Lenses+ describeEndpointsResponse_httpStatus,+ describeEndpointsResponse_endpoints,+ )+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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newDescribeEndpoints' smart constructor.+data DescribeEndpoints = DescribeEndpoints'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEndpoints' 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.+newDescribeEndpoints ::+ DescribeEndpoints+newDescribeEndpoints = DescribeEndpoints'++instance Core.AWSRequest DescribeEndpoints where+ type+ AWSResponse DescribeEndpoints =+ DescribeEndpointsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeEndpointsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Endpoints" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable DescribeEndpoints where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DescribeEndpoints where+ rnf _ = ()++instance Data.ToHeaders DescribeEndpoints where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.DescribeEndpoints" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeEndpoints where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DescribeEndpoints where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeEndpoints where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeEndpointsResponse' smart constructor.+data DescribeEndpointsResponse = DescribeEndpointsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | An @Endpoints@ object is returned when a @DescribeEndpoints@ request is+ -- made.+ endpoints :: [Endpoint]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEndpointsResponse' 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:+--+-- 'httpStatus', 'describeEndpointsResponse_httpStatus' - The response's http status code.+--+-- 'endpoints', 'describeEndpointsResponse_endpoints' - An @Endpoints@ object is returned when a @DescribeEndpoints@ request is+-- made.+newDescribeEndpointsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeEndpointsResponse+newDescribeEndpointsResponse pHttpStatus_ =+ DescribeEndpointsResponse'+ { httpStatus =+ pHttpStatus_,+ endpoints = Prelude.mempty+ }++-- | The response's http status code.+describeEndpointsResponse_httpStatus :: Lens.Lens' DescribeEndpointsResponse Prelude.Int+describeEndpointsResponse_httpStatus = Lens.lens (\DescribeEndpointsResponse' {httpStatus} -> httpStatus) (\s@DescribeEndpointsResponse' {} a -> s {httpStatus = a} :: DescribeEndpointsResponse)++-- | An @Endpoints@ object is returned when a @DescribeEndpoints@ request is+-- made.+describeEndpointsResponse_endpoints :: Lens.Lens' DescribeEndpointsResponse [Endpoint]+describeEndpointsResponse_endpoints = Lens.lens (\DescribeEndpointsResponse' {endpoints} -> endpoints) (\s@DescribeEndpointsResponse' {} a -> s {endpoints = a} :: DescribeEndpointsResponse) Prelude.. Lens.coerced++instance Prelude.NFData DescribeEndpointsResponse where+ rnf DescribeEndpointsResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf endpoints
+ gen/Amazonka/TimeStreamWrite/DescribeTable.hs view
@@ -0,0 +1,192 @@+{-# 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.TimeStreamWrite.DescribeTable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the table, including the table name, database+-- name, retention duration of the memory store and the magnetic store.+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Service quotas apply>.+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.describe-table.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.DescribeTable+ ( -- * Creating a Request+ DescribeTable (..),+ newDescribeTable,++ -- * Request Lenses+ describeTable_databaseName,+ describeTable_tableName,++ -- * Destructuring the Response+ DescribeTableResponse (..),+ newDescribeTableResponse,++ -- * Response Lenses+ describeTableResponse_table,+ describeTableResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newDescribeTable' smart constructor.+data DescribeTable = DescribeTable'+ { -- | The name of the Timestream database.+ databaseName :: Prelude.Text,+ -- | The name of the Timestream table.+ tableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTable' 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:+--+-- 'databaseName', 'describeTable_databaseName' - The name of the Timestream database.+--+-- 'tableName', 'describeTable_tableName' - The name of the Timestream table.+newDescribeTable ::+ -- | 'databaseName'+ Prelude.Text ->+ -- | 'tableName'+ Prelude.Text ->+ DescribeTable+newDescribeTable pDatabaseName_ pTableName_ =+ DescribeTable'+ { databaseName = pDatabaseName_,+ tableName = pTableName_+ }++-- | The name of the Timestream database.+describeTable_databaseName :: Lens.Lens' DescribeTable Prelude.Text+describeTable_databaseName = Lens.lens (\DescribeTable' {databaseName} -> databaseName) (\s@DescribeTable' {} a -> s {databaseName = a} :: DescribeTable)++-- | The name of the Timestream table.+describeTable_tableName :: Lens.Lens' DescribeTable Prelude.Text+describeTable_tableName = Lens.lens (\DescribeTable' {tableName} -> tableName) (\s@DescribeTable' {} a -> s {tableName = a} :: DescribeTable)++instance Core.AWSRequest DescribeTable where+ type+ AWSResponse DescribeTable =+ DescribeTableResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeTableResponse'+ Prelude.<$> (x Data..?> "Table")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeTable where+ hashWithSalt _salt DescribeTable' {..} =+ _salt+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` tableName++instance Prelude.NFData DescribeTable where+ rnf DescribeTable' {..} =+ Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf tableName++instance Data.ToHeaders DescribeTable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.DescribeTable" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeTable where+ toJSON DescribeTable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DatabaseName" Data..= databaseName),+ Prelude.Just ("TableName" Data..= tableName)+ ]+ )++instance Data.ToPath DescribeTable where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeTable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeTableResponse' smart constructor.+data DescribeTableResponse = DescribeTableResponse'+ { -- | The Timestream table.+ table :: Prelude.Maybe Table,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTableResponse' 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:+--+-- 'table', 'describeTableResponse_table' - The Timestream table.+--+-- 'httpStatus', 'describeTableResponse_httpStatus' - The response's http status code.+newDescribeTableResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeTableResponse+newDescribeTableResponse pHttpStatus_ =+ DescribeTableResponse'+ { table = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Timestream table.+describeTableResponse_table :: Lens.Lens' DescribeTableResponse (Prelude.Maybe Table)+describeTableResponse_table = Lens.lens (\DescribeTableResponse' {table} -> table) (\s@DescribeTableResponse' {} a -> s {table = a} :: DescribeTableResponse)++-- | The response's http status code.+describeTableResponse_httpStatus :: Lens.Lens' DescribeTableResponse Prelude.Int+describeTableResponse_httpStatus = Lens.lens (\DescribeTableResponse' {httpStatus} -> httpStatus) (\s@DescribeTableResponse' {} a -> s {httpStatus = a} :: DescribeTableResponse)++instance Prelude.NFData DescribeTableResponse where+ rnf DescribeTableResponse' {..} =+ Prelude.rnf table+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/Lens.hs view
@@ -0,0 +1,205 @@+{-# 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.TimeStreamWrite.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.TimeStreamWrite.Lens+ ( -- * Operations++ -- ** CreateDatabase+ createDatabase_kmsKeyId,+ createDatabase_tags,+ createDatabase_databaseName,+ createDatabaseResponse_database,+ createDatabaseResponse_httpStatus,++ -- ** CreateTable+ createTable_magneticStoreWriteProperties,+ createTable_retentionProperties,+ createTable_tags,+ createTable_databaseName,+ createTable_tableName,+ createTableResponse_table,+ createTableResponse_httpStatus,++ -- ** DeleteDatabase+ deleteDatabase_databaseName,++ -- ** DeleteTable+ deleteTable_databaseName,+ deleteTable_tableName,++ -- ** DescribeDatabase+ describeDatabase_databaseName,+ describeDatabaseResponse_database,+ describeDatabaseResponse_httpStatus,++ -- ** DescribeEndpoints+ describeEndpointsResponse_httpStatus,+ describeEndpointsResponse_endpoints,++ -- ** DescribeTable+ describeTable_databaseName,+ describeTable_tableName,+ describeTableResponse_table,+ describeTableResponse_httpStatus,++ -- ** ListDatabases+ listDatabases_maxResults,+ listDatabases_nextToken,+ listDatabasesResponse_databases,+ listDatabasesResponse_nextToken,+ listDatabasesResponse_httpStatus,++ -- ** ListTables+ listTables_databaseName,+ listTables_maxResults,+ listTables_nextToken,+ listTablesResponse_nextToken,+ listTablesResponse_tables,+ listTablesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceARN,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceARN,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceARN,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateDatabase+ updateDatabase_databaseName,+ updateDatabase_kmsKeyId,+ updateDatabaseResponse_database,+ updateDatabaseResponse_httpStatus,++ -- ** UpdateTable+ updateTable_magneticStoreWriteProperties,+ updateTable_retentionProperties,+ updateTable_databaseName,+ updateTable_tableName,+ updateTableResponse_table,+ updateTableResponse_httpStatus,++ -- ** WriteRecords+ writeRecords_commonAttributes,+ writeRecords_databaseName,+ writeRecords_tableName,+ writeRecords_records,+ writeRecordsResponse_recordsIngested,+ writeRecordsResponse_httpStatus,++ -- * Types++ -- ** Database+ database_arn,+ database_creationTime,+ database_databaseName,+ database_kmsKeyId,+ database_lastUpdatedTime,+ database_tableCount,++ -- ** Dimension+ dimension_dimensionValueType,+ dimension_name,+ dimension_value,++ -- ** Endpoint+ endpoint_address,+ endpoint_cachePeriodInMinutes,++ -- ** MagneticStoreRejectedDataLocation+ magneticStoreRejectedDataLocation_s3Configuration,++ -- ** MagneticStoreWriteProperties+ magneticStoreWriteProperties_magneticStoreRejectedDataLocation,+ magneticStoreWriteProperties_enableMagneticStoreWrites,++ -- ** MeasureValue+ measureValue_name,+ measureValue_value,+ measureValue_type,++ -- ** Record+ record_dimensions,+ record_measureName,+ record_measureValue,+ record_measureValueType,+ record_measureValues,+ record_time,+ record_timeUnit,+ record_version,++ -- ** RecordsIngested+ recordsIngested_magneticStore,+ recordsIngested_memoryStore,+ recordsIngested_total,++ -- ** RetentionProperties+ retentionProperties_memoryStoreRetentionPeriodInHours,+ retentionProperties_magneticStoreRetentionPeriodInDays,++ -- ** S3Configuration+ s3Configuration_bucketName,+ s3Configuration_encryptionOption,+ s3Configuration_kmsKeyId,+ s3Configuration_objectKeyPrefix,++ -- ** Table+ table_arn,+ table_creationTime,+ table_databaseName,+ table_lastUpdatedTime,+ table_magneticStoreWriteProperties,+ table_retentionProperties,+ table_tableName,+ table_tableStatus,++ -- ** Tag+ tag_key,+ tag_value,+ )+where++import Amazonka.TimeStreamWrite.CreateDatabase+import Amazonka.TimeStreamWrite.CreateTable+import Amazonka.TimeStreamWrite.DeleteDatabase+import Amazonka.TimeStreamWrite.DeleteTable+import Amazonka.TimeStreamWrite.DescribeDatabase+import Amazonka.TimeStreamWrite.DescribeEndpoints+import Amazonka.TimeStreamWrite.DescribeTable+import Amazonka.TimeStreamWrite.ListDatabases+import Amazonka.TimeStreamWrite.ListTables+import Amazonka.TimeStreamWrite.ListTagsForResource+import Amazonka.TimeStreamWrite.TagResource+import Amazonka.TimeStreamWrite.Types.Database+import Amazonka.TimeStreamWrite.Types.Dimension+import Amazonka.TimeStreamWrite.Types.Endpoint+import Amazonka.TimeStreamWrite.Types.MagneticStoreRejectedDataLocation+import Amazonka.TimeStreamWrite.Types.MagneticStoreWriteProperties+import Amazonka.TimeStreamWrite.Types.MeasureValue+import Amazonka.TimeStreamWrite.Types.Record+import Amazonka.TimeStreamWrite.Types.RecordsIngested+import Amazonka.TimeStreamWrite.Types.RetentionProperties+import Amazonka.TimeStreamWrite.Types.S3Configuration+import Amazonka.TimeStreamWrite.Types.Table+import Amazonka.TimeStreamWrite.Types.Tag+import Amazonka.TimeStreamWrite.UntagResource+import Amazonka.TimeStreamWrite.UpdateDatabase+import Amazonka.TimeStreamWrite.UpdateTable+import Amazonka.TimeStreamWrite.WriteRecords
+ gen/Amazonka/TimeStreamWrite/ListDatabases.hs view
@@ -0,0 +1,214 @@+{-# 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.TimeStreamWrite.ListDatabases+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of your Timestream databases.+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Service quotas apply>.+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-db.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.ListDatabases+ ( -- * Creating a Request+ ListDatabases (..),+ newListDatabases,++ -- * Request Lenses+ listDatabases_maxResults,+ listDatabases_nextToken,++ -- * Destructuring the Response+ ListDatabasesResponse (..),+ newListDatabasesResponse,++ -- * Response Lenses+ listDatabasesResponse_databases,+ listDatabasesResponse_nextToken,+ listDatabasesResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newListDatabases' smart constructor.+data ListDatabases = ListDatabases'+ { -- | The total number of items to return in the output. If the total number+ -- of items available is more than the value specified, a NextToken is+ -- provided in the output. To resume pagination, provide the NextToken+ -- value as argument of a subsequent API invocation.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token. To resume pagination, provide the NextToken value+ -- as argument of a subsequent API invocation.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatabases' 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:+--+-- 'maxResults', 'listDatabases_maxResults' - The total number of items to return in the output. If the total number+-- of items available is more than the value specified, a NextToken is+-- provided in the output. To resume pagination, provide the NextToken+-- value as argument of a subsequent API invocation.+--+-- 'nextToken', 'listDatabases_nextToken' - The pagination token. To resume pagination, provide the NextToken value+-- as argument of a subsequent API invocation.+newListDatabases ::+ ListDatabases+newListDatabases =+ ListDatabases'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The total number of items to return in the output. If the total number+-- of items available is more than the value specified, a NextToken is+-- provided in the output. To resume pagination, provide the NextToken+-- value as argument of a subsequent API invocation.+listDatabases_maxResults :: Lens.Lens' ListDatabases (Prelude.Maybe Prelude.Natural)+listDatabases_maxResults = Lens.lens (\ListDatabases' {maxResults} -> maxResults) (\s@ListDatabases' {} a -> s {maxResults = a} :: ListDatabases)++-- | The pagination token. To resume pagination, provide the NextToken value+-- as argument of a subsequent API invocation.+listDatabases_nextToken :: Lens.Lens' ListDatabases (Prelude.Maybe Prelude.Text)+listDatabases_nextToken = Lens.lens (\ListDatabases' {nextToken} -> nextToken) (\s@ListDatabases' {} a -> s {nextToken = a} :: ListDatabases)++instance Core.AWSRequest ListDatabases where+ type+ AWSResponse ListDatabases =+ ListDatabasesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDatabasesResponse'+ Prelude.<$> (x Data..?> "Databases" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDatabases where+ hashWithSalt _salt ListDatabases' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDatabases where+ rnf ListDatabases' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDatabases where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.ListDatabases" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListDatabases where+ toJSON ListDatabases' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListDatabases where+ toPath = Prelude.const "/"++instance Data.ToQuery ListDatabases where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDatabasesResponse' smart constructor.+data ListDatabasesResponse = ListDatabasesResponse'+ { -- | A list of database names.+ databases :: Prelude.Maybe [Database],+ -- | The pagination token. This parameter is returned when the response is+ -- truncated.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatabasesResponse' 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:+--+-- 'databases', 'listDatabasesResponse_databases' - A list of database names.+--+-- 'nextToken', 'listDatabasesResponse_nextToken' - The pagination token. This parameter is returned when the response is+-- truncated.+--+-- 'httpStatus', 'listDatabasesResponse_httpStatus' - The response's http status code.+newListDatabasesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDatabasesResponse+newListDatabasesResponse pHttpStatus_ =+ ListDatabasesResponse'+ { databases = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of database names.+listDatabasesResponse_databases :: Lens.Lens' ListDatabasesResponse (Prelude.Maybe [Database])+listDatabasesResponse_databases = Lens.lens (\ListDatabasesResponse' {databases} -> databases) (\s@ListDatabasesResponse' {} a -> s {databases = a} :: ListDatabasesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token. This parameter is returned when the response is+-- truncated.+listDatabasesResponse_nextToken :: Lens.Lens' ListDatabasesResponse (Prelude.Maybe Prelude.Text)+listDatabasesResponse_nextToken = Lens.lens (\ListDatabasesResponse' {nextToken} -> nextToken) (\s@ListDatabasesResponse' {} a -> s {nextToken = a} :: ListDatabasesResponse)++-- | The response's http status code.+listDatabasesResponse_httpStatus :: Lens.Lens' ListDatabasesResponse Prelude.Int+listDatabasesResponse_httpStatus = Lens.lens (\ListDatabasesResponse' {httpStatus} -> httpStatus) (\s@ListDatabasesResponse' {} a -> s {httpStatus = a} :: ListDatabasesResponse)++instance Prelude.NFData ListDatabasesResponse where+ rnf ListDatabasesResponse' {..} =+ Prelude.rnf databases+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/ListTables.hs view
@@ -0,0 +1,224 @@+{-# 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.TimeStreamWrite.ListTables+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A list of tables, along with the name, status and retention properties+-- of each table. See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-table.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.ListTables+ ( -- * Creating a Request+ ListTables (..),+ newListTables,++ -- * Request Lenses+ listTables_databaseName,+ listTables_maxResults,+ listTables_nextToken,++ -- * Destructuring the Response+ ListTablesResponse (..),+ newListTablesResponse,++ -- * Response Lenses+ listTablesResponse_nextToken,+ listTablesResponse_tables,+ listTablesResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newListTables' smart constructor.+data ListTables = ListTables'+ { -- | The name of the Timestream database.+ databaseName :: Prelude.Maybe Prelude.Text,+ -- | The total number of items to return in the output. If the total number+ -- of items available is more than the value specified, a NextToken is+ -- provided in the output. To resume pagination, provide the NextToken+ -- value as argument of a subsequent API invocation.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token. To resume pagination, provide the NextToken value+ -- as argument of a subsequent API invocation.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTables' 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:+--+-- 'databaseName', 'listTables_databaseName' - The name of the Timestream database.+--+-- 'maxResults', 'listTables_maxResults' - The total number of items to return in the output. If the total number+-- of items available is more than the value specified, a NextToken is+-- provided in the output. To resume pagination, provide the NextToken+-- value as argument of a subsequent API invocation.+--+-- 'nextToken', 'listTables_nextToken' - The pagination token. To resume pagination, provide the NextToken value+-- as argument of a subsequent API invocation.+newListTables ::+ ListTables+newListTables =+ ListTables'+ { databaseName = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The name of the Timestream database.+listTables_databaseName :: Lens.Lens' ListTables (Prelude.Maybe Prelude.Text)+listTables_databaseName = Lens.lens (\ListTables' {databaseName} -> databaseName) (\s@ListTables' {} a -> s {databaseName = a} :: ListTables)++-- | The total number of items to return in the output. If the total number+-- of items available is more than the value specified, a NextToken is+-- provided in the output. To resume pagination, provide the NextToken+-- value as argument of a subsequent API invocation.+listTables_maxResults :: Lens.Lens' ListTables (Prelude.Maybe Prelude.Natural)+listTables_maxResults = Lens.lens (\ListTables' {maxResults} -> maxResults) (\s@ListTables' {} a -> s {maxResults = a} :: ListTables)++-- | The pagination token. To resume pagination, provide the NextToken value+-- as argument of a subsequent API invocation.+listTables_nextToken :: Lens.Lens' ListTables (Prelude.Maybe Prelude.Text)+listTables_nextToken = Lens.lens (\ListTables' {nextToken} -> nextToken) (\s@ListTables' {} a -> s {nextToken = a} :: ListTables)++instance Core.AWSRequest ListTables where+ type AWSResponse ListTables = ListTablesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTablesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Tables" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTables where+ hashWithSalt _salt ListTables' {..} =+ _salt+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListTables where+ rnf ListTables' {..} =+ Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListTables where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.ListTables" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTables where+ toJSON ListTables' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DatabaseName" Data..=) Prelude.<$> databaseName,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListTables where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTables where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTablesResponse' smart constructor.+data ListTablesResponse = ListTablesResponse'+ { -- | A token to specify where to start paginating. This is the NextToken from+ -- a previously truncated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of tables.+ tables :: Prelude.Maybe [Table],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTablesResponse' 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:+--+-- 'nextToken', 'listTablesResponse_nextToken' - A token to specify where to start paginating. This is the NextToken from+-- a previously truncated response.+--+-- 'tables', 'listTablesResponse_tables' - A list of tables.+--+-- 'httpStatus', 'listTablesResponse_httpStatus' - The response's http status code.+newListTablesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTablesResponse+newListTablesResponse pHttpStatus_ =+ ListTablesResponse'+ { nextToken = Prelude.Nothing,+ tables = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A token to specify where to start paginating. This is the NextToken from+-- a previously truncated response.+listTablesResponse_nextToken :: Lens.Lens' ListTablesResponse (Prelude.Maybe Prelude.Text)+listTablesResponse_nextToken = Lens.lens (\ListTablesResponse' {nextToken} -> nextToken) (\s@ListTablesResponse' {} a -> s {nextToken = a} :: ListTablesResponse)++-- | A list of tables.+listTablesResponse_tables :: Lens.Lens' ListTablesResponse (Prelude.Maybe [Table])+listTablesResponse_tables = Lens.lens (\ListTablesResponse' {tables} -> tables) (\s@ListTablesResponse' {} a -> s {tables = a} :: ListTablesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTablesResponse_httpStatus :: Lens.Lens' ListTablesResponse Prelude.Int+listTablesResponse_httpStatus = Lens.lens (\ListTablesResponse' {httpStatus} -> httpStatus) (\s@ListTablesResponse' {} a -> s {httpStatus = a} :: ListTablesResponse)++instance Prelude.NFData ListTablesResponse where+ rnf ListTablesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf tables+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/ListTagsForResource.hs view
@@ -0,0 +1,172 @@+{-# 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.TimeStreamWrite.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all tags on a Timestream resource.+module Amazonka.TimeStreamWrite.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceARN,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Timestream resource with tags to be listed. This value is an Amazon+ -- Resource Name (ARN).+ resourceARN :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' 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:+--+-- 'resourceARN', 'listTagsForResource_resourceARN' - The Timestream resource with tags to be listed. This value is an Amazon+-- Resource Name (ARN).+newListTagsForResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceARN_ =+ ListTagsForResource' {resourceARN = pResourceARN_}++-- | The Timestream resource with tags to be listed. This value is an Amazon+-- Resource Name (ARN).+listTagsForResource_resourceARN :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceARN = Lens.lens (\ListTagsForResource' {resourceARN} -> resourceARN) (\s@ListTagsForResource' {} a -> s {resourceARN = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceARN++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceARN++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceARN" Data..= resourceARN)]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The tags currently associated with the Timestream resource.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' 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:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags currently associated with the Timestream resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags currently associated with the Timestream resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/TagResource.hs view
@@ -0,0 +1,173 @@+{-# 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.TimeStreamWrite.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate a set of tags with a Timestream resource. You can then+-- activate these user-defined tags so that they appear on the Billing and+-- Cost Management console for cost allocation tracking.+module Amazonka.TimeStreamWrite.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceARN,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | Identifies the Timestream resource to which tags should be added. This+ -- value is an Amazon Resource Name (ARN).+ resourceARN :: Prelude.Text,+ -- | The tags to be assigned to the Timestream resource.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' 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:+--+-- 'resourceARN', 'tagResource_resourceARN' - Identifies the Timestream resource to which tags should be added. This+-- value is an Amazon Resource Name (ARN).+--+-- 'tags', 'tagResource_tags' - The tags to be assigned to the Timestream resource.+newTagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ TagResource+newTagResource pResourceARN_ =+ TagResource'+ { resourceARN = pResourceARN_,+ tags = Prelude.mempty+ }++-- | Identifies the Timestream resource to which tags should be added. This+-- value is an Amazon Resource Name (ARN).+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | The tags to be assigned to the Timestream resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.TagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceARN" Data..= resourceARN),+ Prelude.Just ("Tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' 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:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/Types.hs view
@@ -0,0 +1,321 @@+{-# 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.TimeStreamWrite.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.TimeStreamWrite.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _InvalidEndpointException,+ _RejectedRecordsException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * DimensionValueType+ DimensionValueType (..),++ -- * MeasureValueType+ MeasureValueType (..),++ -- * S3EncryptionOption+ S3EncryptionOption (..),++ -- * TableStatus+ TableStatus (..),++ -- * TimeUnit+ TimeUnit (..),++ -- * Database+ Database (..),+ newDatabase,+ database_arn,+ database_creationTime,+ database_databaseName,+ database_kmsKeyId,+ database_lastUpdatedTime,+ database_tableCount,++ -- * Dimension+ Dimension (..),+ newDimension,+ dimension_dimensionValueType,+ dimension_name,+ dimension_value,++ -- * Endpoint+ Endpoint (..),+ newEndpoint,+ endpoint_address,+ endpoint_cachePeriodInMinutes,++ -- * MagneticStoreRejectedDataLocation+ MagneticStoreRejectedDataLocation (..),+ newMagneticStoreRejectedDataLocation,+ magneticStoreRejectedDataLocation_s3Configuration,++ -- * MagneticStoreWriteProperties+ MagneticStoreWriteProperties (..),+ newMagneticStoreWriteProperties,+ magneticStoreWriteProperties_magneticStoreRejectedDataLocation,+ magneticStoreWriteProperties_enableMagneticStoreWrites,++ -- * MeasureValue+ MeasureValue (..),+ newMeasureValue,+ measureValue_name,+ measureValue_value,+ measureValue_type,++ -- * Record+ Record (..),+ newRecord,+ record_dimensions,+ record_measureName,+ record_measureValue,+ record_measureValueType,+ record_measureValues,+ record_time,+ record_timeUnit,+ record_version,++ -- * RecordsIngested+ RecordsIngested (..),+ newRecordsIngested,+ recordsIngested_magneticStore,+ recordsIngested_memoryStore,+ recordsIngested_total,++ -- * RetentionProperties+ RetentionProperties (..),+ newRetentionProperties,+ retentionProperties_memoryStoreRetentionPeriodInHours,+ retentionProperties_magneticStoreRetentionPeriodInDays,++ -- * S3Configuration+ S3Configuration (..),+ newS3Configuration,+ s3Configuration_bucketName,+ s3Configuration_encryptionOption,+ s3Configuration_kmsKeyId,+ s3Configuration_objectKeyPrefix,++ -- * Table+ Table (..),+ newTable,+ table_arn,+ table_creationTime,+ table_databaseName,+ table_lastUpdatedTime,+ table_magneticStoreWriteProperties,+ table_retentionProperties,+ table_tableName,+ table_tableStatus,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.TimeStreamWrite.Types.Database+import Amazonka.TimeStreamWrite.Types.Dimension+import Amazonka.TimeStreamWrite.Types.DimensionValueType+import Amazonka.TimeStreamWrite.Types.Endpoint+import Amazonka.TimeStreamWrite.Types.MagneticStoreRejectedDataLocation+import Amazonka.TimeStreamWrite.Types.MagneticStoreWriteProperties+import Amazonka.TimeStreamWrite.Types.MeasureValue+import Amazonka.TimeStreamWrite.Types.MeasureValueType+import Amazonka.TimeStreamWrite.Types.Record+import Amazonka.TimeStreamWrite.Types.RecordsIngested+import Amazonka.TimeStreamWrite.Types.RetentionProperties+import Amazonka.TimeStreamWrite.Types.S3Configuration+import Amazonka.TimeStreamWrite.Types.S3EncryptionOption+import Amazonka.TimeStreamWrite.Types.Table+import Amazonka.TimeStreamWrite.Types.TableStatus+import Amazonka.TimeStreamWrite.Types.Tag+import Amazonka.TimeStreamWrite.Types.TimeUnit++-- | API version @2018-11-01@ of the Amazon Timestream Write SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "TimeStreamWrite",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "ingest.timestream",+ Core.signingName = "timestream",+ Core.version = "2018-11-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "TimeStreamWrite",+ 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++-- | You are not authorized to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"++-- | Timestream was unable to process this request because it contains+-- resource that already exists.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"++-- | Timestream was unable to fully process this request because of an+-- internal server error.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"++-- | The requested endpoint was invalid.+_InvalidEndpointException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidEndpointException =+ Core._MatchServiceError+ defaultService+ "InvalidEndpointException"++-- | WriteRecords would throw this exception in the following cases:+--+-- - Records with duplicate data where there are multiple records with+-- the same dimensions, timestamps, and measure names but:+--+-- - Measure values are different+--+-- - Version is not present in the request /or/ the value of version+-- in the new record is equal to or lower than the existing value+--+-- In this case, if Timestream rejects data, the @ExistingVersion@+-- field in the @RejectedRecords@ response will indicate the current+-- record’s version. To force an update, you can resend the request+-- with a version for the record set to a value greater than the+-- @ExistingVersion@.+--+-- - Records with timestamps that lie outside the retention duration of+-- the memory store+--+-- - Records with dimensions or measures that exceed the Timestream+-- defined limits.+--+-- For more information, see+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Quotas>+-- in the Timestream Developer Guide.+_RejectedRecordsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_RejectedRecordsException =+ Core._MatchServiceError+ defaultService+ "RejectedRecordsException"++-- | The operation tried to access a nonexistent resource. The resource might+-- not be specified correctly, or its status might not be ACTIVE.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"++-- | Instance quota of resource exceeded for this account.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"++-- | Too many requests were made by a user exceeding service quotas. The+-- request was throttled.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"++-- | Invalid or malformed request.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"
+ gen/Amazonka/TimeStreamWrite/Types/Database.hs view
@@ -0,0 +1,140 @@+{-# 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.TimeStreamWrite.Types.Database+-- 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.TimeStreamWrite.Types.Database 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 top level container for a table. Databases and tables are the+-- fundamental management concepts in Amazon Timestream. All tables in a+-- database are encrypted with the same KMS key.+--+-- /See:/ 'newDatabase' smart constructor.+data Database = Database'+ { -- | The Amazon Resource Name that uniquely identifies this database.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time when the database was created, calculated from the Unix epoch+ -- time.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the Timestream database.+ databaseName :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the KMS key used to encrypt the data stored in the+ -- database.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The last time that this database was updated.+ lastUpdatedTime :: Prelude.Maybe Data.POSIX,+ -- | The total number of tables found within a Timestream database.+ tableCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Database' 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:+--+-- 'arn', 'database_arn' - The Amazon Resource Name that uniquely identifies this database.+--+-- 'creationTime', 'database_creationTime' - The time when the database was created, calculated from the Unix epoch+-- time.+--+-- 'databaseName', 'database_databaseName' - The name of the Timestream database.+--+-- 'kmsKeyId', 'database_kmsKeyId' - The identifier of the KMS key used to encrypt the data stored in the+-- database.+--+-- 'lastUpdatedTime', 'database_lastUpdatedTime' - The last time that this database was updated.+--+-- 'tableCount', 'database_tableCount' - The total number of tables found within a Timestream database.+newDatabase ::+ Database+newDatabase =+ Database'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ databaseName = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ lastUpdatedTime = Prelude.Nothing,+ tableCount = Prelude.Nothing+ }++-- | The Amazon Resource Name that uniquely identifies this database.+database_arn :: Lens.Lens' Database (Prelude.Maybe Prelude.Text)+database_arn = Lens.lens (\Database' {arn} -> arn) (\s@Database' {} a -> s {arn = a} :: Database)++-- | The time when the database was created, calculated from the Unix epoch+-- time.+database_creationTime :: Lens.Lens' Database (Prelude.Maybe Prelude.UTCTime)+database_creationTime = Lens.lens (\Database' {creationTime} -> creationTime) (\s@Database' {} a -> s {creationTime = a} :: Database) Prelude.. Lens.mapping Data._Time++-- | The name of the Timestream database.+database_databaseName :: Lens.Lens' Database (Prelude.Maybe Prelude.Text)+database_databaseName = Lens.lens (\Database' {databaseName} -> databaseName) (\s@Database' {} a -> s {databaseName = a} :: Database)++-- | The identifier of the KMS key used to encrypt the data stored in the+-- database.+database_kmsKeyId :: Lens.Lens' Database (Prelude.Maybe Prelude.Text)+database_kmsKeyId = Lens.lens (\Database' {kmsKeyId} -> kmsKeyId) (\s@Database' {} a -> s {kmsKeyId = a} :: Database)++-- | The last time that this database was updated.+database_lastUpdatedTime :: Lens.Lens' Database (Prelude.Maybe Prelude.UTCTime)+database_lastUpdatedTime = Lens.lens (\Database' {lastUpdatedTime} -> lastUpdatedTime) (\s@Database' {} a -> s {lastUpdatedTime = a} :: Database) Prelude.. Lens.mapping Data._Time++-- | The total number of tables found within a Timestream database.+database_tableCount :: Lens.Lens' Database (Prelude.Maybe Prelude.Integer)+database_tableCount = Lens.lens (\Database' {tableCount} -> tableCount) (\s@Database' {} a -> s {tableCount = a} :: Database)++instance Data.FromJSON Database where+ parseJSON =+ Data.withObject+ "Database"+ ( \x ->+ Database'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DatabaseName")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "LastUpdatedTime")+ Prelude.<*> (x Data..:? "TableCount")+ )++instance Prelude.Hashable Database where+ hashWithSalt _salt Database' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` lastUpdatedTime+ `Prelude.hashWithSalt` tableCount++instance Prelude.NFData Database where+ rnf Database' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf lastUpdatedTime+ `Prelude.seq` Prelude.rnf tableCount
+ gen/Amazonka/TimeStreamWrite/Types/Dimension.hs view
@@ -0,0 +1,118 @@+{-# 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.TimeStreamWrite.Types.Dimension+-- 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.TimeStreamWrite.Types.Dimension 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.TimeStreamWrite.Types.DimensionValueType++-- | Dimension represents the meta data attributes of the time series. For+-- example, the name and availability zone of an EC2 instance or the name+-- of the manufacturer of a wind turbine are dimensions.+--+-- /See:/ 'newDimension' smart constructor.+data Dimension = Dimension'+ { -- | The data type of the dimension for the time series data point.+ dimensionValueType :: Prelude.Maybe DimensionValueType,+ -- | Dimension represents the meta data attributes of the time series. For+ -- example, the name and availability zone of an EC2 instance or the name+ -- of the manufacturer of a wind turbine are dimensions.+ --+ -- For constraints on Dimension names, see+ -- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming Naming Constraints>.+ name :: Prelude.Text,+ -- | The value of the dimension.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Dimension' 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:+--+-- 'dimensionValueType', 'dimension_dimensionValueType' - The data type of the dimension for the time series data point.+--+-- 'name', 'dimension_name' - Dimension represents the meta data attributes of the time series. For+-- example, the name and availability zone of an EC2 instance or the name+-- of the manufacturer of a wind turbine are dimensions.+--+-- For constraints on Dimension names, see+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming Naming Constraints>.+--+-- 'value', 'dimension_value' - The value of the dimension.+newDimension ::+ -- | 'name'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Dimension+newDimension pName_ pValue_ =+ Dimension'+ { dimensionValueType = Prelude.Nothing,+ name = pName_,+ value = pValue_+ }++-- | The data type of the dimension for the time series data point.+dimension_dimensionValueType :: Lens.Lens' Dimension (Prelude.Maybe DimensionValueType)+dimension_dimensionValueType = Lens.lens (\Dimension' {dimensionValueType} -> dimensionValueType) (\s@Dimension' {} a -> s {dimensionValueType = a} :: Dimension)++-- | Dimension represents the meta data attributes of the time series. For+-- example, the name and availability zone of an EC2 instance or the name+-- of the manufacturer of a wind turbine are dimensions.+--+-- For constraints on Dimension names, see+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming Naming Constraints>.+dimension_name :: Lens.Lens' Dimension Prelude.Text+dimension_name = Lens.lens (\Dimension' {name} -> name) (\s@Dimension' {} a -> s {name = a} :: Dimension)++-- | The value of the dimension.+dimension_value :: Lens.Lens' Dimension Prelude.Text+dimension_value = Lens.lens (\Dimension' {value} -> value) (\s@Dimension' {} a -> s {value = a} :: Dimension)++instance Prelude.Hashable Dimension where+ hashWithSalt _salt Dimension' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionValueType+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` value++instance Prelude.NFData Dimension where+ rnf Dimension' {..} =+ Prelude.rnf dimensionValueType+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Dimension where+ toJSON Dimension' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DimensionValueType" Data..=)+ Prelude.<$> dimensionValueType,+ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/DimensionValueType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.TimeStreamWrite.Types.DimensionValueType+-- 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.TimeStreamWrite.Types.DimensionValueType+ ( DimensionValueType+ ( ..,+ DimensionValueType_VARCHAR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DimensionValueType = DimensionValueType'+ { fromDimensionValueType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern DimensionValueType_VARCHAR :: DimensionValueType+pattern DimensionValueType_VARCHAR = DimensionValueType' "VARCHAR"++{-# COMPLETE+ DimensionValueType_VARCHAR,+ DimensionValueType'+ #-}
+ gen/Amazonka/TimeStreamWrite/Types/Endpoint.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.TimeStreamWrite.Types.Endpoint+-- 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.TimeStreamWrite.Types.Endpoint 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++-- | Represents an available endpoint against which to make API calls+-- agaisnt, as well as the TTL for that endpoint.+--+-- /See:/ 'newEndpoint' smart constructor.+data Endpoint = Endpoint'+ { -- | An endpoint address.+ address :: Prelude.Text,+ -- | The TTL for the endpoint, in minutes.+ cachePeriodInMinutes :: Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Endpoint' 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:+--+-- 'address', 'endpoint_address' - An endpoint address.+--+-- 'cachePeriodInMinutes', 'endpoint_cachePeriodInMinutes' - The TTL for the endpoint, in minutes.+newEndpoint ::+ -- | 'address'+ Prelude.Text ->+ -- | 'cachePeriodInMinutes'+ Prelude.Integer ->+ Endpoint+newEndpoint pAddress_ pCachePeriodInMinutes_ =+ Endpoint'+ { address = pAddress_,+ cachePeriodInMinutes = pCachePeriodInMinutes_+ }++-- | An endpoint address.+endpoint_address :: Lens.Lens' Endpoint Prelude.Text+endpoint_address = Lens.lens (\Endpoint' {address} -> address) (\s@Endpoint' {} a -> s {address = a} :: Endpoint)++-- | The TTL for the endpoint, in minutes.+endpoint_cachePeriodInMinutes :: Lens.Lens' Endpoint Prelude.Integer+endpoint_cachePeriodInMinutes = Lens.lens (\Endpoint' {cachePeriodInMinutes} -> cachePeriodInMinutes) (\s@Endpoint' {} a -> s {cachePeriodInMinutes = a} :: Endpoint)++instance Data.FromJSON Endpoint where+ parseJSON =+ Data.withObject+ "Endpoint"+ ( \x ->+ Endpoint'+ Prelude.<$> (x Data..: "Address")+ Prelude.<*> (x Data..: "CachePeriodInMinutes")+ )++instance Prelude.Hashable Endpoint where+ hashWithSalt _salt Endpoint' {..} =+ _salt+ `Prelude.hashWithSalt` address+ `Prelude.hashWithSalt` cachePeriodInMinutes++instance Prelude.NFData Endpoint where+ rnf Endpoint' {..} =+ Prelude.rnf address+ `Prelude.seq` Prelude.rnf cachePeriodInMinutes
+ gen/Amazonka/TimeStreamWrite/Types/MagneticStoreRejectedDataLocation.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.TimeStreamWrite.Types.MagneticStoreRejectedDataLocation+-- 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.TimeStreamWrite.Types.MagneticStoreRejectedDataLocation 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.TimeStreamWrite.Types.S3Configuration++-- | The location to write error reports for records rejected,+-- asynchronously, during magnetic store writes.+--+-- /See:/ 'newMagneticStoreRejectedDataLocation' smart constructor.+data MagneticStoreRejectedDataLocation = MagneticStoreRejectedDataLocation'+ { -- | Configuration of an S3 location to write error reports for records+ -- rejected, asynchronously, during magnetic store writes.+ s3Configuration :: Prelude.Maybe S3Configuration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MagneticStoreRejectedDataLocation' 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:+--+-- 's3Configuration', 'magneticStoreRejectedDataLocation_s3Configuration' - Configuration of an S3 location to write error reports for records+-- rejected, asynchronously, during magnetic store writes.+newMagneticStoreRejectedDataLocation ::+ MagneticStoreRejectedDataLocation+newMagneticStoreRejectedDataLocation =+ MagneticStoreRejectedDataLocation'+ { s3Configuration =+ Prelude.Nothing+ }++-- | Configuration of an S3 location to write error reports for records+-- rejected, asynchronously, during magnetic store writes.+magneticStoreRejectedDataLocation_s3Configuration :: Lens.Lens' MagneticStoreRejectedDataLocation (Prelude.Maybe S3Configuration)+magneticStoreRejectedDataLocation_s3Configuration = Lens.lens (\MagneticStoreRejectedDataLocation' {s3Configuration} -> s3Configuration) (\s@MagneticStoreRejectedDataLocation' {} a -> s {s3Configuration = a} :: MagneticStoreRejectedDataLocation)++instance+ Data.FromJSON+ MagneticStoreRejectedDataLocation+ where+ parseJSON =+ Data.withObject+ "MagneticStoreRejectedDataLocation"+ ( \x ->+ MagneticStoreRejectedDataLocation'+ Prelude.<$> (x Data..:? "S3Configuration")+ )++instance+ Prelude.Hashable+ MagneticStoreRejectedDataLocation+ where+ hashWithSalt+ _salt+ MagneticStoreRejectedDataLocation' {..} =+ _salt `Prelude.hashWithSalt` s3Configuration++instance+ Prelude.NFData+ MagneticStoreRejectedDataLocation+ where+ rnf MagneticStoreRejectedDataLocation' {..} =+ Prelude.rnf s3Configuration++instance+ Data.ToJSON+ MagneticStoreRejectedDataLocation+ where+ toJSON MagneticStoreRejectedDataLocation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("S3Configuration" Data..=)+ Prelude.<$> s3Configuration+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/MagneticStoreWriteProperties.hs view
@@ -0,0 +1,109 @@+{-# 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.TimeStreamWrite.Types.MagneticStoreWriteProperties+-- 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.TimeStreamWrite.Types.MagneticStoreWriteProperties 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.TimeStreamWrite.Types.MagneticStoreRejectedDataLocation++-- | The set of properties on a table for configuring magnetic store writes.+--+-- /See:/ 'newMagneticStoreWriteProperties' smart constructor.+data MagneticStoreWriteProperties = MagneticStoreWriteProperties'+ { -- | The location to write error reports for records rejected asynchronously+ -- during magnetic store writes.+ magneticStoreRejectedDataLocation :: Prelude.Maybe MagneticStoreRejectedDataLocation,+ -- | A flag to enable magnetic store writes.+ enableMagneticStoreWrites :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MagneticStoreWriteProperties' 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:+--+-- 'magneticStoreRejectedDataLocation', 'magneticStoreWriteProperties_magneticStoreRejectedDataLocation' - The location to write error reports for records rejected asynchronously+-- during magnetic store writes.+--+-- 'enableMagneticStoreWrites', 'magneticStoreWriteProperties_enableMagneticStoreWrites' - A flag to enable magnetic store writes.+newMagneticStoreWriteProperties ::+ -- | 'enableMagneticStoreWrites'+ Prelude.Bool ->+ MagneticStoreWriteProperties+newMagneticStoreWriteProperties+ pEnableMagneticStoreWrites_ =+ MagneticStoreWriteProperties'+ { magneticStoreRejectedDataLocation =+ Prelude.Nothing,+ enableMagneticStoreWrites =+ pEnableMagneticStoreWrites_+ }++-- | The location to write error reports for records rejected asynchronously+-- during magnetic store writes.+magneticStoreWriteProperties_magneticStoreRejectedDataLocation :: Lens.Lens' MagneticStoreWriteProperties (Prelude.Maybe MagneticStoreRejectedDataLocation)+magneticStoreWriteProperties_magneticStoreRejectedDataLocation = Lens.lens (\MagneticStoreWriteProperties' {magneticStoreRejectedDataLocation} -> magneticStoreRejectedDataLocation) (\s@MagneticStoreWriteProperties' {} a -> s {magneticStoreRejectedDataLocation = a} :: MagneticStoreWriteProperties)++-- | A flag to enable magnetic store writes.+magneticStoreWriteProperties_enableMagneticStoreWrites :: Lens.Lens' MagneticStoreWriteProperties Prelude.Bool+magneticStoreWriteProperties_enableMagneticStoreWrites = Lens.lens (\MagneticStoreWriteProperties' {enableMagneticStoreWrites} -> enableMagneticStoreWrites) (\s@MagneticStoreWriteProperties' {} a -> s {enableMagneticStoreWrites = a} :: MagneticStoreWriteProperties)++instance Data.FromJSON MagneticStoreWriteProperties where+ parseJSON =+ Data.withObject+ "MagneticStoreWriteProperties"+ ( \x ->+ MagneticStoreWriteProperties'+ Prelude.<$> (x Data..:? "MagneticStoreRejectedDataLocation")+ Prelude.<*> (x Data..: "EnableMagneticStoreWrites")+ )++instance+ Prelude.Hashable+ MagneticStoreWriteProperties+ where+ hashWithSalt _salt MagneticStoreWriteProperties' {..} =+ _salt+ `Prelude.hashWithSalt` magneticStoreRejectedDataLocation+ `Prelude.hashWithSalt` enableMagneticStoreWrites++instance Prelude.NFData MagneticStoreWriteProperties where+ rnf MagneticStoreWriteProperties' {..} =+ Prelude.rnf magneticStoreRejectedDataLocation+ `Prelude.seq` Prelude.rnf enableMagneticStoreWrites++instance Data.ToJSON MagneticStoreWriteProperties where+ toJSON MagneticStoreWriteProperties' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MagneticStoreRejectedDataLocation" Data..=)+ Prelude.<$> magneticStoreRejectedDataLocation,+ Prelude.Just+ ( "EnableMagneticStoreWrites"+ Data..= enableMagneticStoreWrites+ )+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/MeasureValue.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.TimeStreamWrite.Types.MeasureValue+-- 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.TimeStreamWrite.Types.MeasureValue 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.TimeStreamWrite.Types.MeasureValueType++-- | MeasureValue represents the data attribute of the time series. For+-- example, the CPU utilization of an EC2 instance or the RPM of a wind+-- turbine are measures. MeasureValue has both name and value.+--+-- MeasureValue is only allowed for type @MULTI@. Using @MULTI@ type, you+-- can pass multiple data attributes associated with the same time series+-- in a single record+--+-- /See:/ 'newMeasureValue' smart constructor.+data MeasureValue = MeasureValue'+ { -- | Name of the MeasureValue.+ --+ -- For constraints on MeasureValue names, refer to+ -- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming Naming Constraints>+ -- in the Timestream developer guide.+ name :: Prelude.Text,+ -- | Value for the MeasureValue.+ value :: Prelude.Text,+ -- | Contains the data type of the MeasureValue for the time series data+ -- point.+ type' :: MeasureValueType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MeasureValue' 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:+--+-- 'name', 'measureValue_name' - Name of the MeasureValue.+--+-- For constraints on MeasureValue names, refer to+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming Naming Constraints>+-- in the Timestream developer guide.+--+-- 'value', 'measureValue_value' - Value for the MeasureValue.+--+-- 'type'', 'measureValue_type' - Contains the data type of the MeasureValue for the time series data+-- point.+newMeasureValue ::+ -- | 'name'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ -- | 'type''+ MeasureValueType ->+ MeasureValue+newMeasureValue pName_ pValue_ pType_ =+ MeasureValue'+ { name = pName_,+ value = pValue_,+ type' = pType_+ }++-- | Name of the MeasureValue.+--+-- For constraints on MeasureValue names, refer to+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming Naming Constraints>+-- in the Timestream developer guide.+measureValue_name :: Lens.Lens' MeasureValue Prelude.Text+measureValue_name = Lens.lens (\MeasureValue' {name} -> name) (\s@MeasureValue' {} a -> s {name = a} :: MeasureValue)++-- | Value for the MeasureValue.+measureValue_value :: Lens.Lens' MeasureValue Prelude.Text+measureValue_value = Lens.lens (\MeasureValue' {value} -> value) (\s@MeasureValue' {} a -> s {value = a} :: MeasureValue)++-- | Contains the data type of the MeasureValue for the time series data+-- point.+measureValue_type :: Lens.Lens' MeasureValue MeasureValueType+measureValue_type = Lens.lens (\MeasureValue' {type'} -> type') (\s@MeasureValue' {} a -> s {type' = a} :: MeasureValue)++instance Prelude.Hashable MeasureValue where+ hashWithSalt _salt MeasureValue' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` value+ `Prelude.hashWithSalt` type'++instance Prelude.NFData MeasureValue where+ rnf MeasureValue' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf value+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON MeasureValue where+ toJSON MeasureValue' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Name" Data..= name),+ Prelude.Just ("Value" Data..= value),+ Prelude.Just ("Type" Data..= type')+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/MeasureValueType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.TimeStreamWrite.Types.MeasureValueType+-- 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.TimeStreamWrite.Types.MeasureValueType+ ( MeasureValueType+ ( ..,+ MeasureValueType_BIGINT,+ MeasureValueType_BOOLEAN,+ MeasureValueType_DOUBLE,+ MeasureValueType_MULTI,+ MeasureValueType_TIMESTAMP,+ MeasureValueType_VARCHAR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MeasureValueType = MeasureValueType'+ { fromMeasureValueType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern MeasureValueType_BIGINT :: MeasureValueType+pattern MeasureValueType_BIGINT = MeasureValueType' "BIGINT"++pattern MeasureValueType_BOOLEAN :: MeasureValueType+pattern MeasureValueType_BOOLEAN = MeasureValueType' "BOOLEAN"++pattern MeasureValueType_DOUBLE :: MeasureValueType+pattern MeasureValueType_DOUBLE = MeasureValueType' "DOUBLE"++pattern MeasureValueType_MULTI :: MeasureValueType+pattern MeasureValueType_MULTI = MeasureValueType' "MULTI"++pattern MeasureValueType_TIMESTAMP :: MeasureValueType+pattern MeasureValueType_TIMESTAMP = MeasureValueType' "TIMESTAMP"++pattern MeasureValueType_VARCHAR :: MeasureValueType+pattern MeasureValueType_VARCHAR = MeasureValueType' "VARCHAR"++{-# COMPLETE+ MeasureValueType_BIGINT,+ MeasureValueType_BOOLEAN,+ MeasureValueType_DOUBLE,+ MeasureValueType_MULTI,+ MeasureValueType_TIMESTAMP,+ MeasureValueType_VARCHAR,+ MeasureValueType'+ #-}
+ gen/Amazonka/TimeStreamWrite/Types/Record.hs view
@@ -0,0 +1,227 @@+{-# 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.TimeStreamWrite.Types.Record+-- 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.TimeStreamWrite.Types.Record 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.TimeStreamWrite.Types.Dimension+import Amazonka.TimeStreamWrite.Types.MeasureValue+import Amazonka.TimeStreamWrite.Types.MeasureValueType+import Amazonka.TimeStreamWrite.Types.TimeUnit++-- | Record represents a time series data point being written into+-- Timestream. Each record contains an array of dimensions. Dimensions+-- represent the meta data attributes of a time series data point such as+-- the instance name or availability zone of an EC2 instance. A record also+-- contains the measure name which is the name of the measure being+-- collected for example the CPU utilization of an EC2 instance. A record+-- also contains the measure value and the value type which is the data+-- type of the measure value. In addition, the record contains the+-- timestamp when the measure was collected that the timestamp unit which+-- represents the granularity of the timestamp.+--+-- Records have a @Version@ field, which is a 64-bit @long@ that you can+-- use for updating data points. Writes of a duplicate record with the same+-- dimension, timestamp, and measure name but different measure value will+-- only succeed if the @Version@ attribute of the record in the write+-- request is higher than that of the existing record. Timestream defaults+-- to a @Version@ of @1@ for records without the @Version@ field.+--+-- /See:/ 'newRecord' smart constructor.+data Record = Record'+ { -- | Contains the list of dimensions for time series data points.+ dimensions :: Prelude.Maybe [Dimension],+ -- | Measure represents the data attribute of the time series. For example,+ -- the CPU utilization of an EC2 instance or the RPM of a wind turbine are+ -- measures.+ measureName :: Prelude.Maybe Prelude.Text,+ -- | Contains the measure value for the time series data point.+ measureValue :: Prelude.Maybe Prelude.Text,+ -- | Contains the data type of the measure value for the time series data+ -- point. Default type is @DOUBLE@.+ measureValueType :: Prelude.Maybe MeasureValueType,+ -- | Contains the list of MeasureValue for time series data points.+ --+ -- This is only allowed for type @MULTI@. For scalar values, use+ -- @MeasureValue@ attribute of the Record directly.+ measureValues :: Prelude.Maybe [MeasureValue],+ -- | Contains the time at which the measure value for the data point was+ -- collected. The time value plus the unit provides the time elapsed since+ -- the epoch. For example, if the time value is @12345@ and the unit is+ -- @ms@, then @12345 ms@ have elapsed since the epoch.+ time :: Prelude.Maybe Prelude.Text,+ -- | The granularity of the timestamp unit. It indicates if the time value is+ -- in seconds, milliseconds, nanoseconds or other supported values. Default+ -- is @MILLISECONDS@.+ timeUnit :: Prelude.Maybe TimeUnit,+ -- | 64-bit attribute used for record updates. Write requests for duplicate+ -- data with a higher version number will update the existing measure value+ -- and version. In cases where the measure value is the same, @Version@+ -- will still be updated . Default value is @1@.+ --+ -- @Version@ must be @1@ or greater, or you will receive a+ -- @ValidationException@ error.+ version :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Record' 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:+--+-- 'dimensions', 'record_dimensions' - Contains the list of dimensions for time series data points.+--+-- 'measureName', 'record_measureName' - Measure represents the data attribute of the time series. For example,+-- the CPU utilization of an EC2 instance or the RPM of a wind turbine are+-- measures.+--+-- 'measureValue', 'record_measureValue' - Contains the measure value for the time series data point.+--+-- 'measureValueType', 'record_measureValueType' - Contains the data type of the measure value for the time series data+-- point. Default type is @DOUBLE@.+--+-- 'measureValues', 'record_measureValues' - Contains the list of MeasureValue for time series data points.+--+-- This is only allowed for type @MULTI@. For scalar values, use+-- @MeasureValue@ attribute of the Record directly.+--+-- 'time', 'record_time' - Contains the time at which the measure value for the data point was+-- collected. The time value plus the unit provides the time elapsed since+-- the epoch. For example, if the time value is @12345@ and the unit is+-- @ms@, then @12345 ms@ have elapsed since the epoch.+--+-- 'timeUnit', 'record_timeUnit' - The granularity of the timestamp unit. It indicates if the time value is+-- in seconds, milliseconds, nanoseconds or other supported values. Default+-- is @MILLISECONDS@.+--+-- 'version', 'record_version' - 64-bit attribute used for record updates. Write requests for duplicate+-- data with a higher version number will update the existing measure value+-- and version. In cases where the measure value is the same, @Version@+-- will still be updated . Default value is @1@.+--+-- @Version@ must be @1@ or greater, or you will receive a+-- @ValidationException@ error.+newRecord ::+ Record+newRecord =+ Record'+ { dimensions = Prelude.Nothing,+ measureName = Prelude.Nothing,+ measureValue = Prelude.Nothing,+ measureValueType = Prelude.Nothing,+ measureValues = Prelude.Nothing,+ time = Prelude.Nothing,+ timeUnit = Prelude.Nothing,+ version = Prelude.Nothing+ }++-- | Contains the list of dimensions for time series data points.+record_dimensions :: Lens.Lens' Record (Prelude.Maybe [Dimension])+record_dimensions = Lens.lens (\Record' {dimensions} -> dimensions) (\s@Record' {} a -> s {dimensions = a} :: Record) Prelude.. Lens.mapping Lens.coerced++-- | Measure represents the data attribute of the time series. For example,+-- the CPU utilization of an EC2 instance or the RPM of a wind turbine are+-- measures.+record_measureName :: Lens.Lens' Record (Prelude.Maybe Prelude.Text)+record_measureName = Lens.lens (\Record' {measureName} -> measureName) (\s@Record' {} a -> s {measureName = a} :: Record)++-- | Contains the measure value for the time series data point.+record_measureValue :: Lens.Lens' Record (Prelude.Maybe Prelude.Text)+record_measureValue = Lens.lens (\Record' {measureValue} -> measureValue) (\s@Record' {} a -> s {measureValue = a} :: Record)++-- | Contains the data type of the measure value for the time series data+-- point. Default type is @DOUBLE@.+record_measureValueType :: Lens.Lens' Record (Prelude.Maybe MeasureValueType)+record_measureValueType = Lens.lens (\Record' {measureValueType} -> measureValueType) (\s@Record' {} a -> s {measureValueType = a} :: Record)++-- | Contains the list of MeasureValue for time series data points.+--+-- This is only allowed for type @MULTI@. For scalar values, use+-- @MeasureValue@ attribute of the Record directly.+record_measureValues :: Lens.Lens' Record (Prelude.Maybe [MeasureValue])+record_measureValues = Lens.lens (\Record' {measureValues} -> measureValues) (\s@Record' {} a -> s {measureValues = a} :: Record) Prelude.. Lens.mapping Lens.coerced++-- | Contains the time at which the measure value for the data point was+-- collected. The time value plus the unit provides the time elapsed since+-- the epoch. For example, if the time value is @12345@ and the unit is+-- @ms@, then @12345 ms@ have elapsed since the epoch.+record_time :: Lens.Lens' Record (Prelude.Maybe Prelude.Text)+record_time = Lens.lens (\Record' {time} -> time) (\s@Record' {} a -> s {time = a} :: Record)++-- | The granularity of the timestamp unit. It indicates if the time value is+-- in seconds, milliseconds, nanoseconds or other supported values. Default+-- is @MILLISECONDS@.+record_timeUnit :: Lens.Lens' Record (Prelude.Maybe TimeUnit)+record_timeUnit = Lens.lens (\Record' {timeUnit} -> timeUnit) (\s@Record' {} a -> s {timeUnit = a} :: Record)++-- | 64-bit attribute used for record updates. Write requests for duplicate+-- data with a higher version number will update the existing measure value+-- and version. In cases where the measure value is the same, @Version@+-- will still be updated . Default value is @1@.+--+-- @Version@ must be @1@ or greater, or you will receive a+-- @ValidationException@ error.+record_version :: Lens.Lens' Record (Prelude.Maybe Prelude.Integer)+record_version = Lens.lens (\Record' {version} -> version) (\s@Record' {} a -> s {version = a} :: Record)++instance Prelude.Hashable Record where+ hashWithSalt _salt Record' {..} =+ _salt+ `Prelude.hashWithSalt` dimensions+ `Prelude.hashWithSalt` measureName+ `Prelude.hashWithSalt` measureValue+ `Prelude.hashWithSalt` measureValueType+ `Prelude.hashWithSalt` measureValues+ `Prelude.hashWithSalt` time+ `Prelude.hashWithSalt` timeUnit+ `Prelude.hashWithSalt` version++instance Prelude.NFData Record where+ rnf Record' {..} =+ Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf measureName+ `Prelude.seq` Prelude.rnf measureValue+ `Prelude.seq` Prelude.rnf measureValueType+ `Prelude.seq` Prelude.rnf measureValues+ `Prelude.seq` Prelude.rnf time+ `Prelude.seq` Prelude.rnf timeUnit+ `Prelude.seq` Prelude.rnf version++instance Data.ToJSON Record where+ toJSON Record' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Dimensions" Data..=) Prelude.<$> dimensions,+ ("MeasureName" Data..=) Prelude.<$> measureName,+ ("MeasureValue" Data..=) Prelude.<$> measureValue,+ ("MeasureValueType" Data..=)+ Prelude.<$> measureValueType,+ ("MeasureValues" Data..=) Prelude.<$> measureValues,+ ("Time" Data..=) Prelude.<$> time,+ ("TimeUnit" Data..=) Prelude.<$> timeUnit,+ ("Version" Data..=) Prelude.<$> version+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/RecordsIngested.hs view
@@ -0,0 +1,96 @@+{-# 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.TimeStreamWrite.Types.RecordsIngested+-- 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.TimeStreamWrite.Types.RecordsIngested 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++-- | Information on the records ingested by this request.+--+-- /See:/ 'newRecordsIngested' smart constructor.+data RecordsIngested = RecordsIngested'+ { -- | Count of records ingested into the magnetic store.+ magneticStore :: Prelude.Maybe Prelude.Int,+ -- | Count of records ingested into the memory store.+ memoryStore :: Prelude.Maybe Prelude.Int,+ -- | Total count of successfully ingested records.+ total :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecordsIngested' 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:+--+-- 'magneticStore', 'recordsIngested_magneticStore' - Count of records ingested into the magnetic store.+--+-- 'memoryStore', 'recordsIngested_memoryStore' - Count of records ingested into the memory store.+--+-- 'total', 'recordsIngested_total' - Total count of successfully ingested records.+newRecordsIngested ::+ RecordsIngested+newRecordsIngested =+ RecordsIngested'+ { magneticStore = Prelude.Nothing,+ memoryStore = Prelude.Nothing,+ total = Prelude.Nothing+ }++-- | Count of records ingested into the magnetic store.+recordsIngested_magneticStore :: Lens.Lens' RecordsIngested (Prelude.Maybe Prelude.Int)+recordsIngested_magneticStore = Lens.lens (\RecordsIngested' {magneticStore} -> magneticStore) (\s@RecordsIngested' {} a -> s {magneticStore = a} :: RecordsIngested)++-- | Count of records ingested into the memory store.+recordsIngested_memoryStore :: Lens.Lens' RecordsIngested (Prelude.Maybe Prelude.Int)+recordsIngested_memoryStore = Lens.lens (\RecordsIngested' {memoryStore} -> memoryStore) (\s@RecordsIngested' {} a -> s {memoryStore = a} :: RecordsIngested)++-- | Total count of successfully ingested records.+recordsIngested_total :: Lens.Lens' RecordsIngested (Prelude.Maybe Prelude.Int)+recordsIngested_total = Lens.lens (\RecordsIngested' {total} -> total) (\s@RecordsIngested' {} a -> s {total = a} :: RecordsIngested)++instance Data.FromJSON RecordsIngested where+ parseJSON =+ Data.withObject+ "RecordsIngested"+ ( \x ->+ RecordsIngested'+ Prelude.<$> (x Data..:? "MagneticStore")+ Prelude.<*> (x Data..:? "MemoryStore")+ Prelude.<*> (x Data..:? "Total")+ )++instance Prelude.Hashable RecordsIngested where+ hashWithSalt _salt RecordsIngested' {..} =+ _salt+ `Prelude.hashWithSalt` magneticStore+ `Prelude.hashWithSalt` memoryStore+ `Prelude.hashWithSalt` total++instance Prelude.NFData RecordsIngested where+ rnf RecordsIngested' {..} =+ Prelude.rnf magneticStore+ `Prelude.seq` Prelude.rnf memoryStore+ `Prelude.seq` Prelude.rnf total
+ gen/Amazonka/TimeStreamWrite/Types/RetentionProperties.hs view
@@ -0,0 +1,108 @@+{-# 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.TimeStreamWrite.Types.RetentionProperties+-- 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.TimeStreamWrite.Types.RetentionProperties 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++-- | Retention properties contain the duration for which your time series+-- data must be stored in the magnetic store and the memory store.+--+-- /See:/ 'newRetentionProperties' smart constructor.+data RetentionProperties = RetentionProperties'+ { -- | The duration for which data must be stored in the memory store.+ memoryStoreRetentionPeriodInHours :: Prelude.Natural,+ -- | The duration for which data must be stored in the magnetic store.+ magneticStoreRetentionPeriodInDays :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetentionProperties' 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:+--+-- 'memoryStoreRetentionPeriodInHours', 'retentionProperties_memoryStoreRetentionPeriodInHours' - The duration for which data must be stored in the memory store.+--+-- 'magneticStoreRetentionPeriodInDays', 'retentionProperties_magneticStoreRetentionPeriodInDays' - The duration for which data must be stored in the magnetic store.+newRetentionProperties ::+ -- | 'memoryStoreRetentionPeriodInHours'+ Prelude.Natural ->+ -- | 'magneticStoreRetentionPeriodInDays'+ Prelude.Natural ->+ RetentionProperties+newRetentionProperties+ pMemoryStoreRetentionPeriodInHours_+ pMagneticStoreRetentionPeriodInDays_ =+ RetentionProperties'+ { memoryStoreRetentionPeriodInHours =+ pMemoryStoreRetentionPeriodInHours_,+ magneticStoreRetentionPeriodInDays =+ pMagneticStoreRetentionPeriodInDays_+ }++-- | The duration for which data must be stored in the memory store.+retentionProperties_memoryStoreRetentionPeriodInHours :: Lens.Lens' RetentionProperties Prelude.Natural+retentionProperties_memoryStoreRetentionPeriodInHours = Lens.lens (\RetentionProperties' {memoryStoreRetentionPeriodInHours} -> memoryStoreRetentionPeriodInHours) (\s@RetentionProperties' {} a -> s {memoryStoreRetentionPeriodInHours = a} :: RetentionProperties)++-- | The duration for which data must be stored in the magnetic store.+retentionProperties_magneticStoreRetentionPeriodInDays :: Lens.Lens' RetentionProperties Prelude.Natural+retentionProperties_magneticStoreRetentionPeriodInDays = Lens.lens (\RetentionProperties' {magneticStoreRetentionPeriodInDays} -> magneticStoreRetentionPeriodInDays) (\s@RetentionProperties' {} a -> s {magneticStoreRetentionPeriodInDays = a} :: RetentionProperties)++instance Data.FromJSON RetentionProperties where+ parseJSON =+ Data.withObject+ "RetentionProperties"+ ( \x ->+ RetentionProperties'+ Prelude.<$> (x Data..: "MemoryStoreRetentionPeriodInHours")+ Prelude.<*> (x Data..: "MagneticStoreRetentionPeriodInDays")+ )++instance Prelude.Hashable RetentionProperties where+ hashWithSalt _salt RetentionProperties' {..} =+ _salt+ `Prelude.hashWithSalt` memoryStoreRetentionPeriodInHours+ `Prelude.hashWithSalt` magneticStoreRetentionPeriodInDays++instance Prelude.NFData RetentionProperties where+ rnf RetentionProperties' {..} =+ Prelude.rnf memoryStoreRetentionPeriodInHours+ `Prelude.seq` Prelude.rnf magneticStoreRetentionPeriodInDays++instance Data.ToJSON RetentionProperties where+ toJSON RetentionProperties' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "MemoryStoreRetentionPeriodInHours"+ Data..= memoryStoreRetentionPeriodInHours+ ),+ Prelude.Just+ ( "MagneticStoreRetentionPeriodInDays"+ Data..= magneticStoreRetentionPeriodInDays+ )+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/S3Configuration.hs view
@@ -0,0 +1,128 @@+{-# 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.TimeStreamWrite.Types.S3Configuration+-- 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.TimeStreamWrite.Types.S3Configuration 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.TimeStreamWrite.Types.S3EncryptionOption++-- | Configuration specifing an S3 location.+--+-- /See:/ 'newS3Configuration' smart constructor.+data S3Configuration = S3Configuration'+ { -- | >Bucket name of the customer S3 bucket.+ bucketName :: Prelude.Maybe Prelude.Text,+ -- | Encryption option for the customer s3 location. Options are S3 server+ -- side encryption with an S3-managed key or KMS managed key.+ encryptionOption :: Prelude.Maybe S3EncryptionOption,+ -- | KMS key id for the customer s3 location when encrypting with a KMS+ -- managed key.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | Object key preview for the customer S3 location.+ objectKeyPrefix :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Configuration' 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:+--+-- 'bucketName', 's3Configuration_bucketName' - >Bucket name of the customer S3 bucket.+--+-- 'encryptionOption', 's3Configuration_encryptionOption' - Encryption option for the customer s3 location. Options are S3 server+-- side encryption with an S3-managed key or KMS managed key.+--+-- 'kmsKeyId', 's3Configuration_kmsKeyId' - KMS key id for the customer s3 location when encrypting with a KMS+-- managed key.+--+-- 'objectKeyPrefix', 's3Configuration_objectKeyPrefix' - Object key preview for the customer S3 location.+newS3Configuration ::+ S3Configuration+newS3Configuration =+ S3Configuration'+ { bucketName = Prelude.Nothing,+ encryptionOption = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ objectKeyPrefix = Prelude.Nothing+ }++-- | >Bucket name of the customer S3 bucket.+s3Configuration_bucketName :: Lens.Lens' S3Configuration (Prelude.Maybe Prelude.Text)+s3Configuration_bucketName = Lens.lens (\S3Configuration' {bucketName} -> bucketName) (\s@S3Configuration' {} a -> s {bucketName = a} :: S3Configuration)++-- | Encryption option for the customer s3 location. Options are S3 server+-- side encryption with an S3-managed key or KMS managed key.+s3Configuration_encryptionOption :: Lens.Lens' S3Configuration (Prelude.Maybe S3EncryptionOption)+s3Configuration_encryptionOption = Lens.lens (\S3Configuration' {encryptionOption} -> encryptionOption) (\s@S3Configuration' {} a -> s {encryptionOption = a} :: S3Configuration)++-- | KMS key id for the customer s3 location when encrypting with a KMS+-- managed key.+s3Configuration_kmsKeyId :: Lens.Lens' S3Configuration (Prelude.Maybe Prelude.Text)+s3Configuration_kmsKeyId = Lens.lens (\S3Configuration' {kmsKeyId} -> kmsKeyId) (\s@S3Configuration' {} a -> s {kmsKeyId = a} :: S3Configuration)++-- | Object key preview for the customer S3 location.+s3Configuration_objectKeyPrefix :: Lens.Lens' S3Configuration (Prelude.Maybe Prelude.Text)+s3Configuration_objectKeyPrefix = Lens.lens (\S3Configuration' {objectKeyPrefix} -> objectKeyPrefix) (\s@S3Configuration' {} a -> s {objectKeyPrefix = a} :: S3Configuration)++instance Data.FromJSON S3Configuration where+ parseJSON =+ Data.withObject+ "S3Configuration"+ ( \x ->+ S3Configuration'+ Prelude.<$> (x Data..:? "BucketName")+ Prelude.<*> (x Data..:? "EncryptionOption")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "ObjectKeyPrefix")+ )++instance Prelude.Hashable S3Configuration where+ hashWithSalt _salt S3Configuration' {..} =+ _salt+ `Prelude.hashWithSalt` bucketName+ `Prelude.hashWithSalt` encryptionOption+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` objectKeyPrefix++instance Prelude.NFData S3Configuration where+ rnf S3Configuration' {..} =+ Prelude.rnf bucketName+ `Prelude.seq` Prelude.rnf encryptionOption+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf objectKeyPrefix++instance Data.ToJSON S3Configuration where+ toJSON S3Configuration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BucketName" Data..=) Prelude.<$> bucketName,+ ("EncryptionOption" Data..=)+ Prelude.<$> encryptionOption,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("ObjectKeyPrefix" Data..=)+ Prelude.<$> objectKeyPrefix+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/S3EncryptionOption.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.TimeStreamWrite.Types.S3EncryptionOption+-- 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.TimeStreamWrite.Types.S3EncryptionOption+ ( S3EncryptionOption+ ( ..,+ S3EncryptionOption_SSE_KMS,+ S3EncryptionOption_SSE_S3+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype S3EncryptionOption = S3EncryptionOption'+ { fromS3EncryptionOption ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern S3EncryptionOption_SSE_KMS :: S3EncryptionOption+pattern S3EncryptionOption_SSE_KMS = S3EncryptionOption' "SSE_KMS"++pattern S3EncryptionOption_SSE_S3 :: S3EncryptionOption+pattern S3EncryptionOption_SSE_S3 = S3EncryptionOption' "SSE_S3"++{-# COMPLETE+ S3EncryptionOption_SSE_KMS,+ S3EncryptionOption_SSE_S3,+ S3EncryptionOption'+ #-}
+ gen/Amazonka/TimeStreamWrite/Types/Table.hs view
@@ -0,0 +1,176 @@+{-# 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.TimeStreamWrite.Types.Table+-- 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.TimeStreamWrite.Types.Table 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.TimeStreamWrite.Types.MagneticStoreWriteProperties+import Amazonka.TimeStreamWrite.Types.RetentionProperties+import Amazonka.TimeStreamWrite.Types.TableStatus++-- | Table represents a database table in Timestream. Tables contain one or+-- more related time series. You can modify the retention duration of the+-- memory store and the magnetic store for a table.+--+-- /See:/ 'newTable' smart constructor.+data Table = Table'+ { -- | The Amazon Resource Name that uniquely identifies this table.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time when the Timestream table was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the Timestream database that contains this table.+ databaseName :: Prelude.Maybe Prelude.Text,+ -- | The time when the Timestream table was last updated.+ lastUpdatedTime :: Prelude.Maybe Data.POSIX,+ -- | Contains properties to set on the table when enabling magnetic store+ -- writes.+ magneticStoreWriteProperties :: Prelude.Maybe MagneticStoreWriteProperties,+ -- | The retention duration for the memory store and magnetic store.+ retentionProperties :: Prelude.Maybe RetentionProperties,+ -- | The name of the Timestream table.+ tableName :: Prelude.Maybe Prelude.Text,+ -- | The current state of the table:+ --+ -- - @DELETING@ - The table is being deleted.+ --+ -- - @ACTIVE@ - The table is ready for use.+ tableStatus :: Prelude.Maybe TableStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Table' 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:+--+-- 'arn', 'table_arn' - The Amazon Resource Name that uniquely identifies this table.+--+-- 'creationTime', 'table_creationTime' - The time when the Timestream table was created.+--+-- 'databaseName', 'table_databaseName' - The name of the Timestream database that contains this table.+--+-- 'lastUpdatedTime', 'table_lastUpdatedTime' - The time when the Timestream table was last updated.+--+-- 'magneticStoreWriteProperties', 'table_magneticStoreWriteProperties' - Contains properties to set on the table when enabling magnetic store+-- writes.+--+-- 'retentionProperties', 'table_retentionProperties' - The retention duration for the memory store and magnetic store.+--+-- 'tableName', 'table_tableName' - The name of the Timestream table.+--+-- 'tableStatus', 'table_tableStatus' - The current state of the table:+--+-- - @DELETING@ - The table is being deleted.+--+-- - @ACTIVE@ - The table is ready for use.+newTable ::+ Table+newTable =+ Table'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ databaseName = Prelude.Nothing,+ lastUpdatedTime = Prelude.Nothing,+ magneticStoreWriteProperties = Prelude.Nothing,+ retentionProperties = Prelude.Nothing,+ tableName = Prelude.Nothing,+ tableStatus = Prelude.Nothing+ }++-- | The Amazon Resource Name that uniquely identifies this table.+table_arn :: Lens.Lens' Table (Prelude.Maybe Prelude.Text)+table_arn = Lens.lens (\Table' {arn} -> arn) (\s@Table' {} a -> s {arn = a} :: Table)++-- | The time when the Timestream table was created.+table_creationTime :: Lens.Lens' Table (Prelude.Maybe Prelude.UTCTime)+table_creationTime = Lens.lens (\Table' {creationTime} -> creationTime) (\s@Table' {} a -> s {creationTime = a} :: Table) Prelude.. Lens.mapping Data._Time++-- | The name of the Timestream database that contains this table.+table_databaseName :: Lens.Lens' Table (Prelude.Maybe Prelude.Text)+table_databaseName = Lens.lens (\Table' {databaseName} -> databaseName) (\s@Table' {} a -> s {databaseName = a} :: Table)++-- | The time when the Timestream table was last updated.+table_lastUpdatedTime :: Lens.Lens' Table (Prelude.Maybe Prelude.UTCTime)+table_lastUpdatedTime = Lens.lens (\Table' {lastUpdatedTime} -> lastUpdatedTime) (\s@Table' {} a -> s {lastUpdatedTime = a} :: Table) Prelude.. Lens.mapping Data._Time++-- | Contains properties to set on the table when enabling magnetic store+-- writes.+table_magneticStoreWriteProperties :: Lens.Lens' Table (Prelude.Maybe MagneticStoreWriteProperties)+table_magneticStoreWriteProperties = Lens.lens (\Table' {magneticStoreWriteProperties} -> magneticStoreWriteProperties) (\s@Table' {} a -> s {magneticStoreWriteProperties = a} :: Table)++-- | The retention duration for the memory store and magnetic store.+table_retentionProperties :: Lens.Lens' Table (Prelude.Maybe RetentionProperties)+table_retentionProperties = Lens.lens (\Table' {retentionProperties} -> retentionProperties) (\s@Table' {} a -> s {retentionProperties = a} :: Table)++-- | The name of the Timestream table.+table_tableName :: Lens.Lens' Table (Prelude.Maybe Prelude.Text)+table_tableName = Lens.lens (\Table' {tableName} -> tableName) (\s@Table' {} a -> s {tableName = a} :: Table)++-- | The current state of the table:+--+-- - @DELETING@ - The table is being deleted.+--+-- - @ACTIVE@ - The table is ready for use.+table_tableStatus :: Lens.Lens' Table (Prelude.Maybe TableStatus)+table_tableStatus = Lens.lens (\Table' {tableStatus} -> tableStatus) (\s@Table' {} a -> s {tableStatus = a} :: Table)++instance Data.FromJSON Table where+ parseJSON =+ Data.withObject+ "Table"+ ( \x ->+ Table'+ Prelude.<$> (x Data..:? "Arn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DatabaseName")+ Prelude.<*> (x Data..:? "LastUpdatedTime")+ Prelude.<*> (x Data..:? "MagneticStoreWriteProperties")+ Prelude.<*> (x Data..:? "RetentionProperties")+ Prelude.<*> (x Data..:? "TableName")+ Prelude.<*> (x Data..:? "TableStatus")+ )++instance Prelude.Hashable Table where+ hashWithSalt _salt Table' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` lastUpdatedTime+ `Prelude.hashWithSalt` magneticStoreWriteProperties+ `Prelude.hashWithSalt` retentionProperties+ `Prelude.hashWithSalt` tableName+ `Prelude.hashWithSalt` tableStatus++instance Prelude.NFData Table where+ rnf Table' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf lastUpdatedTime+ `Prelude.seq` Prelude.rnf magneticStoreWriteProperties+ `Prelude.seq` Prelude.rnf retentionProperties+ `Prelude.seq` Prelude.rnf tableName+ `Prelude.seq` Prelude.rnf tableStatus
+ gen/Amazonka/TimeStreamWrite/Types/TableStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.TimeStreamWrite.Types.TableStatus+-- 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.TimeStreamWrite.Types.TableStatus+ ( TableStatus+ ( ..,+ TableStatus_ACTIVE,+ TableStatus_DELETING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TableStatus = TableStatus'+ { fromTableStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TableStatus_ACTIVE :: TableStatus+pattern TableStatus_ACTIVE = TableStatus' "ACTIVE"++pattern TableStatus_DELETING :: TableStatus+pattern TableStatus_DELETING = TableStatus' "DELETING"++{-# COMPLETE+ TableStatus_ACTIVE,+ TableStatus_DELETING,+ TableStatus'+ #-}
+ gen/Amazonka/TimeStreamWrite/Types/Tag.hs view
@@ -0,0 +1,96 @@+{-# 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.TimeStreamWrite.Types.Tag+-- 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.TimeStreamWrite.Types.Tag 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 tag is a label that you assign to a Timestream database and\/or table.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tags enable you to categorize databases and\/or tables, for+-- example, by purpose, owner, or environment.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | The key of the tag. Tag keys are case sensitive.+ key :: Prelude.Text,+ -- | The value of the tag. Tag values are case-sensitive and can be null.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' 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:+--+-- 'key', 'tag_key' - The key of the tag. Tag keys are case sensitive.+--+-- 'value', 'tag_value' - The value of the tag. Tag values are case-sensitive and can be null.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | The key of the tag. Tag keys are case sensitive.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value of the tag. Tag values are case-sensitive and can be null.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/TimeStreamWrite/Types/TimeUnit.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.TimeStreamWrite.Types.TimeUnit+-- 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.TimeStreamWrite.Types.TimeUnit+ ( TimeUnit+ ( ..,+ TimeUnit_MICROSECONDS,+ TimeUnit_MILLISECONDS,+ TimeUnit_NANOSECONDS,+ TimeUnit_SECONDS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TimeUnit = TimeUnit'+ { fromTimeUnit ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern TimeUnit_MICROSECONDS :: TimeUnit+pattern TimeUnit_MICROSECONDS = TimeUnit' "MICROSECONDS"++pattern TimeUnit_MILLISECONDS :: TimeUnit+pattern TimeUnit_MILLISECONDS = TimeUnit' "MILLISECONDS"++pattern TimeUnit_NANOSECONDS :: TimeUnit+pattern TimeUnit_NANOSECONDS = TimeUnit' "NANOSECONDS"++pattern TimeUnit_SECONDS :: TimeUnit+pattern TimeUnit_SECONDS = TimeUnit' "SECONDS"++{-# COMPLETE+ TimeUnit_MICROSECONDS,+ TimeUnit_MILLISECONDS,+ TimeUnit_NANOSECONDS,+ TimeUnit_SECONDS,+ TimeUnit'+ #-}
+ gen/Amazonka/TimeStreamWrite/UntagResource.hs view
@@ -0,0 +1,177 @@+{-# 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.TimeStreamWrite.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the association of tags from a Timestream resource.+module Amazonka.TimeStreamWrite.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceARN,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Timestream resource that the tags will be removed from. This value+ -- is an Amazon Resource Name (ARN).+ resourceARN :: Prelude.Text,+ -- | A list of tags keys. Existing tags of the resource whose keys are+ -- members of this list will be removed from the Timestream resource.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' 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:+--+-- 'resourceARN', 'untagResource_resourceARN' - The Timestream resource that the tags will be removed from. This value+-- is an Amazon Resource Name (ARN).+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of tags keys. Existing tags of the resource whose keys are+-- members of this list will be removed from the Timestream resource.+newUntagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceARN_ =+ UntagResource'+ { resourceARN = pResourceARN_,+ tagKeys = Prelude.mempty+ }++-- | The Timestream resource that the tags will be removed from. This value+-- is an Amazon Resource Name (ARN).+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | A list of tags keys. Existing tags of the resource whose keys are+-- members of this list will be removed from the Timestream resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.UntagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceARN" Data..= resourceARN),+ Prelude.Just ("TagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' 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:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/UpdateDatabase.hs view
@@ -0,0 +1,235 @@+{-# 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.TimeStreamWrite.UpdateDatabase+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the KMS key for an existing database. While updating the+-- database, you must specify the database name and the identifier of the+-- new KMS key to be used (@KmsKeyId@). If there are any concurrent+-- @UpdateDatabase@ requests, first writer wins.+--+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.update-db.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.UpdateDatabase+ ( -- * Creating a Request+ UpdateDatabase (..),+ newUpdateDatabase,++ -- * Request Lenses+ updateDatabase_databaseName,+ updateDatabase_kmsKeyId,++ -- * Destructuring the Response+ UpdateDatabaseResponse (..),+ newUpdateDatabaseResponse,++ -- * Response Lenses+ updateDatabaseResponse_database,+ updateDatabaseResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newUpdateDatabase' smart constructor.+data UpdateDatabase = UpdateDatabase'+ { -- | The name of the database.+ databaseName :: Prelude.Text,+ -- | The identifier of the new KMS key (@KmsKeyId@) to be used to encrypt the+ -- data stored in the database. If the @KmsKeyId@ currently registered with+ -- the database is the same as the @KmsKeyId@ in the request, there will+ -- not be any update.+ --+ -- You can specify the @KmsKeyId@ using any of the following:+ --+ -- - Key ID: @1234abcd-12ab-34cd-56ef-1234567890ab@+ --+ -- - Key ARN:+ -- @arn:aws:kms:us-east-1:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+ --+ -- - Alias name: @alias\/ExampleAlias@+ --+ -- - Alias ARN: @arn:aws:kms:us-east-1:111122223333:alias\/ExampleAlias@+ kmsKeyId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatabase' 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:+--+-- 'databaseName', 'updateDatabase_databaseName' - The name of the database.+--+-- 'kmsKeyId', 'updateDatabase_kmsKeyId' - The identifier of the new KMS key (@KmsKeyId@) to be used to encrypt the+-- data stored in the database. If the @KmsKeyId@ currently registered with+-- the database is the same as the @KmsKeyId@ in the request, there will+-- not be any update.+--+-- You can specify the @KmsKeyId@ using any of the following:+--+-- - Key ID: @1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- - Key ARN:+-- @arn:aws:kms:us-east-1:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- - Alias name: @alias\/ExampleAlias@+--+-- - Alias ARN: @arn:aws:kms:us-east-1:111122223333:alias\/ExampleAlias@+newUpdateDatabase ::+ -- | 'databaseName'+ Prelude.Text ->+ -- | 'kmsKeyId'+ Prelude.Text ->+ UpdateDatabase+newUpdateDatabase pDatabaseName_ pKmsKeyId_ =+ UpdateDatabase'+ { databaseName = pDatabaseName_,+ kmsKeyId = pKmsKeyId_+ }++-- | The name of the database.+updateDatabase_databaseName :: Lens.Lens' UpdateDatabase Prelude.Text+updateDatabase_databaseName = Lens.lens (\UpdateDatabase' {databaseName} -> databaseName) (\s@UpdateDatabase' {} a -> s {databaseName = a} :: UpdateDatabase)++-- | The identifier of the new KMS key (@KmsKeyId@) to be used to encrypt the+-- data stored in the database. If the @KmsKeyId@ currently registered with+-- the database is the same as the @KmsKeyId@ in the request, there will+-- not be any update.+--+-- You can specify the @KmsKeyId@ using any of the following:+--+-- - Key ID: @1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- - Key ARN:+-- @arn:aws:kms:us-east-1:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- - Alias name: @alias\/ExampleAlias@+--+-- - Alias ARN: @arn:aws:kms:us-east-1:111122223333:alias\/ExampleAlias@+updateDatabase_kmsKeyId :: Lens.Lens' UpdateDatabase Prelude.Text+updateDatabase_kmsKeyId = Lens.lens (\UpdateDatabase' {kmsKeyId} -> kmsKeyId) (\s@UpdateDatabase' {} a -> s {kmsKeyId = a} :: UpdateDatabase)++instance Core.AWSRequest UpdateDatabase where+ type+ AWSResponse UpdateDatabase =+ UpdateDatabaseResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDatabaseResponse'+ Prelude.<$> (x Data..?> "Database")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDatabase where+ hashWithSalt _salt UpdateDatabase' {..} =+ _salt+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` kmsKeyId++instance Prelude.NFData UpdateDatabase where+ rnf UpdateDatabase' {..} =+ Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf kmsKeyId++instance Data.ToHeaders UpdateDatabase where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.UpdateDatabase" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDatabase where+ toJSON UpdateDatabase' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("DatabaseName" Data..= databaseName),+ Prelude.Just ("KmsKeyId" Data..= kmsKeyId)+ ]+ )++instance Data.ToPath UpdateDatabase where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateDatabase where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDatabaseResponse' smart constructor.+data UpdateDatabaseResponse = UpdateDatabaseResponse'+ { database :: Prelude.Maybe Database,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatabaseResponse' 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:+--+-- 'database', 'updateDatabaseResponse_database' - Undocumented member.+--+-- 'httpStatus', 'updateDatabaseResponse_httpStatus' - The response's http status code.+newUpdateDatabaseResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDatabaseResponse+newUpdateDatabaseResponse pHttpStatus_ =+ UpdateDatabaseResponse'+ { database = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+updateDatabaseResponse_database :: Lens.Lens' UpdateDatabaseResponse (Prelude.Maybe Database)+updateDatabaseResponse_database = Lens.lens (\UpdateDatabaseResponse' {database} -> database) (\s@UpdateDatabaseResponse' {} a -> s {database = a} :: UpdateDatabaseResponse)++-- | The response's http status code.+updateDatabaseResponse_httpStatus :: Lens.Lens' UpdateDatabaseResponse Prelude.Int+updateDatabaseResponse_httpStatus = Lens.lens (\UpdateDatabaseResponse' {httpStatus} -> httpStatus) (\s@UpdateDatabaseResponse' {} a -> s {httpStatus = a} :: UpdateDatabaseResponse)++instance Prelude.NFData UpdateDatabaseResponse where+ rnf UpdateDatabaseResponse' {..} =+ Prelude.rnf database+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/UpdateTable.hs view
@@ -0,0 +1,228 @@+{-# 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.TimeStreamWrite.UpdateTable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the retention duration of the memory store and magnetic store+-- for your Timestream table. Note that the change in retention duration+-- takes effect immediately. For example, if the retention period of the+-- memory store was initially set to 2 hours and then changed to 24 hours,+-- the memory store will be capable of holding 24 hours of data, but will+-- be populated with 24 hours of data 22 hours after this change was made.+-- Timestream does not retrieve data from the magnetic store to populate+-- the memory store.+--+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.update-table.html code sample>+-- for details.+module Amazonka.TimeStreamWrite.UpdateTable+ ( -- * Creating a Request+ UpdateTable (..),+ newUpdateTable,++ -- * Request Lenses+ updateTable_magneticStoreWriteProperties,+ updateTable_retentionProperties,+ updateTable_databaseName,+ updateTable_tableName,++ -- * Destructuring the Response+ UpdateTableResponse (..),+ newUpdateTableResponse,++ -- * Response Lenses+ updateTableResponse_table,+ updateTableResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newUpdateTable' smart constructor.+data UpdateTable = UpdateTable'+ { -- | Contains properties to set on the table when enabling magnetic store+ -- writes.+ magneticStoreWriteProperties :: Prelude.Maybe MagneticStoreWriteProperties,+ -- | The retention duration of the memory store and the magnetic store.+ retentionProperties :: Prelude.Maybe RetentionProperties,+ -- | The name of the Timestream database.+ databaseName :: Prelude.Text,+ -- | The name of the Timestream table.+ tableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTable' 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:+--+-- 'magneticStoreWriteProperties', 'updateTable_magneticStoreWriteProperties' - Contains properties to set on the table when enabling magnetic store+-- writes.+--+-- 'retentionProperties', 'updateTable_retentionProperties' - The retention duration of the memory store and the magnetic store.+--+-- 'databaseName', 'updateTable_databaseName' - The name of the Timestream database.+--+-- 'tableName', 'updateTable_tableName' - The name of the Timestream table.+newUpdateTable ::+ -- | 'databaseName'+ Prelude.Text ->+ -- | 'tableName'+ Prelude.Text ->+ UpdateTable+newUpdateTable pDatabaseName_ pTableName_ =+ UpdateTable'+ { magneticStoreWriteProperties =+ Prelude.Nothing,+ retentionProperties = Prelude.Nothing,+ databaseName = pDatabaseName_,+ tableName = pTableName_+ }++-- | Contains properties to set on the table when enabling magnetic store+-- writes.+updateTable_magneticStoreWriteProperties :: Lens.Lens' UpdateTable (Prelude.Maybe MagneticStoreWriteProperties)+updateTable_magneticStoreWriteProperties = Lens.lens (\UpdateTable' {magneticStoreWriteProperties} -> magneticStoreWriteProperties) (\s@UpdateTable' {} a -> s {magneticStoreWriteProperties = a} :: UpdateTable)++-- | The retention duration of the memory store and the magnetic store.+updateTable_retentionProperties :: Lens.Lens' UpdateTable (Prelude.Maybe RetentionProperties)+updateTable_retentionProperties = Lens.lens (\UpdateTable' {retentionProperties} -> retentionProperties) (\s@UpdateTable' {} a -> s {retentionProperties = a} :: UpdateTable)++-- | The name of the Timestream database.+updateTable_databaseName :: Lens.Lens' UpdateTable Prelude.Text+updateTable_databaseName = Lens.lens (\UpdateTable' {databaseName} -> databaseName) (\s@UpdateTable' {} a -> s {databaseName = a} :: UpdateTable)++-- | The name of the Timestream table.+updateTable_tableName :: Lens.Lens' UpdateTable Prelude.Text+updateTable_tableName = Lens.lens (\UpdateTable' {tableName} -> tableName) (\s@UpdateTable' {} a -> s {tableName = a} :: UpdateTable)++instance Core.AWSRequest UpdateTable where+ type AWSResponse UpdateTable = UpdateTableResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateTableResponse'+ Prelude.<$> (x Data..?> "Table")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateTable where+ hashWithSalt _salt UpdateTable' {..} =+ _salt+ `Prelude.hashWithSalt` magneticStoreWriteProperties+ `Prelude.hashWithSalt` retentionProperties+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` tableName++instance Prelude.NFData UpdateTable where+ rnf UpdateTable' {..} =+ Prelude.rnf magneticStoreWriteProperties+ `Prelude.seq` Prelude.rnf retentionProperties+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf tableName++instance Data.ToHeaders UpdateTable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.UpdateTable" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateTable where+ toJSON UpdateTable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MagneticStoreWriteProperties" Data..=)+ Prelude.<$> magneticStoreWriteProperties,+ ("RetentionProperties" Data..=)+ Prelude.<$> retentionProperties,+ Prelude.Just ("DatabaseName" Data..= databaseName),+ Prelude.Just ("TableName" Data..= tableName)+ ]+ )++instance Data.ToPath UpdateTable where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateTable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTableResponse' smart constructor.+data UpdateTableResponse = UpdateTableResponse'+ { -- | The updated Timestream table.+ table :: Prelude.Maybe Table,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTableResponse' 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:+--+-- 'table', 'updateTableResponse_table' - The updated Timestream table.+--+-- 'httpStatus', 'updateTableResponse_httpStatus' - The response's http status code.+newUpdateTableResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateTableResponse+newUpdateTableResponse pHttpStatus_ =+ UpdateTableResponse'+ { table = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The updated Timestream table.+updateTableResponse_table :: Lens.Lens' UpdateTableResponse (Prelude.Maybe Table)+updateTableResponse_table = Lens.lens (\UpdateTableResponse' {table} -> table) (\s@UpdateTableResponse' {} a -> s {table = a} :: UpdateTableResponse)++-- | The response's http status code.+updateTableResponse_httpStatus :: Lens.Lens' UpdateTableResponse Prelude.Int+updateTableResponse_httpStatus = Lens.lens (\UpdateTableResponse' {httpStatus} -> httpStatus) (\s@UpdateTableResponse' {} a -> s {httpStatus = a} :: UpdateTableResponse)++instance Prelude.NFData UpdateTableResponse where+ rnf UpdateTableResponse' {..} =+ Prelude.rnf table+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/TimeStreamWrite/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.TimeStreamWrite.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.TimeStreamWrite.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.TimeStreamWrite.Lens+import Amazonka.TimeStreamWrite.Types
+ gen/Amazonka/TimeStreamWrite/WriteRecords.hs view
@@ -0,0 +1,281 @@+{-# 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.TimeStreamWrite.WriteRecords+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The WriteRecords operation enables you to write your time series data+-- into Timestream. You can specify a single data point or a batch of data+-- points to be inserted into the system. Timestream offers you with a+-- flexible schema that auto detects the column names and data types for+-- your Timestream tables based on the dimension names and data types of+-- the data points you specify when invoking writes into the database.+-- Timestream support eventual consistency read semantics. This means that+-- when you query data immediately after writing a batch of data into+-- Timestream, the query results might not reflect the results of a+-- recently completed write operation. The results may also include some+-- stale data. If you repeat the query request after a short time, the+-- results should return the latest data.+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html Service quotas apply>.+--+-- See+-- <https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.write.html code sample>+-- for details.+--+-- __Upserts__+--+-- You can use the @Version@ parameter in a @WriteRecords@ request to+-- update data points. Timestream tracks a version number with each record.+-- @Version@ defaults to @1@ when not specified for the record in the+-- request. Timestream will update an existing record’s measure value along+-- with its @Version@ upon receiving a write request with a higher+-- @Version@ number for that record. Upon receiving an update request where+-- the measure value is the same as that of the existing record, Timestream+-- still updates @Version@, if it is greater than the existing value of+-- @Version@. You can update a data point as many times as desired, as long+-- as the value of @Version@ continuously increases.+--+-- For example, suppose you write a new record without indicating @Version@+-- in the request. Timestream will store this record, and set @Version@ to+-- @1@. Now, suppose you try to update this record with a @WriteRecords@+-- request of the same record with a different measure value but, like+-- before, do not provide @Version@. In this case, Timestream will reject+-- this update with a @RejectedRecordsException@ since the updated record’s+-- version is not greater than the existing value of Version. However, if+-- you were to resend the update request with @Version@ set to @2@,+-- Timestream would then succeed in updating the record’s value, and the+-- @Version@ would be set to @2@. Next, suppose you sent a @WriteRecords@+-- request with this same record and an identical measure value, but with+-- @Version@ set to @3@. In this case, Timestream would only update+-- @Version@ to @3@. Any further updates would need to send a version+-- number greater than @3@, or the update requests would receive a+-- @RejectedRecordsException@.+module Amazonka.TimeStreamWrite.WriteRecords+ ( -- * Creating a Request+ WriteRecords (..),+ newWriteRecords,++ -- * Request Lenses+ writeRecords_commonAttributes,+ writeRecords_databaseName,+ writeRecords_tableName,+ writeRecords_records,++ -- * Destructuring the Response+ WriteRecordsResponse (..),+ newWriteRecordsResponse,++ -- * Response Lenses+ writeRecordsResponse_recordsIngested,+ writeRecordsResponse_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 qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.TimeStreamWrite.Types++-- | /See:/ 'newWriteRecords' smart constructor.+data WriteRecords = WriteRecords'+ { -- | A record containing the common measure, dimension, time, and version+ -- attributes shared across all the records in the request. The measure and+ -- dimension attributes specified will be merged with the measure and+ -- dimension attributes in the records object when the data is written into+ -- Timestream. Dimensions may not overlap, or a @ValidationException@ will+ -- be thrown. In other words, a record must contain dimensions with unique+ -- names.+ commonAttributes :: Prelude.Maybe Record,+ -- | The name of the Timestream database.+ databaseName :: Prelude.Text,+ -- | The name of the Timestream table.+ tableName :: Prelude.Text,+ -- | An array of records containing the unique measure, dimension, time, and+ -- version attributes for each time series data point.+ records :: Prelude.NonEmpty Record+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WriteRecords' 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:+--+-- 'commonAttributes', 'writeRecords_commonAttributes' - A record containing the common measure, dimension, time, and version+-- attributes shared across all the records in the request. The measure and+-- dimension attributes specified will be merged with the measure and+-- dimension attributes in the records object when the data is written into+-- Timestream. Dimensions may not overlap, or a @ValidationException@ will+-- be thrown. In other words, a record must contain dimensions with unique+-- names.+--+-- 'databaseName', 'writeRecords_databaseName' - The name of the Timestream database.+--+-- 'tableName', 'writeRecords_tableName' - The name of the Timestream table.+--+-- 'records', 'writeRecords_records' - An array of records containing the unique measure, dimension, time, and+-- version attributes for each time series data point.+newWriteRecords ::+ -- | 'databaseName'+ Prelude.Text ->+ -- | 'tableName'+ Prelude.Text ->+ -- | 'records'+ Prelude.NonEmpty Record ->+ WriteRecords+newWriteRecords pDatabaseName_ pTableName_ pRecords_ =+ WriteRecords'+ { commonAttributes = Prelude.Nothing,+ databaseName = pDatabaseName_,+ tableName = pTableName_,+ records = Lens.coerced Lens.# pRecords_+ }++-- | A record containing the common measure, dimension, time, and version+-- attributes shared across all the records in the request. The measure and+-- dimension attributes specified will be merged with the measure and+-- dimension attributes in the records object when the data is written into+-- Timestream. Dimensions may not overlap, or a @ValidationException@ will+-- be thrown. In other words, a record must contain dimensions with unique+-- names.+writeRecords_commonAttributes :: Lens.Lens' WriteRecords (Prelude.Maybe Record)+writeRecords_commonAttributes = Lens.lens (\WriteRecords' {commonAttributes} -> commonAttributes) (\s@WriteRecords' {} a -> s {commonAttributes = a} :: WriteRecords)++-- | The name of the Timestream database.+writeRecords_databaseName :: Lens.Lens' WriteRecords Prelude.Text+writeRecords_databaseName = Lens.lens (\WriteRecords' {databaseName} -> databaseName) (\s@WriteRecords' {} a -> s {databaseName = a} :: WriteRecords)++-- | The name of the Timestream table.+writeRecords_tableName :: Lens.Lens' WriteRecords Prelude.Text+writeRecords_tableName = Lens.lens (\WriteRecords' {tableName} -> tableName) (\s@WriteRecords' {} a -> s {tableName = a} :: WriteRecords)++-- | An array of records containing the unique measure, dimension, time, and+-- version attributes for each time series data point.+writeRecords_records :: Lens.Lens' WriteRecords (Prelude.NonEmpty Record)+writeRecords_records = Lens.lens (\WriteRecords' {records} -> records) (\s@WriteRecords' {} a -> s {records = a} :: WriteRecords) Prelude.. Lens.coerced++instance Core.AWSRequest WriteRecords where+ type AWSResponse WriteRecords = WriteRecordsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ WriteRecordsResponse'+ Prelude.<$> (x Data..?> "RecordsIngested")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable WriteRecords where+ hashWithSalt _salt WriteRecords' {..} =+ _salt+ `Prelude.hashWithSalt` commonAttributes+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` tableName+ `Prelude.hashWithSalt` records++instance Prelude.NFData WriteRecords where+ rnf WriteRecords' {..} =+ Prelude.rnf commonAttributes+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf tableName+ `Prelude.seq` Prelude.rnf records++instance Data.ToHeaders WriteRecords where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "Timestream_20181101.WriteRecords" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON WriteRecords where+ toJSON WriteRecords' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CommonAttributes" Data..=)+ Prelude.<$> commonAttributes,+ Prelude.Just ("DatabaseName" Data..= databaseName),+ Prelude.Just ("TableName" Data..= tableName),+ Prelude.Just ("Records" Data..= records)+ ]+ )++instance Data.ToPath WriteRecords where+ toPath = Prelude.const "/"++instance Data.ToQuery WriteRecords where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newWriteRecordsResponse' smart constructor.+data WriteRecordsResponse = WriteRecordsResponse'+ { -- | Information on the records ingested by this request.+ recordsIngested :: Prelude.Maybe RecordsIngested,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WriteRecordsResponse' 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:+--+-- 'recordsIngested', 'writeRecordsResponse_recordsIngested' - Information on the records ingested by this request.+--+-- 'httpStatus', 'writeRecordsResponse_httpStatus' - The response's http status code.+newWriteRecordsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ WriteRecordsResponse+newWriteRecordsResponse pHttpStatus_ =+ WriteRecordsResponse'+ { recordsIngested =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information on the records ingested by this request.+writeRecordsResponse_recordsIngested :: Lens.Lens' WriteRecordsResponse (Prelude.Maybe RecordsIngested)+writeRecordsResponse_recordsIngested = Lens.lens (\WriteRecordsResponse' {recordsIngested} -> recordsIngested) (\s@WriteRecordsResponse' {} a -> s {recordsIngested = a} :: WriteRecordsResponse)++-- | The response's http status code.+writeRecordsResponse_httpStatus :: Lens.Lens' WriteRecordsResponse Prelude.Int+writeRecordsResponse_httpStatus = Lens.lens (\WriteRecordsResponse' {httpStatus} -> httpStatus) (\s@WriteRecordsResponse' {} a -> s {httpStatus = a} :: WriteRecordsResponse)++instance Prelude.NFData WriteRecordsResponse where+ rnf WriteRecordsResponse' {..} =+ Prelude.rnf recordsIngested+ `Prelude.seq` Prelude.rnf httpStatus
+ 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.TimeStreamWrite+import Test.Amazonka.TimeStreamWrite.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "TimeStreamWrite"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/TimeStreamWrite.hs view
@@ -0,0 +1,338 @@+{-# 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.TimeStreamWrite+-- 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.TimeStreamWrite where++import Amazonka.TimeStreamWrite+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.TimeStreamWrite.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"+-- [ requestCreateDatabase $+-- newCreateDatabase+--+-- , requestCreateTable $+-- newCreateTable+--+-- , requestDeleteDatabase $+-- newDeleteDatabase+--+-- , requestDeleteTable $+-- newDeleteTable+--+-- , requestDescribeDatabase $+-- newDescribeDatabase+--+-- , requestDescribeEndpoints $+-- newDescribeEndpoints+--+-- , requestDescribeTable $+-- newDescribeTable+--+-- , requestListDatabases $+-- newListDatabases+--+-- , requestListTables $+-- newListTables+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateDatabase $+-- newUpdateDatabase+--+-- , requestUpdateTable $+-- newUpdateTable+--+-- , requestWriteRecords $+-- newWriteRecords+--+-- ]++-- , testGroup "response"+-- [ responseCreateDatabase $+-- newCreateDatabaseResponse+--+-- , responseCreateTable $+-- newCreateTableResponse+--+-- , responseDeleteDatabase $+-- newDeleteDatabaseResponse+--+-- , responseDeleteTable $+-- newDeleteTableResponse+--+-- , responseDescribeDatabase $+-- newDescribeDatabaseResponse+--+-- , responseDescribeEndpoints $+-- newDescribeEndpointsResponse+--+-- , responseDescribeTable $+-- newDescribeTableResponse+--+-- , responseListDatabases $+-- newListDatabasesResponse+--+-- , responseListTables $+-- newListTablesResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateDatabase $+-- newUpdateDatabaseResponse+--+-- , responseUpdateTable $+-- newUpdateTableResponse+--+-- , responseWriteRecords $+-- newWriteRecordsResponse+--+-- ]+-- ]++-- Requests++requestCreateDatabase :: CreateDatabase -> TestTree+requestCreateDatabase =+ req+ "CreateDatabase"+ "fixture/CreateDatabase.yaml"++requestCreateTable :: CreateTable -> TestTree+requestCreateTable =+ req+ "CreateTable"+ "fixture/CreateTable.yaml"++requestDeleteDatabase :: DeleteDatabase -> TestTree+requestDeleteDatabase =+ req+ "DeleteDatabase"+ "fixture/DeleteDatabase.yaml"++requestDeleteTable :: DeleteTable -> TestTree+requestDeleteTable =+ req+ "DeleteTable"+ "fixture/DeleteTable.yaml"++requestDescribeDatabase :: DescribeDatabase -> TestTree+requestDescribeDatabase =+ req+ "DescribeDatabase"+ "fixture/DescribeDatabase.yaml"++requestDescribeEndpoints :: DescribeEndpoints -> TestTree+requestDescribeEndpoints =+ req+ "DescribeEndpoints"+ "fixture/DescribeEndpoints.yaml"++requestDescribeTable :: DescribeTable -> TestTree+requestDescribeTable =+ req+ "DescribeTable"+ "fixture/DescribeTable.yaml"++requestListDatabases :: ListDatabases -> TestTree+requestListDatabases =+ req+ "ListDatabases"+ "fixture/ListDatabases.yaml"++requestListTables :: ListTables -> TestTree+requestListTables =+ req+ "ListTables"+ "fixture/ListTables.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateDatabase :: UpdateDatabase -> TestTree+requestUpdateDatabase =+ req+ "UpdateDatabase"+ "fixture/UpdateDatabase.yaml"++requestUpdateTable :: UpdateTable -> TestTree+requestUpdateTable =+ req+ "UpdateTable"+ "fixture/UpdateTable.yaml"++requestWriteRecords :: WriteRecords -> TestTree+requestWriteRecords =+ req+ "WriteRecords"+ "fixture/WriteRecords.yaml"++-- Responses++responseCreateDatabase :: CreateDatabaseResponse -> TestTree+responseCreateDatabase =+ res+ "CreateDatabaseResponse"+ "fixture/CreateDatabaseResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDatabase)++responseCreateTable :: CreateTableResponse -> TestTree+responseCreateTable =+ res+ "CreateTableResponse"+ "fixture/CreateTableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateTable)++responseDeleteDatabase :: DeleteDatabaseResponse -> TestTree+responseDeleteDatabase =+ res+ "DeleteDatabaseResponse"+ "fixture/DeleteDatabaseResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDatabase)++responseDeleteTable :: DeleteTableResponse -> TestTree+responseDeleteTable =+ res+ "DeleteTableResponse"+ "fixture/DeleteTableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteTable)++responseDescribeDatabase :: DescribeDatabaseResponse -> TestTree+responseDescribeDatabase =+ res+ "DescribeDatabaseResponse"+ "fixture/DescribeDatabaseResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDatabase)++responseDescribeEndpoints :: DescribeEndpointsResponse -> TestTree+responseDescribeEndpoints =+ res+ "DescribeEndpointsResponse"+ "fixture/DescribeEndpointsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeEndpoints)++responseDescribeTable :: DescribeTableResponse -> TestTree+responseDescribeTable =+ res+ "DescribeTableResponse"+ "fixture/DescribeTableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeTable)++responseListDatabases :: ListDatabasesResponse -> TestTree+responseListDatabases =+ res+ "ListDatabasesResponse"+ "fixture/ListDatabasesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDatabases)++responseListTables :: ListTablesResponse -> TestTree+responseListTables =+ res+ "ListTablesResponse"+ "fixture/ListTablesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTables)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateDatabase :: UpdateDatabaseResponse -> TestTree+responseUpdateDatabase =+ res+ "UpdateDatabaseResponse"+ "fixture/UpdateDatabaseResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDatabase)++responseUpdateTable :: UpdateTableResponse -> TestTree+responseUpdateTable =+ res+ "UpdateTableResponse"+ "fixture/UpdateTableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateTable)++responseWriteRecords :: WriteRecordsResponse -> TestTree+responseWriteRecords =+ res+ "WriteRecordsResponse"+ "fixture/WriteRecordsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy WriteRecords)
+ test/Test/Amazonka/TimeStreamWrite.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.TimeStreamWrite+-- 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.TimeStreamWrite+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/TimeStreamWrite/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.TimeStreamWrite.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.TimeStreamWrite.Internal where