amazonka-pi (empty) → 2.0
raw patch · 46 files changed
+5850/−0 lines, 46 filesdep +amazonka-coredep +amazonka-pidep +amazonka-test
Dependencies added: amazonka-core, amazonka-pi, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-pi.cabal +105/−0
- fixture/DescribeDimensionKeys.yaml +10/−0
- fixture/DescribeDimensionKeysResponse.proto +0/−0
- fixture/GetDimensionKeyDetails.yaml +10/−0
- fixture/GetDimensionKeyDetailsResponse.proto +0/−0
- fixture/GetResourceMetadata.yaml +10/−0
- fixture/GetResourceMetadataResponse.proto +0/−0
- fixture/GetResourceMetrics.yaml +10/−0
- fixture/GetResourceMetricsResponse.proto +0/−0
- fixture/ListAvailableResourceDimensions.yaml +10/−0
- fixture/ListAvailableResourceDimensionsResponse.proto +0/−0
- fixture/ListAvailableResourceMetrics.yaml +10/−0
- fixture/ListAvailableResourceMetricsResponse.proto +0/−0
- gen/Amazonka/Pi.hs +206/−0
- gen/Amazonka/Pi/DescribeDimensionKeys.hs +624/−0
- gen/Amazonka/Pi/GetDimensionKeyDetails.hs +324/−0
- gen/Amazonka/Pi/GetResourceMetadata.hs +232/−0
- gen/Amazonka/Pi/GetResourceMetrics.hs +499/−0
- gen/Amazonka/Pi/Lens.hs +166/−0
- gen/Amazonka/Pi/ListAvailableResourceDimensions.hs +303/−0
- gen/Amazonka/Pi/ListAvailableResourceMetrics.hs +321/−0
- gen/Amazonka/Pi/Types.hs +227/−0
- gen/Amazonka/Pi/Types/DataPoint.hs +90/−0
- gen/Amazonka/Pi/Types/DetailStatus.hs +76/−0
- gen/Amazonka/Pi/Types/DimensionDetail.hs +68/−0
- gen/Amazonka/Pi/Types/DimensionGroup.hs +579/−0
- gen/Amazonka/Pi/Types/DimensionGroupDetail.hs +85/−0
- gen/Amazonka/Pi/Types/DimensionKeyDescription.hs +119/−0
- gen/Amazonka/Pi/Types/DimensionKeyDetail.hs +163/−0
- gen/Amazonka/Pi/Types/FeatureMetadata.hs +114/−0
- gen/Amazonka/Pi/Types/FeatureStatus.hs +91/−0
- gen/Amazonka/Pi/Types/MetricDimensionGroups.hs +84/−0
- gen/Amazonka/Pi/Types/MetricKeyDataPoints.hs +90/−0
- gen/Amazonka/Pi/Types/MetricQuery.hs +192/−0
- gen/Amazonka/Pi/Types/ResponsePartitionKey.hs +71/−0
- gen/Amazonka/Pi/Types/ResponseResourceMetric.hs +98/−0
- gen/Amazonka/Pi/Types/ResponseResourceMetricKey.hs +148/−0
- gen/Amazonka/Pi/Types/ServiceType.hs +71/−0
- gen/Amazonka/Pi/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/Pi.hs +158/−0
- test/Test/Amazonka/Pi.hs +20/−0
- test/Test/Amazonka/Pi/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 Performance Insights SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-02-27@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-pi)+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.Pi](http://hackage.haskell.org/package/amazonka-pi/docs/Amazonka-Pi.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-pi` 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-pi.cabal view
@@ -0,0 +1,105 @@+cabal-version: 2.2+name: amazonka-pi+version: 2.0+synopsis: Amazon Performance Insights 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-02-27@ 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.Pi.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.Pi" 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-pi++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.Pi+ Amazonka.Pi.DescribeDimensionKeys+ Amazonka.Pi.GetDimensionKeyDetails+ Amazonka.Pi.GetResourceMetadata+ Amazonka.Pi.GetResourceMetrics+ Amazonka.Pi.Lens+ Amazonka.Pi.ListAvailableResourceDimensions+ Amazonka.Pi.ListAvailableResourceMetrics+ Amazonka.Pi.Types+ Amazonka.Pi.Types.DataPoint+ Amazonka.Pi.Types.DetailStatus+ Amazonka.Pi.Types.DimensionDetail+ Amazonka.Pi.Types.DimensionGroup+ Amazonka.Pi.Types.DimensionGroupDetail+ Amazonka.Pi.Types.DimensionKeyDescription+ Amazonka.Pi.Types.DimensionKeyDetail+ Amazonka.Pi.Types.FeatureMetadata+ Amazonka.Pi.Types.FeatureStatus+ Amazonka.Pi.Types.MetricDimensionGroups+ Amazonka.Pi.Types.MetricKeyDataPoints+ Amazonka.Pi.Types.MetricQuery+ Amazonka.Pi.Types.ResponsePartitionKey+ Amazonka.Pi.Types.ResponseResourceMetric+ Amazonka.Pi.Types.ResponseResourceMetricKey+ Amazonka.Pi.Types.ServiceType+ Amazonka.Pi.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-pi-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.Pi+ Test.Amazonka.Pi+ Test.Amazonka.Pi.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-pi+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/DescribeDimensionKeys.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pi/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: pi.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/DescribeDimensionKeysResponse.proto view
+ fixture/GetDimensionKeyDetails.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pi/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: pi.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/GetDimensionKeyDetailsResponse.proto view
+ fixture/GetResourceMetadata.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pi/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: pi.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/GetResourceMetadataResponse.proto view
+ fixture/GetResourceMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pi/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: pi.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/GetResourceMetricsResponse.proto view
+ fixture/ListAvailableResourceDimensions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pi/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: pi.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/ListAvailableResourceDimensionsResponse.proto view
+ fixture/ListAvailableResourceMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/pi/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: pi.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/ListAvailableResourceMetricsResponse.proto view
+ gen/Amazonka/Pi.hs view
@@ -0,0 +1,206 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.Pi+-- 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-02-27@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon RDS Performance Insights+--+-- Amazon RDS Performance Insights enables you to monitor and explore+-- different dimensions of database load based on data captured from a+-- running DB instance. The guide provides detailed information about+-- Performance Insights data types, parameters and errors.+--+-- When Performance Insights is enabled, the Amazon RDS Performance+-- Insights API provides visibility into the performance of your DB+-- instance. Amazon CloudWatch provides the authoritative source for Amazon+-- Web Services service-vended monitoring metrics. Performance Insights+-- offers a domain-specific view of DB load.+--+-- DB load is measured as average active sessions. Performance Insights+-- provides the data to API consumers as a two-dimensional time-series+-- dataset. The time dimension provides DB load data for each time point in+-- the queried time range. Each time point decomposes overall load in+-- relation to the requested dimensions, measured at that time point.+-- Examples include SQL, Wait event, User, and Host.+--+-- - To learn more about Performance Insights and Amazon Aurora DB+-- instances, go to the+-- /<https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html Amazon Aurora User Guide>/+-- .+--+-- - To learn more about Performance Insights and Amazon RDS DB+-- instances, go to the+-- /<https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html Amazon RDS User Guide>/+-- .+--+-- - To learn more about Performance Insights and Amazon DocumentDB+-- clusters, go to the+-- /<https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html Amazon DocumentDB Developer Guide>/+-- .+module Amazonka.Pi+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** InternalServiceError+ _InternalServiceError,++ -- ** InvalidArgumentException+ _InvalidArgumentException,++ -- ** NotAuthorizedException+ _NotAuthorizedException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** DescribeDimensionKeys+ DescribeDimensionKeys (DescribeDimensionKeys'),+ newDescribeDimensionKeys,+ DescribeDimensionKeysResponse (DescribeDimensionKeysResponse'),+ newDescribeDimensionKeysResponse,++ -- ** GetDimensionKeyDetails+ GetDimensionKeyDetails (GetDimensionKeyDetails'),+ newGetDimensionKeyDetails,+ GetDimensionKeyDetailsResponse (GetDimensionKeyDetailsResponse'),+ newGetDimensionKeyDetailsResponse,++ -- ** GetResourceMetadata+ GetResourceMetadata (GetResourceMetadata'),+ newGetResourceMetadata,+ GetResourceMetadataResponse (GetResourceMetadataResponse'),+ newGetResourceMetadataResponse,++ -- ** GetResourceMetrics+ GetResourceMetrics (GetResourceMetrics'),+ newGetResourceMetrics,+ GetResourceMetricsResponse (GetResourceMetricsResponse'),+ newGetResourceMetricsResponse,++ -- ** ListAvailableResourceDimensions+ ListAvailableResourceDimensions (ListAvailableResourceDimensions'),+ newListAvailableResourceDimensions,+ ListAvailableResourceDimensionsResponse (ListAvailableResourceDimensionsResponse'),+ newListAvailableResourceDimensionsResponse,++ -- ** ListAvailableResourceMetrics+ ListAvailableResourceMetrics (ListAvailableResourceMetrics'),+ newListAvailableResourceMetrics,+ ListAvailableResourceMetricsResponse (ListAvailableResourceMetricsResponse'),+ newListAvailableResourceMetricsResponse,++ -- * Types++ -- ** DetailStatus+ DetailStatus (..),++ -- ** FeatureStatus+ FeatureStatus (..),++ -- ** ServiceType+ ServiceType (..),++ -- ** DataPoint+ DataPoint (DataPoint'),+ newDataPoint,++ -- ** DimensionDetail+ DimensionDetail (DimensionDetail'),+ newDimensionDetail,++ -- ** DimensionGroup+ DimensionGroup (DimensionGroup'),+ newDimensionGroup,++ -- ** DimensionGroupDetail+ DimensionGroupDetail (DimensionGroupDetail'),+ newDimensionGroupDetail,++ -- ** DimensionKeyDescription+ DimensionKeyDescription (DimensionKeyDescription'),+ newDimensionKeyDescription,++ -- ** DimensionKeyDetail+ DimensionKeyDetail (DimensionKeyDetail'),+ newDimensionKeyDetail,++ -- ** FeatureMetadata+ FeatureMetadata (FeatureMetadata'),+ newFeatureMetadata,++ -- ** MetricDimensionGroups+ MetricDimensionGroups (MetricDimensionGroups'),+ newMetricDimensionGroups,++ -- ** MetricKeyDataPoints+ MetricKeyDataPoints (MetricKeyDataPoints'),+ newMetricKeyDataPoints,++ -- ** MetricQuery+ MetricQuery (MetricQuery'),+ newMetricQuery,++ -- ** ResponsePartitionKey+ ResponsePartitionKey (ResponsePartitionKey'),+ newResponsePartitionKey,++ -- ** ResponseResourceMetric+ ResponseResourceMetric (ResponseResourceMetric'),+ newResponseResourceMetric,++ -- ** ResponseResourceMetricKey+ ResponseResourceMetricKey (ResponseResourceMetricKey'),+ newResponseResourceMetricKey,+ )+where++import Amazonka.Pi.DescribeDimensionKeys+import Amazonka.Pi.GetDimensionKeyDetails+import Amazonka.Pi.GetResourceMetadata+import Amazonka.Pi.GetResourceMetrics+import Amazonka.Pi.Lens+import Amazonka.Pi.ListAvailableResourceDimensions+import Amazonka.Pi.ListAvailableResourceMetrics+import Amazonka.Pi.Types+import Amazonka.Pi.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'Pi'.++-- $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/Pi/DescribeDimensionKeys.hs view
@@ -0,0 +1,624 @@+{-# 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.Pi.DescribeDimensionKeys+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- For a specific time period, retrieve the top @N@ dimension keys for a+-- metric.+--+-- Each response element returns a maximum of 500 bytes. For larger+-- elements, such as SQL statements, only the first 500 bytes are returned.+module Amazonka.Pi.DescribeDimensionKeys+ ( -- * Creating a Request+ DescribeDimensionKeys (..),+ newDescribeDimensionKeys,++ -- * Request Lenses+ describeDimensionKeys_additionalMetrics,+ describeDimensionKeys_filter,+ describeDimensionKeys_maxResults,+ describeDimensionKeys_nextToken,+ describeDimensionKeys_partitionBy,+ describeDimensionKeys_periodInSeconds,+ describeDimensionKeys_serviceType,+ describeDimensionKeys_identifier,+ describeDimensionKeys_startTime,+ describeDimensionKeys_endTime,+ describeDimensionKeys_metric,+ describeDimensionKeys_groupBy,++ -- * Destructuring the Response+ DescribeDimensionKeysResponse (..),+ newDescribeDimensionKeysResponse,++ -- * Response Lenses+ describeDimensionKeysResponse_alignedEndTime,+ describeDimensionKeysResponse_alignedStartTime,+ describeDimensionKeysResponse_keys,+ describeDimensionKeysResponse_nextToken,+ describeDimensionKeysResponse_partitionKeys,+ describeDimensionKeysResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDimensionKeys' smart constructor.+data DescribeDimensionKeys = DescribeDimensionKeys'+ { -- | Additional metrics for the top @N@ dimension keys. If the specified+ -- dimension group in the @GroupBy@ parameter is @db.sql_tokenized@, you+ -- can specify per-SQL metrics to get the values for the top @N@ SQL+ -- digests. The response syntax is as follows:+ -- @\"AdditionalMetrics\" : { \"@/@string@/@\" : \"@/@string@/@\" }@.+ additionalMetrics :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | One or more filters to apply in the request. Restrictions:+ --+ -- - Any number of filters by the same dimension, as specified in the+ -- @GroupBy@ or @Partition@ parameters.+ --+ -- - A single filter for any other dimension in this dimension group.+ filter' :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The maximum number of items to return in the response. If more items+ -- exist than the specified @MaxRecords@ value, a pagination token is+ -- included in the response so that the remaining results can be retrieved.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An optional pagination token provided by a previous request. If this+ -- parameter is specified, the response includes only records beyond the+ -- token, up to the value specified by @MaxRecords@.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | For each dimension specified in @GroupBy@, specify a secondary dimension+ -- to further subdivide the partition keys in the response.+ partitionBy :: Prelude.Maybe DimensionGroup,+ -- | The granularity, in seconds, of the data points returned from+ -- Performance Insights. A period can be as short as one second, or as long+ -- as one day (86400 seconds). Valid values are:+ --+ -- - @1@ (one second)+ --+ -- - @60@ (one minute)+ --+ -- - @300@ (five minutes)+ --+ -- - @3600@ (one hour)+ --+ -- - @86400@ (twenty-four hours)+ --+ -- If you don\'t specify @PeriodInSeconds@, then Performance Insights+ -- chooses a value for you, with a goal of returning roughly 100-200 data+ -- points in the response.+ periodInSeconds :: Prelude.Maybe Prelude.Int,+ -- | The Amazon Web Services service for which Performance Insights will+ -- return metrics. Valid values are as follows:+ --+ -- - @RDS@+ --+ -- - @DOCDB@+ serviceType :: ServiceType,+ -- | An immutable, Amazon Web Services Region-unique identifier for a data+ -- source. Performance Insights gathers metrics from this data source.+ --+ -- To use an Amazon RDS instance as a data source, you specify its+ -- @DbiResourceId@ value. For example, specify+ -- @db-FAIHNTYBKTGAUSUZQYPDS2GW4A@.+ identifier :: Prelude.Text,+ -- | The date and time specifying the beginning of the requested time series+ -- data. You must specify a @StartTime@ within the past 7 days. The value+ -- specified is /inclusive/, which means that data points equal to or+ -- greater than @StartTime@ are returned.+ --+ -- The value for @StartTime@ must be earlier than the value for @EndTime@.+ startTime :: Data.POSIX,+ -- | The date and time specifying the end of the requested time series data.+ -- The value specified is /exclusive/, which means that data points less+ -- than (but not equal to) @EndTime@ are returned.+ --+ -- The value for @EndTime@ must be later than the value for @StartTime@.+ endTime :: Data.POSIX,+ -- | The name of a Performance Insights metric to be measured.+ --+ -- Valid values for @Metric@ are:+ --+ -- - @db.load.avg@ - A scaled representation of the number of active+ -- sessions for the database engine.+ --+ -- - @db.sampledload.avg@ - The raw number of active sessions for the+ -- database engine.+ --+ -- If the number of active sessions is less than an internal Performance+ -- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+ -- value. If the number of active sessions is greater than the internal+ -- threshold, Performance Insights samples the active sessions, with+ -- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+ -- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+ -- most use cases, you can query @db.load.avg@ only.+ metric :: Prelude.Text,+ -- | A specification for how to aggregate the data points from a query+ -- result. You must specify a valid dimension group. Performance Insights+ -- returns all dimensions within this group, unless you provide the names+ -- of specific dimensions within this group. You can also request that+ -- Performance Insights return a limited number of values for a dimension.+ groupBy :: DimensionGroup+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDimensionKeys' 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:+--+-- 'additionalMetrics', 'describeDimensionKeys_additionalMetrics' - Additional metrics for the top @N@ dimension keys. If the specified+-- dimension group in the @GroupBy@ parameter is @db.sql_tokenized@, you+-- can specify per-SQL metrics to get the values for the top @N@ SQL+-- digests. The response syntax is as follows:+-- @\"AdditionalMetrics\" : { \"@/@string@/@\" : \"@/@string@/@\" }@.+--+-- 'filter'', 'describeDimensionKeys_filter' - One or more filters to apply in the request. Restrictions:+--+-- - Any number of filters by the same dimension, as specified in the+-- @GroupBy@ or @Partition@ parameters.+--+-- - A single filter for any other dimension in this dimension group.+--+-- 'maxResults', 'describeDimensionKeys_maxResults' - The maximum number of items to return in the response. If more items+-- exist than the specified @MaxRecords@ value, a pagination token is+-- included in the response so that the remaining results can be retrieved.+--+-- 'nextToken', 'describeDimensionKeys_nextToken' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+--+-- 'partitionBy', 'describeDimensionKeys_partitionBy' - For each dimension specified in @GroupBy@, specify a secondary dimension+-- to further subdivide the partition keys in the response.+--+-- 'periodInSeconds', 'describeDimensionKeys_periodInSeconds' - The granularity, in seconds, of the data points returned from+-- Performance Insights. A period can be as short as one second, or as long+-- as one day (86400 seconds). Valid values are:+--+-- - @1@ (one second)+--+-- - @60@ (one minute)+--+-- - @300@ (five minutes)+--+-- - @3600@ (one hour)+--+-- - @86400@ (twenty-four hours)+--+-- If you don\'t specify @PeriodInSeconds@, then Performance Insights+-- chooses a value for you, with a goal of returning roughly 100-200 data+-- points in the response.+--+-- 'serviceType', 'describeDimensionKeys_serviceType' - The Amazon Web Services service for which Performance Insights will+-- return metrics. Valid values are as follows:+--+-- - @RDS@+--+-- - @DOCDB@+--+-- 'identifier', 'describeDimensionKeys_identifier' - An immutable, Amazon Web Services Region-unique identifier for a data+-- source. Performance Insights gathers metrics from this data source.+--+-- To use an Amazon RDS instance as a data source, you specify its+-- @DbiResourceId@ value. For example, specify+-- @db-FAIHNTYBKTGAUSUZQYPDS2GW4A@.+--+-- 'startTime', 'describeDimensionKeys_startTime' - The date and time specifying the beginning of the requested time series+-- data. You must specify a @StartTime@ within the past 7 days. The value+-- specified is /inclusive/, which means that data points equal to or+-- greater than @StartTime@ are returned.+--+-- The value for @StartTime@ must be earlier than the value for @EndTime@.+--+-- 'endTime', 'describeDimensionKeys_endTime' - The date and time specifying the end of the requested time series data.+-- The value specified is /exclusive/, which means that data points less+-- than (but not equal to) @EndTime@ are returned.+--+-- The value for @EndTime@ must be later than the value for @StartTime@.+--+-- 'metric', 'describeDimensionKeys_metric' - The name of a Performance Insights metric to be measured.+--+-- Valid values for @Metric@ are:+--+-- - @db.load.avg@ - A scaled representation of the number of active+-- sessions for the database engine.+--+-- - @db.sampledload.avg@ - The raw number of active sessions for the+-- database engine.+--+-- If the number of active sessions is less than an internal Performance+-- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+-- value. If the number of active sessions is greater than the internal+-- threshold, Performance Insights samples the active sessions, with+-- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+-- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+-- most use cases, you can query @db.load.avg@ only.+--+-- 'groupBy', 'describeDimensionKeys_groupBy' - A specification for how to aggregate the data points from a query+-- result. You must specify a valid dimension group. Performance Insights+-- returns all dimensions within this group, unless you provide the names+-- of specific dimensions within this group. You can also request that+-- Performance Insights return a limited number of values for a dimension.+newDescribeDimensionKeys ::+ -- | 'serviceType'+ ServiceType ->+ -- | 'identifier'+ Prelude.Text ->+ -- | 'startTime'+ Prelude.UTCTime ->+ -- | 'endTime'+ Prelude.UTCTime ->+ -- | 'metric'+ Prelude.Text ->+ -- | 'groupBy'+ DimensionGroup ->+ DescribeDimensionKeys+newDescribeDimensionKeys+ pServiceType_+ pIdentifier_+ pStartTime_+ pEndTime_+ pMetric_+ pGroupBy_ =+ DescribeDimensionKeys'+ { additionalMetrics =+ Prelude.Nothing,+ filter' = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ partitionBy = Prelude.Nothing,+ periodInSeconds = Prelude.Nothing,+ serviceType = pServiceType_,+ identifier = pIdentifier_,+ startTime = Data._Time Lens.# pStartTime_,+ endTime = Data._Time Lens.# pEndTime_,+ metric = pMetric_,+ groupBy = pGroupBy_+ }++-- | Additional metrics for the top @N@ dimension keys. If the specified+-- dimension group in the @GroupBy@ parameter is @db.sql_tokenized@, you+-- can specify per-SQL metrics to get the values for the top @N@ SQL+-- digests. The response syntax is as follows:+-- @\"AdditionalMetrics\" : { \"@/@string@/@\" : \"@/@string@/@\" }@.+describeDimensionKeys_additionalMetrics :: Lens.Lens' DescribeDimensionKeys (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeDimensionKeys_additionalMetrics = Lens.lens (\DescribeDimensionKeys' {additionalMetrics} -> additionalMetrics) (\s@DescribeDimensionKeys' {} a -> s {additionalMetrics = a} :: DescribeDimensionKeys) Prelude.. Lens.mapping Lens.coerced++-- | One or more filters to apply in the request. Restrictions:+--+-- - Any number of filters by the same dimension, as specified in the+-- @GroupBy@ or @Partition@ parameters.+--+-- - A single filter for any other dimension in this dimension group.+describeDimensionKeys_filter :: Lens.Lens' DescribeDimensionKeys (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeDimensionKeys_filter = Lens.lens (\DescribeDimensionKeys' {filter'} -> filter') (\s@DescribeDimensionKeys' {} a -> s {filter' = a} :: DescribeDimensionKeys) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of items to return in the response. If more items+-- exist than the specified @MaxRecords@ value, a pagination token is+-- included in the response so that the remaining results can be retrieved.+describeDimensionKeys_maxResults :: Lens.Lens' DescribeDimensionKeys (Prelude.Maybe Prelude.Natural)+describeDimensionKeys_maxResults = Lens.lens (\DescribeDimensionKeys' {maxResults} -> maxResults) (\s@DescribeDimensionKeys' {} a -> s {maxResults = a} :: DescribeDimensionKeys)++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+describeDimensionKeys_nextToken :: Lens.Lens' DescribeDimensionKeys (Prelude.Maybe Prelude.Text)+describeDimensionKeys_nextToken = Lens.lens (\DescribeDimensionKeys' {nextToken} -> nextToken) (\s@DescribeDimensionKeys' {} a -> s {nextToken = a} :: DescribeDimensionKeys)++-- | For each dimension specified in @GroupBy@, specify a secondary dimension+-- to further subdivide the partition keys in the response.+describeDimensionKeys_partitionBy :: Lens.Lens' DescribeDimensionKeys (Prelude.Maybe DimensionGroup)+describeDimensionKeys_partitionBy = Lens.lens (\DescribeDimensionKeys' {partitionBy} -> partitionBy) (\s@DescribeDimensionKeys' {} a -> s {partitionBy = a} :: DescribeDimensionKeys)++-- | The granularity, in seconds, of the data points returned from+-- Performance Insights. A period can be as short as one second, or as long+-- as one day (86400 seconds). Valid values are:+--+-- - @1@ (one second)+--+-- - @60@ (one minute)+--+-- - @300@ (five minutes)+--+-- - @3600@ (one hour)+--+-- - @86400@ (twenty-four hours)+--+-- If you don\'t specify @PeriodInSeconds@, then Performance Insights+-- chooses a value for you, with a goal of returning roughly 100-200 data+-- points in the response.+describeDimensionKeys_periodInSeconds :: Lens.Lens' DescribeDimensionKeys (Prelude.Maybe Prelude.Int)+describeDimensionKeys_periodInSeconds = Lens.lens (\DescribeDimensionKeys' {periodInSeconds} -> periodInSeconds) (\s@DescribeDimensionKeys' {} a -> s {periodInSeconds = a} :: DescribeDimensionKeys)++-- | The Amazon Web Services service for which Performance Insights will+-- return metrics. Valid values are as follows:+--+-- - @RDS@+--+-- - @DOCDB@+describeDimensionKeys_serviceType :: Lens.Lens' DescribeDimensionKeys ServiceType+describeDimensionKeys_serviceType = Lens.lens (\DescribeDimensionKeys' {serviceType} -> serviceType) (\s@DescribeDimensionKeys' {} a -> s {serviceType = a} :: DescribeDimensionKeys)++-- | An immutable, Amazon Web Services Region-unique identifier for a data+-- source. Performance Insights gathers metrics from this data source.+--+-- To use an Amazon RDS instance as a data source, you specify its+-- @DbiResourceId@ value. For example, specify+-- @db-FAIHNTYBKTGAUSUZQYPDS2GW4A@.+describeDimensionKeys_identifier :: Lens.Lens' DescribeDimensionKeys Prelude.Text+describeDimensionKeys_identifier = Lens.lens (\DescribeDimensionKeys' {identifier} -> identifier) (\s@DescribeDimensionKeys' {} a -> s {identifier = a} :: DescribeDimensionKeys)++-- | The date and time specifying the beginning of the requested time series+-- data. You must specify a @StartTime@ within the past 7 days. The value+-- specified is /inclusive/, which means that data points equal to or+-- greater than @StartTime@ are returned.+--+-- The value for @StartTime@ must be earlier than the value for @EndTime@.+describeDimensionKeys_startTime :: Lens.Lens' DescribeDimensionKeys Prelude.UTCTime+describeDimensionKeys_startTime = Lens.lens (\DescribeDimensionKeys' {startTime} -> startTime) (\s@DescribeDimensionKeys' {} a -> s {startTime = a} :: DescribeDimensionKeys) Prelude.. Data._Time++-- | The date and time specifying the end of the requested time series data.+-- The value specified is /exclusive/, which means that data points less+-- than (but not equal to) @EndTime@ are returned.+--+-- The value for @EndTime@ must be later than the value for @StartTime@.+describeDimensionKeys_endTime :: Lens.Lens' DescribeDimensionKeys Prelude.UTCTime+describeDimensionKeys_endTime = Lens.lens (\DescribeDimensionKeys' {endTime} -> endTime) (\s@DescribeDimensionKeys' {} a -> s {endTime = a} :: DescribeDimensionKeys) Prelude.. Data._Time++-- | The name of a Performance Insights metric to be measured.+--+-- Valid values for @Metric@ are:+--+-- - @db.load.avg@ - A scaled representation of the number of active+-- sessions for the database engine.+--+-- - @db.sampledload.avg@ - The raw number of active sessions for the+-- database engine.+--+-- If the number of active sessions is less than an internal Performance+-- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+-- value. If the number of active sessions is greater than the internal+-- threshold, Performance Insights samples the active sessions, with+-- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+-- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+-- most use cases, you can query @db.load.avg@ only.+describeDimensionKeys_metric :: Lens.Lens' DescribeDimensionKeys Prelude.Text+describeDimensionKeys_metric = Lens.lens (\DescribeDimensionKeys' {metric} -> metric) (\s@DescribeDimensionKeys' {} a -> s {metric = a} :: DescribeDimensionKeys)++-- | A specification for how to aggregate the data points from a query+-- result. You must specify a valid dimension group. Performance Insights+-- returns all dimensions within this group, unless you provide the names+-- of specific dimensions within this group. You can also request that+-- Performance Insights return a limited number of values for a dimension.+describeDimensionKeys_groupBy :: Lens.Lens' DescribeDimensionKeys DimensionGroup+describeDimensionKeys_groupBy = Lens.lens (\DescribeDimensionKeys' {groupBy} -> groupBy) (\s@DescribeDimensionKeys' {} a -> s {groupBy = a} :: DescribeDimensionKeys)++instance Core.AWSRequest DescribeDimensionKeys where+ type+ AWSResponse DescribeDimensionKeys =+ DescribeDimensionKeysResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDimensionKeysResponse'+ Prelude.<$> (x Data..?> "AlignedEndTime")+ Prelude.<*> (x Data..?> "AlignedStartTime")+ Prelude.<*> (x Data..?> "Keys" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "PartitionKeys" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeDimensionKeys where+ hashWithSalt _salt DescribeDimensionKeys' {..} =+ _salt+ `Prelude.hashWithSalt` additionalMetrics+ `Prelude.hashWithSalt` filter'+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` partitionBy+ `Prelude.hashWithSalt` periodInSeconds+ `Prelude.hashWithSalt` serviceType+ `Prelude.hashWithSalt` identifier+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` endTime+ `Prelude.hashWithSalt` metric+ `Prelude.hashWithSalt` groupBy++instance Prelude.NFData DescribeDimensionKeys where+ rnf DescribeDimensionKeys' {..} =+ Prelude.rnf additionalMetrics+ `Prelude.seq` Prelude.rnf filter'+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf partitionBy+ `Prelude.seq` Prelude.rnf periodInSeconds+ `Prelude.seq` Prelude.rnf serviceType+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf endTime+ `Prelude.seq` Prelude.rnf metric+ `Prelude.seq` Prelude.rnf groupBy++instance Data.ToHeaders DescribeDimensionKeys where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "PerformanceInsightsv20180227.DescribeDimensionKeys" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeDimensionKeys where+ toJSON DescribeDimensionKeys' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AdditionalMetrics" Data..=)+ Prelude.<$> additionalMetrics,+ ("Filter" Data..=) Prelude.<$> filter',+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("PartitionBy" Data..=) Prelude.<$> partitionBy,+ ("PeriodInSeconds" Data..=)+ Prelude.<$> periodInSeconds,+ Prelude.Just ("ServiceType" Data..= serviceType),+ Prelude.Just ("Identifier" Data..= identifier),+ Prelude.Just ("StartTime" Data..= startTime),+ Prelude.Just ("EndTime" Data..= endTime),+ Prelude.Just ("Metric" Data..= metric),+ Prelude.Just ("GroupBy" Data..= groupBy)+ ]+ )++instance Data.ToPath DescribeDimensionKeys where+ toPath = Prelude.const "/"++instance Data.ToQuery DescribeDimensionKeys where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDimensionKeysResponse' smart constructor.+data DescribeDimensionKeysResponse = DescribeDimensionKeysResponse'+ { -- | The end time for the returned dimension keys, after alignment to a+ -- granular boundary (as specified by @PeriodInSeconds@). @AlignedEndTime@+ -- will be greater than or equal to the value of the user-specified+ -- @Endtime@.+ alignedEndTime :: Prelude.Maybe Data.POSIX,+ -- | The start time for the returned dimension keys, after alignment to a+ -- granular boundary (as specified by @PeriodInSeconds@).+ -- @AlignedStartTime@ will be less than or equal to the value of the+ -- user-specified @StartTime@.+ alignedStartTime :: Prelude.Maybe Data.POSIX,+ -- | The dimension keys that were requested.+ keys :: Prelude.Maybe [DimensionKeyDescription],+ -- | A pagination token that indicates the response didn’t return all+ -- available records because @MaxRecords@ was specified in the previous+ -- request. To get the remaining records, specify @NextToken@ in a separate+ -- request with this value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | If @PartitionBy@ was present in the request, @PartitionKeys@ contains+ -- the breakdown of dimension keys by the specified partitions.+ partitionKeys :: Prelude.Maybe [ResponsePartitionKey],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDimensionKeysResponse' 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:+--+-- 'alignedEndTime', 'describeDimensionKeysResponse_alignedEndTime' - The end time for the returned dimension keys, after alignment to a+-- granular boundary (as specified by @PeriodInSeconds@). @AlignedEndTime@+-- will be greater than or equal to the value of the user-specified+-- @Endtime@.+--+-- 'alignedStartTime', 'describeDimensionKeysResponse_alignedStartTime' - The start time for the returned dimension keys, after alignment to a+-- granular boundary (as specified by @PeriodInSeconds@).+-- @AlignedStartTime@ will be less than or equal to the value of the+-- user-specified @StartTime@.+--+-- 'keys', 'describeDimensionKeysResponse_keys' - The dimension keys that were requested.+--+-- 'nextToken', 'describeDimensionKeysResponse_nextToken' - A pagination token that indicates the response didn’t return all+-- available records because @MaxRecords@ was specified in the previous+-- request. To get the remaining records, specify @NextToken@ in a separate+-- request with this value.+--+-- 'partitionKeys', 'describeDimensionKeysResponse_partitionKeys' - If @PartitionBy@ was present in the request, @PartitionKeys@ contains+-- the breakdown of dimension keys by the specified partitions.+--+-- 'httpStatus', 'describeDimensionKeysResponse_httpStatus' - The response's http status code.+newDescribeDimensionKeysResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDimensionKeysResponse+newDescribeDimensionKeysResponse pHttpStatus_ =+ DescribeDimensionKeysResponse'+ { alignedEndTime =+ Prelude.Nothing,+ alignedStartTime = Prelude.Nothing,+ keys = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ partitionKeys = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The end time for the returned dimension keys, after alignment to a+-- granular boundary (as specified by @PeriodInSeconds@). @AlignedEndTime@+-- will be greater than or equal to the value of the user-specified+-- @Endtime@.+describeDimensionKeysResponse_alignedEndTime :: Lens.Lens' DescribeDimensionKeysResponse (Prelude.Maybe Prelude.UTCTime)+describeDimensionKeysResponse_alignedEndTime = Lens.lens (\DescribeDimensionKeysResponse' {alignedEndTime} -> alignedEndTime) (\s@DescribeDimensionKeysResponse' {} a -> s {alignedEndTime = a} :: DescribeDimensionKeysResponse) Prelude.. Lens.mapping Data._Time++-- | The start time for the returned dimension keys, after alignment to a+-- granular boundary (as specified by @PeriodInSeconds@).+-- @AlignedStartTime@ will be less than or equal to the value of the+-- user-specified @StartTime@.+describeDimensionKeysResponse_alignedStartTime :: Lens.Lens' DescribeDimensionKeysResponse (Prelude.Maybe Prelude.UTCTime)+describeDimensionKeysResponse_alignedStartTime = Lens.lens (\DescribeDimensionKeysResponse' {alignedStartTime} -> alignedStartTime) (\s@DescribeDimensionKeysResponse' {} a -> s {alignedStartTime = a} :: DescribeDimensionKeysResponse) Prelude.. Lens.mapping Data._Time++-- | The dimension keys that were requested.+describeDimensionKeysResponse_keys :: Lens.Lens' DescribeDimensionKeysResponse (Prelude.Maybe [DimensionKeyDescription])+describeDimensionKeysResponse_keys = Lens.lens (\DescribeDimensionKeysResponse' {keys} -> keys) (\s@DescribeDimensionKeysResponse' {} a -> s {keys = a} :: DescribeDimensionKeysResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that indicates the response didn’t return all+-- available records because @MaxRecords@ was specified in the previous+-- request. To get the remaining records, specify @NextToken@ in a separate+-- request with this value.+describeDimensionKeysResponse_nextToken :: Lens.Lens' DescribeDimensionKeysResponse (Prelude.Maybe Prelude.Text)+describeDimensionKeysResponse_nextToken = Lens.lens (\DescribeDimensionKeysResponse' {nextToken} -> nextToken) (\s@DescribeDimensionKeysResponse' {} a -> s {nextToken = a} :: DescribeDimensionKeysResponse)++-- | If @PartitionBy@ was present in the request, @PartitionKeys@ contains+-- the breakdown of dimension keys by the specified partitions.+describeDimensionKeysResponse_partitionKeys :: Lens.Lens' DescribeDimensionKeysResponse (Prelude.Maybe [ResponsePartitionKey])+describeDimensionKeysResponse_partitionKeys = Lens.lens (\DescribeDimensionKeysResponse' {partitionKeys} -> partitionKeys) (\s@DescribeDimensionKeysResponse' {} a -> s {partitionKeys = a} :: DescribeDimensionKeysResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeDimensionKeysResponse_httpStatus :: Lens.Lens' DescribeDimensionKeysResponse Prelude.Int+describeDimensionKeysResponse_httpStatus = Lens.lens (\DescribeDimensionKeysResponse' {httpStatus} -> httpStatus) (\s@DescribeDimensionKeysResponse' {} a -> s {httpStatus = a} :: DescribeDimensionKeysResponse)++instance Prelude.NFData DescribeDimensionKeysResponse where+ rnf DescribeDimensionKeysResponse' {..} =+ Prelude.rnf alignedEndTime+ `Prelude.seq` Prelude.rnf alignedStartTime+ `Prelude.seq` Prelude.rnf keys+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf partitionKeys+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pi/GetDimensionKeyDetails.hs view
@@ -0,0 +1,324 @@+{-# 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.Pi.GetDimensionKeyDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the attributes of the specified dimension group for a DB instance or+-- data source. For example, if you specify a SQL ID,+-- @GetDimensionKeyDetails@ retrieves the full text of the dimension+-- @db.sql.statement@ associated with this ID. This operation is useful+-- because @GetResourceMetrics@ and @DescribeDimensionKeys@ don\'t support+-- retrieval of large SQL statement text.+module Amazonka.Pi.GetDimensionKeyDetails+ ( -- * Creating a Request+ GetDimensionKeyDetails (..),+ newGetDimensionKeyDetails,++ -- * Request Lenses+ getDimensionKeyDetails_requestedDimensions,+ getDimensionKeyDetails_serviceType,+ getDimensionKeyDetails_identifier,+ getDimensionKeyDetails_group,+ getDimensionKeyDetails_groupIdentifier,++ -- * Destructuring the Response+ GetDimensionKeyDetailsResponse (..),+ newGetDimensionKeyDetailsResponse,++ -- * Response Lenses+ getDimensionKeyDetailsResponse_dimensions,+ getDimensionKeyDetailsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDimensionKeyDetails' smart constructor.+data GetDimensionKeyDetails = GetDimensionKeyDetails'+ { -- | A list of dimensions to retrieve the detail data for within the given+ -- dimension group. If you don\'t specify this parameter, Performance+ -- Insights returns all dimension data within the specified dimension+ -- group. Specify dimension names for the following dimension groups:+ --+ -- - @db.sql@ - Specify either the full dimension name @db.sql.statement@+ -- or the short dimension name @statement@ (Aurora and RDS only).+ --+ -- - @db.query@ - Specify either the full dimension name+ -- @db.query.statement@ or the short dimension name @statement@+ -- (DocumentDB only).+ requestedDimensions :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The Amazon Web Services service for which Performance Insights returns+ -- data. The only valid value is @RDS@.+ serviceType :: ServiceType,+ -- | The ID for a data source from which to gather dimension data. This ID+ -- must be immutable and unique within an Amazon Web Services Region. When+ -- a DB instance is the data source, specify its @DbiResourceId@ value. For+ -- example, specify @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+ identifier :: Prelude.Text,+ -- | The name of the dimension group. Performance Insights searches the+ -- specified group for the dimension group ID. The following group name+ -- values are valid:+ --+ -- - @db.query@ (Amazon DocumentDB only)+ --+ -- - @db.sql@ (Amazon RDS and Aurora only)+ group' :: Prelude.Text,+ -- | The ID of the dimension group from which to retrieve dimension details.+ -- For dimension group @db.sql@, the group ID is @db.sql.id@. The following+ -- group ID values are valid:+ --+ -- - @db.sql.id@ for dimension group @db.sql@ (Aurora and RDS only)+ --+ -- - @db.query.id@ for dimension group @db.query@ (DocumentDB only)+ groupIdentifier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDimensionKeyDetails' 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:+--+-- 'requestedDimensions', 'getDimensionKeyDetails_requestedDimensions' - A list of dimensions to retrieve the detail data for within the given+-- dimension group. If you don\'t specify this parameter, Performance+-- Insights returns all dimension data within the specified dimension+-- group. Specify dimension names for the following dimension groups:+--+-- - @db.sql@ - Specify either the full dimension name @db.sql.statement@+-- or the short dimension name @statement@ (Aurora and RDS only).+--+-- - @db.query@ - Specify either the full dimension name+-- @db.query.statement@ or the short dimension name @statement@+-- (DocumentDB only).+--+-- 'serviceType', 'getDimensionKeyDetails_serviceType' - The Amazon Web Services service for which Performance Insights returns+-- data. The only valid value is @RDS@.+--+-- 'identifier', 'getDimensionKeyDetails_identifier' - The ID for a data source from which to gather dimension data. This ID+-- must be immutable and unique within an Amazon Web Services Region. When+-- a DB instance is the data source, specify its @DbiResourceId@ value. For+-- example, specify @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+--+-- 'group'', 'getDimensionKeyDetails_group' - The name of the dimension group. Performance Insights searches the+-- specified group for the dimension group ID. The following group name+-- values are valid:+--+-- - @db.query@ (Amazon DocumentDB only)+--+-- - @db.sql@ (Amazon RDS and Aurora only)+--+-- 'groupIdentifier', 'getDimensionKeyDetails_groupIdentifier' - The ID of the dimension group from which to retrieve dimension details.+-- For dimension group @db.sql@, the group ID is @db.sql.id@. The following+-- group ID values are valid:+--+-- - @db.sql.id@ for dimension group @db.sql@ (Aurora and RDS only)+--+-- - @db.query.id@ for dimension group @db.query@ (DocumentDB only)+newGetDimensionKeyDetails ::+ -- | 'serviceType'+ ServiceType ->+ -- | 'identifier'+ Prelude.Text ->+ -- | 'group''+ Prelude.Text ->+ -- | 'groupIdentifier'+ Prelude.Text ->+ GetDimensionKeyDetails+newGetDimensionKeyDetails+ pServiceType_+ pIdentifier_+ pGroup_+ pGroupIdentifier_ =+ GetDimensionKeyDetails'+ { requestedDimensions =+ Prelude.Nothing,+ serviceType = pServiceType_,+ identifier = pIdentifier_,+ group' = pGroup_,+ groupIdentifier = pGroupIdentifier_+ }++-- | A list of dimensions to retrieve the detail data for within the given+-- dimension group. If you don\'t specify this parameter, Performance+-- Insights returns all dimension data within the specified dimension+-- group. Specify dimension names for the following dimension groups:+--+-- - @db.sql@ - Specify either the full dimension name @db.sql.statement@+-- or the short dimension name @statement@ (Aurora and RDS only).+--+-- - @db.query@ - Specify either the full dimension name+-- @db.query.statement@ or the short dimension name @statement@+-- (DocumentDB only).+getDimensionKeyDetails_requestedDimensions :: Lens.Lens' GetDimensionKeyDetails (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+getDimensionKeyDetails_requestedDimensions = Lens.lens (\GetDimensionKeyDetails' {requestedDimensions} -> requestedDimensions) (\s@GetDimensionKeyDetails' {} a -> s {requestedDimensions = a} :: GetDimensionKeyDetails) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services service for which Performance Insights returns+-- data. The only valid value is @RDS@.+getDimensionKeyDetails_serviceType :: Lens.Lens' GetDimensionKeyDetails ServiceType+getDimensionKeyDetails_serviceType = Lens.lens (\GetDimensionKeyDetails' {serviceType} -> serviceType) (\s@GetDimensionKeyDetails' {} a -> s {serviceType = a} :: GetDimensionKeyDetails)++-- | The ID for a data source from which to gather dimension data. This ID+-- must be immutable and unique within an Amazon Web Services Region. When+-- a DB instance is the data source, specify its @DbiResourceId@ value. For+-- example, specify @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+getDimensionKeyDetails_identifier :: Lens.Lens' GetDimensionKeyDetails Prelude.Text+getDimensionKeyDetails_identifier = Lens.lens (\GetDimensionKeyDetails' {identifier} -> identifier) (\s@GetDimensionKeyDetails' {} a -> s {identifier = a} :: GetDimensionKeyDetails)++-- | The name of the dimension group. Performance Insights searches the+-- specified group for the dimension group ID. The following group name+-- values are valid:+--+-- - @db.query@ (Amazon DocumentDB only)+--+-- - @db.sql@ (Amazon RDS and Aurora only)+getDimensionKeyDetails_group :: Lens.Lens' GetDimensionKeyDetails Prelude.Text+getDimensionKeyDetails_group = Lens.lens (\GetDimensionKeyDetails' {group'} -> group') (\s@GetDimensionKeyDetails' {} a -> s {group' = a} :: GetDimensionKeyDetails)++-- | The ID of the dimension group from which to retrieve dimension details.+-- For dimension group @db.sql@, the group ID is @db.sql.id@. The following+-- group ID values are valid:+--+-- - @db.sql.id@ for dimension group @db.sql@ (Aurora and RDS only)+--+-- - @db.query.id@ for dimension group @db.query@ (DocumentDB only)+getDimensionKeyDetails_groupIdentifier :: Lens.Lens' GetDimensionKeyDetails Prelude.Text+getDimensionKeyDetails_groupIdentifier = Lens.lens (\GetDimensionKeyDetails' {groupIdentifier} -> groupIdentifier) (\s@GetDimensionKeyDetails' {} a -> s {groupIdentifier = a} :: GetDimensionKeyDetails)++instance Core.AWSRequest GetDimensionKeyDetails where+ type+ AWSResponse GetDimensionKeyDetails =+ GetDimensionKeyDetailsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDimensionKeyDetailsResponse'+ Prelude.<$> (x Data..?> "Dimensions" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDimensionKeyDetails where+ hashWithSalt _salt GetDimensionKeyDetails' {..} =+ _salt+ `Prelude.hashWithSalt` requestedDimensions+ `Prelude.hashWithSalt` serviceType+ `Prelude.hashWithSalt` identifier+ `Prelude.hashWithSalt` group'+ `Prelude.hashWithSalt` groupIdentifier++instance Prelude.NFData GetDimensionKeyDetails where+ rnf GetDimensionKeyDetails' {..} =+ Prelude.rnf requestedDimensions+ `Prelude.seq` Prelude.rnf serviceType+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf group'+ `Prelude.seq` Prelude.rnf groupIdentifier++instance Data.ToHeaders GetDimensionKeyDetails where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "PerformanceInsightsv20180227.GetDimensionKeyDetails" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetDimensionKeyDetails where+ toJSON GetDimensionKeyDetails' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("RequestedDimensions" Data..=)+ Prelude.<$> requestedDimensions,+ Prelude.Just ("ServiceType" Data..= serviceType),+ Prelude.Just ("Identifier" Data..= identifier),+ Prelude.Just ("Group" Data..= group'),+ Prelude.Just+ ("GroupIdentifier" Data..= groupIdentifier)+ ]+ )++instance Data.ToPath GetDimensionKeyDetails where+ toPath = Prelude.const "/"++instance Data.ToQuery GetDimensionKeyDetails where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDimensionKeyDetailsResponse' smart constructor.+data GetDimensionKeyDetailsResponse = GetDimensionKeyDetailsResponse'+ { -- | The details for the requested dimensions.+ dimensions :: Prelude.Maybe [DimensionKeyDetail],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDimensionKeyDetailsResponse' 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', 'getDimensionKeyDetailsResponse_dimensions' - The details for the requested dimensions.+--+-- 'httpStatus', 'getDimensionKeyDetailsResponse_httpStatus' - The response's http status code.+newGetDimensionKeyDetailsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDimensionKeyDetailsResponse+newGetDimensionKeyDetailsResponse pHttpStatus_ =+ GetDimensionKeyDetailsResponse'+ { dimensions =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The details for the requested dimensions.+getDimensionKeyDetailsResponse_dimensions :: Lens.Lens' GetDimensionKeyDetailsResponse (Prelude.Maybe [DimensionKeyDetail])+getDimensionKeyDetailsResponse_dimensions = Lens.lens (\GetDimensionKeyDetailsResponse' {dimensions} -> dimensions) (\s@GetDimensionKeyDetailsResponse' {} a -> s {dimensions = a} :: GetDimensionKeyDetailsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getDimensionKeyDetailsResponse_httpStatus :: Lens.Lens' GetDimensionKeyDetailsResponse Prelude.Int+getDimensionKeyDetailsResponse_httpStatus = Lens.lens (\GetDimensionKeyDetailsResponse' {httpStatus} -> httpStatus) (\s@GetDimensionKeyDetailsResponse' {} a -> s {httpStatus = a} :: GetDimensionKeyDetailsResponse)++instance+ Prelude.NFData+ GetDimensionKeyDetailsResponse+ where+ rnf GetDimensionKeyDetailsResponse' {..} =+ Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pi/GetResourceMetadata.hs view
@@ -0,0 +1,232 @@+{-# 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.Pi.GetResourceMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the metadata for different features. For example, the metadata+-- might indicate that a feature is turned on or off on a specific DB+-- instance.+module Amazonka.Pi.GetResourceMetadata+ ( -- * Creating a Request+ GetResourceMetadata (..),+ newGetResourceMetadata,++ -- * Request Lenses+ getResourceMetadata_serviceType,+ getResourceMetadata_identifier,++ -- * Destructuring the Response+ GetResourceMetadataResponse (..),+ newGetResourceMetadataResponse,++ -- * Response Lenses+ getResourceMetadataResponse_features,+ getResourceMetadataResponse_identifier,+ getResourceMetadataResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourceMetadata' smart constructor.+data GetResourceMetadata = GetResourceMetadata'+ { -- | The Amazon Web Services service for which Performance Insights returns+ -- metrics.+ serviceType :: ServiceType,+ -- | An immutable identifier for a data source that is unique for an Amazon+ -- Web Services Region. Performance Insights gathers metrics from this data+ -- source. To use a DB instance as a data source, specify its+ -- @DbiResourceId@ value. For example, specify+ -- @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+ identifier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceMetadata' 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:+--+-- 'serviceType', 'getResourceMetadata_serviceType' - The Amazon Web Services service for which Performance Insights returns+-- metrics.+--+-- 'identifier', 'getResourceMetadata_identifier' - An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. To use a DB instance as a data source, specify its+-- @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+newGetResourceMetadata ::+ -- | 'serviceType'+ ServiceType ->+ -- | 'identifier'+ Prelude.Text ->+ GetResourceMetadata+newGetResourceMetadata pServiceType_ pIdentifier_ =+ GetResourceMetadata'+ { serviceType = pServiceType_,+ identifier = pIdentifier_+ }++-- | The Amazon Web Services service for which Performance Insights returns+-- metrics.+getResourceMetadata_serviceType :: Lens.Lens' GetResourceMetadata ServiceType+getResourceMetadata_serviceType = Lens.lens (\GetResourceMetadata' {serviceType} -> serviceType) (\s@GetResourceMetadata' {} a -> s {serviceType = a} :: GetResourceMetadata)++-- | An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. To use a DB instance as a data source, specify its+-- @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+getResourceMetadata_identifier :: Lens.Lens' GetResourceMetadata Prelude.Text+getResourceMetadata_identifier = Lens.lens (\GetResourceMetadata' {identifier} -> identifier) (\s@GetResourceMetadata' {} a -> s {identifier = a} :: GetResourceMetadata)++instance Core.AWSRequest GetResourceMetadata where+ type+ AWSResponse GetResourceMetadata =+ GetResourceMetadataResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResourceMetadataResponse'+ Prelude.<$> (x Data..?> "Features" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Identifier")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResourceMetadata where+ hashWithSalt _salt GetResourceMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` serviceType+ `Prelude.hashWithSalt` identifier++instance Prelude.NFData GetResourceMetadata where+ rnf GetResourceMetadata' {..} =+ Prelude.rnf serviceType+ `Prelude.seq` Prelude.rnf identifier++instance Data.ToHeaders GetResourceMetadata where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "PerformanceInsightsv20180227.GetResourceMetadata" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResourceMetadata where+ toJSON GetResourceMetadata' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ServiceType" Data..= serviceType),+ Prelude.Just ("Identifier" Data..= identifier)+ ]+ )++instance Data.ToPath GetResourceMetadata where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResourceMetadata where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResourceMetadataResponse' smart constructor.+data GetResourceMetadataResponse = GetResourceMetadataResponse'+ { -- | The metadata for different features. For example, the metadata might+ -- indicate that a feature is turned on or off on a specific DB instance.+ features :: Prelude.Maybe (Prelude.HashMap Prelude.Text FeatureMetadata),+ -- | An immutable identifier for a data source that is unique for an Amazon+ -- Web Services Region. Performance Insights gathers metrics from this data+ -- source. To use a DB instance as a data source, specify its+ -- @DbiResourceId@ value. For example, specify+ -- @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+ identifier :: 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 'GetResourceMetadataResponse' 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:+--+-- 'features', 'getResourceMetadataResponse_features' - The metadata for different features. For example, the metadata might+-- indicate that a feature is turned on or off on a specific DB instance.+--+-- 'identifier', 'getResourceMetadataResponse_identifier' - An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. To use a DB instance as a data source, specify its+-- @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+--+-- 'httpStatus', 'getResourceMetadataResponse_httpStatus' - The response's http status code.+newGetResourceMetadataResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResourceMetadataResponse+newGetResourceMetadataResponse pHttpStatus_ =+ GetResourceMetadataResponse'+ { features =+ Prelude.Nothing,+ identifier = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The metadata for different features. For example, the metadata might+-- indicate that a feature is turned on or off on a specific DB instance.+getResourceMetadataResponse_features :: Lens.Lens' GetResourceMetadataResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text FeatureMetadata))+getResourceMetadataResponse_features = Lens.lens (\GetResourceMetadataResponse' {features} -> features) (\s@GetResourceMetadataResponse' {} a -> s {features = a} :: GetResourceMetadataResponse) Prelude.. Lens.mapping Lens.coerced++-- | An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. To use a DB instance as a data source, specify its+-- @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+getResourceMetadataResponse_identifier :: Lens.Lens' GetResourceMetadataResponse (Prelude.Maybe Prelude.Text)+getResourceMetadataResponse_identifier = Lens.lens (\GetResourceMetadataResponse' {identifier} -> identifier) (\s@GetResourceMetadataResponse' {} a -> s {identifier = a} :: GetResourceMetadataResponse)++-- | The response's http status code.+getResourceMetadataResponse_httpStatus :: Lens.Lens' GetResourceMetadataResponse Prelude.Int+getResourceMetadataResponse_httpStatus = Lens.lens (\GetResourceMetadataResponse' {httpStatus} -> httpStatus) (\s@GetResourceMetadataResponse' {} a -> s {httpStatus = a} :: GetResourceMetadataResponse)++instance Prelude.NFData GetResourceMetadataResponse where+ rnf GetResourceMetadataResponse' {..} =+ Prelude.rnf features+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pi/GetResourceMetrics.hs view
@@ -0,0 +1,499 @@+{-# 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.Pi.GetResourceMetrics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve Performance Insights metrics for a set of data sources over a+-- time period. You can provide specific dimension groups and dimensions,+-- and provide aggregation and filtering criteria for each group.+--+-- Each response element returns a maximum of 500 bytes. For larger+-- elements, such as SQL statements, only the first 500 bytes are returned.+module Amazonka.Pi.GetResourceMetrics+ ( -- * Creating a Request+ GetResourceMetrics (..),+ newGetResourceMetrics,++ -- * Request Lenses+ getResourceMetrics_maxResults,+ getResourceMetrics_nextToken,+ getResourceMetrics_periodInSeconds,+ getResourceMetrics_serviceType,+ getResourceMetrics_identifier,+ getResourceMetrics_metricQueries,+ getResourceMetrics_startTime,+ getResourceMetrics_endTime,++ -- * Destructuring the Response+ GetResourceMetricsResponse (..),+ newGetResourceMetricsResponse,++ -- * Response Lenses+ getResourceMetricsResponse_alignedEndTime,+ getResourceMetricsResponse_alignedStartTime,+ getResourceMetricsResponse_identifier,+ getResourceMetricsResponse_metricList,+ getResourceMetricsResponse_nextToken,+ getResourceMetricsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourceMetrics' smart constructor.+data GetResourceMetrics = GetResourceMetrics'+ { -- | The maximum number of items to return in the response. If more items+ -- exist than the specified @MaxRecords@ value, a pagination token is+ -- included in the response so that the remaining results can be retrieved.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An optional pagination token provided by a previous request. If this+ -- parameter is specified, the response includes only records beyond the+ -- token, up to the value specified by @MaxRecords@.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The granularity, in seconds, of the data points returned from+ -- Performance Insights. A period can be as short as one second, or as long+ -- as one day (86400 seconds). Valid values are:+ --+ -- - @1@ (one second)+ --+ -- - @60@ (one minute)+ --+ -- - @300@ (five minutes)+ --+ -- - @3600@ (one hour)+ --+ -- - @86400@ (twenty-four hours)+ --+ -- If you don\'t specify @PeriodInSeconds@, then Performance Insights will+ -- choose a value for you, with a goal of returning roughly 100-200 data+ -- points in the response.+ periodInSeconds :: Prelude.Maybe Prelude.Int,+ -- | The Amazon Web Services service for which Performance Insights returns+ -- metrics. Valid values are as follows:+ --+ -- - @RDS@+ --+ -- - @DOCDB@+ serviceType :: ServiceType,+ -- | An immutable identifier for a data source that is unique for an Amazon+ -- Web Services Region. Performance Insights gathers metrics from this data+ -- source. In the console, the identifier is shown as /ResourceID/. When+ -- you call @DescribeDBInstances@, the identifier is returned as+ -- @DbiResourceId@.+ --+ -- To use a DB instance as a data source, specify its @DbiResourceId@+ -- value. For example, specify @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+ identifier :: Prelude.Text,+ -- | An array of one or more queries to perform. Each query must specify a+ -- Performance Insights metric, and can optionally specify aggregation and+ -- filtering criteria.+ metricQueries :: Prelude.NonEmpty MetricQuery,+ -- | The date and time specifying the beginning of the requested time series+ -- query range. You can\'t specify a @StartTime@ that is earlier than 7+ -- days ago. By default, Performance Insights has 7 days of retention, but+ -- you can extend this range up to 2 years. The value specified is+ -- /inclusive/. Thus, the command returns data points equal to or greater+ -- than @StartTime@.+ --+ -- The value for @StartTime@ must be earlier than the value for @EndTime@.+ startTime :: Data.POSIX,+ -- | The date and time specifying the end of the requested time series query+ -- range. The value specified is /exclusive/. Thus, the command returns+ -- data points less than (but not equal to) @EndTime@.+ --+ -- The value for @EndTime@ must be later than the value for @StartTime@.+ endTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceMetrics' 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', 'getResourceMetrics_maxResults' - The maximum number of items to return in the response. If more items+-- exist than the specified @MaxRecords@ value, a pagination token is+-- included in the response so that the remaining results can be retrieved.+--+-- 'nextToken', 'getResourceMetrics_nextToken' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+--+-- 'periodInSeconds', 'getResourceMetrics_periodInSeconds' - The granularity, in seconds, of the data points returned from+-- Performance Insights. A period can be as short as one second, or as long+-- as one day (86400 seconds). Valid values are:+--+-- - @1@ (one second)+--+-- - @60@ (one minute)+--+-- - @300@ (five minutes)+--+-- - @3600@ (one hour)+--+-- - @86400@ (twenty-four hours)+--+-- If you don\'t specify @PeriodInSeconds@, then Performance Insights will+-- choose a value for you, with a goal of returning roughly 100-200 data+-- points in the response.+--+-- 'serviceType', 'getResourceMetrics_serviceType' - The Amazon Web Services service for which Performance Insights returns+-- metrics. Valid values are as follows:+--+-- - @RDS@+--+-- - @DOCDB@+--+-- 'identifier', 'getResourceMetrics_identifier' - An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. In the console, the identifier is shown as /ResourceID/. When+-- you call @DescribeDBInstances@, the identifier is returned as+-- @DbiResourceId@.+--+-- To use a DB instance as a data source, specify its @DbiResourceId@+-- value. For example, specify @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+--+-- 'metricQueries', 'getResourceMetrics_metricQueries' - An array of one or more queries to perform. Each query must specify a+-- Performance Insights metric, and can optionally specify aggregation and+-- filtering criteria.+--+-- 'startTime', 'getResourceMetrics_startTime' - The date and time specifying the beginning of the requested time series+-- query range. You can\'t specify a @StartTime@ that is earlier than 7+-- days ago. By default, Performance Insights has 7 days of retention, but+-- you can extend this range up to 2 years. The value specified is+-- /inclusive/. Thus, the command returns data points equal to or greater+-- than @StartTime@.+--+-- The value for @StartTime@ must be earlier than the value for @EndTime@.+--+-- 'endTime', 'getResourceMetrics_endTime' - The date and time specifying the end of the requested time series query+-- range. The value specified is /exclusive/. Thus, the command returns+-- data points less than (but not equal to) @EndTime@.+--+-- The value for @EndTime@ must be later than the value for @StartTime@.+newGetResourceMetrics ::+ -- | 'serviceType'+ ServiceType ->+ -- | 'identifier'+ Prelude.Text ->+ -- | 'metricQueries'+ Prelude.NonEmpty MetricQuery ->+ -- | 'startTime'+ Prelude.UTCTime ->+ -- | 'endTime'+ Prelude.UTCTime ->+ GetResourceMetrics+newGetResourceMetrics+ pServiceType_+ pIdentifier_+ pMetricQueries_+ pStartTime_+ pEndTime_ =+ GetResourceMetrics'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ periodInSeconds = Prelude.Nothing,+ serviceType = pServiceType_,+ identifier = pIdentifier_,+ metricQueries = Lens.coerced Lens.# pMetricQueries_,+ startTime = Data._Time Lens.# pStartTime_,+ endTime = Data._Time Lens.# pEndTime_+ }++-- | The maximum number of items to return in the response. If more items+-- exist than the specified @MaxRecords@ value, a pagination token is+-- included in the response so that the remaining results can be retrieved.+getResourceMetrics_maxResults :: Lens.Lens' GetResourceMetrics (Prelude.Maybe Prelude.Natural)+getResourceMetrics_maxResults = Lens.lens (\GetResourceMetrics' {maxResults} -> maxResults) (\s@GetResourceMetrics' {} a -> s {maxResults = a} :: GetResourceMetrics)++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+getResourceMetrics_nextToken :: Lens.Lens' GetResourceMetrics (Prelude.Maybe Prelude.Text)+getResourceMetrics_nextToken = Lens.lens (\GetResourceMetrics' {nextToken} -> nextToken) (\s@GetResourceMetrics' {} a -> s {nextToken = a} :: GetResourceMetrics)++-- | The granularity, in seconds, of the data points returned from+-- Performance Insights. A period can be as short as one second, or as long+-- as one day (86400 seconds). Valid values are:+--+-- - @1@ (one second)+--+-- - @60@ (one minute)+--+-- - @300@ (five minutes)+--+-- - @3600@ (one hour)+--+-- - @86400@ (twenty-four hours)+--+-- If you don\'t specify @PeriodInSeconds@, then Performance Insights will+-- choose a value for you, with a goal of returning roughly 100-200 data+-- points in the response.+getResourceMetrics_periodInSeconds :: Lens.Lens' GetResourceMetrics (Prelude.Maybe Prelude.Int)+getResourceMetrics_periodInSeconds = Lens.lens (\GetResourceMetrics' {periodInSeconds} -> periodInSeconds) (\s@GetResourceMetrics' {} a -> s {periodInSeconds = a} :: GetResourceMetrics)++-- | The Amazon Web Services service for which Performance Insights returns+-- metrics. Valid values are as follows:+--+-- - @RDS@+--+-- - @DOCDB@+getResourceMetrics_serviceType :: Lens.Lens' GetResourceMetrics ServiceType+getResourceMetrics_serviceType = Lens.lens (\GetResourceMetrics' {serviceType} -> serviceType) (\s@GetResourceMetrics' {} a -> s {serviceType = a} :: GetResourceMetrics)++-- | An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. In the console, the identifier is shown as /ResourceID/. When+-- you call @DescribeDBInstances@, the identifier is returned as+-- @DbiResourceId@.+--+-- To use a DB instance as a data source, specify its @DbiResourceId@+-- value. For example, specify @db-ABCDEFGHIJKLMNOPQRSTU1VW2X@.+getResourceMetrics_identifier :: Lens.Lens' GetResourceMetrics Prelude.Text+getResourceMetrics_identifier = Lens.lens (\GetResourceMetrics' {identifier} -> identifier) (\s@GetResourceMetrics' {} a -> s {identifier = a} :: GetResourceMetrics)++-- | An array of one or more queries to perform. Each query must specify a+-- Performance Insights metric, and can optionally specify aggregation and+-- filtering criteria.+getResourceMetrics_metricQueries :: Lens.Lens' GetResourceMetrics (Prelude.NonEmpty MetricQuery)+getResourceMetrics_metricQueries = Lens.lens (\GetResourceMetrics' {metricQueries} -> metricQueries) (\s@GetResourceMetrics' {} a -> s {metricQueries = a} :: GetResourceMetrics) Prelude.. Lens.coerced++-- | The date and time specifying the beginning of the requested time series+-- query range. You can\'t specify a @StartTime@ that is earlier than 7+-- days ago. By default, Performance Insights has 7 days of retention, but+-- you can extend this range up to 2 years. The value specified is+-- /inclusive/. Thus, the command returns data points equal to or greater+-- than @StartTime@.+--+-- The value for @StartTime@ must be earlier than the value for @EndTime@.+getResourceMetrics_startTime :: Lens.Lens' GetResourceMetrics Prelude.UTCTime+getResourceMetrics_startTime = Lens.lens (\GetResourceMetrics' {startTime} -> startTime) (\s@GetResourceMetrics' {} a -> s {startTime = a} :: GetResourceMetrics) Prelude.. Data._Time++-- | The date and time specifying the end of the requested time series query+-- range. The value specified is /exclusive/. Thus, the command returns+-- data points less than (but not equal to) @EndTime@.+--+-- The value for @EndTime@ must be later than the value for @StartTime@.+getResourceMetrics_endTime :: Lens.Lens' GetResourceMetrics Prelude.UTCTime+getResourceMetrics_endTime = Lens.lens (\GetResourceMetrics' {endTime} -> endTime) (\s@GetResourceMetrics' {} a -> s {endTime = a} :: GetResourceMetrics) Prelude.. Data._Time++instance Core.AWSRequest GetResourceMetrics where+ type+ AWSResponse GetResourceMetrics =+ GetResourceMetricsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResourceMetricsResponse'+ Prelude.<$> (x Data..?> "AlignedEndTime")+ Prelude.<*> (x Data..?> "AlignedStartTime")+ Prelude.<*> (x Data..?> "Identifier")+ Prelude.<*> (x Data..?> "MetricList" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResourceMetrics where+ hashWithSalt _salt GetResourceMetrics' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` periodInSeconds+ `Prelude.hashWithSalt` serviceType+ `Prelude.hashWithSalt` identifier+ `Prelude.hashWithSalt` metricQueries+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` endTime++instance Prelude.NFData GetResourceMetrics where+ rnf GetResourceMetrics' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf periodInSeconds+ `Prelude.seq` Prelude.rnf serviceType+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf metricQueries+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf endTime++instance Data.ToHeaders GetResourceMetrics where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "PerformanceInsightsv20180227.GetResourceMetrics" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetResourceMetrics where+ toJSON GetResourceMetrics' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("PeriodInSeconds" Data..=)+ Prelude.<$> periodInSeconds,+ Prelude.Just ("ServiceType" Data..= serviceType),+ Prelude.Just ("Identifier" Data..= identifier),+ Prelude.Just ("MetricQueries" Data..= metricQueries),+ Prelude.Just ("StartTime" Data..= startTime),+ Prelude.Just ("EndTime" Data..= endTime)+ ]+ )++instance Data.ToPath GetResourceMetrics where+ toPath = Prelude.const "/"++instance Data.ToQuery GetResourceMetrics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResourceMetricsResponse' smart constructor.+data GetResourceMetricsResponse = GetResourceMetricsResponse'+ { -- | The end time for the returned metrics, after alignment to a granular+ -- boundary (as specified by @PeriodInSeconds@). @AlignedEndTime@ will be+ -- greater than or equal to the value of the user-specified @Endtime@.+ alignedEndTime :: Prelude.Maybe Data.POSIX,+ -- | The start time for the returned metrics, after alignment to a granular+ -- boundary (as specified by @PeriodInSeconds@). @AlignedStartTime@ will be+ -- less than or equal to the value of the user-specified @StartTime@.+ alignedStartTime :: Prelude.Maybe Data.POSIX,+ -- | An immutable identifier for a data source that is unique for an Amazon+ -- Web Services Region. Performance Insights gathers metrics from this data+ -- source. In the console, the identifier is shown as /ResourceID/. When+ -- you call @DescribeDBInstances@, the identifier is returned as+ -- @DbiResourceId@.+ identifier :: Prelude.Maybe Prelude.Text,+ -- | An array of metric results, where each array element contains all of the+ -- data points for a particular dimension.+ metricList :: Prelude.Maybe [MetricKeyDataPoints],+ -- | An optional pagination token provided by a previous request. If this+ -- parameter is specified, the response includes only records beyond the+ -- token, up to the value specified by @MaxRecords@.+ 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 'GetResourceMetricsResponse' 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:+--+-- 'alignedEndTime', 'getResourceMetricsResponse_alignedEndTime' - The end time for the returned metrics, after alignment to a granular+-- boundary (as specified by @PeriodInSeconds@). @AlignedEndTime@ will be+-- greater than or equal to the value of the user-specified @Endtime@.+--+-- 'alignedStartTime', 'getResourceMetricsResponse_alignedStartTime' - The start time for the returned metrics, after alignment to a granular+-- boundary (as specified by @PeriodInSeconds@). @AlignedStartTime@ will be+-- less than or equal to the value of the user-specified @StartTime@.+--+-- 'identifier', 'getResourceMetricsResponse_identifier' - An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. In the console, the identifier is shown as /ResourceID/. When+-- you call @DescribeDBInstances@, the identifier is returned as+-- @DbiResourceId@.+--+-- 'metricList', 'getResourceMetricsResponse_metricList' - An array of metric results, where each array element contains all of the+-- data points for a particular dimension.+--+-- 'nextToken', 'getResourceMetricsResponse_nextToken' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+--+-- 'httpStatus', 'getResourceMetricsResponse_httpStatus' - The response's http status code.+newGetResourceMetricsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResourceMetricsResponse+newGetResourceMetricsResponse pHttpStatus_ =+ GetResourceMetricsResponse'+ { alignedEndTime =+ Prelude.Nothing,+ alignedStartTime = Prelude.Nothing,+ identifier = Prelude.Nothing,+ metricList = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The end time for the returned metrics, after alignment to a granular+-- boundary (as specified by @PeriodInSeconds@). @AlignedEndTime@ will be+-- greater than or equal to the value of the user-specified @Endtime@.+getResourceMetricsResponse_alignedEndTime :: Lens.Lens' GetResourceMetricsResponse (Prelude.Maybe Prelude.UTCTime)+getResourceMetricsResponse_alignedEndTime = Lens.lens (\GetResourceMetricsResponse' {alignedEndTime} -> alignedEndTime) (\s@GetResourceMetricsResponse' {} a -> s {alignedEndTime = a} :: GetResourceMetricsResponse) Prelude.. Lens.mapping Data._Time++-- | The start time for the returned metrics, after alignment to a granular+-- boundary (as specified by @PeriodInSeconds@). @AlignedStartTime@ will be+-- less than or equal to the value of the user-specified @StartTime@.+getResourceMetricsResponse_alignedStartTime :: Lens.Lens' GetResourceMetricsResponse (Prelude.Maybe Prelude.UTCTime)+getResourceMetricsResponse_alignedStartTime = Lens.lens (\GetResourceMetricsResponse' {alignedStartTime} -> alignedStartTime) (\s@GetResourceMetricsResponse' {} a -> s {alignedStartTime = a} :: GetResourceMetricsResponse) Prelude.. Lens.mapping Data._Time++-- | An immutable identifier for a data source that is unique for an Amazon+-- Web Services Region. Performance Insights gathers metrics from this data+-- source. In the console, the identifier is shown as /ResourceID/. When+-- you call @DescribeDBInstances@, the identifier is returned as+-- @DbiResourceId@.+getResourceMetricsResponse_identifier :: Lens.Lens' GetResourceMetricsResponse (Prelude.Maybe Prelude.Text)+getResourceMetricsResponse_identifier = Lens.lens (\GetResourceMetricsResponse' {identifier} -> identifier) (\s@GetResourceMetricsResponse' {} a -> s {identifier = a} :: GetResourceMetricsResponse)++-- | An array of metric results, where each array element contains all of the+-- data points for a particular dimension.+getResourceMetricsResponse_metricList :: Lens.Lens' GetResourceMetricsResponse (Prelude.Maybe [MetricKeyDataPoints])+getResourceMetricsResponse_metricList = Lens.lens (\GetResourceMetricsResponse' {metricList} -> metricList) (\s@GetResourceMetricsResponse' {} a -> s {metricList = a} :: GetResourceMetricsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+getResourceMetricsResponse_nextToken :: Lens.Lens' GetResourceMetricsResponse (Prelude.Maybe Prelude.Text)+getResourceMetricsResponse_nextToken = Lens.lens (\GetResourceMetricsResponse' {nextToken} -> nextToken) (\s@GetResourceMetricsResponse' {} a -> s {nextToken = a} :: GetResourceMetricsResponse)++-- | The response's http status code.+getResourceMetricsResponse_httpStatus :: Lens.Lens' GetResourceMetricsResponse Prelude.Int+getResourceMetricsResponse_httpStatus = Lens.lens (\GetResourceMetricsResponse' {httpStatus} -> httpStatus) (\s@GetResourceMetricsResponse' {} a -> s {httpStatus = a} :: GetResourceMetricsResponse)++instance Prelude.NFData GetResourceMetricsResponse where+ rnf GetResourceMetricsResponse' {..} =+ Prelude.rnf alignedEndTime+ `Prelude.seq` Prelude.rnf alignedStartTime+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf metricList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pi/Lens.hs view
@@ -0,0 +1,166 @@+{-# 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.Pi.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.Pi.Lens+ ( -- * Operations++ -- ** DescribeDimensionKeys+ describeDimensionKeys_additionalMetrics,+ describeDimensionKeys_filter,+ describeDimensionKeys_maxResults,+ describeDimensionKeys_nextToken,+ describeDimensionKeys_partitionBy,+ describeDimensionKeys_periodInSeconds,+ describeDimensionKeys_serviceType,+ describeDimensionKeys_identifier,+ describeDimensionKeys_startTime,+ describeDimensionKeys_endTime,+ describeDimensionKeys_metric,+ describeDimensionKeys_groupBy,+ describeDimensionKeysResponse_alignedEndTime,+ describeDimensionKeysResponse_alignedStartTime,+ describeDimensionKeysResponse_keys,+ describeDimensionKeysResponse_nextToken,+ describeDimensionKeysResponse_partitionKeys,+ describeDimensionKeysResponse_httpStatus,++ -- ** GetDimensionKeyDetails+ getDimensionKeyDetails_requestedDimensions,+ getDimensionKeyDetails_serviceType,+ getDimensionKeyDetails_identifier,+ getDimensionKeyDetails_group,+ getDimensionKeyDetails_groupIdentifier,+ getDimensionKeyDetailsResponse_dimensions,+ getDimensionKeyDetailsResponse_httpStatus,++ -- ** GetResourceMetadata+ getResourceMetadata_serviceType,+ getResourceMetadata_identifier,+ getResourceMetadataResponse_features,+ getResourceMetadataResponse_identifier,+ getResourceMetadataResponse_httpStatus,++ -- ** GetResourceMetrics+ getResourceMetrics_maxResults,+ getResourceMetrics_nextToken,+ getResourceMetrics_periodInSeconds,+ getResourceMetrics_serviceType,+ getResourceMetrics_identifier,+ getResourceMetrics_metricQueries,+ getResourceMetrics_startTime,+ getResourceMetrics_endTime,+ getResourceMetricsResponse_alignedEndTime,+ getResourceMetricsResponse_alignedStartTime,+ getResourceMetricsResponse_identifier,+ getResourceMetricsResponse_metricList,+ getResourceMetricsResponse_nextToken,+ getResourceMetricsResponse_httpStatus,++ -- ** ListAvailableResourceDimensions+ listAvailableResourceDimensions_maxResults,+ listAvailableResourceDimensions_nextToken,+ listAvailableResourceDimensions_serviceType,+ listAvailableResourceDimensions_identifier,+ listAvailableResourceDimensions_metrics,+ listAvailableResourceDimensionsResponse_metricDimensions,+ listAvailableResourceDimensionsResponse_nextToken,+ listAvailableResourceDimensionsResponse_httpStatus,++ -- ** ListAvailableResourceMetrics+ listAvailableResourceMetrics_maxResults,+ listAvailableResourceMetrics_nextToken,+ listAvailableResourceMetrics_serviceType,+ listAvailableResourceMetrics_identifier,+ listAvailableResourceMetrics_metricTypes,+ listAvailableResourceMetricsResponse_metrics,+ listAvailableResourceMetricsResponse_nextToken,+ listAvailableResourceMetricsResponse_httpStatus,++ -- * Types++ -- ** DataPoint+ dataPoint_timestamp,+ dataPoint_value,++ -- ** DimensionDetail+ dimensionDetail_identifier,++ -- ** DimensionGroup+ dimensionGroup_dimensions,+ dimensionGroup_limit,+ dimensionGroup_group,++ -- ** DimensionGroupDetail+ dimensionGroupDetail_dimensions,+ dimensionGroupDetail_group,++ -- ** DimensionKeyDescription+ dimensionKeyDescription_additionalMetrics,+ dimensionKeyDescription_dimensions,+ dimensionKeyDescription_partitions,+ dimensionKeyDescription_total,++ -- ** DimensionKeyDetail+ dimensionKeyDetail_dimension,+ dimensionKeyDetail_status,+ dimensionKeyDetail_value,++ -- ** FeatureMetadata+ featureMetadata_status,++ -- ** MetricDimensionGroups+ metricDimensionGroups_groups,+ metricDimensionGroups_metric,++ -- ** MetricKeyDataPoints+ metricKeyDataPoints_dataPoints,+ metricKeyDataPoints_key,++ -- ** MetricQuery+ metricQuery_filter,+ metricQuery_groupBy,+ metricQuery_metric,++ -- ** ResponsePartitionKey+ responsePartitionKey_dimensions,++ -- ** ResponseResourceMetric+ responseResourceMetric_description,+ responseResourceMetric_metric,+ responseResourceMetric_unit,++ -- ** ResponseResourceMetricKey+ responseResourceMetricKey_dimensions,+ responseResourceMetricKey_metric,+ )+where++import Amazonka.Pi.DescribeDimensionKeys+import Amazonka.Pi.GetDimensionKeyDetails+import Amazonka.Pi.GetResourceMetadata+import Amazonka.Pi.GetResourceMetrics+import Amazonka.Pi.ListAvailableResourceDimensions+import Amazonka.Pi.ListAvailableResourceMetrics+import Amazonka.Pi.Types.DataPoint+import Amazonka.Pi.Types.DimensionDetail+import Amazonka.Pi.Types.DimensionGroup+import Amazonka.Pi.Types.DimensionGroupDetail+import Amazonka.Pi.Types.DimensionKeyDescription+import Amazonka.Pi.Types.DimensionKeyDetail+import Amazonka.Pi.Types.FeatureMetadata+import Amazonka.Pi.Types.MetricDimensionGroups+import Amazonka.Pi.Types.MetricKeyDataPoints+import Amazonka.Pi.Types.MetricQuery+import Amazonka.Pi.Types.ResponsePartitionKey+import Amazonka.Pi.Types.ResponseResourceMetric+import Amazonka.Pi.Types.ResponseResourceMetricKey
+ gen/Amazonka/Pi/ListAvailableResourceDimensions.hs view
@@ -0,0 +1,303 @@+{-# 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.Pi.ListAvailableResourceDimensions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve the dimensions that can be queried for each specified metric+-- type on a specified DB instance.+module Amazonka.Pi.ListAvailableResourceDimensions+ ( -- * Creating a Request+ ListAvailableResourceDimensions (..),+ newListAvailableResourceDimensions,++ -- * Request Lenses+ listAvailableResourceDimensions_maxResults,+ listAvailableResourceDimensions_nextToken,+ listAvailableResourceDimensions_serviceType,+ listAvailableResourceDimensions_identifier,+ listAvailableResourceDimensions_metrics,++ -- * Destructuring the Response+ ListAvailableResourceDimensionsResponse (..),+ newListAvailableResourceDimensionsResponse,++ -- * Response Lenses+ listAvailableResourceDimensionsResponse_metricDimensions,+ listAvailableResourceDimensionsResponse_nextToken,+ listAvailableResourceDimensionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAvailableResourceDimensions' smart constructor.+data ListAvailableResourceDimensions = ListAvailableResourceDimensions'+ { -- | The maximum number of items to return in the response. If more items+ -- exist than the specified @MaxRecords@ value, a pagination token is+ -- included in the response so that the remaining results can be retrieved.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An optional pagination token provided by a previous request. If this+ -- parameter is specified, the response includes only records beyond the+ -- token, up to the value specified by @MaxRecords@.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services service for which Performance Insights returns+ -- metrics.+ serviceType :: ServiceType,+ -- | An immutable identifier for a data source that is unique within an+ -- Amazon Web Services Region. Performance Insights gathers metrics from+ -- this data source. To use an Amazon RDS DB instance as a data source,+ -- specify its @DbiResourceId@ value. For example, specify+ -- @db-ABCDEFGHIJKLMNOPQRSTU1VWZ@.+ identifier :: Prelude.Text,+ -- | The types of metrics for which to retrieve dimensions. Valid values+ -- include @db.load@.+ metrics :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAvailableResourceDimensions' 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', 'listAvailableResourceDimensions_maxResults' - The maximum number of items to return in the response. If more items+-- exist than the specified @MaxRecords@ value, a pagination token is+-- included in the response so that the remaining results can be retrieved.+--+-- 'nextToken', 'listAvailableResourceDimensions_nextToken' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+--+-- 'serviceType', 'listAvailableResourceDimensions_serviceType' - The Amazon Web Services service for which Performance Insights returns+-- metrics.+--+-- 'identifier', 'listAvailableResourceDimensions_identifier' - An immutable identifier for a data source that is unique within an+-- Amazon Web Services Region. Performance Insights gathers metrics from+-- this data source. To use an Amazon RDS DB instance as a data source,+-- specify its @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VWZ@.+--+-- 'metrics', 'listAvailableResourceDimensions_metrics' - The types of metrics for which to retrieve dimensions. Valid values+-- include @db.load@.+newListAvailableResourceDimensions ::+ -- | 'serviceType'+ ServiceType ->+ -- | 'identifier'+ Prelude.Text ->+ -- | 'metrics'+ Prelude.NonEmpty Prelude.Text ->+ ListAvailableResourceDimensions+newListAvailableResourceDimensions+ pServiceType_+ pIdentifier_+ pMetrics_ =+ ListAvailableResourceDimensions'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ serviceType = pServiceType_,+ identifier = pIdentifier_,+ metrics = Lens.coerced Lens.# pMetrics_+ }++-- | The maximum number of items to return in the response. If more items+-- exist than the specified @MaxRecords@ value, a pagination token is+-- included in the response so that the remaining results can be retrieved.+listAvailableResourceDimensions_maxResults :: Lens.Lens' ListAvailableResourceDimensions (Prelude.Maybe Prelude.Natural)+listAvailableResourceDimensions_maxResults = Lens.lens (\ListAvailableResourceDimensions' {maxResults} -> maxResults) (\s@ListAvailableResourceDimensions' {} a -> s {maxResults = a} :: ListAvailableResourceDimensions)++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+listAvailableResourceDimensions_nextToken :: Lens.Lens' ListAvailableResourceDimensions (Prelude.Maybe Prelude.Text)+listAvailableResourceDimensions_nextToken = Lens.lens (\ListAvailableResourceDimensions' {nextToken} -> nextToken) (\s@ListAvailableResourceDimensions' {} a -> s {nextToken = a} :: ListAvailableResourceDimensions)++-- | The Amazon Web Services service for which Performance Insights returns+-- metrics.+listAvailableResourceDimensions_serviceType :: Lens.Lens' ListAvailableResourceDimensions ServiceType+listAvailableResourceDimensions_serviceType = Lens.lens (\ListAvailableResourceDimensions' {serviceType} -> serviceType) (\s@ListAvailableResourceDimensions' {} a -> s {serviceType = a} :: ListAvailableResourceDimensions)++-- | An immutable identifier for a data source that is unique within an+-- Amazon Web Services Region. Performance Insights gathers metrics from+-- this data source. To use an Amazon RDS DB instance as a data source,+-- specify its @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VWZ@.+listAvailableResourceDimensions_identifier :: Lens.Lens' ListAvailableResourceDimensions Prelude.Text+listAvailableResourceDimensions_identifier = Lens.lens (\ListAvailableResourceDimensions' {identifier} -> identifier) (\s@ListAvailableResourceDimensions' {} a -> s {identifier = a} :: ListAvailableResourceDimensions)++-- | The types of metrics for which to retrieve dimensions. Valid values+-- include @db.load@.+listAvailableResourceDimensions_metrics :: Lens.Lens' ListAvailableResourceDimensions (Prelude.NonEmpty Prelude.Text)+listAvailableResourceDimensions_metrics = Lens.lens (\ListAvailableResourceDimensions' {metrics} -> metrics) (\s@ListAvailableResourceDimensions' {} a -> s {metrics = a} :: ListAvailableResourceDimensions) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ ListAvailableResourceDimensions+ where+ type+ AWSResponse ListAvailableResourceDimensions =+ ListAvailableResourceDimensionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAvailableResourceDimensionsResponse'+ Prelude.<$> ( x+ Data..?> "MetricDimensions"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListAvailableResourceDimensions+ where+ hashWithSalt+ _salt+ ListAvailableResourceDimensions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` serviceType+ `Prelude.hashWithSalt` identifier+ `Prelude.hashWithSalt` metrics++instance+ Prelude.NFData+ ListAvailableResourceDimensions+ where+ rnf ListAvailableResourceDimensions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf serviceType+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf metrics++instance+ Data.ToHeaders+ ListAvailableResourceDimensions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "PerformanceInsightsv20180227.ListAvailableResourceDimensions" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAvailableResourceDimensions where+ toJSON ListAvailableResourceDimensions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("ServiceType" Data..= serviceType),+ Prelude.Just ("Identifier" Data..= identifier),+ Prelude.Just ("Metrics" Data..= metrics)+ ]+ )++instance Data.ToPath ListAvailableResourceDimensions where+ toPath = Prelude.const "/"++instance Data.ToQuery ListAvailableResourceDimensions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAvailableResourceDimensionsResponse' smart constructor.+data ListAvailableResourceDimensionsResponse = ListAvailableResourceDimensionsResponse'+ { -- | The dimension information returned for requested metric types.+ metricDimensions :: Prelude.Maybe [MetricDimensionGroups],+ -- | An optional pagination token provided by a previous request. If this+ -- parameter is specified, the response includes only records beyond the+ -- token, up to the value specified by @MaxRecords@.+ 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 'ListAvailableResourceDimensionsResponse' 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:+--+-- 'metricDimensions', 'listAvailableResourceDimensionsResponse_metricDimensions' - The dimension information returned for requested metric types.+--+-- 'nextToken', 'listAvailableResourceDimensionsResponse_nextToken' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+--+-- 'httpStatus', 'listAvailableResourceDimensionsResponse_httpStatus' - The response's http status code.+newListAvailableResourceDimensionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAvailableResourceDimensionsResponse+newListAvailableResourceDimensionsResponse+ pHttpStatus_ =+ ListAvailableResourceDimensionsResponse'+ { metricDimensions =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The dimension information returned for requested metric types.+listAvailableResourceDimensionsResponse_metricDimensions :: Lens.Lens' ListAvailableResourceDimensionsResponse (Prelude.Maybe [MetricDimensionGroups])+listAvailableResourceDimensionsResponse_metricDimensions = Lens.lens (\ListAvailableResourceDimensionsResponse' {metricDimensions} -> metricDimensions) (\s@ListAvailableResourceDimensionsResponse' {} a -> s {metricDimensions = a} :: ListAvailableResourceDimensionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+listAvailableResourceDimensionsResponse_nextToken :: Lens.Lens' ListAvailableResourceDimensionsResponse (Prelude.Maybe Prelude.Text)+listAvailableResourceDimensionsResponse_nextToken = Lens.lens (\ListAvailableResourceDimensionsResponse' {nextToken} -> nextToken) (\s@ListAvailableResourceDimensionsResponse' {} a -> s {nextToken = a} :: ListAvailableResourceDimensionsResponse)++-- | The response's http status code.+listAvailableResourceDimensionsResponse_httpStatus :: Lens.Lens' ListAvailableResourceDimensionsResponse Prelude.Int+listAvailableResourceDimensionsResponse_httpStatus = Lens.lens (\ListAvailableResourceDimensionsResponse' {httpStatus} -> httpStatus) (\s@ListAvailableResourceDimensionsResponse' {} a -> s {httpStatus = a} :: ListAvailableResourceDimensionsResponse)++instance+ Prelude.NFData+ ListAvailableResourceDimensionsResponse+ where+ rnf ListAvailableResourceDimensionsResponse' {..} =+ Prelude.rnf metricDimensions+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pi/ListAvailableResourceMetrics.hs view
@@ -0,0 +1,321 @@+{-# 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.Pi.ListAvailableResourceMetrics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve metrics of the specified types that can be queried for a+-- specified DB instance.+module Amazonka.Pi.ListAvailableResourceMetrics+ ( -- * Creating a Request+ ListAvailableResourceMetrics (..),+ newListAvailableResourceMetrics,++ -- * Request Lenses+ listAvailableResourceMetrics_maxResults,+ listAvailableResourceMetrics_nextToken,+ listAvailableResourceMetrics_serviceType,+ listAvailableResourceMetrics_identifier,+ listAvailableResourceMetrics_metricTypes,++ -- * Destructuring the Response+ ListAvailableResourceMetricsResponse (..),+ newListAvailableResourceMetricsResponse,++ -- * Response Lenses+ listAvailableResourceMetricsResponse_metrics,+ listAvailableResourceMetricsResponse_nextToken,+ listAvailableResourceMetricsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAvailableResourceMetrics' smart constructor.+data ListAvailableResourceMetrics = ListAvailableResourceMetrics'+ { -- | The maximum number of items to return. If the @MaxRecords@ value is less+ -- than the number of existing items, the response includes a pagination+ -- token.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | An optional pagination token provided by a previous request. If this+ -- parameter is specified, the response includes only records beyond the+ -- token, up to the value specified by @MaxRecords@.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services service for which Performance Insights returns+ -- metrics.+ serviceType :: ServiceType,+ -- | An immutable identifier for a data source that is unique within an+ -- Amazon Web Services Region. Performance Insights gathers metrics from+ -- this data source. To use an Amazon RDS DB instance as a data source,+ -- specify its @DbiResourceId@ value. For example, specify+ -- @db-ABCDEFGHIJKLMNOPQRSTU1VWZ@.+ identifier :: Prelude.Text,+ -- | The types of metrics to return in the response. Valid values in the+ -- array include the following:+ --+ -- - @os@ (OS counter metrics) - All engines+ --+ -- - @db@ (DB load metrics) - All engines except for Amazon DocumentDB+ --+ -- - @db.sql.stats@ (per-SQL metrics) - All engines except for Amazon+ -- DocumentDB+ --+ -- - @db.sql_tokenized.stats@ (per-SQL digest metrics) - All engines+ -- except for Amazon DocumentDB+ metricTypes :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAvailableResourceMetrics' 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', 'listAvailableResourceMetrics_maxResults' - The maximum number of items to return. If the @MaxRecords@ value is less+-- than the number of existing items, the response includes a pagination+-- token.+--+-- 'nextToken', 'listAvailableResourceMetrics_nextToken' - An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+--+-- 'serviceType', 'listAvailableResourceMetrics_serviceType' - The Amazon Web Services service for which Performance Insights returns+-- metrics.+--+-- 'identifier', 'listAvailableResourceMetrics_identifier' - An immutable identifier for a data source that is unique within an+-- Amazon Web Services Region. Performance Insights gathers metrics from+-- this data source. To use an Amazon RDS DB instance as a data source,+-- specify its @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VWZ@.+--+-- 'metricTypes', 'listAvailableResourceMetrics_metricTypes' - The types of metrics to return in the response. Valid values in the+-- array include the following:+--+-- - @os@ (OS counter metrics) - All engines+--+-- - @db@ (DB load metrics) - All engines except for Amazon DocumentDB+--+-- - @db.sql.stats@ (per-SQL metrics) - All engines except for Amazon+-- DocumentDB+--+-- - @db.sql_tokenized.stats@ (per-SQL digest metrics) - All engines+-- except for Amazon DocumentDB+newListAvailableResourceMetrics ::+ -- | 'serviceType'+ ServiceType ->+ -- | 'identifier'+ Prelude.Text ->+ ListAvailableResourceMetrics+newListAvailableResourceMetrics+ pServiceType_+ pIdentifier_ =+ ListAvailableResourceMetrics'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ serviceType = pServiceType_,+ identifier = pIdentifier_,+ metricTypes = Prelude.mempty+ }++-- | The maximum number of items to return. If the @MaxRecords@ value is less+-- than the number of existing items, the response includes a pagination+-- token.+listAvailableResourceMetrics_maxResults :: Lens.Lens' ListAvailableResourceMetrics (Prelude.Maybe Prelude.Natural)+listAvailableResourceMetrics_maxResults = Lens.lens (\ListAvailableResourceMetrics' {maxResults} -> maxResults) (\s@ListAvailableResourceMetrics' {} a -> s {maxResults = a} :: ListAvailableResourceMetrics)++-- | An optional pagination token provided by a previous request. If this+-- parameter is specified, the response includes only records beyond the+-- token, up to the value specified by @MaxRecords@.+listAvailableResourceMetrics_nextToken :: Lens.Lens' ListAvailableResourceMetrics (Prelude.Maybe Prelude.Text)+listAvailableResourceMetrics_nextToken = Lens.lens (\ListAvailableResourceMetrics' {nextToken} -> nextToken) (\s@ListAvailableResourceMetrics' {} a -> s {nextToken = a} :: ListAvailableResourceMetrics)++-- | The Amazon Web Services service for which Performance Insights returns+-- metrics.+listAvailableResourceMetrics_serviceType :: Lens.Lens' ListAvailableResourceMetrics ServiceType+listAvailableResourceMetrics_serviceType = Lens.lens (\ListAvailableResourceMetrics' {serviceType} -> serviceType) (\s@ListAvailableResourceMetrics' {} a -> s {serviceType = a} :: ListAvailableResourceMetrics)++-- | An immutable identifier for a data source that is unique within an+-- Amazon Web Services Region. Performance Insights gathers metrics from+-- this data source. To use an Amazon RDS DB instance as a data source,+-- specify its @DbiResourceId@ value. For example, specify+-- @db-ABCDEFGHIJKLMNOPQRSTU1VWZ@.+listAvailableResourceMetrics_identifier :: Lens.Lens' ListAvailableResourceMetrics Prelude.Text+listAvailableResourceMetrics_identifier = Lens.lens (\ListAvailableResourceMetrics' {identifier} -> identifier) (\s@ListAvailableResourceMetrics' {} a -> s {identifier = a} :: ListAvailableResourceMetrics)++-- | The types of metrics to return in the response. Valid values in the+-- array include the following:+--+-- - @os@ (OS counter metrics) - All engines+--+-- - @db@ (DB load metrics) - All engines except for Amazon DocumentDB+--+-- - @db.sql.stats@ (per-SQL metrics) - All engines except for Amazon+-- DocumentDB+--+-- - @db.sql_tokenized.stats@ (per-SQL digest metrics) - All engines+-- except for Amazon DocumentDB+listAvailableResourceMetrics_metricTypes :: Lens.Lens' ListAvailableResourceMetrics [Prelude.Text]+listAvailableResourceMetrics_metricTypes = Lens.lens (\ListAvailableResourceMetrics' {metricTypes} -> metricTypes) (\s@ListAvailableResourceMetrics' {} a -> s {metricTypes = a} :: ListAvailableResourceMetrics) Prelude.. Lens.coerced++instance Core.AWSRequest ListAvailableResourceMetrics where+ type+ AWSResponse ListAvailableResourceMetrics =+ ListAvailableResourceMetricsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAvailableResourceMetricsResponse'+ Prelude.<$> (x Data..?> "Metrics" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListAvailableResourceMetrics+ where+ hashWithSalt _salt ListAvailableResourceMetrics' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` serviceType+ `Prelude.hashWithSalt` identifier+ `Prelude.hashWithSalt` metricTypes++instance Prelude.NFData ListAvailableResourceMetrics where+ rnf ListAvailableResourceMetrics' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf serviceType+ `Prelude.seq` Prelude.rnf identifier+ `Prelude.seq` Prelude.rnf metricTypes++instance Data.ToHeaders ListAvailableResourceMetrics where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "PerformanceInsightsv20180227.ListAvailableResourceMetrics" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAvailableResourceMetrics where+ toJSON ListAvailableResourceMetrics' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("ServiceType" Data..= serviceType),+ Prelude.Just ("Identifier" Data..= identifier),+ Prelude.Just ("MetricTypes" Data..= metricTypes)+ ]+ )++instance Data.ToPath ListAvailableResourceMetrics where+ toPath = Prelude.const "/"++instance Data.ToQuery ListAvailableResourceMetrics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAvailableResourceMetricsResponse' smart constructor.+data ListAvailableResourceMetricsResponse = ListAvailableResourceMetricsResponse'+ { -- | An array of metrics available to query. Each array element contains the+ -- full name, description, and unit of the metric.+ metrics :: Prelude.Maybe [ResponseResourceMetric],+ -- | A pagination token that indicates the response didn’t return all+ -- available records because @MaxRecords@ was specified in the previous+ -- request. To get the remaining records, specify @NextToken@ in a separate+ -- request with this value.+ 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 'ListAvailableResourceMetricsResponse' 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:+--+-- 'metrics', 'listAvailableResourceMetricsResponse_metrics' - An array of metrics available to query. Each array element contains the+-- full name, description, and unit of the metric.+--+-- 'nextToken', 'listAvailableResourceMetricsResponse_nextToken' - A pagination token that indicates the response didn’t return all+-- available records because @MaxRecords@ was specified in the previous+-- request. To get the remaining records, specify @NextToken@ in a separate+-- request with this value.+--+-- 'httpStatus', 'listAvailableResourceMetricsResponse_httpStatus' - The response's http status code.+newListAvailableResourceMetricsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAvailableResourceMetricsResponse+newListAvailableResourceMetricsResponse pHttpStatus_ =+ ListAvailableResourceMetricsResponse'+ { metrics =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of metrics available to query. Each array element contains the+-- full name, description, and unit of the metric.+listAvailableResourceMetricsResponse_metrics :: Lens.Lens' ListAvailableResourceMetricsResponse (Prelude.Maybe [ResponseResourceMetric])+listAvailableResourceMetricsResponse_metrics = Lens.lens (\ListAvailableResourceMetricsResponse' {metrics} -> metrics) (\s@ListAvailableResourceMetricsResponse' {} a -> s {metrics = a} :: ListAvailableResourceMetricsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that indicates the response didn’t return all+-- available records because @MaxRecords@ was specified in the previous+-- request. To get the remaining records, specify @NextToken@ in a separate+-- request with this value.+listAvailableResourceMetricsResponse_nextToken :: Lens.Lens' ListAvailableResourceMetricsResponse (Prelude.Maybe Prelude.Text)+listAvailableResourceMetricsResponse_nextToken = Lens.lens (\ListAvailableResourceMetricsResponse' {nextToken} -> nextToken) (\s@ListAvailableResourceMetricsResponse' {} a -> s {nextToken = a} :: ListAvailableResourceMetricsResponse)++-- | The response's http status code.+listAvailableResourceMetricsResponse_httpStatus :: Lens.Lens' ListAvailableResourceMetricsResponse Prelude.Int+listAvailableResourceMetricsResponse_httpStatus = Lens.lens (\ListAvailableResourceMetricsResponse' {httpStatus} -> httpStatus) (\s@ListAvailableResourceMetricsResponse' {} a -> s {httpStatus = a} :: ListAvailableResourceMetricsResponse)++instance+ Prelude.NFData+ ListAvailableResourceMetricsResponse+ where+ rnf ListAvailableResourceMetricsResponse' {..} =+ Prelude.rnf metrics+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Pi/Types.hs view
@@ -0,0 +1,227 @@+{-# 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.Pi.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.Pi.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _InternalServiceError,+ _InvalidArgumentException,+ _NotAuthorizedException,++ -- * DetailStatus+ DetailStatus (..),++ -- * FeatureStatus+ FeatureStatus (..),++ -- * ServiceType+ ServiceType (..),++ -- * DataPoint+ DataPoint (..),+ newDataPoint,+ dataPoint_timestamp,+ dataPoint_value,++ -- * DimensionDetail+ DimensionDetail (..),+ newDimensionDetail,+ dimensionDetail_identifier,++ -- * DimensionGroup+ DimensionGroup (..),+ newDimensionGroup,+ dimensionGroup_dimensions,+ dimensionGroup_limit,+ dimensionGroup_group,++ -- * DimensionGroupDetail+ DimensionGroupDetail (..),+ newDimensionGroupDetail,+ dimensionGroupDetail_dimensions,+ dimensionGroupDetail_group,++ -- * DimensionKeyDescription+ DimensionKeyDescription (..),+ newDimensionKeyDescription,+ dimensionKeyDescription_additionalMetrics,+ dimensionKeyDescription_dimensions,+ dimensionKeyDescription_partitions,+ dimensionKeyDescription_total,++ -- * DimensionKeyDetail+ DimensionKeyDetail (..),+ newDimensionKeyDetail,+ dimensionKeyDetail_dimension,+ dimensionKeyDetail_status,+ dimensionKeyDetail_value,++ -- * FeatureMetadata+ FeatureMetadata (..),+ newFeatureMetadata,+ featureMetadata_status,++ -- * MetricDimensionGroups+ MetricDimensionGroups (..),+ newMetricDimensionGroups,+ metricDimensionGroups_groups,+ metricDimensionGroups_metric,++ -- * MetricKeyDataPoints+ MetricKeyDataPoints (..),+ newMetricKeyDataPoints,+ metricKeyDataPoints_dataPoints,+ metricKeyDataPoints_key,++ -- * MetricQuery+ MetricQuery (..),+ newMetricQuery,+ metricQuery_filter,+ metricQuery_groupBy,+ metricQuery_metric,++ -- * ResponsePartitionKey+ ResponsePartitionKey (..),+ newResponsePartitionKey,+ responsePartitionKey_dimensions,++ -- * ResponseResourceMetric+ ResponseResourceMetric (..),+ newResponseResourceMetric,+ responseResourceMetric_description,+ responseResourceMetric_metric,+ responseResourceMetric_unit,++ -- * ResponseResourceMetricKey+ ResponseResourceMetricKey (..),+ newResponseResourceMetricKey,+ responseResourceMetricKey_dimensions,+ responseResourceMetricKey_metric,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Pi.Types.DataPoint+import Amazonka.Pi.Types.DetailStatus+import Amazonka.Pi.Types.DimensionDetail+import Amazonka.Pi.Types.DimensionGroup+import Amazonka.Pi.Types.DimensionGroupDetail+import Amazonka.Pi.Types.DimensionKeyDescription+import Amazonka.Pi.Types.DimensionKeyDetail+import Amazonka.Pi.Types.FeatureMetadata+import Amazonka.Pi.Types.FeatureStatus+import Amazonka.Pi.Types.MetricDimensionGroups+import Amazonka.Pi.Types.MetricKeyDataPoints+import Amazonka.Pi.Types.MetricQuery+import Amazonka.Pi.Types.ResponsePartitionKey+import Amazonka.Pi.Types.ResponseResourceMetric+import Amazonka.Pi.Types.ResponseResourceMetricKey+import Amazonka.Pi.Types.ServiceType+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-02-27@ of the Amazon Performance Insights SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "Pi",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "pi",+ Core.signingName = "pi",+ Core.version = "2018-02-27",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "Pi",+ 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++-- | The request failed due to an unknown error.+_InternalServiceError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServiceError =+ Core._MatchServiceError+ defaultService+ "InternalServiceError"++-- | One of the arguments provided is invalid for this request.+_InvalidArgumentException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidArgumentException =+ Core._MatchServiceError+ defaultService+ "InvalidArgumentException"++-- | The user is not authorized to perform this request.+_NotAuthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotAuthorizedException =+ Core._MatchServiceError+ defaultService+ "NotAuthorizedException"
+ gen/Amazonka/Pi/Types/DataPoint.hs view
@@ -0,0 +1,90 @@+{-# 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.Pi.Types.DataPoint+-- 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.Pi.Types.DataPoint 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 timestamp, and a single numerical value, which together represent a+-- measurement at a particular point in time.+--+-- /See:/ 'newDataPoint' smart constructor.+data DataPoint = DataPoint'+ { -- | The time, in epoch format, associated with a particular @Value@.+ timestamp :: Data.POSIX,+ -- | The actual value associated with a particular @Timestamp@.+ value :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataPoint' 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:+--+-- 'timestamp', 'dataPoint_timestamp' - The time, in epoch format, associated with a particular @Value@.+--+-- 'value', 'dataPoint_value' - The actual value associated with a particular @Timestamp@.+newDataPoint ::+ -- | 'timestamp'+ Prelude.UTCTime ->+ -- | 'value'+ Prelude.Double ->+ DataPoint+newDataPoint pTimestamp_ pValue_ =+ DataPoint'+ { timestamp =+ Data._Time Lens.# pTimestamp_,+ value = pValue_+ }++-- | The time, in epoch format, associated with a particular @Value@.+dataPoint_timestamp :: Lens.Lens' DataPoint Prelude.UTCTime+dataPoint_timestamp = Lens.lens (\DataPoint' {timestamp} -> timestamp) (\s@DataPoint' {} a -> s {timestamp = a} :: DataPoint) Prelude.. Data._Time++-- | The actual value associated with a particular @Timestamp@.+dataPoint_value :: Lens.Lens' DataPoint Prelude.Double+dataPoint_value = Lens.lens (\DataPoint' {value} -> value) (\s@DataPoint' {} a -> s {value = a} :: DataPoint)++instance Data.FromJSON DataPoint where+ parseJSON =+ Data.withObject+ "DataPoint"+ ( \x ->+ DataPoint'+ Prelude.<$> (x Data..: "Timestamp")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable DataPoint where+ hashWithSalt _salt DataPoint' {..} =+ _salt+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` value++instance Prelude.NFData DataPoint where+ rnf DataPoint' {..} =+ Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/Pi/Types/DetailStatus.hs view
@@ -0,0 +1,76 @@+{-# 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.Pi.Types.DetailStatus+-- 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.Pi.Types.DetailStatus+ ( DetailStatus+ ( ..,+ DetailStatus_AVAILABLE,+ DetailStatus_PROCESSING,+ DetailStatus_UNAVAILABLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DetailStatus = DetailStatus'+ { fromDetailStatus ::+ 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 DetailStatus_AVAILABLE :: DetailStatus+pattern DetailStatus_AVAILABLE = DetailStatus' "AVAILABLE"++pattern DetailStatus_PROCESSING :: DetailStatus+pattern DetailStatus_PROCESSING = DetailStatus' "PROCESSING"++pattern DetailStatus_UNAVAILABLE :: DetailStatus+pattern DetailStatus_UNAVAILABLE = DetailStatus' "UNAVAILABLE"++{-# COMPLETE+ DetailStatus_AVAILABLE,+ DetailStatus_PROCESSING,+ DetailStatus_UNAVAILABLE,+ DetailStatus'+ #-}
+ gen/Amazonka/Pi/Types/DimensionDetail.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Pi.Types.DimensionDetail+-- 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.Pi.Types.DimensionDetail 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++-- | The information about a dimension.+--+-- /See:/ 'newDimensionDetail' smart constructor.+data DimensionDetail = DimensionDetail'+ { -- | The identifier of a dimension.+ identifier :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionDetail' 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:+--+-- 'identifier', 'dimensionDetail_identifier' - The identifier of a dimension.+newDimensionDetail ::+ DimensionDetail+newDimensionDetail =+ DimensionDetail' {identifier = Prelude.Nothing}++-- | The identifier of a dimension.+dimensionDetail_identifier :: Lens.Lens' DimensionDetail (Prelude.Maybe Prelude.Text)+dimensionDetail_identifier = Lens.lens (\DimensionDetail' {identifier} -> identifier) (\s@DimensionDetail' {} a -> s {identifier = a} :: DimensionDetail)++instance Data.FromJSON DimensionDetail where+ parseJSON =+ Data.withObject+ "DimensionDetail"+ ( \x ->+ DimensionDetail'+ Prelude.<$> (x Data..:? "Identifier")+ )++instance Prelude.Hashable DimensionDetail where+ hashWithSalt _salt DimensionDetail' {..} =+ _salt `Prelude.hashWithSalt` identifier++instance Prelude.NFData DimensionDetail where+ rnf DimensionDetail' {..} = Prelude.rnf identifier
+ gen/Amazonka/Pi/Types/DimensionGroup.hs view
@@ -0,0 +1,579 @@+{-# 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.Pi.Types.DimensionGroup+-- 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.Pi.Types.DimensionGroup 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 logical grouping of Performance Insights metrics for a related subject+-- area. For example, the @db.sql@ dimension group consists of the+-- following dimensions:+--+-- - @db.sql.id@ - The hash of a running SQL statement, generated by+-- Performance Insights.+--+-- - @db.sql.db_id@ - Either the SQL ID generated by the database engine,+-- or a value generated by Performance Insights that begins with @pi-@.+--+-- - @db.sql.statement@ - The full text of the SQL statement that is+-- running, for example, @SELECT * FROM employees@.+--+-- - @db.sql_tokenized.id@ - The hash of the SQL digest generated by+-- Performance Insights.+--+-- Each response element returns a maximum of 500 bytes. For larger+-- elements, such as SQL statements, only the first 500 bytes are returned.+--+-- /See:/ 'newDimensionGroup' smart constructor.+data DimensionGroup = DimensionGroup'+ { -- | A list of specific dimensions from a dimension group. If this parameter+ -- is not present, then it signifies that all of the dimensions in the+ -- group were requested, or are present in the response.+ --+ -- Valid values for elements in the @Dimensions@ array are:+ --+ -- - @db.application.name@ - The name of the application that is+ -- connected to the database. Valid values are as follows:+ --+ -- - Aurora PostgreSQL+ --+ -- - Amazon RDS PostgreSQL+ --+ -- - Amazon DocumentDB+ --+ -- - @db.host.id@ - The host ID of the connected client (all engines).+ --+ -- - @db.host.name@ - The host name of the connected client (all+ -- engines).+ --+ -- - @db.name@ - The name of the database to which the client is+ -- connected. Valid values are as follows:+ --+ -- - Aurora PostgreSQL+ --+ -- - Amazon RDS PostgreSQL+ --+ -- - Aurora MySQL+ --+ -- - Amazon RDS MySQL+ --+ -- - Amazon RDS MariaDB+ --+ -- - Amazon DocumentDB+ --+ -- - @db.query.id@ - The query ID generated by Performance Insights (only+ -- Amazon DocumentDB).+ --+ -- - @db.query.db_id@ - The query ID generated by the database (only+ -- Amazon DocumentDB).+ --+ -- - @db.query.statement@ - The text of the query that is being run (only+ -- Amazon DocumentDB).+ --+ -- - @db.query.tokenized_id@+ --+ -- - @db.query.tokenized.id@ - The query digest ID generated by+ -- Performance Insights (only Amazon DocumentDB).+ --+ -- - @db.query.tokenized.db_id@ - The query digest ID generated by+ -- Performance Insights (only Amazon DocumentDB).+ --+ -- - @db.query.tokenized.statement@ - The text of the query digest (only+ -- Amazon DocumentDB).+ --+ -- - @db.session_type.name@ - The type of the current session (only+ -- Amazon DocumentDB).+ --+ -- - @db.sql.id@ - The hash of the full, non-tokenized SQL statement+ -- generated by Performance Insights (all engines except Amazon+ -- DocumentDB).+ --+ -- - @db.sql.db_id@ - Either the SQL ID generated by the database engine,+ -- or a value generated by Performance Insights that begins with @pi-@+ -- (all engines except Amazon DocumentDB).+ --+ -- - @db.sql.statement@ - The full text of the SQL statement that is+ -- running, as in @SELECT * FROM employees@ (all engines except Amazon+ -- DocumentDB)+ --+ -- - @db.sql.tokenized_id@+ --+ -- - @db.sql_tokenized.id@ - The hash of the SQL digest generated by+ -- Performance Insights (all engines except Amazon DocumentDB). In the+ -- console, @db.sql_tokenized.id@ is called the Support ID because+ -- Amazon Web Services Support can look at this data to help you+ -- troubleshoot database issues.+ --+ -- - @db.sql_tokenized.db_id@ - Either the native database ID used to+ -- refer to the SQL statement, or a synthetic ID such as+ -- @pi-2372568224@ that Performance Insights generates if the native+ -- database ID isn\'t available (all engines except Amazon DocumentDB).+ --+ -- - @db.sql_tokenized.statement@ - The text of the SQL digest, as in+ -- @SELECT * FROM employees WHERE employee_id = ?@ (all engines except+ -- Amazon DocumentDB)+ --+ -- - @db.user.id@ - The ID of the user logged in to the database (all+ -- engines except Amazon DocumentDB).+ --+ -- - @db.user.name@ - The name of the user logged in to the database (all+ -- engines except Amazon DocumentDB).+ --+ -- - @db.wait_event.name@ - The event for which the backend is waiting+ -- (all engines except Amazon DocumentDB).+ --+ -- - @db.wait_event.type@ - The type of event for which the backend is+ -- waiting (all engines except Amazon DocumentDB).+ --+ -- - @db.wait_event_type.name@ - The name of the event type for which the+ -- backend is waiting (all engines except Amazon DocumentDB).+ --+ -- - @db.wait_state.name@ - The event for which the backend is waiting+ -- (only Amazon DocumentDB).+ dimensions :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The maximum number of items to fetch for this dimension group.+ limit :: Prelude.Maybe Prelude.Natural,+ -- | The name of the dimension group. Valid values are as follows:+ --+ -- - @db@ - The name of the database to which the client is connected.+ -- The following values are permitted:+ --+ -- - Aurora PostgreSQL+ --+ -- - Amazon RDS PostgreSQL+ --+ -- - Aurora MySQL+ --+ -- - Amazon RDS MySQL+ --+ -- - Amazon RDS MariaDB+ --+ -- - Amazon DocumentDB+ --+ -- - @db.application@ - The name of the application that is connected to+ -- the database. The following values are permitted:+ --+ -- - Aurora PostgreSQL+ --+ -- - Amazon RDS PostgreSQL+ --+ -- - Amazon DocumentDB+ --+ -- - @db.host@ - The host name of the connected client (all engines).+ --+ -- - @db.query@ - The query that is currently running (only Amazon+ -- DocumentDB).+ --+ -- - @db.query_tokenized@ - The digest query (only Amazon DocumentDB).+ --+ -- - @db.session_type@ - The type of the current session (only Aurora+ -- PostgreSQL and RDS PostgreSQL).+ --+ -- - @db.sql@ - The text of the SQL statement that is currently running+ -- (all engines except Amazon DocumentDB).+ --+ -- - @db.sql_tokenized@ - The SQL digest (all engines except Amazon+ -- DocumentDB).+ --+ -- - @db.user@ - The user logged in to the database (all engines except+ -- Amazon DocumentDB).+ --+ -- - @db.wait_event@ - The event for which the database backend is+ -- waiting (all engines except Amazon DocumentDB).+ --+ -- - @db.wait_event_type@ - The type of event for which the database+ -- backend is waiting (all engines except Amazon DocumentDB).+ --+ -- - @db.wait_state@ - The event for which the database backend is+ -- waiting (only Amazon DocumentDB).+ group' :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionGroup' 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', 'dimensionGroup_dimensions' - A list of specific dimensions from a dimension group. If this parameter+-- is not present, then it signifies that all of the dimensions in the+-- group were requested, or are present in the response.+--+-- Valid values for elements in the @Dimensions@ array are:+--+-- - @db.application.name@ - The name of the application that is+-- connected to the database. Valid values are as follows:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Amazon DocumentDB+--+-- - @db.host.id@ - The host ID of the connected client (all engines).+--+-- - @db.host.name@ - The host name of the connected client (all+-- engines).+--+-- - @db.name@ - The name of the database to which the client is+-- connected. Valid values are as follows:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Aurora MySQL+--+-- - Amazon RDS MySQL+--+-- - Amazon RDS MariaDB+--+-- - Amazon DocumentDB+--+-- - @db.query.id@ - The query ID generated by Performance Insights (only+-- Amazon DocumentDB).+--+-- - @db.query.db_id@ - The query ID generated by the database (only+-- Amazon DocumentDB).+--+-- - @db.query.statement@ - The text of the query that is being run (only+-- Amazon DocumentDB).+--+-- - @db.query.tokenized_id@+--+-- - @db.query.tokenized.id@ - The query digest ID generated by+-- Performance Insights (only Amazon DocumentDB).+--+-- - @db.query.tokenized.db_id@ - The query digest ID generated by+-- Performance Insights (only Amazon DocumentDB).+--+-- - @db.query.tokenized.statement@ - The text of the query digest (only+-- Amazon DocumentDB).+--+-- - @db.session_type.name@ - The type of the current session (only+-- Amazon DocumentDB).+--+-- - @db.sql.id@ - The hash of the full, non-tokenized SQL statement+-- generated by Performance Insights (all engines except Amazon+-- DocumentDB).+--+-- - @db.sql.db_id@ - Either the SQL ID generated by the database engine,+-- or a value generated by Performance Insights that begins with @pi-@+-- (all engines except Amazon DocumentDB).+--+-- - @db.sql.statement@ - The full text of the SQL statement that is+-- running, as in @SELECT * FROM employees@ (all engines except Amazon+-- DocumentDB)+--+-- - @db.sql.tokenized_id@+--+-- - @db.sql_tokenized.id@ - The hash of the SQL digest generated by+-- Performance Insights (all engines except Amazon DocumentDB). In the+-- console, @db.sql_tokenized.id@ is called the Support ID because+-- Amazon Web Services Support can look at this data to help you+-- troubleshoot database issues.+--+-- - @db.sql_tokenized.db_id@ - Either the native database ID used to+-- refer to the SQL statement, or a synthetic ID such as+-- @pi-2372568224@ that Performance Insights generates if the native+-- database ID isn\'t available (all engines except Amazon DocumentDB).+--+-- - @db.sql_tokenized.statement@ - The text of the SQL digest, as in+-- @SELECT * FROM employees WHERE employee_id = ?@ (all engines except+-- Amazon DocumentDB)+--+-- - @db.user.id@ - The ID of the user logged in to the database (all+-- engines except Amazon DocumentDB).+--+-- - @db.user.name@ - The name of the user logged in to the database (all+-- engines except Amazon DocumentDB).+--+-- - @db.wait_event.name@ - The event for which the backend is waiting+-- (all engines except Amazon DocumentDB).+--+-- - @db.wait_event.type@ - The type of event for which the backend is+-- waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_event_type.name@ - The name of the event type for which the+-- backend is waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_state.name@ - The event for which the backend is waiting+-- (only Amazon DocumentDB).+--+-- 'limit', 'dimensionGroup_limit' - The maximum number of items to fetch for this dimension group.+--+-- 'group'', 'dimensionGroup_group' - The name of the dimension group. Valid values are as follows:+--+-- - @db@ - The name of the database to which the client is connected.+-- The following values are permitted:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Aurora MySQL+--+-- - Amazon RDS MySQL+--+-- - Amazon RDS MariaDB+--+-- - Amazon DocumentDB+--+-- - @db.application@ - The name of the application that is connected to+-- the database. The following values are permitted:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Amazon DocumentDB+--+-- - @db.host@ - The host name of the connected client (all engines).+--+-- - @db.query@ - The query that is currently running (only Amazon+-- DocumentDB).+--+-- - @db.query_tokenized@ - The digest query (only Amazon DocumentDB).+--+-- - @db.session_type@ - The type of the current session (only Aurora+-- PostgreSQL and RDS PostgreSQL).+--+-- - @db.sql@ - The text of the SQL statement that is currently running+-- (all engines except Amazon DocumentDB).+--+-- - @db.sql_tokenized@ - The SQL digest (all engines except Amazon+-- DocumentDB).+--+-- - @db.user@ - The user logged in to the database (all engines except+-- Amazon DocumentDB).+--+-- - @db.wait_event@ - The event for which the database backend is+-- waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_event_type@ - The type of event for which the database+-- backend is waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_state@ - The event for which the database backend is+-- waiting (only Amazon DocumentDB).+newDimensionGroup ::+ -- | 'group''+ Prelude.Text ->+ DimensionGroup+newDimensionGroup pGroup_ =+ DimensionGroup'+ { dimensions = Prelude.Nothing,+ limit = Prelude.Nothing,+ group' = pGroup_+ }++-- | A list of specific dimensions from a dimension group. If this parameter+-- is not present, then it signifies that all of the dimensions in the+-- group were requested, or are present in the response.+--+-- Valid values for elements in the @Dimensions@ array are:+--+-- - @db.application.name@ - The name of the application that is+-- connected to the database. Valid values are as follows:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Amazon DocumentDB+--+-- - @db.host.id@ - The host ID of the connected client (all engines).+--+-- - @db.host.name@ - The host name of the connected client (all+-- engines).+--+-- - @db.name@ - The name of the database to which the client is+-- connected. Valid values are as follows:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Aurora MySQL+--+-- - Amazon RDS MySQL+--+-- - Amazon RDS MariaDB+--+-- - Amazon DocumentDB+--+-- - @db.query.id@ - The query ID generated by Performance Insights (only+-- Amazon DocumentDB).+--+-- - @db.query.db_id@ - The query ID generated by the database (only+-- Amazon DocumentDB).+--+-- - @db.query.statement@ - The text of the query that is being run (only+-- Amazon DocumentDB).+--+-- - @db.query.tokenized_id@+--+-- - @db.query.tokenized.id@ - The query digest ID generated by+-- Performance Insights (only Amazon DocumentDB).+--+-- - @db.query.tokenized.db_id@ - The query digest ID generated by+-- Performance Insights (only Amazon DocumentDB).+--+-- - @db.query.tokenized.statement@ - The text of the query digest (only+-- Amazon DocumentDB).+--+-- - @db.session_type.name@ - The type of the current session (only+-- Amazon DocumentDB).+--+-- - @db.sql.id@ - The hash of the full, non-tokenized SQL statement+-- generated by Performance Insights (all engines except Amazon+-- DocumentDB).+--+-- - @db.sql.db_id@ - Either the SQL ID generated by the database engine,+-- or a value generated by Performance Insights that begins with @pi-@+-- (all engines except Amazon DocumentDB).+--+-- - @db.sql.statement@ - The full text of the SQL statement that is+-- running, as in @SELECT * FROM employees@ (all engines except Amazon+-- DocumentDB)+--+-- - @db.sql.tokenized_id@+--+-- - @db.sql_tokenized.id@ - The hash of the SQL digest generated by+-- Performance Insights (all engines except Amazon DocumentDB). In the+-- console, @db.sql_tokenized.id@ is called the Support ID because+-- Amazon Web Services Support can look at this data to help you+-- troubleshoot database issues.+--+-- - @db.sql_tokenized.db_id@ - Either the native database ID used to+-- refer to the SQL statement, or a synthetic ID such as+-- @pi-2372568224@ that Performance Insights generates if the native+-- database ID isn\'t available (all engines except Amazon DocumentDB).+--+-- - @db.sql_tokenized.statement@ - The text of the SQL digest, as in+-- @SELECT * FROM employees WHERE employee_id = ?@ (all engines except+-- Amazon DocumentDB)+--+-- - @db.user.id@ - The ID of the user logged in to the database (all+-- engines except Amazon DocumentDB).+--+-- - @db.user.name@ - The name of the user logged in to the database (all+-- engines except Amazon DocumentDB).+--+-- - @db.wait_event.name@ - The event for which the backend is waiting+-- (all engines except Amazon DocumentDB).+--+-- - @db.wait_event.type@ - The type of event for which the backend is+-- waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_event_type.name@ - The name of the event type for which the+-- backend is waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_state.name@ - The event for which the backend is waiting+-- (only Amazon DocumentDB).+dimensionGroup_dimensions :: Lens.Lens' DimensionGroup (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+dimensionGroup_dimensions = Lens.lens (\DimensionGroup' {dimensions} -> dimensions) (\s@DimensionGroup' {} a -> s {dimensions = a} :: DimensionGroup) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of items to fetch for this dimension group.+dimensionGroup_limit :: Lens.Lens' DimensionGroup (Prelude.Maybe Prelude.Natural)+dimensionGroup_limit = Lens.lens (\DimensionGroup' {limit} -> limit) (\s@DimensionGroup' {} a -> s {limit = a} :: DimensionGroup)++-- | The name of the dimension group. Valid values are as follows:+--+-- - @db@ - The name of the database to which the client is connected.+-- The following values are permitted:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Aurora MySQL+--+-- - Amazon RDS MySQL+--+-- - Amazon RDS MariaDB+--+-- - Amazon DocumentDB+--+-- - @db.application@ - The name of the application that is connected to+-- the database. The following values are permitted:+--+-- - Aurora PostgreSQL+--+-- - Amazon RDS PostgreSQL+--+-- - Amazon DocumentDB+--+-- - @db.host@ - The host name of the connected client (all engines).+--+-- - @db.query@ - The query that is currently running (only Amazon+-- DocumentDB).+--+-- - @db.query_tokenized@ - The digest query (only Amazon DocumentDB).+--+-- - @db.session_type@ - The type of the current session (only Aurora+-- PostgreSQL and RDS PostgreSQL).+--+-- - @db.sql@ - The text of the SQL statement that is currently running+-- (all engines except Amazon DocumentDB).+--+-- - @db.sql_tokenized@ - The SQL digest (all engines except Amazon+-- DocumentDB).+--+-- - @db.user@ - The user logged in to the database (all engines except+-- Amazon DocumentDB).+--+-- - @db.wait_event@ - The event for which the database backend is+-- waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_event_type@ - The type of event for which the database+-- backend is waiting (all engines except Amazon DocumentDB).+--+-- - @db.wait_state@ - The event for which the database backend is+-- waiting (only Amazon DocumentDB).+dimensionGroup_group :: Lens.Lens' DimensionGroup Prelude.Text+dimensionGroup_group = Lens.lens (\DimensionGroup' {group'} -> group') (\s@DimensionGroup' {} a -> s {group' = a} :: DimensionGroup)++instance Prelude.Hashable DimensionGroup where+ hashWithSalt _salt DimensionGroup' {..} =+ _salt+ `Prelude.hashWithSalt` dimensions+ `Prelude.hashWithSalt` limit+ `Prelude.hashWithSalt` group'++instance Prelude.NFData DimensionGroup where+ rnf DimensionGroup' {..} =+ Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf limit+ `Prelude.seq` Prelude.rnf group'++instance Data.ToJSON DimensionGroup where+ toJSON DimensionGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Dimensions" Data..=) Prelude.<$> dimensions,+ ("Limit" Data..=) Prelude.<$> limit,+ Prelude.Just ("Group" Data..= group')+ ]+ )
+ gen/Amazonka/Pi/Types/DimensionGroupDetail.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Pi.Types.DimensionGroupDetail+-- 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.Pi.Types.DimensionGroupDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types.DimensionDetail+import qualified Amazonka.Prelude as Prelude++-- | Information about dimensions within a dimension group.+--+-- /See:/ 'newDimensionGroupDetail' smart constructor.+data DimensionGroupDetail = DimensionGroupDetail'+ { -- | The dimensions within a dimension group.+ dimensions :: Prelude.Maybe [DimensionDetail],+ -- | The name of the dimension group.+ group' :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionGroupDetail' 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', 'dimensionGroupDetail_dimensions' - The dimensions within a dimension group.+--+-- 'group'', 'dimensionGroupDetail_group' - The name of the dimension group.+newDimensionGroupDetail ::+ DimensionGroupDetail+newDimensionGroupDetail =+ DimensionGroupDetail'+ { dimensions = Prelude.Nothing,+ group' = Prelude.Nothing+ }++-- | The dimensions within a dimension group.+dimensionGroupDetail_dimensions :: Lens.Lens' DimensionGroupDetail (Prelude.Maybe [DimensionDetail])+dimensionGroupDetail_dimensions = Lens.lens (\DimensionGroupDetail' {dimensions} -> dimensions) (\s@DimensionGroupDetail' {} a -> s {dimensions = a} :: DimensionGroupDetail) Prelude.. Lens.mapping Lens.coerced++-- | The name of the dimension group.+dimensionGroupDetail_group :: Lens.Lens' DimensionGroupDetail (Prelude.Maybe Prelude.Text)+dimensionGroupDetail_group = Lens.lens (\DimensionGroupDetail' {group'} -> group') (\s@DimensionGroupDetail' {} a -> s {group' = a} :: DimensionGroupDetail)++instance Data.FromJSON DimensionGroupDetail where+ parseJSON =+ Data.withObject+ "DimensionGroupDetail"+ ( \x ->+ DimensionGroupDetail'+ Prelude.<$> (x Data..:? "Dimensions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Group")+ )++instance Prelude.Hashable DimensionGroupDetail where+ hashWithSalt _salt DimensionGroupDetail' {..} =+ _salt+ `Prelude.hashWithSalt` dimensions+ `Prelude.hashWithSalt` group'++instance Prelude.NFData DimensionGroupDetail where+ rnf DimensionGroupDetail' {..} =+ Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf group'
+ gen/Amazonka/Pi/Types/DimensionKeyDescription.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Pi.Types.DimensionKeyDescription+-- 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.Pi.Types.DimensionKeyDescription 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++-- | An object that includes the requested dimension key values and+-- aggregated metric values within a dimension group.+--+-- /See:/ 'newDimensionKeyDescription' smart constructor.+data DimensionKeyDescription = DimensionKeyDescription'+ { -- | A map that contains the value for each additional metric.+ additionalMetrics :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Double),+ -- | A map of name-value pairs for the dimensions in the group.+ dimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | If @PartitionBy@ was specified, @PartitionKeys@ contains the dimensions+ -- that were.+ partitions :: Prelude.Maybe [Prelude.Double],+ -- | The aggregated metric value for the dimensions, over the requested time+ -- range.+ total :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionKeyDescription' 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:+--+-- 'additionalMetrics', 'dimensionKeyDescription_additionalMetrics' - A map that contains the value for each additional metric.+--+-- 'dimensions', 'dimensionKeyDescription_dimensions' - A map of name-value pairs for the dimensions in the group.+--+-- 'partitions', 'dimensionKeyDescription_partitions' - If @PartitionBy@ was specified, @PartitionKeys@ contains the dimensions+-- that were.+--+-- 'total', 'dimensionKeyDescription_total' - The aggregated metric value for the dimensions, over the requested time+-- range.+newDimensionKeyDescription ::+ DimensionKeyDescription+newDimensionKeyDescription =+ DimensionKeyDescription'+ { additionalMetrics =+ Prelude.Nothing,+ dimensions = Prelude.Nothing,+ partitions = Prelude.Nothing,+ total = Prelude.Nothing+ }++-- | A map that contains the value for each additional metric.+dimensionKeyDescription_additionalMetrics :: Lens.Lens' DimensionKeyDescription (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Double))+dimensionKeyDescription_additionalMetrics = Lens.lens (\DimensionKeyDescription' {additionalMetrics} -> additionalMetrics) (\s@DimensionKeyDescription' {} a -> s {additionalMetrics = a} :: DimensionKeyDescription) Prelude.. Lens.mapping Lens.coerced++-- | A map of name-value pairs for the dimensions in the group.+dimensionKeyDescription_dimensions :: Lens.Lens' DimensionKeyDescription (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+dimensionKeyDescription_dimensions = Lens.lens (\DimensionKeyDescription' {dimensions} -> dimensions) (\s@DimensionKeyDescription' {} a -> s {dimensions = a} :: DimensionKeyDescription) Prelude.. Lens.mapping Lens.coerced++-- | If @PartitionBy@ was specified, @PartitionKeys@ contains the dimensions+-- that were.+dimensionKeyDescription_partitions :: Lens.Lens' DimensionKeyDescription (Prelude.Maybe [Prelude.Double])+dimensionKeyDescription_partitions = Lens.lens (\DimensionKeyDescription' {partitions} -> partitions) (\s@DimensionKeyDescription' {} a -> s {partitions = a} :: DimensionKeyDescription) Prelude.. Lens.mapping Lens.coerced++-- | The aggregated metric value for the dimensions, over the requested time+-- range.+dimensionKeyDescription_total :: Lens.Lens' DimensionKeyDescription (Prelude.Maybe Prelude.Double)+dimensionKeyDescription_total = Lens.lens (\DimensionKeyDescription' {total} -> total) (\s@DimensionKeyDescription' {} a -> s {total = a} :: DimensionKeyDescription)++instance Data.FromJSON DimensionKeyDescription where+ parseJSON =+ Data.withObject+ "DimensionKeyDescription"+ ( \x ->+ DimensionKeyDescription'+ Prelude.<$> ( x+ Data..:? "AdditionalMetrics"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "Dimensions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Partitions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Total")+ )++instance Prelude.Hashable DimensionKeyDescription where+ hashWithSalt _salt DimensionKeyDescription' {..} =+ _salt+ `Prelude.hashWithSalt` additionalMetrics+ `Prelude.hashWithSalt` dimensions+ `Prelude.hashWithSalt` partitions+ `Prelude.hashWithSalt` total++instance Prelude.NFData DimensionKeyDescription where+ rnf DimensionKeyDescription' {..} =+ Prelude.rnf additionalMetrics+ `Prelude.seq` Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf partitions+ `Prelude.seq` Prelude.rnf total
+ gen/Amazonka/Pi/Types/DimensionKeyDetail.hs view
@@ -0,0 +1,163 @@+{-# 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.Pi.Types.DimensionKeyDetail+-- 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.Pi.Types.DimensionKeyDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types.DetailStatus+import qualified Amazonka.Prelude as Prelude++-- | An object that describes the details for a specified dimension.+--+-- /See:/ 'newDimensionKeyDetail' smart constructor.+data DimensionKeyDetail = DimensionKeyDetail'+ { -- | The full name of the dimension. The full name includes the group name+ -- and key name. The following values are valid:+ --+ -- - @db.query.statement@ (Amazon DocumentDB)+ --+ -- - @db.sql.statement@ (Amazon RDS and Aurora)+ dimension :: Prelude.Maybe Prelude.Text,+ -- | The status of the dimension detail data. Possible values include the+ -- following:+ --+ -- - @AVAILABLE@ - The dimension detail data is ready to be retrieved.+ --+ -- - @PROCESSING@ - The dimension detail data isn\'t ready to be+ -- retrieved because more processing time is required. If the requested+ -- detail data has the status @PROCESSING@, Performance Insights+ -- returns the truncated query.+ --+ -- - @UNAVAILABLE@ - The dimension detail data could not be collected+ -- successfully.+ status :: Prelude.Maybe DetailStatus,+ -- | The value of the dimension detail data. Depending on the return status,+ -- this value is either the full or truncated SQL query for the following+ -- dimensions:+ --+ -- - @db.query.statement@ (Amazon DocumentDB)+ --+ -- - @db.sql.statement@ (Amazon RDS and Aurora)+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionKeyDetail' 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:+--+-- 'dimension', 'dimensionKeyDetail_dimension' - The full name of the dimension. The full name includes the group name+-- and key name. The following values are valid:+--+-- - @db.query.statement@ (Amazon DocumentDB)+--+-- - @db.sql.statement@ (Amazon RDS and Aurora)+--+-- 'status', 'dimensionKeyDetail_status' - The status of the dimension detail data. Possible values include the+-- following:+--+-- - @AVAILABLE@ - The dimension detail data is ready to be retrieved.+--+-- - @PROCESSING@ - The dimension detail data isn\'t ready to be+-- retrieved because more processing time is required. If the requested+-- detail data has the status @PROCESSING@, Performance Insights+-- returns the truncated query.+--+-- - @UNAVAILABLE@ - The dimension detail data could not be collected+-- successfully.+--+-- 'value', 'dimensionKeyDetail_value' - The value of the dimension detail data. Depending on the return status,+-- this value is either the full or truncated SQL query for the following+-- dimensions:+--+-- - @db.query.statement@ (Amazon DocumentDB)+--+-- - @db.sql.statement@ (Amazon RDS and Aurora)+newDimensionKeyDetail ::+ DimensionKeyDetail+newDimensionKeyDetail =+ DimensionKeyDetail'+ { dimension = Prelude.Nothing,+ status = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The full name of the dimension. The full name includes the group name+-- and key name. The following values are valid:+--+-- - @db.query.statement@ (Amazon DocumentDB)+--+-- - @db.sql.statement@ (Amazon RDS and Aurora)+dimensionKeyDetail_dimension :: Lens.Lens' DimensionKeyDetail (Prelude.Maybe Prelude.Text)+dimensionKeyDetail_dimension = Lens.lens (\DimensionKeyDetail' {dimension} -> dimension) (\s@DimensionKeyDetail' {} a -> s {dimension = a} :: DimensionKeyDetail)++-- | The status of the dimension detail data. Possible values include the+-- following:+--+-- - @AVAILABLE@ - The dimension detail data is ready to be retrieved.+--+-- - @PROCESSING@ - The dimension detail data isn\'t ready to be+-- retrieved because more processing time is required. If the requested+-- detail data has the status @PROCESSING@, Performance Insights+-- returns the truncated query.+--+-- - @UNAVAILABLE@ - The dimension detail data could not be collected+-- successfully.+dimensionKeyDetail_status :: Lens.Lens' DimensionKeyDetail (Prelude.Maybe DetailStatus)+dimensionKeyDetail_status = Lens.lens (\DimensionKeyDetail' {status} -> status) (\s@DimensionKeyDetail' {} a -> s {status = a} :: DimensionKeyDetail)++-- | The value of the dimension detail data. Depending on the return status,+-- this value is either the full or truncated SQL query for the following+-- dimensions:+--+-- - @db.query.statement@ (Amazon DocumentDB)+--+-- - @db.sql.statement@ (Amazon RDS and Aurora)+dimensionKeyDetail_value :: Lens.Lens' DimensionKeyDetail (Prelude.Maybe Prelude.Text)+dimensionKeyDetail_value = Lens.lens (\DimensionKeyDetail' {value} -> value) (\s@DimensionKeyDetail' {} a -> s {value = a} :: DimensionKeyDetail)++instance Data.FromJSON DimensionKeyDetail where+ parseJSON =+ Data.withObject+ "DimensionKeyDetail"+ ( \x ->+ DimensionKeyDetail'+ Prelude.<$> (x Data..:? "Dimension")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable DimensionKeyDetail where+ hashWithSalt _salt DimensionKeyDetail' {..} =+ _salt+ `Prelude.hashWithSalt` dimension+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` value++instance Prelude.NFData DimensionKeyDetail where+ rnf DimensionKeyDetail' {..} =+ Prelude.rnf dimension+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/Pi/Types/FeatureMetadata.hs view
@@ -0,0 +1,114 @@+{-# 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.Pi.Types.FeatureMetadata+-- 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.Pi.Types.FeatureMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types.FeatureStatus+import qualified Amazonka.Prelude as Prelude++-- | The metadata for a feature. For example, the metadata might indicate+-- that a feature is turned on or off on a specific DB instance.+--+-- /See:/ 'newFeatureMetadata' smart constructor.+data FeatureMetadata = FeatureMetadata'+ { -- | The status of the feature on the DB instance. Possible values include+ -- the following:+ --+ -- - @ENABLED@ - The feature is enabled on the instance.+ --+ -- - @DISABLED@ - The feature is disabled on the instance.+ --+ -- - @UNSUPPORTED@ - The feature isn\'t supported on the instance.+ --+ -- - @ENABLED_PENDING_REBOOT@ - The feature is enabled on the instance+ -- but requires a reboot to take effect.+ --+ -- - @DISABLED_PENDING_REBOOT@ - The feature is disabled on the instance+ -- but requires a reboot to take effect.+ --+ -- - @UNKNOWN@ - The feature status couldn\'t be determined.+ status :: Prelude.Maybe FeatureStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FeatureMetadata' 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:+--+-- 'status', 'featureMetadata_status' - The status of the feature on the DB instance. Possible values include+-- the following:+--+-- - @ENABLED@ - The feature is enabled on the instance.+--+-- - @DISABLED@ - The feature is disabled on the instance.+--+-- - @UNSUPPORTED@ - The feature isn\'t supported on the instance.+--+-- - @ENABLED_PENDING_REBOOT@ - The feature is enabled on the instance+-- but requires a reboot to take effect.+--+-- - @DISABLED_PENDING_REBOOT@ - The feature is disabled on the instance+-- but requires a reboot to take effect.+--+-- - @UNKNOWN@ - The feature status couldn\'t be determined.+newFeatureMetadata ::+ FeatureMetadata+newFeatureMetadata =+ FeatureMetadata' {status = Prelude.Nothing}++-- | The status of the feature on the DB instance. Possible values include+-- the following:+--+-- - @ENABLED@ - The feature is enabled on the instance.+--+-- - @DISABLED@ - The feature is disabled on the instance.+--+-- - @UNSUPPORTED@ - The feature isn\'t supported on the instance.+--+-- - @ENABLED_PENDING_REBOOT@ - The feature is enabled on the instance+-- but requires a reboot to take effect.+--+-- - @DISABLED_PENDING_REBOOT@ - The feature is disabled on the instance+-- but requires a reboot to take effect.+--+-- - @UNKNOWN@ - The feature status couldn\'t be determined.+featureMetadata_status :: Lens.Lens' FeatureMetadata (Prelude.Maybe FeatureStatus)+featureMetadata_status = Lens.lens (\FeatureMetadata' {status} -> status) (\s@FeatureMetadata' {} a -> s {status = a} :: FeatureMetadata)++instance Data.FromJSON FeatureMetadata where+ parseJSON =+ Data.withObject+ "FeatureMetadata"+ ( \x ->+ FeatureMetadata' Prelude.<$> (x Data..:? "Status")+ )++instance Prelude.Hashable FeatureMetadata where+ hashWithSalt _salt FeatureMetadata' {..} =+ _salt `Prelude.hashWithSalt` status++instance Prelude.NFData FeatureMetadata where+ rnf FeatureMetadata' {..} = Prelude.rnf status
+ gen/Amazonka/Pi/Types/FeatureStatus.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.Pi.Types.FeatureStatus+-- 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.Pi.Types.FeatureStatus+ ( FeatureStatus+ ( ..,+ FeatureStatus_DISABLED,+ FeatureStatus_DISABLED_PENDING_REBOOT,+ FeatureStatus_ENABLED,+ FeatureStatus_ENABLED_PENDING_REBOOT,+ FeatureStatus_UNKNOWN,+ FeatureStatus_UNSUPPORTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FeatureStatus = FeatureStatus'+ { fromFeatureStatus ::+ 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 FeatureStatus_DISABLED :: FeatureStatus+pattern FeatureStatus_DISABLED = FeatureStatus' "DISABLED"++pattern FeatureStatus_DISABLED_PENDING_REBOOT :: FeatureStatus+pattern FeatureStatus_DISABLED_PENDING_REBOOT = FeatureStatus' "DISABLED_PENDING_REBOOT"++pattern FeatureStatus_ENABLED :: FeatureStatus+pattern FeatureStatus_ENABLED = FeatureStatus' "ENABLED"++pattern FeatureStatus_ENABLED_PENDING_REBOOT :: FeatureStatus+pattern FeatureStatus_ENABLED_PENDING_REBOOT = FeatureStatus' "ENABLED_PENDING_REBOOT"++pattern FeatureStatus_UNKNOWN :: FeatureStatus+pattern FeatureStatus_UNKNOWN = FeatureStatus' "UNKNOWN"++pattern FeatureStatus_UNSUPPORTED :: FeatureStatus+pattern FeatureStatus_UNSUPPORTED = FeatureStatus' "UNSUPPORTED"++{-# COMPLETE+ FeatureStatus_DISABLED,+ FeatureStatus_DISABLED_PENDING_REBOOT,+ FeatureStatus_ENABLED,+ FeatureStatus_ENABLED_PENDING_REBOOT,+ FeatureStatus_UNKNOWN,+ FeatureStatus_UNSUPPORTED,+ FeatureStatus'+ #-}
+ gen/Amazonka/Pi/Types/MetricDimensionGroups.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Pi.Types.MetricDimensionGroups+-- 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.Pi.Types.MetricDimensionGroups where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types.DimensionGroupDetail+import qualified Amazonka.Prelude as Prelude++-- | The available dimension information for a metric type.+--+-- /See:/ 'newMetricDimensionGroups' smart constructor.+data MetricDimensionGroups = MetricDimensionGroups'+ { -- | The available dimension groups for a metric type.+ groups :: Prelude.Maybe [DimensionGroupDetail],+ -- | The metric type to which the dimension information belongs.+ metric :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricDimensionGroups' 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:+--+-- 'groups', 'metricDimensionGroups_groups' - The available dimension groups for a metric type.+--+-- 'metric', 'metricDimensionGroups_metric' - The metric type to which the dimension information belongs.+newMetricDimensionGroups ::+ MetricDimensionGroups+newMetricDimensionGroups =+ MetricDimensionGroups'+ { groups = Prelude.Nothing,+ metric = Prelude.Nothing+ }++-- | The available dimension groups for a metric type.+metricDimensionGroups_groups :: Lens.Lens' MetricDimensionGroups (Prelude.Maybe [DimensionGroupDetail])+metricDimensionGroups_groups = Lens.lens (\MetricDimensionGroups' {groups} -> groups) (\s@MetricDimensionGroups' {} a -> s {groups = a} :: MetricDimensionGroups) Prelude.. Lens.mapping Lens.coerced++-- | The metric type to which the dimension information belongs.+metricDimensionGroups_metric :: Lens.Lens' MetricDimensionGroups (Prelude.Maybe Prelude.Text)+metricDimensionGroups_metric = Lens.lens (\MetricDimensionGroups' {metric} -> metric) (\s@MetricDimensionGroups' {} a -> s {metric = a} :: MetricDimensionGroups)++instance Data.FromJSON MetricDimensionGroups where+ parseJSON =+ Data.withObject+ "MetricDimensionGroups"+ ( \x ->+ MetricDimensionGroups'+ Prelude.<$> (x Data..:? "Groups" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Metric")+ )++instance Prelude.Hashable MetricDimensionGroups where+ hashWithSalt _salt MetricDimensionGroups' {..} =+ _salt+ `Prelude.hashWithSalt` groups+ `Prelude.hashWithSalt` metric++instance Prelude.NFData MetricDimensionGroups where+ rnf MetricDimensionGroups' {..} =+ Prelude.rnf groups `Prelude.seq` Prelude.rnf metric
+ gen/Amazonka/Pi/Types/MetricKeyDataPoints.hs view
@@ -0,0 +1,90 @@+{-# 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.Pi.Types.MetricKeyDataPoints+-- 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.Pi.Types.MetricKeyDataPoints where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types.DataPoint+import Amazonka.Pi.Types.ResponseResourceMetricKey+import qualified Amazonka.Prelude as Prelude++-- | A time-ordered series of data points, corresponding to a dimension of a+-- Performance Insights metric.+--+-- /See:/ 'newMetricKeyDataPoints' smart constructor.+data MetricKeyDataPoints = MetricKeyDataPoints'+ { -- | An array of timestamp-value pairs, representing measurements over a+ -- period of time.+ dataPoints :: Prelude.Maybe [DataPoint],+ -- | The dimensions to which the data points apply.+ key :: Prelude.Maybe ResponseResourceMetricKey+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricKeyDataPoints' 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:+--+-- 'dataPoints', 'metricKeyDataPoints_dataPoints' - An array of timestamp-value pairs, representing measurements over a+-- period of time.+--+-- 'key', 'metricKeyDataPoints_key' - The dimensions to which the data points apply.+newMetricKeyDataPoints ::+ MetricKeyDataPoints+newMetricKeyDataPoints =+ MetricKeyDataPoints'+ { dataPoints = Prelude.Nothing,+ key = Prelude.Nothing+ }++-- | An array of timestamp-value pairs, representing measurements over a+-- period of time.+metricKeyDataPoints_dataPoints :: Lens.Lens' MetricKeyDataPoints (Prelude.Maybe [DataPoint])+metricKeyDataPoints_dataPoints = Lens.lens (\MetricKeyDataPoints' {dataPoints} -> dataPoints) (\s@MetricKeyDataPoints' {} a -> s {dataPoints = a} :: MetricKeyDataPoints) Prelude.. Lens.mapping Lens.coerced++-- | The dimensions to which the data points apply.+metricKeyDataPoints_key :: Lens.Lens' MetricKeyDataPoints (Prelude.Maybe ResponseResourceMetricKey)+metricKeyDataPoints_key = Lens.lens (\MetricKeyDataPoints' {key} -> key) (\s@MetricKeyDataPoints' {} a -> s {key = a} :: MetricKeyDataPoints)++instance Data.FromJSON MetricKeyDataPoints where+ parseJSON =+ Data.withObject+ "MetricKeyDataPoints"+ ( \x ->+ MetricKeyDataPoints'+ Prelude.<$> (x Data..:? "DataPoints" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "Key")+ )++instance Prelude.Hashable MetricKeyDataPoints where+ hashWithSalt _salt MetricKeyDataPoints' {..} =+ _salt+ `Prelude.hashWithSalt` dataPoints+ `Prelude.hashWithSalt` key++instance Prelude.NFData MetricKeyDataPoints where+ rnf MetricKeyDataPoints' {..} =+ Prelude.rnf dataPoints+ `Prelude.seq` Prelude.rnf key
+ gen/Amazonka/Pi/Types/MetricQuery.hs view
@@ -0,0 +1,192 @@+{-# 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.Pi.Types.MetricQuery+-- 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.Pi.Types.MetricQuery where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Types.DimensionGroup+import qualified Amazonka.Prelude as Prelude++-- | A single query to be processed. You must provide the metric to query. If+-- no other parameters are specified, Performance Insights returns all data+-- points for the specified metric. Optionally, you can request that the+-- data points be aggregated by dimension group (@GroupBy@), and return+-- only those data points that match your criteria (@Filter@).+--+-- /See:/ 'newMetricQuery' smart constructor.+data MetricQuery = MetricQuery'+ { -- | One or more filters to apply in the request. Restrictions:+ --+ -- - Any number of filters by the same dimension, as specified in the+ -- @GroupBy@ parameter.+ --+ -- - A single filter for any other dimension in this dimension group.+ filter' :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A specification for how to aggregate the data points from a query+ -- result. You must specify a valid dimension group. Performance Insights+ -- will return all of the dimensions within that group, unless you provide+ -- the names of specific dimensions within that group. You can also request+ -- that Performance Insights return a limited number of values for a+ -- dimension.+ groupBy :: Prelude.Maybe DimensionGroup,+ -- | The name of a Performance Insights metric to be measured.+ --+ -- Valid values for @Metric@ are:+ --+ -- - @db.load.avg@ - A scaled representation of the number of active+ -- sessions for the database engine.+ --+ -- - @db.sampledload.avg@ - The raw number of active sessions for the+ -- database engine.+ --+ -- - The counter metrics listed in+ -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS Performance Insights operating system counters>+ -- in the /Amazon Aurora User Guide/.+ --+ -- If the number of active sessions is less than an internal Performance+ -- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+ -- value. If the number of active sessions is greater than the internal+ -- threshold, Performance Insights samples the active sessions, with+ -- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+ -- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+ -- most use cases, you can query @db.load.avg@ only.+ metric :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricQuery' 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:+--+-- 'filter'', 'metricQuery_filter' - One or more filters to apply in the request. Restrictions:+--+-- - Any number of filters by the same dimension, as specified in the+-- @GroupBy@ parameter.+--+-- - A single filter for any other dimension in this dimension group.+--+-- 'groupBy', 'metricQuery_groupBy' - A specification for how to aggregate the data points from a query+-- result. You must specify a valid dimension group. Performance Insights+-- will return all of the dimensions within that group, unless you provide+-- the names of specific dimensions within that group. You can also request+-- that Performance Insights return a limited number of values for a+-- dimension.+--+-- 'metric', 'metricQuery_metric' - The name of a Performance Insights metric to be measured.+--+-- Valid values for @Metric@ are:+--+-- - @db.load.avg@ - A scaled representation of the number of active+-- sessions for the database engine.+--+-- - @db.sampledload.avg@ - The raw number of active sessions for the+-- database engine.+--+-- - The counter metrics listed in+-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS Performance Insights operating system counters>+-- in the /Amazon Aurora User Guide/.+--+-- If the number of active sessions is less than an internal Performance+-- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+-- value. If the number of active sessions is greater than the internal+-- threshold, Performance Insights samples the active sessions, with+-- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+-- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+-- most use cases, you can query @db.load.avg@ only.+newMetricQuery ::+ -- | 'metric'+ Prelude.Text ->+ MetricQuery+newMetricQuery pMetric_ =+ MetricQuery'+ { filter' = Prelude.Nothing,+ groupBy = Prelude.Nothing,+ metric = pMetric_+ }++-- | One or more filters to apply in the request. Restrictions:+--+-- - Any number of filters by the same dimension, as specified in the+-- @GroupBy@ parameter.+--+-- - A single filter for any other dimension in this dimension group.+metricQuery_filter :: Lens.Lens' MetricQuery (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+metricQuery_filter = Lens.lens (\MetricQuery' {filter'} -> filter') (\s@MetricQuery' {} a -> s {filter' = a} :: MetricQuery) Prelude.. Lens.mapping Lens.coerced++-- | A specification for how to aggregate the data points from a query+-- result. You must specify a valid dimension group. Performance Insights+-- will return all of the dimensions within that group, unless you provide+-- the names of specific dimensions within that group. You can also request+-- that Performance Insights return a limited number of values for a+-- dimension.+metricQuery_groupBy :: Lens.Lens' MetricQuery (Prelude.Maybe DimensionGroup)+metricQuery_groupBy = Lens.lens (\MetricQuery' {groupBy} -> groupBy) (\s@MetricQuery' {} a -> s {groupBy = a} :: MetricQuery)++-- | The name of a Performance Insights metric to be measured.+--+-- Valid values for @Metric@ are:+--+-- - @db.load.avg@ - A scaled representation of the number of active+-- sessions for the database engine.+--+-- - @db.sampledload.avg@ - The raw number of active sessions for the+-- database engine.+--+-- - The counter metrics listed in+-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS Performance Insights operating system counters>+-- in the /Amazon Aurora User Guide/.+--+-- If the number of active sessions is less than an internal Performance+-- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+-- value. If the number of active sessions is greater than the internal+-- threshold, Performance Insights samples the active sessions, with+-- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+-- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+-- most use cases, you can query @db.load.avg@ only.+metricQuery_metric :: Lens.Lens' MetricQuery Prelude.Text+metricQuery_metric = Lens.lens (\MetricQuery' {metric} -> metric) (\s@MetricQuery' {} a -> s {metric = a} :: MetricQuery)++instance Prelude.Hashable MetricQuery where+ hashWithSalt _salt MetricQuery' {..} =+ _salt+ `Prelude.hashWithSalt` filter'+ `Prelude.hashWithSalt` groupBy+ `Prelude.hashWithSalt` metric++instance Prelude.NFData MetricQuery where+ rnf MetricQuery' {..} =+ Prelude.rnf filter'+ `Prelude.seq` Prelude.rnf groupBy+ `Prelude.seq` Prelude.rnf metric++instance Data.ToJSON MetricQuery where+ toJSON MetricQuery' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Filter" Data..=) Prelude.<$> filter',+ ("GroupBy" Data..=) Prelude.<$> groupBy,+ Prelude.Just ("Metric" Data..= metric)+ ]+ )
+ gen/Amazonka/Pi/Types/ResponsePartitionKey.hs view
@@ -0,0 +1,71 @@+{-# 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.Pi.Types.ResponsePartitionKey+-- 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.Pi.Types.ResponsePartitionKey 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++-- | If @PartitionBy@ was specified in a @DescribeDimensionKeys@ request, the+-- dimensions are returned in an array. Each element in the array specifies+-- one dimension.+--+-- /See:/ 'newResponsePartitionKey' smart constructor.+data ResponsePartitionKey = ResponsePartitionKey'+ { -- | A dimension map that contains the dimensions for this partition.+ dimensions :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResponsePartitionKey' 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', 'responsePartitionKey_dimensions' - A dimension map that contains the dimensions for this partition.+newResponsePartitionKey ::+ ResponsePartitionKey+newResponsePartitionKey =+ ResponsePartitionKey' {dimensions = Prelude.mempty}++-- | A dimension map that contains the dimensions for this partition.+responsePartitionKey_dimensions :: Lens.Lens' ResponsePartitionKey (Prelude.HashMap Prelude.Text Prelude.Text)+responsePartitionKey_dimensions = Lens.lens (\ResponsePartitionKey' {dimensions} -> dimensions) (\s@ResponsePartitionKey' {} a -> s {dimensions = a} :: ResponsePartitionKey) Prelude.. Lens.coerced++instance Data.FromJSON ResponsePartitionKey where+ parseJSON =+ Data.withObject+ "ResponsePartitionKey"+ ( \x ->+ ResponsePartitionKey'+ Prelude.<$> (x Data..:? "Dimensions" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable ResponsePartitionKey where+ hashWithSalt _salt ResponsePartitionKey' {..} =+ _salt `Prelude.hashWithSalt` dimensions++instance Prelude.NFData ResponsePartitionKey where+ rnf ResponsePartitionKey' {..} =+ Prelude.rnf dimensions
+ gen/Amazonka/Pi/Types/ResponseResourceMetric.hs view
@@ -0,0 +1,98 @@+{-# 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.Pi.Types.ResponseResourceMetric+-- 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.Pi.Types.ResponseResourceMetric 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++-- | An object that contains the full name, description, and unit of a+-- metric.+--+-- /See:/ 'newResponseResourceMetric' smart constructor.+data ResponseResourceMetric = ResponseResourceMetric'+ { -- | The description of the metric.+ description :: Prelude.Maybe Prelude.Text,+ -- | The full name of the metric.+ metric :: Prelude.Maybe Prelude.Text,+ -- | The unit of the metric.+ unit :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResponseResourceMetric' 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:+--+-- 'description', 'responseResourceMetric_description' - The description of the metric.+--+-- 'metric', 'responseResourceMetric_metric' - The full name of the metric.+--+-- 'unit', 'responseResourceMetric_unit' - The unit of the metric.+newResponseResourceMetric ::+ ResponseResourceMetric+newResponseResourceMetric =+ ResponseResourceMetric'+ { description =+ Prelude.Nothing,+ metric = Prelude.Nothing,+ unit = Prelude.Nothing+ }++-- | The description of the metric.+responseResourceMetric_description :: Lens.Lens' ResponseResourceMetric (Prelude.Maybe Prelude.Text)+responseResourceMetric_description = Lens.lens (\ResponseResourceMetric' {description} -> description) (\s@ResponseResourceMetric' {} a -> s {description = a} :: ResponseResourceMetric)++-- | The full name of the metric.+responseResourceMetric_metric :: Lens.Lens' ResponseResourceMetric (Prelude.Maybe Prelude.Text)+responseResourceMetric_metric = Lens.lens (\ResponseResourceMetric' {metric} -> metric) (\s@ResponseResourceMetric' {} a -> s {metric = a} :: ResponseResourceMetric)++-- | The unit of the metric.+responseResourceMetric_unit :: Lens.Lens' ResponseResourceMetric (Prelude.Maybe Prelude.Text)+responseResourceMetric_unit = Lens.lens (\ResponseResourceMetric' {unit} -> unit) (\s@ResponseResourceMetric' {} a -> s {unit = a} :: ResponseResourceMetric)++instance Data.FromJSON ResponseResourceMetric where+ parseJSON =+ Data.withObject+ "ResponseResourceMetric"+ ( \x ->+ ResponseResourceMetric'+ Prelude.<$> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "Metric")+ Prelude.<*> (x Data..:? "Unit")+ )++instance Prelude.Hashable ResponseResourceMetric where+ hashWithSalt _salt ResponseResourceMetric' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` metric+ `Prelude.hashWithSalt` unit++instance Prelude.NFData ResponseResourceMetric where+ rnf ResponseResourceMetric' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf metric+ `Prelude.seq` Prelude.rnf unit
+ gen/Amazonka/Pi/Types/ResponseResourceMetricKey.hs view
@@ -0,0 +1,148 @@+{-# 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.Pi.Types.ResponseResourceMetricKey+-- 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.Pi.Types.ResponseResourceMetricKey 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++-- | An object describing a Performance Insights metric and one or more+-- dimensions for that metric.+--+-- /See:/ 'newResponseResourceMetricKey' smart constructor.+data ResponseResourceMetricKey = ResponseResourceMetricKey'+ { -- | The valid dimensions for the metric.+ dimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of a Performance Insights metric to be measured.+ --+ -- Valid values for @Metric@ are:+ --+ -- - @db.load.avg@ - A scaled representation of the number of active+ -- sessions for the database engine.+ --+ -- - @db.sampledload.avg@ - The raw number of active sessions for the+ -- database engine.+ --+ -- - The counter metrics listed in+ -- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS Performance Insights operating system counters>+ -- in the /Amazon Aurora User Guide/.+ --+ -- If the number of active sessions is less than an internal Performance+ -- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+ -- value. If the number of active sessions is greater than the internal+ -- threshold, Performance Insights samples the active sessions, with+ -- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+ -- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+ -- most use cases, you can query @db.load.avg@ only.+ metric :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResponseResourceMetricKey' 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', 'responseResourceMetricKey_dimensions' - The valid dimensions for the metric.+--+-- 'metric', 'responseResourceMetricKey_metric' - The name of a Performance Insights metric to be measured.+--+-- Valid values for @Metric@ are:+--+-- - @db.load.avg@ - A scaled representation of the number of active+-- sessions for the database engine.+--+-- - @db.sampledload.avg@ - The raw number of active sessions for the+-- database engine.+--+-- - The counter metrics listed in+-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS Performance Insights operating system counters>+-- in the /Amazon Aurora User Guide/.+--+-- If the number of active sessions is less than an internal Performance+-- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+-- value. If the number of active sessions is greater than the internal+-- threshold, Performance Insights samples the active sessions, with+-- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+-- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+-- most use cases, you can query @db.load.avg@ only.+newResponseResourceMetricKey ::+ -- | 'metric'+ Prelude.Text ->+ ResponseResourceMetricKey+newResponseResourceMetricKey pMetric_ =+ ResponseResourceMetricKey'+ { dimensions =+ Prelude.Nothing,+ metric = pMetric_+ }++-- | The valid dimensions for the metric.+responseResourceMetricKey_dimensions :: Lens.Lens' ResponseResourceMetricKey (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+responseResourceMetricKey_dimensions = Lens.lens (\ResponseResourceMetricKey' {dimensions} -> dimensions) (\s@ResponseResourceMetricKey' {} a -> s {dimensions = a} :: ResponseResourceMetricKey) Prelude.. Lens.mapping Lens.coerced++-- | The name of a Performance Insights metric to be measured.+--+-- Valid values for @Metric@ are:+--+-- - @db.load.avg@ - A scaled representation of the number of active+-- sessions for the database engine.+--+-- - @db.sampledload.avg@ - The raw number of active sessions for the+-- database engine.+--+-- - The counter metrics listed in+-- <https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS Performance Insights operating system counters>+-- in the /Amazon Aurora User Guide/.+--+-- If the number of active sessions is less than an internal Performance+-- Insights threshold, @db.load.avg@ and @db.sampledload.avg@ are the same+-- value. If the number of active sessions is greater than the internal+-- threshold, Performance Insights samples the active sessions, with+-- @db.load.avg@ showing the scaled values, @db.sampledload.avg@ showing+-- the raw values, and @db.sampledload.avg@ less than @db.load.avg@. For+-- most use cases, you can query @db.load.avg@ only.+responseResourceMetricKey_metric :: Lens.Lens' ResponseResourceMetricKey Prelude.Text+responseResourceMetricKey_metric = Lens.lens (\ResponseResourceMetricKey' {metric} -> metric) (\s@ResponseResourceMetricKey' {} a -> s {metric = a} :: ResponseResourceMetricKey)++instance Data.FromJSON ResponseResourceMetricKey where+ parseJSON =+ Data.withObject+ "ResponseResourceMetricKey"+ ( \x ->+ ResponseResourceMetricKey'+ Prelude.<$> (x Data..:? "Dimensions" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "Metric")+ )++instance Prelude.Hashable ResponseResourceMetricKey where+ hashWithSalt _salt ResponseResourceMetricKey' {..} =+ _salt+ `Prelude.hashWithSalt` dimensions+ `Prelude.hashWithSalt` metric++instance Prelude.NFData ResponseResourceMetricKey where+ rnf ResponseResourceMetricKey' {..} =+ Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf metric
+ gen/Amazonka/Pi/Types/ServiceType.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.Pi.Types.ServiceType+-- 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.Pi.Types.ServiceType+ ( ServiceType+ ( ..,+ ServiceType_DOCDB,+ ServiceType_RDS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServiceType = ServiceType'+ { fromServiceType ::+ 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 ServiceType_DOCDB :: ServiceType+pattern ServiceType_DOCDB = ServiceType' "DOCDB"++pattern ServiceType_RDS :: ServiceType+pattern ServiceType_RDS = ServiceType' "RDS"++{-# COMPLETE+ ServiceType_DOCDB,+ ServiceType_RDS,+ ServiceType'+ #-}
+ gen/Amazonka/Pi/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.Pi.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.Pi.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Pi.Lens+import Amazonka.Pi.Types+import qualified Amazonka.Prelude as Prelude
+ 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.Pi+import Test.Amazonka.Pi.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "Pi"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/Pi.hs view
@@ -0,0 +1,158 @@+{-# 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.Pi+-- 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.Pi where++import Amazonka.Pi+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Pi.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestDescribeDimensionKeys $+-- newDescribeDimensionKeys+--+-- , requestGetDimensionKeyDetails $+-- newGetDimensionKeyDetails+--+-- , requestGetResourceMetadata $+-- newGetResourceMetadata+--+-- , requestGetResourceMetrics $+-- newGetResourceMetrics+--+-- , requestListAvailableResourceDimensions $+-- newListAvailableResourceDimensions+--+-- , requestListAvailableResourceMetrics $+-- newListAvailableResourceMetrics+--+-- ]++-- , testGroup "response"+-- [ responseDescribeDimensionKeys $+-- newDescribeDimensionKeysResponse+--+-- , responseGetDimensionKeyDetails $+-- newGetDimensionKeyDetailsResponse+--+-- , responseGetResourceMetadata $+-- newGetResourceMetadataResponse+--+-- , responseGetResourceMetrics $+-- newGetResourceMetricsResponse+--+-- , responseListAvailableResourceDimensions $+-- newListAvailableResourceDimensionsResponse+--+-- , responseListAvailableResourceMetrics $+-- newListAvailableResourceMetricsResponse+--+-- ]+-- ]++-- Requests++requestDescribeDimensionKeys :: DescribeDimensionKeys -> TestTree+requestDescribeDimensionKeys =+ req+ "DescribeDimensionKeys"+ "fixture/DescribeDimensionKeys.yaml"++requestGetDimensionKeyDetails :: GetDimensionKeyDetails -> TestTree+requestGetDimensionKeyDetails =+ req+ "GetDimensionKeyDetails"+ "fixture/GetDimensionKeyDetails.yaml"++requestGetResourceMetadata :: GetResourceMetadata -> TestTree+requestGetResourceMetadata =+ req+ "GetResourceMetadata"+ "fixture/GetResourceMetadata.yaml"++requestGetResourceMetrics :: GetResourceMetrics -> TestTree+requestGetResourceMetrics =+ req+ "GetResourceMetrics"+ "fixture/GetResourceMetrics.yaml"++requestListAvailableResourceDimensions :: ListAvailableResourceDimensions -> TestTree+requestListAvailableResourceDimensions =+ req+ "ListAvailableResourceDimensions"+ "fixture/ListAvailableResourceDimensions.yaml"++requestListAvailableResourceMetrics :: ListAvailableResourceMetrics -> TestTree+requestListAvailableResourceMetrics =+ req+ "ListAvailableResourceMetrics"+ "fixture/ListAvailableResourceMetrics.yaml"++-- Responses++responseDescribeDimensionKeys :: DescribeDimensionKeysResponse -> TestTree+responseDescribeDimensionKeys =+ res+ "DescribeDimensionKeysResponse"+ "fixture/DescribeDimensionKeysResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDimensionKeys)++responseGetDimensionKeyDetails :: GetDimensionKeyDetailsResponse -> TestTree+responseGetDimensionKeyDetails =+ res+ "GetDimensionKeyDetailsResponse"+ "fixture/GetDimensionKeyDetailsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDimensionKeyDetails)++responseGetResourceMetadata :: GetResourceMetadataResponse -> TestTree+responseGetResourceMetadata =+ res+ "GetResourceMetadataResponse"+ "fixture/GetResourceMetadataResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResourceMetadata)++responseGetResourceMetrics :: GetResourceMetricsResponse -> TestTree+responseGetResourceMetrics =+ res+ "GetResourceMetricsResponse"+ "fixture/GetResourceMetricsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResourceMetrics)++responseListAvailableResourceDimensions :: ListAvailableResourceDimensionsResponse -> TestTree+responseListAvailableResourceDimensions =+ res+ "ListAvailableResourceDimensionsResponse"+ "fixture/ListAvailableResourceDimensionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAvailableResourceDimensions)++responseListAvailableResourceMetrics :: ListAvailableResourceMetricsResponse -> TestTree+responseListAvailableResourceMetrics =+ res+ "ListAvailableResourceMetricsResponse"+ "fixture/ListAvailableResourceMetricsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAvailableResourceMetrics)
+ test/Test/Amazonka/Pi.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.Pi+-- 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.Pi+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Pi/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.Pi.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.Pi.Internal where