amazonka-lookoutmetrics (empty) → 2.0
raw patch · 172 files changed
+17318/−0 lines, 172 filesdep +amazonka-coredep +amazonka-lookoutmetricsdep +amazonka-test
Dependencies added: amazonka-core, amazonka-lookoutmetrics, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-lookoutmetrics.cabal +183/−0
- fixture/ActivateAnomalyDetector.yaml +10/−0
- fixture/ActivateAnomalyDetectorResponse.proto +0/−0
- fixture/BackTestAnomalyDetector.yaml +10/−0
- fixture/BackTestAnomalyDetectorResponse.proto +0/−0
- fixture/CreateAlert.yaml +10/−0
- fixture/CreateAlertResponse.proto +0/−0
- fixture/CreateAnomalyDetector.yaml +10/−0
- fixture/CreateAnomalyDetectorResponse.proto +0/−0
- fixture/CreateMetricSet.yaml +10/−0
- fixture/CreateMetricSetResponse.proto +0/−0
- fixture/DeactivateAnomalyDetector.yaml +10/−0
- fixture/DeactivateAnomalyDetectorResponse.proto +0/−0
- fixture/DeleteAlert.yaml +10/−0
- fixture/DeleteAlertResponse.proto +0/−0
- fixture/DeleteAnomalyDetector.yaml +10/−0
- fixture/DeleteAnomalyDetectorResponse.proto +0/−0
- fixture/DescribeAlert.yaml +10/−0
- fixture/DescribeAlertResponse.proto +0/−0
- fixture/DescribeAnomalyDetectionExecutions.yaml +10/−0
- fixture/DescribeAnomalyDetectionExecutionsResponse.proto +0/−0
- fixture/DescribeAnomalyDetector.yaml +10/−0
- fixture/DescribeAnomalyDetectorResponse.proto +0/−0
- fixture/DescribeMetricSet.yaml +10/−0
- fixture/DescribeMetricSetResponse.proto +0/−0
- fixture/DetectMetricSetConfig.yaml +10/−0
- fixture/DetectMetricSetConfigResponse.proto +0/−0
- fixture/GetAnomalyGroup.yaml +10/−0
- fixture/GetAnomalyGroupResponse.proto +0/−0
- fixture/GetDataQualityMetrics.yaml +10/−0
- fixture/GetDataQualityMetricsResponse.proto +0/−0
- fixture/GetFeedback.yaml +10/−0
- fixture/GetFeedbackResponse.proto +0/−0
- fixture/GetSampleData.yaml +10/−0
- fixture/GetSampleDataResponse.proto +0/−0
- fixture/ListAlerts.yaml +10/−0
- fixture/ListAlertsResponse.proto +0/−0
- fixture/ListAnomalyDetectors.yaml +10/−0
- fixture/ListAnomalyDetectorsResponse.proto +0/−0
- fixture/ListAnomalyGroupRelatedMetrics.yaml +10/−0
- fixture/ListAnomalyGroupRelatedMetricsResponse.proto +0/−0
- fixture/ListAnomalyGroupSummaries.yaml +10/−0
- fixture/ListAnomalyGroupSummariesResponse.proto +0/−0
- fixture/ListAnomalyGroupTimeSeries.yaml +10/−0
- fixture/ListAnomalyGroupTimeSeriesResponse.proto +0/−0
- fixture/ListMetricSets.yaml +10/−0
- fixture/ListMetricSetsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutFeedback.yaml +10/−0
- fixture/PutFeedbackResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAlert.yaml +10/−0
- fixture/UpdateAlertResponse.proto +0/−0
- fixture/UpdateAnomalyDetector.yaml +10/−0
- fixture/UpdateAnomalyDetectorResponse.proto +0/−0
- fixture/UpdateMetricSet.yaml +10/−0
- fixture/UpdateMetricSetResponse.proto +0/−0
- gen/Amazonka/LookoutMetrics.hs +560/−0
- gen/Amazonka/LookoutMetrics/ActivateAnomalyDetector.hs +161/−0
- gen/Amazonka/LookoutMetrics/BackTestAnomalyDetector.hs +161/−0
- gen/Amazonka/LookoutMetrics/CreateAlert.hs +263/−0
- gen/Amazonka/LookoutMetrics/CreateAnomalyDetector.hs +237/−0
- gen/Amazonka/LookoutMetrics/CreateMetricSet.hs +343/−0
- gen/Amazonka/LookoutMetrics/DeactivateAnomalyDetector.hs +161/−0
- gen/Amazonka/LookoutMetrics/DeleteAlert.hs +146/−0
- gen/Amazonka/LookoutMetrics/DeleteAnomalyDetector.hs +159/−0
- gen/Amazonka/LookoutMetrics/DescribeAlert.hs +168/−0
- gen/Amazonka/LookoutMetrics/DescribeAnomalyDetectionExecutions.hs +256/−0
- gen/Amazonka/LookoutMetrics/DescribeAnomalyDetector.hs +287/−0
- gen/Amazonka/LookoutMetrics/DescribeMetricSet.hs +337/−0
- gen/Amazonka/LookoutMetrics/DetectMetricSetConfig.hs +192/−0
- gen/Amazonka/LookoutMetrics/GetAnomalyGroup.hs +188/−0
- gen/Amazonka/LookoutMetrics/GetDataQualityMetrics.hs +193/−0
- gen/Amazonka/LookoutMetrics/GetFeedback.hs +233/−0
- gen/Amazonka/LookoutMetrics/GetSampleData.hs +176/−0
- gen/Amazonka/LookoutMetrics/Lens.hs +647/−0
- gen/Amazonka/LookoutMetrics/ListAlerts.hs +221/−0
- gen/Amazonka/LookoutMetrics/ListAnomalyDetectors.hs +209/−0
- gen/Amazonka/LookoutMetrics/ListAnomalyGroupRelatedMetrics.hs +276/−0
- gen/Amazonka/LookoutMetrics/ListAnomalyGroupSummaries.hs +251/−0
- gen/Amazonka/LookoutMetrics/ListAnomalyGroupTimeSeries.hs +285/−0
- gen/Amazonka/LookoutMetrics/ListMetricSets.hs +230/−0
- gen/Amazonka/LookoutMetrics/ListTagsForResource.hs +161/−0
- gen/Amazonka/LookoutMetrics/PutFeedback.hs +174/−0
- gen/Amazonka/LookoutMetrics/TagResource.hs +168/−0
- gen/Amazonka/LookoutMetrics/Types.hs +689/−0
- gen/Amazonka/LookoutMetrics/Types/Action.hs +98/−0
- gen/Amazonka/LookoutMetrics/Types/AggregationFunction.hs +71/−0
- gen/Amazonka/LookoutMetrics/Types/Alert.hs +199/−0
- gen/Amazonka/LookoutMetrics/Types/AlertFilters.hs +99/−0
- gen/Amazonka/LookoutMetrics/Types/AlertStatus.hs +71/−0
- gen/Amazonka/LookoutMetrics/Types/AlertSummary.hs +173/−0
- gen/Amazonka/LookoutMetrics/Types/AlertType.hs +71/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectionTaskStatus.hs +86/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorConfig.hs +74/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorConfigSummary.hs +77/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorDataQualityMetric.hs +104/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorFailureType.hs +81/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorStatus.hs +116/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorSummary.hs +149/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyGroup.hs +136/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyGroupStatistics.hs +101/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyGroupSummary.hs +121/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyGroupTimeSeries.hs +87/−0
- gen/Amazonka/LookoutMetrics/Types/AnomalyGroupTimeSeriesFeedback.hs +114/−0
- gen/Amazonka/LookoutMetrics/Types/AppFlowConfig.hs +96/−0
- gen/Amazonka/LookoutMetrics/Types/AthenaSourceConfig.hs +164/−0
- gen/Amazonka/LookoutMetrics/Types/AttributeValue.hs +132/−0
- gen/Amazonka/LookoutMetrics/Types/AutoDetectionMetricSource.hs +73/−0
- gen/Amazonka/LookoutMetrics/Types/AutoDetectionS3SourceConfig.hs +86/−0
- gen/Amazonka/LookoutMetrics/Types/BackTestConfiguration.hs +83/−0
- gen/Amazonka/LookoutMetrics/Types/CSVFileCompression.hs +71/−0
- gen/Amazonka/LookoutMetrics/Types/CloudWatchConfig.hs +99/−0
- gen/Amazonka/LookoutMetrics/Types/Confidence.hs +76/−0
- gen/Amazonka/LookoutMetrics/Types/ContributionMatrix.hs +77/−0
- gen/Amazonka/LookoutMetrics/Types/CsvFormatDescriptor.hs +149/−0
- gen/Amazonka/LookoutMetrics/Types/DataQualityMetric.hs +112/−0
- gen/Amazonka/LookoutMetrics/Types/DataQualityMetricType.hs +111/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedCsvFormatDescriptor.hs +134/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedField.hs +98/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedFileFormatDescriptor.hs +90/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedJsonFormatDescriptor.hs +89/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedMetricSetConfig.hs +99/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedMetricSource.hs +73/−0
- gen/Amazonka/LookoutMetrics/Types/DetectedS3SourceConfig.hs +73/−0
- gen/Amazonka/LookoutMetrics/Types/DimensionContribution.hs +89/−0
- gen/Amazonka/LookoutMetrics/Types/DimensionFilter.hs +97/−0
- gen/Amazonka/LookoutMetrics/Types/DimensionNameValue.hs +91/−0
- gen/Amazonka/LookoutMetrics/Types/DimensionValueContribution.hs +85/−0
- gen/Amazonka/LookoutMetrics/Types/ExecutionStatus.hs +97/−0
- gen/Amazonka/LookoutMetrics/Types/FileFormatDescriptor.hs +104/−0
- gen/Amazonka/LookoutMetrics/Types/Filter.hs +99/−0
- gen/Amazonka/LookoutMetrics/Types/FilterOperation.hs +66/−0
- gen/Amazonka/LookoutMetrics/Types/Frequency.hs +81/−0
- gen/Amazonka/LookoutMetrics/Types/InterMetricImpactDetails.hs +120/−0
- gen/Amazonka/LookoutMetrics/Types/ItemizedMetricStats.hs +84/−0
- gen/Amazonka/LookoutMetrics/Types/JsonFileCompression.hs +71/−0
- gen/Amazonka/LookoutMetrics/Types/JsonFormatDescriptor.hs +96/−0
- gen/Amazonka/LookoutMetrics/Types/LambdaConfiguration.hs +100/−0
- gen/Amazonka/LookoutMetrics/Types/Metric.hs +113/−0
- gen/Amazonka/LookoutMetrics/Types/MetricLevelImpact.hs +98/−0
- gen/Amazonka/LookoutMetrics/Types/MetricSetDataQualityMetric.hs +93/−0
- gen/Amazonka/LookoutMetrics/Types/MetricSetDimensionFilter.hs +99/−0
- gen/Amazonka/LookoutMetrics/Types/MetricSetSummary.hs +148/−0
- gen/Amazonka/LookoutMetrics/Types/MetricSource.hs +155/−0
- gen/Amazonka/LookoutMetrics/Types/RDSSourceConfig.hs +180/−0
- gen/Amazonka/LookoutMetrics/Types/RedshiftSourceConfig.hs +182/−0
- gen/Amazonka/LookoutMetrics/Types/RelationshipType.hs +71/−0
- gen/Amazonka/LookoutMetrics/Types/S3SourceConfig.hs +128/−0
- gen/Amazonka/LookoutMetrics/Types/SNSConfiguration.hs +142/−0
- gen/Amazonka/LookoutMetrics/Types/SampleDataS3SourceConfig.hs +119/−0
- gen/Amazonka/LookoutMetrics/Types/SnsFormat.hs +76/−0
- gen/Amazonka/LookoutMetrics/Types/TimeSeries.hs +104/−0
- gen/Amazonka/LookoutMetrics/Types/TimeSeriesFeedback.hs +84/−0
- gen/Amazonka/LookoutMetrics/Types/TimestampColumn.hs +94/−0
- gen/Amazonka/LookoutMetrics/Types/VpcConfiguration.hs +101/−0
- gen/Amazonka/LookoutMetrics/UntagResource.hs +165/−0
- gen/Amazonka/LookoutMetrics/UpdateAlert.hs +223/−0
- gen/Amazonka/LookoutMetrics/UpdateAnomalyDetector.hs +216/−0
- gen/Amazonka/LookoutMetrics/UpdateMetricSet.hs +295/−0
- gen/Amazonka/LookoutMetrics/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/LookoutMetrics.hs +638/−0
- test/Test/Amazonka/LookoutMetrics.hs +20/−0
- test/Test/Amazonka/LookoutMetrics/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 Lookout for Metrics SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2017-07-25@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-lookoutmetrics)+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.LookoutMetrics](http://hackage.haskell.org/package/amazonka-lookoutmetrics/docs/Amazonka-LookoutMetrics.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-lookoutmetrics` 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-lookoutmetrics.cabal view
@@ -0,0 +1,183 @@+cabal-version: 2.2+name: amazonka-lookoutmetrics+version: 2.0+synopsis: Amazon Lookout for Metrics 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 @2017-07-25@ 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.LookoutMetrics.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.LookoutMetrics" 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-lookoutmetrics++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.LookoutMetrics+ Amazonka.LookoutMetrics.ActivateAnomalyDetector+ Amazonka.LookoutMetrics.BackTestAnomalyDetector+ Amazonka.LookoutMetrics.CreateAlert+ Amazonka.LookoutMetrics.CreateAnomalyDetector+ Amazonka.LookoutMetrics.CreateMetricSet+ Amazonka.LookoutMetrics.DeactivateAnomalyDetector+ Amazonka.LookoutMetrics.DeleteAlert+ Amazonka.LookoutMetrics.DeleteAnomalyDetector+ Amazonka.LookoutMetrics.DescribeAlert+ Amazonka.LookoutMetrics.DescribeAnomalyDetectionExecutions+ Amazonka.LookoutMetrics.DescribeAnomalyDetector+ Amazonka.LookoutMetrics.DescribeMetricSet+ Amazonka.LookoutMetrics.DetectMetricSetConfig+ Amazonka.LookoutMetrics.GetAnomalyGroup+ Amazonka.LookoutMetrics.GetDataQualityMetrics+ Amazonka.LookoutMetrics.GetFeedback+ Amazonka.LookoutMetrics.GetSampleData+ Amazonka.LookoutMetrics.Lens+ Amazonka.LookoutMetrics.ListAlerts+ Amazonka.LookoutMetrics.ListAnomalyDetectors+ Amazonka.LookoutMetrics.ListAnomalyGroupRelatedMetrics+ Amazonka.LookoutMetrics.ListAnomalyGroupSummaries+ Amazonka.LookoutMetrics.ListAnomalyGroupTimeSeries+ Amazonka.LookoutMetrics.ListMetricSets+ Amazonka.LookoutMetrics.ListTagsForResource+ Amazonka.LookoutMetrics.PutFeedback+ Amazonka.LookoutMetrics.TagResource+ Amazonka.LookoutMetrics.Types+ Amazonka.LookoutMetrics.Types.Action+ Amazonka.LookoutMetrics.Types.AggregationFunction+ Amazonka.LookoutMetrics.Types.Alert+ Amazonka.LookoutMetrics.Types.AlertFilters+ Amazonka.LookoutMetrics.Types.AlertStatus+ Amazonka.LookoutMetrics.Types.AlertSummary+ Amazonka.LookoutMetrics.Types.AlertType+ Amazonka.LookoutMetrics.Types.AnomalyDetectionTaskStatus+ Amazonka.LookoutMetrics.Types.AnomalyDetectorConfig+ Amazonka.LookoutMetrics.Types.AnomalyDetectorConfigSummary+ Amazonka.LookoutMetrics.Types.AnomalyDetectorDataQualityMetric+ Amazonka.LookoutMetrics.Types.AnomalyDetectorFailureType+ Amazonka.LookoutMetrics.Types.AnomalyDetectorStatus+ Amazonka.LookoutMetrics.Types.AnomalyDetectorSummary+ Amazonka.LookoutMetrics.Types.AnomalyGroup+ Amazonka.LookoutMetrics.Types.AnomalyGroupStatistics+ Amazonka.LookoutMetrics.Types.AnomalyGroupSummary+ Amazonka.LookoutMetrics.Types.AnomalyGroupTimeSeries+ Amazonka.LookoutMetrics.Types.AnomalyGroupTimeSeriesFeedback+ Amazonka.LookoutMetrics.Types.AppFlowConfig+ Amazonka.LookoutMetrics.Types.AthenaSourceConfig+ Amazonka.LookoutMetrics.Types.AttributeValue+ Amazonka.LookoutMetrics.Types.AutoDetectionMetricSource+ Amazonka.LookoutMetrics.Types.AutoDetectionS3SourceConfig+ Amazonka.LookoutMetrics.Types.BackTestConfiguration+ Amazonka.LookoutMetrics.Types.CloudWatchConfig+ Amazonka.LookoutMetrics.Types.Confidence+ Amazonka.LookoutMetrics.Types.ContributionMatrix+ Amazonka.LookoutMetrics.Types.CSVFileCompression+ Amazonka.LookoutMetrics.Types.CsvFormatDescriptor+ Amazonka.LookoutMetrics.Types.DataQualityMetric+ Amazonka.LookoutMetrics.Types.DataQualityMetricType+ Amazonka.LookoutMetrics.Types.DetectedCsvFormatDescriptor+ Amazonka.LookoutMetrics.Types.DetectedField+ Amazonka.LookoutMetrics.Types.DetectedFileFormatDescriptor+ Amazonka.LookoutMetrics.Types.DetectedJsonFormatDescriptor+ Amazonka.LookoutMetrics.Types.DetectedMetricSetConfig+ Amazonka.LookoutMetrics.Types.DetectedMetricSource+ Amazonka.LookoutMetrics.Types.DetectedS3SourceConfig+ Amazonka.LookoutMetrics.Types.DimensionContribution+ Amazonka.LookoutMetrics.Types.DimensionFilter+ Amazonka.LookoutMetrics.Types.DimensionNameValue+ Amazonka.LookoutMetrics.Types.DimensionValueContribution+ Amazonka.LookoutMetrics.Types.ExecutionStatus+ Amazonka.LookoutMetrics.Types.FileFormatDescriptor+ Amazonka.LookoutMetrics.Types.Filter+ Amazonka.LookoutMetrics.Types.FilterOperation+ Amazonka.LookoutMetrics.Types.Frequency+ Amazonka.LookoutMetrics.Types.InterMetricImpactDetails+ Amazonka.LookoutMetrics.Types.ItemizedMetricStats+ Amazonka.LookoutMetrics.Types.JsonFileCompression+ Amazonka.LookoutMetrics.Types.JsonFormatDescriptor+ Amazonka.LookoutMetrics.Types.LambdaConfiguration+ Amazonka.LookoutMetrics.Types.Metric+ Amazonka.LookoutMetrics.Types.MetricLevelImpact+ Amazonka.LookoutMetrics.Types.MetricSetDataQualityMetric+ Amazonka.LookoutMetrics.Types.MetricSetDimensionFilter+ Amazonka.LookoutMetrics.Types.MetricSetSummary+ Amazonka.LookoutMetrics.Types.MetricSource+ Amazonka.LookoutMetrics.Types.RDSSourceConfig+ Amazonka.LookoutMetrics.Types.RedshiftSourceConfig+ Amazonka.LookoutMetrics.Types.RelationshipType+ Amazonka.LookoutMetrics.Types.S3SourceConfig+ Amazonka.LookoutMetrics.Types.SampleDataS3SourceConfig+ Amazonka.LookoutMetrics.Types.SNSConfiguration+ Amazonka.LookoutMetrics.Types.SnsFormat+ Amazonka.LookoutMetrics.Types.TimeSeries+ Amazonka.LookoutMetrics.Types.TimeSeriesFeedback+ Amazonka.LookoutMetrics.Types.TimestampColumn+ Amazonka.LookoutMetrics.Types.VpcConfiguration+ Amazonka.LookoutMetrics.UntagResource+ Amazonka.LookoutMetrics.UpdateAlert+ Amazonka.LookoutMetrics.UpdateAnomalyDetector+ Amazonka.LookoutMetrics.UpdateMetricSet+ Amazonka.LookoutMetrics.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-lookoutmetrics-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.LookoutMetrics+ Test.Amazonka.LookoutMetrics+ Test.Amazonka.LookoutMetrics.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-lookoutmetrics+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/ActivateAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ActivateAnomalyDetectorResponse.proto view
+ fixture/BackTestAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/BackTestAnomalyDetectorResponse.proto view
+ fixture/CreateAlert.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/CreateAlertResponse.proto view
+ fixture/CreateAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/CreateAnomalyDetectorResponse.proto view
+ fixture/CreateMetricSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/CreateMetricSetResponse.proto view
+ fixture/DeactivateAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DeactivateAnomalyDetectorResponse.proto view
+ fixture/DeleteAlert.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DeleteAlertResponse.proto view
+ fixture/DeleteAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DeleteAnomalyDetectorResponse.proto view
+ fixture/DescribeAlert.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DescribeAlertResponse.proto view
+ fixture/DescribeAnomalyDetectionExecutions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DescribeAnomalyDetectionExecutionsResponse.proto view
+ fixture/DescribeAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DescribeAnomalyDetectorResponse.proto view
+ fixture/DescribeMetricSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DescribeMetricSetResponse.proto view
+ fixture/DetectMetricSetConfig.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/DetectMetricSetConfigResponse.proto view
+ fixture/GetAnomalyGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/GetAnomalyGroupResponse.proto view
+ fixture/GetDataQualityMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/GetDataQualityMetricsResponse.proto view
+ fixture/GetFeedback.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/GetFeedbackResponse.proto view
+ fixture/GetSampleData.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/GetSampleDataResponse.proto view
+ fixture/ListAlerts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ListAlertsResponse.proto view
+ fixture/ListAnomalyDetectors.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ListAnomalyDetectorsResponse.proto view
+ fixture/ListAnomalyGroupRelatedMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ListAnomalyGroupRelatedMetricsResponse.proto view
+ fixture/ListAnomalyGroupSummaries.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ListAnomalyGroupSummariesResponse.proto view
+ fixture/ListAnomalyGroupTimeSeries.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ListAnomalyGroupTimeSeriesResponse.proto view
+ fixture/ListMetricSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/ListMetricSetsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/PutFeedback.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/PutFeedbackResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateAlert.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/UpdateAlertResponse.proto view
+ fixture/UpdateAnomalyDetector.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/UpdateAnomalyDetectorResponse.proto view
+ fixture/UpdateMetricSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutmetrics/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutmetrics.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/UpdateMetricSetResponse.proto view
+ gen/Amazonka/LookoutMetrics.hs view
@@ -0,0 +1,560 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.LookoutMetrics+-- 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 @2017-07-25@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- This is the /Amazon Lookout for Metrics API Reference/. For an+-- introduction to the service with tutorials for getting started, visit+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev Amazon Lookout for Metrics Developer Guide>.+module Amazonka.LookoutMetrics+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** TooManyRequestsException+ _TooManyRequestsException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** ActivateAnomalyDetector+ ActivateAnomalyDetector (ActivateAnomalyDetector'),+ newActivateAnomalyDetector,+ ActivateAnomalyDetectorResponse (ActivateAnomalyDetectorResponse'),+ newActivateAnomalyDetectorResponse,++ -- ** BackTestAnomalyDetector+ BackTestAnomalyDetector (BackTestAnomalyDetector'),+ newBackTestAnomalyDetector,+ BackTestAnomalyDetectorResponse (BackTestAnomalyDetectorResponse'),+ newBackTestAnomalyDetectorResponse,++ -- ** CreateAlert+ CreateAlert (CreateAlert'),+ newCreateAlert,+ CreateAlertResponse (CreateAlertResponse'),+ newCreateAlertResponse,++ -- ** CreateAnomalyDetector+ CreateAnomalyDetector (CreateAnomalyDetector'),+ newCreateAnomalyDetector,+ CreateAnomalyDetectorResponse (CreateAnomalyDetectorResponse'),+ newCreateAnomalyDetectorResponse,++ -- ** CreateMetricSet+ CreateMetricSet (CreateMetricSet'),+ newCreateMetricSet,+ CreateMetricSetResponse (CreateMetricSetResponse'),+ newCreateMetricSetResponse,++ -- ** DeactivateAnomalyDetector+ DeactivateAnomalyDetector (DeactivateAnomalyDetector'),+ newDeactivateAnomalyDetector,+ DeactivateAnomalyDetectorResponse (DeactivateAnomalyDetectorResponse'),+ newDeactivateAnomalyDetectorResponse,++ -- ** DeleteAlert+ DeleteAlert (DeleteAlert'),+ newDeleteAlert,+ DeleteAlertResponse (DeleteAlertResponse'),+ newDeleteAlertResponse,++ -- ** DeleteAnomalyDetector+ DeleteAnomalyDetector (DeleteAnomalyDetector'),+ newDeleteAnomalyDetector,+ DeleteAnomalyDetectorResponse (DeleteAnomalyDetectorResponse'),+ newDeleteAnomalyDetectorResponse,++ -- ** DescribeAlert+ DescribeAlert (DescribeAlert'),+ newDescribeAlert,+ DescribeAlertResponse (DescribeAlertResponse'),+ newDescribeAlertResponse,++ -- ** DescribeAnomalyDetectionExecutions+ DescribeAnomalyDetectionExecutions (DescribeAnomalyDetectionExecutions'),+ newDescribeAnomalyDetectionExecutions,+ DescribeAnomalyDetectionExecutionsResponse (DescribeAnomalyDetectionExecutionsResponse'),+ newDescribeAnomalyDetectionExecutionsResponse,++ -- ** DescribeAnomalyDetector+ DescribeAnomalyDetector (DescribeAnomalyDetector'),+ newDescribeAnomalyDetector,+ DescribeAnomalyDetectorResponse (DescribeAnomalyDetectorResponse'),+ newDescribeAnomalyDetectorResponse,++ -- ** DescribeMetricSet+ DescribeMetricSet (DescribeMetricSet'),+ newDescribeMetricSet,+ DescribeMetricSetResponse (DescribeMetricSetResponse'),+ newDescribeMetricSetResponse,++ -- ** DetectMetricSetConfig+ DetectMetricSetConfig (DetectMetricSetConfig'),+ newDetectMetricSetConfig,+ DetectMetricSetConfigResponse (DetectMetricSetConfigResponse'),+ newDetectMetricSetConfigResponse,++ -- ** GetAnomalyGroup+ GetAnomalyGroup (GetAnomalyGroup'),+ newGetAnomalyGroup,+ GetAnomalyGroupResponse (GetAnomalyGroupResponse'),+ newGetAnomalyGroupResponse,++ -- ** GetDataQualityMetrics+ GetDataQualityMetrics (GetDataQualityMetrics'),+ newGetDataQualityMetrics,+ GetDataQualityMetricsResponse (GetDataQualityMetricsResponse'),+ newGetDataQualityMetricsResponse,++ -- ** GetFeedback+ GetFeedback (GetFeedback'),+ newGetFeedback,+ GetFeedbackResponse (GetFeedbackResponse'),+ newGetFeedbackResponse,++ -- ** GetSampleData+ GetSampleData (GetSampleData'),+ newGetSampleData,+ GetSampleDataResponse (GetSampleDataResponse'),+ newGetSampleDataResponse,++ -- ** ListAlerts+ ListAlerts (ListAlerts'),+ newListAlerts,+ ListAlertsResponse (ListAlertsResponse'),+ newListAlertsResponse,++ -- ** ListAnomalyDetectors+ ListAnomalyDetectors (ListAnomalyDetectors'),+ newListAnomalyDetectors,+ ListAnomalyDetectorsResponse (ListAnomalyDetectorsResponse'),+ newListAnomalyDetectorsResponse,++ -- ** ListAnomalyGroupRelatedMetrics+ ListAnomalyGroupRelatedMetrics (ListAnomalyGroupRelatedMetrics'),+ newListAnomalyGroupRelatedMetrics,+ ListAnomalyGroupRelatedMetricsResponse (ListAnomalyGroupRelatedMetricsResponse'),+ newListAnomalyGroupRelatedMetricsResponse,++ -- ** ListAnomalyGroupSummaries+ ListAnomalyGroupSummaries (ListAnomalyGroupSummaries'),+ newListAnomalyGroupSummaries,+ ListAnomalyGroupSummariesResponse (ListAnomalyGroupSummariesResponse'),+ newListAnomalyGroupSummariesResponse,++ -- ** ListAnomalyGroupTimeSeries+ ListAnomalyGroupTimeSeries (ListAnomalyGroupTimeSeries'),+ newListAnomalyGroupTimeSeries,+ ListAnomalyGroupTimeSeriesResponse (ListAnomalyGroupTimeSeriesResponse'),+ newListAnomalyGroupTimeSeriesResponse,++ -- ** ListMetricSets+ ListMetricSets (ListMetricSets'),+ newListMetricSets,+ ListMetricSetsResponse (ListMetricSetsResponse'),+ newListMetricSetsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutFeedback+ PutFeedback (PutFeedback'),+ newPutFeedback,+ PutFeedbackResponse (PutFeedbackResponse'),+ newPutFeedbackResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAlert+ UpdateAlert (UpdateAlert'),+ newUpdateAlert,+ UpdateAlertResponse (UpdateAlertResponse'),+ newUpdateAlertResponse,++ -- ** UpdateAnomalyDetector+ UpdateAnomalyDetector (UpdateAnomalyDetector'),+ newUpdateAnomalyDetector,+ UpdateAnomalyDetectorResponse (UpdateAnomalyDetectorResponse'),+ newUpdateAnomalyDetectorResponse,++ -- ** UpdateMetricSet+ UpdateMetricSet (UpdateMetricSet'),+ newUpdateMetricSet,+ UpdateMetricSetResponse (UpdateMetricSetResponse'),+ newUpdateMetricSetResponse,++ -- * Types++ -- ** AggregationFunction+ AggregationFunction (..),++ -- ** AlertStatus+ AlertStatus (..),++ -- ** AlertType+ AlertType (..),++ -- ** AnomalyDetectionTaskStatus+ AnomalyDetectionTaskStatus (..),++ -- ** AnomalyDetectorFailureType+ AnomalyDetectorFailureType (..),++ -- ** AnomalyDetectorStatus+ AnomalyDetectorStatus (..),++ -- ** CSVFileCompression+ CSVFileCompression (..),++ -- ** Confidence+ Confidence (..),++ -- ** DataQualityMetricType+ DataQualityMetricType (..),++ -- ** FilterOperation+ FilterOperation (..),++ -- ** Frequency+ Frequency (..),++ -- ** JsonFileCompression+ JsonFileCompression (..),++ -- ** RelationshipType+ RelationshipType (..),++ -- ** SnsFormat+ SnsFormat (..),++ -- ** Action+ Action (Action'),+ newAction,++ -- ** Alert+ Alert (Alert'),+ newAlert,++ -- ** AlertFilters+ AlertFilters (AlertFilters'),+ newAlertFilters,++ -- ** AlertSummary+ AlertSummary (AlertSummary'),+ newAlertSummary,++ -- ** AnomalyDetectorConfig+ AnomalyDetectorConfig (AnomalyDetectorConfig'),+ newAnomalyDetectorConfig,++ -- ** AnomalyDetectorConfigSummary+ AnomalyDetectorConfigSummary (AnomalyDetectorConfigSummary'),+ newAnomalyDetectorConfigSummary,++ -- ** AnomalyDetectorDataQualityMetric+ AnomalyDetectorDataQualityMetric (AnomalyDetectorDataQualityMetric'),+ newAnomalyDetectorDataQualityMetric,++ -- ** AnomalyDetectorSummary+ AnomalyDetectorSummary (AnomalyDetectorSummary'),+ newAnomalyDetectorSummary,++ -- ** AnomalyGroup+ AnomalyGroup (AnomalyGroup'),+ newAnomalyGroup,++ -- ** AnomalyGroupStatistics+ AnomalyGroupStatistics (AnomalyGroupStatistics'),+ newAnomalyGroupStatistics,++ -- ** AnomalyGroupSummary+ AnomalyGroupSummary (AnomalyGroupSummary'),+ newAnomalyGroupSummary,++ -- ** AnomalyGroupTimeSeries+ AnomalyGroupTimeSeries (AnomalyGroupTimeSeries'),+ newAnomalyGroupTimeSeries,++ -- ** AnomalyGroupTimeSeriesFeedback+ AnomalyGroupTimeSeriesFeedback (AnomalyGroupTimeSeriesFeedback'),+ newAnomalyGroupTimeSeriesFeedback,++ -- ** AppFlowConfig+ AppFlowConfig (AppFlowConfig'),+ newAppFlowConfig,++ -- ** AthenaSourceConfig+ AthenaSourceConfig (AthenaSourceConfig'),+ newAthenaSourceConfig,++ -- ** AttributeValue+ AttributeValue (AttributeValue'),+ newAttributeValue,++ -- ** AutoDetectionMetricSource+ AutoDetectionMetricSource (AutoDetectionMetricSource'),+ newAutoDetectionMetricSource,++ -- ** AutoDetectionS3SourceConfig+ AutoDetectionS3SourceConfig (AutoDetectionS3SourceConfig'),+ newAutoDetectionS3SourceConfig,++ -- ** BackTestConfiguration+ BackTestConfiguration (BackTestConfiguration'),+ newBackTestConfiguration,++ -- ** CloudWatchConfig+ CloudWatchConfig (CloudWatchConfig'),+ newCloudWatchConfig,++ -- ** ContributionMatrix+ ContributionMatrix (ContributionMatrix'),+ newContributionMatrix,++ -- ** CsvFormatDescriptor+ CsvFormatDescriptor (CsvFormatDescriptor'),+ newCsvFormatDescriptor,++ -- ** DataQualityMetric+ DataQualityMetric (DataQualityMetric'),+ newDataQualityMetric,++ -- ** DetectedCsvFormatDescriptor+ DetectedCsvFormatDescriptor (DetectedCsvFormatDescriptor'),+ newDetectedCsvFormatDescriptor,++ -- ** DetectedField+ DetectedField (DetectedField'),+ newDetectedField,++ -- ** DetectedFileFormatDescriptor+ DetectedFileFormatDescriptor (DetectedFileFormatDescriptor'),+ newDetectedFileFormatDescriptor,++ -- ** DetectedJsonFormatDescriptor+ DetectedJsonFormatDescriptor (DetectedJsonFormatDescriptor'),+ newDetectedJsonFormatDescriptor,++ -- ** DetectedMetricSetConfig+ DetectedMetricSetConfig (DetectedMetricSetConfig'),+ newDetectedMetricSetConfig,++ -- ** DetectedMetricSource+ DetectedMetricSource (DetectedMetricSource'),+ newDetectedMetricSource,++ -- ** DetectedS3SourceConfig+ DetectedS3SourceConfig (DetectedS3SourceConfig'),+ newDetectedS3SourceConfig,++ -- ** DimensionContribution+ DimensionContribution (DimensionContribution'),+ newDimensionContribution,++ -- ** DimensionFilter+ DimensionFilter (DimensionFilter'),+ newDimensionFilter,++ -- ** DimensionNameValue+ DimensionNameValue (DimensionNameValue'),+ newDimensionNameValue,++ -- ** DimensionValueContribution+ DimensionValueContribution (DimensionValueContribution'),+ newDimensionValueContribution,++ -- ** ExecutionStatus+ ExecutionStatus (ExecutionStatus'),+ newExecutionStatus,++ -- ** FileFormatDescriptor+ FileFormatDescriptor (FileFormatDescriptor'),+ newFileFormatDescriptor,++ -- ** Filter+ Filter (Filter'),+ newFilter,++ -- ** InterMetricImpactDetails+ InterMetricImpactDetails (InterMetricImpactDetails'),+ newInterMetricImpactDetails,++ -- ** ItemizedMetricStats+ ItemizedMetricStats (ItemizedMetricStats'),+ newItemizedMetricStats,++ -- ** JsonFormatDescriptor+ JsonFormatDescriptor (JsonFormatDescriptor'),+ newJsonFormatDescriptor,++ -- ** LambdaConfiguration+ LambdaConfiguration (LambdaConfiguration'),+ newLambdaConfiguration,++ -- ** Metric+ Metric (Metric'),+ newMetric,++ -- ** MetricLevelImpact+ MetricLevelImpact (MetricLevelImpact'),+ newMetricLevelImpact,++ -- ** MetricSetDataQualityMetric+ MetricSetDataQualityMetric (MetricSetDataQualityMetric'),+ newMetricSetDataQualityMetric,++ -- ** MetricSetDimensionFilter+ MetricSetDimensionFilter (MetricSetDimensionFilter'),+ newMetricSetDimensionFilter,++ -- ** MetricSetSummary+ MetricSetSummary (MetricSetSummary'),+ newMetricSetSummary,++ -- ** MetricSource+ MetricSource (MetricSource'),+ newMetricSource,++ -- ** RDSSourceConfig+ RDSSourceConfig (RDSSourceConfig'),+ newRDSSourceConfig,++ -- ** RedshiftSourceConfig+ RedshiftSourceConfig (RedshiftSourceConfig'),+ newRedshiftSourceConfig,++ -- ** S3SourceConfig+ S3SourceConfig (S3SourceConfig'),+ newS3SourceConfig,++ -- ** SNSConfiguration+ SNSConfiguration (SNSConfiguration'),+ newSNSConfiguration,++ -- ** SampleDataS3SourceConfig+ SampleDataS3SourceConfig (SampleDataS3SourceConfig'),+ newSampleDataS3SourceConfig,++ -- ** TimeSeries+ TimeSeries (TimeSeries'),+ newTimeSeries,++ -- ** TimeSeriesFeedback+ TimeSeriesFeedback (TimeSeriesFeedback'),+ newTimeSeriesFeedback,++ -- ** TimestampColumn+ TimestampColumn (TimestampColumn'),+ newTimestampColumn,++ -- ** VpcConfiguration+ VpcConfiguration (VpcConfiguration'),+ newVpcConfiguration,+ )+where++import Amazonka.LookoutMetrics.ActivateAnomalyDetector+import Amazonka.LookoutMetrics.BackTestAnomalyDetector+import Amazonka.LookoutMetrics.CreateAlert+import Amazonka.LookoutMetrics.CreateAnomalyDetector+import Amazonka.LookoutMetrics.CreateMetricSet+import Amazonka.LookoutMetrics.DeactivateAnomalyDetector+import Amazonka.LookoutMetrics.DeleteAlert+import Amazonka.LookoutMetrics.DeleteAnomalyDetector+import Amazonka.LookoutMetrics.DescribeAlert+import Amazonka.LookoutMetrics.DescribeAnomalyDetectionExecutions+import Amazonka.LookoutMetrics.DescribeAnomalyDetector+import Amazonka.LookoutMetrics.DescribeMetricSet+import Amazonka.LookoutMetrics.DetectMetricSetConfig+import Amazonka.LookoutMetrics.GetAnomalyGroup+import Amazonka.LookoutMetrics.GetDataQualityMetrics+import Amazonka.LookoutMetrics.GetFeedback+import Amazonka.LookoutMetrics.GetSampleData+import Amazonka.LookoutMetrics.Lens+import Amazonka.LookoutMetrics.ListAlerts+import Amazonka.LookoutMetrics.ListAnomalyDetectors+import Amazonka.LookoutMetrics.ListAnomalyGroupRelatedMetrics+import Amazonka.LookoutMetrics.ListAnomalyGroupSummaries+import Amazonka.LookoutMetrics.ListAnomalyGroupTimeSeries+import Amazonka.LookoutMetrics.ListMetricSets+import Amazonka.LookoutMetrics.ListTagsForResource+import Amazonka.LookoutMetrics.PutFeedback+import Amazonka.LookoutMetrics.TagResource+import Amazonka.LookoutMetrics.Types+import Amazonka.LookoutMetrics.UntagResource+import Amazonka.LookoutMetrics.UpdateAlert+import Amazonka.LookoutMetrics.UpdateAnomalyDetector+import Amazonka.LookoutMetrics.UpdateMetricSet+import Amazonka.LookoutMetrics.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 'LookoutMetrics'.++-- $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/LookoutMetrics/ActivateAnomalyDetector.hs view
@@ -0,0 +1,161 @@+{-# 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.LookoutMetrics.ActivateAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Activates an anomaly detector.+module Amazonka.LookoutMetrics.ActivateAnomalyDetector+ ( -- * Creating a Request+ ActivateAnomalyDetector (..),+ newActivateAnomalyDetector,++ -- * Request Lenses+ activateAnomalyDetector_anomalyDetectorArn,++ -- * Destructuring the Response+ ActivateAnomalyDetectorResponse (..),+ newActivateAnomalyDetectorResponse,++ -- * Response Lenses+ activateAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newActivateAnomalyDetector' smart constructor.+data ActivateAnomalyDetector = ActivateAnomalyDetector'+ { -- | The ARN of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivateAnomalyDetector' 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:+--+-- 'anomalyDetectorArn', 'activateAnomalyDetector_anomalyDetectorArn' - The ARN of the anomaly detector.+newActivateAnomalyDetector ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ ActivateAnomalyDetector+newActivateAnomalyDetector pAnomalyDetectorArn_ =+ ActivateAnomalyDetector'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_+ }++-- | The ARN of the anomaly detector.+activateAnomalyDetector_anomalyDetectorArn :: Lens.Lens' ActivateAnomalyDetector Prelude.Text+activateAnomalyDetector_anomalyDetectorArn = Lens.lens (\ActivateAnomalyDetector' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@ActivateAnomalyDetector' {} a -> s {anomalyDetectorArn = a} :: ActivateAnomalyDetector)++instance Core.AWSRequest ActivateAnomalyDetector where+ type+ AWSResponse ActivateAnomalyDetector =+ ActivateAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ ActivateAnomalyDetectorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ActivateAnomalyDetector where+ hashWithSalt _salt ActivateAnomalyDetector' {..} =+ _salt `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData ActivateAnomalyDetector where+ rnf ActivateAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders ActivateAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ActivateAnomalyDetector where+ toJSON ActivateAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath ActivateAnomalyDetector where+ toPath = Prelude.const "/ActivateAnomalyDetector"++instance Data.ToQuery ActivateAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newActivateAnomalyDetectorResponse' smart constructor.+data ActivateAnomalyDetectorResponse = ActivateAnomalyDetectorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivateAnomalyDetectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'activateAnomalyDetectorResponse_httpStatus' - The response's http status code.+newActivateAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ActivateAnomalyDetectorResponse+newActivateAnomalyDetectorResponse pHttpStatus_ =+ ActivateAnomalyDetectorResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+activateAnomalyDetectorResponse_httpStatus :: Lens.Lens' ActivateAnomalyDetectorResponse Prelude.Int+activateAnomalyDetectorResponse_httpStatus = Lens.lens (\ActivateAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@ActivateAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: ActivateAnomalyDetectorResponse)++instance+ Prelude.NFData+ ActivateAnomalyDetectorResponse+ where+ rnf ActivateAnomalyDetectorResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/BackTestAnomalyDetector.hs view
@@ -0,0 +1,161 @@+{-# 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.LookoutMetrics.BackTestAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Runs a backtest for anomaly detection for the specified resource.+module Amazonka.LookoutMetrics.BackTestAnomalyDetector+ ( -- * Creating a Request+ BackTestAnomalyDetector (..),+ newBackTestAnomalyDetector,++ -- * Request Lenses+ backTestAnomalyDetector_anomalyDetectorArn,++ -- * Destructuring the Response+ BackTestAnomalyDetectorResponse (..),+ newBackTestAnomalyDetectorResponse,++ -- * Response Lenses+ backTestAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBackTestAnomalyDetector' smart constructor.+data BackTestAnomalyDetector = BackTestAnomalyDetector'+ { -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackTestAnomalyDetector' 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:+--+-- 'anomalyDetectorArn', 'backTestAnomalyDetector_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+newBackTestAnomalyDetector ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ BackTestAnomalyDetector+newBackTestAnomalyDetector pAnomalyDetectorArn_ =+ BackTestAnomalyDetector'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_+ }++-- | The Amazon Resource Name (ARN) of the anomaly detector.+backTestAnomalyDetector_anomalyDetectorArn :: Lens.Lens' BackTestAnomalyDetector Prelude.Text+backTestAnomalyDetector_anomalyDetectorArn = Lens.lens (\BackTestAnomalyDetector' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@BackTestAnomalyDetector' {} a -> s {anomalyDetectorArn = a} :: BackTestAnomalyDetector)++instance Core.AWSRequest BackTestAnomalyDetector where+ type+ AWSResponse BackTestAnomalyDetector =+ BackTestAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ BackTestAnomalyDetectorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BackTestAnomalyDetector where+ hashWithSalt _salt BackTestAnomalyDetector' {..} =+ _salt `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData BackTestAnomalyDetector where+ rnf BackTestAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders BackTestAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BackTestAnomalyDetector where+ toJSON BackTestAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath BackTestAnomalyDetector where+ toPath = Prelude.const "/BackTestAnomalyDetector"++instance Data.ToQuery BackTestAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBackTestAnomalyDetectorResponse' smart constructor.+data BackTestAnomalyDetectorResponse = BackTestAnomalyDetectorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackTestAnomalyDetectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'backTestAnomalyDetectorResponse_httpStatus' - The response's http status code.+newBackTestAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BackTestAnomalyDetectorResponse+newBackTestAnomalyDetectorResponse pHttpStatus_ =+ BackTestAnomalyDetectorResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+backTestAnomalyDetectorResponse_httpStatus :: Lens.Lens' BackTestAnomalyDetectorResponse Prelude.Int+backTestAnomalyDetectorResponse_httpStatus = Lens.lens (\BackTestAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@BackTestAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: BackTestAnomalyDetectorResponse)++instance+ Prelude.NFData+ BackTestAnomalyDetectorResponse+ where+ rnf BackTestAnomalyDetectorResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/CreateAlert.hs view
@@ -0,0 +1,263 @@+{-# 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.LookoutMetrics.CreateAlert+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an alert for an anomaly detector.+module Amazonka.LookoutMetrics.CreateAlert+ ( -- * Creating a Request+ CreateAlert (..),+ newCreateAlert,++ -- * Request Lenses+ createAlert_alertDescription,+ createAlert_alertFilters,+ createAlert_alertSensitivityThreshold,+ createAlert_tags,+ createAlert_alertName,+ createAlert_anomalyDetectorArn,+ createAlert_action,++ -- * Destructuring the Response+ CreateAlertResponse (..),+ newCreateAlertResponse,++ -- * Response Lenses+ createAlertResponse_alertArn,+ createAlertResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAlert' smart constructor.+data CreateAlert = CreateAlert'+ { -- | A description of the alert.+ alertDescription :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the alert filters, containing MetricList and+ -- DimensionFilterList.+ alertFilters :: Prelude.Maybe AlertFilters,+ -- | An integer from 0 to 100 specifying the alert sensitivity threshold.+ alertSensitivityThreshold :: Prelude.Maybe Prelude.Natural,+ -- | A list of+ -- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+ -- to apply to the alert.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the alert.+ alertName :: Prelude.Text,+ -- | The ARN of the detector to which the alert is attached.+ anomalyDetectorArn :: Prelude.Text,+ -- | Action that will be triggered when there is an alert.+ action :: Action+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAlert' 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:+--+-- 'alertDescription', 'createAlert_alertDescription' - A description of the alert.+--+-- 'alertFilters', 'createAlert_alertFilters' - The configuration of the alert filters, containing MetricList and+-- DimensionFilterList.+--+-- 'alertSensitivityThreshold', 'createAlert_alertSensitivityThreshold' - An integer from 0 to 100 specifying the alert sensitivity threshold.+--+-- 'tags', 'createAlert_tags' - A list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to apply to the alert.+--+-- 'alertName', 'createAlert_alertName' - The name of the alert.+--+-- 'anomalyDetectorArn', 'createAlert_anomalyDetectorArn' - The ARN of the detector to which the alert is attached.+--+-- 'action', 'createAlert_action' - Action that will be triggered when there is an alert.+newCreateAlert ::+ -- | 'alertName'+ Prelude.Text ->+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'action'+ Action ->+ CreateAlert+newCreateAlert+ pAlertName_+ pAnomalyDetectorArn_+ pAction_ =+ CreateAlert'+ { alertDescription = Prelude.Nothing,+ alertFilters = Prelude.Nothing,+ alertSensitivityThreshold = Prelude.Nothing,+ tags = Prelude.Nothing,+ alertName = pAlertName_,+ anomalyDetectorArn = pAnomalyDetectorArn_,+ action = pAction_+ }++-- | A description of the alert.+createAlert_alertDescription :: Lens.Lens' CreateAlert (Prelude.Maybe Prelude.Text)+createAlert_alertDescription = Lens.lens (\CreateAlert' {alertDescription} -> alertDescription) (\s@CreateAlert' {} a -> s {alertDescription = a} :: CreateAlert)++-- | The configuration of the alert filters, containing MetricList and+-- DimensionFilterList.+createAlert_alertFilters :: Lens.Lens' CreateAlert (Prelude.Maybe AlertFilters)+createAlert_alertFilters = Lens.lens (\CreateAlert' {alertFilters} -> alertFilters) (\s@CreateAlert' {} a -> s {alertFilters = a} :: CreateAlert)++-- | An integer from 0 to 100 specifying the alert sensitivity threshold.+createAlert_alertSensitivityThreshold :: Lens.Lens' CreateAlert (Prelude.Maybe Prelude.Natural)+createAlert_alertSensitivityThreshold = Lens.lens (\CreateAlert' {alertSensitivityThreshold} -> alertSensitivityThreshold) (\s@CreateAlert' {} a -> s {alertSensitivityThreshold = a} :: CreateAlert)++-- | A list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to apply to the alert.+createAlert_tags :: Lens.Lens' CreateAlert (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAlert_tags = Lens.lens (\CreateAlert' {tags} -> tags) (\s@CreateAlert' {} a -> s {tags = a} :: CreateAlert) Prelude.. Lens.mapping Lens.coerced++-- | The name of the alert.+createAlert_alertName :: Lens.Lens' CreateAlert Prelude.Text+createAlert_alertName = Lens.lens (\CreateAlert' {alertName} -> alertName) (\s@CreateAlert' {} a -> s {alertName = a} :: CreateAlert)++-- | The ARN of the detector to which the alert is attached.+createAlert_anomalyDetectorArn :: Lens.Lens' CreateAlert Prelude.Text+createAlert_anomalyDetectorArn = Lens.lens (\CreateAlert' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@CreateAlert' {} a -> s {anomalyDetectorArn = a} :: CreateAlert)++-- | Action that will be triggered when there is an alert.+createAlert_action :: Lens.Lens' CreateAlert Action+createAlert_action = Lens.lens (\CreateAlert' {action} -> action) (\s@CreateAlert' {} a -> s {action = a} :: CreateAlert)++instance Core.AWSRequest CreateAlert where+ type AWSResponse CreateAlert = CreateAlertResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAlertResponse'+ Prelude.<$> (x Data..?> "AlertArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAlert where+ hashWithSalt _salt CreateAlert' {..} =+ _salt+ `Prelude.hashWithSalt` alertDescription+ `Prelude.hashWithSalt` alertFilters+ `Prelude.hashWithSalt` alertSensitivityThreshold+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` alertName+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` action++instance Prelude.NFData CreateAlert where+ rnf CreateAlert' {..} =+ Prelude.rnf alertDescription+ `Prelude.seq` Prelude.rnf alertFilters+ `Prelude.seq` Prelude.rnf alertSensitivityThreshold+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf alertName+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf action++instance Data.ToHeaders CreateAlert where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAlert where+ toJSON CreateAlert' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AlertDescription" Data..=)+ Prelude.<$> alertDescription,+ ("AlertFilters" Data..=) Prelude.<$> alertFilters,+ ("AlertSensitivityThreshold" Data..=)+ Prelude.<$> alertSensitivityThreshold,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("AlertName" Data..= alertName),+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just ("Action" Data..= action)+ ]+ )++instance Data.ToPath CreateAlert where+ toPath = Prelude.const "/CreateAlert"++instance Data.ToQuery CreateAlert where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAlertResponse' smart constructor.+data CreateAlertResponse = CreateAlertResponse'+ { -- | The ARN of the alert.+ alertArn :: 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 'CreateAlertResponse' 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:+--+-- 'alertArn', 'createAlertResponse_alertArn' - The ARN of the alert.+--+-- 'httpStatus', 'createAlertResponse_httpStatus' - The response's http status code.+newCreateAlertResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAlertResponse+newCreateAlertResponse pHttpStatus_ =+ CreateAlertResponse'+ { alertArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the alert.+createAlertResponse_alertArn :: Lens.Lens' CreateAlertResponse (Prelude.Maybe Prelude.Text)+createAlertResponse_alertArn = Lens.lens (\CreateAlertResponse' {alertArn} -> alertArn) (\s@CreateAlertResponse' {} a -> s {alertArn = a} :: CreateAlertResponse)++-- | The response's http status code.+createAlertResponse_httpStatus :: Lens.Lens' CreateAlertResponse Prelude.Int+createAlertResponse_httpStatus = Lens.lens (\CreateAlertResponse' {httpStatus} -> httpStatus) (\s@CreateAlertResponse' {} a -> s {httpStatus = a} :: CreateAlertResponse)++instance Prelude.NFData CreateAlertResponse where+ rnf CreateAlertResponse' {..} =+ Prelude.rnf alertArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/CreateAnomalyDetector.hs view
@@ -0,0 +1,237 @@+{-# 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.LookoutMetrics.CreateAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an anomaly detector.+module Amazonka.LookoutMetrics.CreateAnomalyDetector+ ( -- * Creating a Request+ CreateAnomalyDetector (..),+ newCreateAnomalyDetector,++ -- * Request Lenses+ createAnomalyDetector_anomalyDetectorDescription,+ createAnomalyDetector_kmsKeyArn,+ createAnomalyDetector_tags,+ createAnomalyDetector_anomalyDetectorName,+ createAnomalyDetector_anomalyDetectorConfig,++ -- * Destructuring the Response+ CreateAnomalyDetectorResponse (..),+ newCreateAnomalyDetectorResponse,++ -- * Response Lenses+ createAnomalyDetectorResponse_anomalyDetectorArn,+ createAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAnomalyDetector' smart constructor.+data CreateAnomalyDetector = CreateAnomalyDetector'+ { -- | A description of the detector.+ anomalyDetectorDescription :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the KMS key to use to encrypt your data.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | A list of+ -- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+ -- to apply to the anomaly detector.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the detector.+ anomalyDetectorName :: Prelude.Text,+ -- | Contains information about the configuration of the anomaly detector.+ anomalyDetectorConfig :: AnomalyDetectorConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAnomalyDetector' 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:+--+-- 'anomalyDetectorDescription', 'createAnomalyDetector_anomalyDetectorDescription' - A description of the detector.+--+-- 'kmsKeyArn', 'createAnomalyDetector_kmsKeyArn' - The ARN of the KMS key to use to encrypt your data.+--+-- 'tags', 'createAnomalyDetector_tags' - A list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to apply to the anomaly detector.+--+-- 'anomalyDetectorName', 'createAnomalyDetector_anomalyDetectorName' - The name of the detector.+--+-- 'anomalyDetectorConfig', 'createAnomalyDetector_anomalyDetectorConfig' - Contains information about the configuration of the anomaly detector.+newCreateAnomalyDetector ::+ -- | 'anomalyDetectorName'+ Prelude.Text ->+ -- | 'anomalyDetectorConfig'+ AnomalyDetectorConfig ->+ CreateAnomalyDetector+newCreateAnomalyDetector+ pAnomalyDetectorName_+ pAnomalyDetectorConfig_ =+ CreateAnomalyDetector'+ { anomalyDetectorDescription =+ Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ tags = Prelude.Nothing,+ anomalyDetectorName = pAnomalyDetectorName_,+ anomalyDetectorConfig = pAnomalyDetectorConfig_+ }++-- | A description of the detector.+createAnomalyDetector_anomalyDetectorDescription :: Lens.Lens' CreateAnomalyDetector (Prelude.Maybe Prelude.Text)+createAnomalyDetector_anomalyDetectorDescription = Lens.lens (\CreateAnomalyDetector' {anomalyDetectorDescription} -> anomalyDetectorDescription) (\s@CreateAnomalyDetector' {} a -> s {anomalyDetectorDescription = a} :: CreateAnomalyDetector)++-- | The ARN of the KMS key to use to encrypt your data.+createAnomalyDetector_kmsKeyArn :: Lens.Lens' CreateAnomalyDetector (Prelude.Maybe Prelude.Text)+createAnomalyDetector_kmsKeyArn = Lens.lens (\CreateAnomalyDetector' {kmsKeyArn} -> kmsKeyArn) (\s@CreateAnomalyDetector' {} a -> s {kmsKeyArn = a} :: CreateAnomalyDetector)++-- | A list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to apply to the anomaly detector.+createAnomalyDetector_tags :: Lens.Lens' CreateAnomalyDetector (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAnomalyDetector_tags = Lens.lens (\CreateAnomalyDetector' {tags} -> tags) (\s@CreateAnomalyDetector' {} a -> s {tags = a} :: CreateAnomalyDetector) Prelude.. Lens.mapping Lens.coerced++-- | The name of the detector.+createAnomalyDetector_anomalyDetectorName :: Lens.Lens' CreateAnomalyDetector Prelude.Text+createAnomalyDetector_anomalyDetectorName = Lens.lens (\CreateAnomalyDetector' {anomalyDetectorName} -> anomalyDetectorName) (\s@CreateAnomalyDetector' {} a -> s {anomalyDetectorName = a} :: CreateAnomalyDetector)++-- | Contains information about the configuration of the anomaly detector.+createAnomalyDetector_anomalyDetectorConfig :: Lens.Lens' CreateAnomalyDetector AnomalyDetectorConfig+createAnomalyDetector_anomalyDetectorConfig = Lens.lens (\CreateAnomalyDetector' {anomalyDetectorConfig} -> anomalyDetectorConfig) (\s@CreateAnomalyDetector' {} a -> s {anomalyDetectorConfig = a} :: CreateAnomalyDetector)++instance Core.AWSRequest CreateAnomalyDetector where+ type+ AWSResponse CreateAnomalyDetector =+ CreateAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAnomalyDetectorResponse'+ Prelude.<$> (x Data..?> "AnomalyDetectorArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAnomalyDetector where+ hashWithSalt _salt CreateAnomalyDetector' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorDescription+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` anomalyDetectorName+ `Prelude.hashWithSalt` anomalyDetectorConfig++instance Prelude.NFData CreateAnomalyDetector where+ rnf CreateAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorDescription+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf anomalyDetectorName+ `Prelude.seq` Prelude.rnf anomalyDetectorConfig++instance Data.ToHeaders CreateAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAnomalyDetector where+ toJSON CreateAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AnomalyDetectorDescription" Data..=)+ Prelude.<$> anomalyDetectorDescription,+ ("KmsKeyArn" Data..=) Prelude.<$> kmsKeyArn,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("AnomalyDetectorName" Data..= anomalyDetectorName),+ Prelude.Just+ ( "AnomalyDetectorConfig"+ Data..= anomalyDetectorConfig+ )+ ]+ )++instance Data.ToPath CreateAnomalyDetector where+ toPath = Prelude.const "/CreateAnomalyDetector"++instance Data.ToQuery CreateAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAnomalyDetectorResponse' smart constructor.+data CreateAnomalyDetectorResponse = CreateAnomalyDetectorResponse'+ { -- | The ARN of the detector.+ anomalyDetectorArn :: 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 'CreateAnomalyDetectorResponse' 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:+--+-- 'anomalyDetectorArn', 'createAnomalyDetectorResponse_anomalyDetectorArn' - The ARN of the detector.+--+-- 'httpStatus', 'createAnomalyDetectorResponse_httpStatus' - The response's http status code.+newCreateAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAnomalyDetectorResponse+newCreateAnomalyDetectorResponse pHttpStatus_ =+ CreateAnomalyDetectorResponse'+ { anomalyDetectorArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the detector.+createAnomalyDetectorResponse_anomalyDetectorArn :: Lens.Lens' CreateAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+createAnomalyDetectorResponse_anomalyDetectorArn = Lens.lens (\CreateAnomalyDetectorResponse' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@CreateAnomalyDetectorResponse' {} a -> s {anomalyDetectorArn = a} :: CreateAnomalyDetectorResponse)++-- | The response's http status code.+createAnomalyDetectorResponse_httpStatus :: Lens.Lens' CreateAnomalyDetectorResponse Prelude.Int+createAnomalyDetectorResponse_httpStatus = Lens.lens (\CreateAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@CreateAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: CreateAnomalyDetectorResponse)++instance Prelude.NFData CreateAnomalyDetectorResponse where+ rnf CreateAnomalyDetectorResponse' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/CreateMetricSet.hs view
@@ -0,0 +1,343 @@+{-# 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.LookoutMetrics.CreateMetricSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a dataset.+module Amazonka.LookoutMetrics.CreateMetricSet+ ( -- * Creating a Request+ CreateMetricSet (..),+ newCreateMetricSet,++ -- * Request Lenses+ createMetricSet_dimensionFilterList,+ createMetricSet_dimensionList,+ createMetricSet_metricSetDescription,+ createMetricSet_metricSetFrequency,+ createMetricSet_offset,+ createMetricSet_tags,+ createMetricSet_timestampColumn,+ createMetricSet_timezone,+ createMetricSet_anomalyDetectorArn,+ createMetricSet_metricSetName,+ createMetricSet_metricList,+ createMetricSet_metricSource,++ -- * Destructuring the Response+ CreateMetricSetResponse (..),+ newCreateMetricSetResponse,++ -- * Response Lenses+ createMetricSetResponse_metricSetArn,+ createMetricSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateMetricSet' smart constructor.+data CreateMetricSet = CreateMetricSet'+ { -- | A list of filters that specify which data is kept for anomaly detection.+ dimensionFilterList :: Prelude.Maybe [MetricSetDimensionFilter],+ -- | A list of the fields you want to treat as dimensions.+ dimensionList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A description of the dataset you are creating.+ metricSetDescription :: Prelude.Maybe Prelude.Text,+ -- | The frequency with which the source data will be analyzed for anomalies.+ metricSetFrequency :: Prelude.Maybe Frequency,+ -- | After an interval ends, the amount of seconds that the detector waits+ -- before importing data. Offset is only supported for S3, Redshift, Athena+ -- and datasources.+ offset :: Prelude.Maybe Prelude.Natural,+ -- | A list of+ -- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+ -- to apply to the dataset.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Contains information about the column used for tracking time in your+ -- source data.+ timestampColumn :: Prelude.Maybe TimestampColumn,+ -- | The time zone in which your source data was recorded.+ timezone :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the anomaly detector that will use the dataset.+ anomalyDetectorArn :: Prelude.Text,+ -- | The name of the dataset.+ metricSetName :: Prelude.Text,+ -- | A list of metrics that the dataset will contain.+ metricList :: Prelude.NonEmpty Metric,+ -- | Contains information about how the source data should be interpreted.+ metricSource :: MetricSource+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMetricSet' 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:+--+-- 'dimensionFilterList', 'createMetricSet_dimensionFilterList' - A list of filters that specify which data is kept for anomaly detection.+--+-- 'dimensionList', 'createMetricSet_dimensionList' - A list of the fields you want to treat as dimensions.+--+-- 'metricSetDescription', 'createMetricSet_metricSetDescription' - A description of the dataset you are creating.+--+-- 'metricSetFrequency', 'createMetricSet_metricSetFrequency' - The frequency with which the source data will be analyzed for anomalies.+--+-- 'offset', 'createMetricSet_offset' - After an interval ends, the amount of seconds that the detector waits+-- before importing data. Offset is only supported for S3, Redshift, Athena+-- and datasources.+--+-- 'tags', 'createMetricSet_tags' - A list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to apply to the dataset.+--+-- 'timestampColumn', 'createMetricSet_timestampColumn' - Contains information about the column used for tracking time in your+-- source data.+--+-- 'timezone', 'createMetricSet_timezone' - The time zone in which your source data was recorded.+--+-- 'anomalyDetectorArn', 'createMetricSet_anomalyDetectorArn' - The ARN of the anomaly detector that will use the dataset.+--+-- 'metricSetName', 'createMetricSet_metricSetName' - The name of the dataset.+--+-- 'metricList', 'createMetricSet_metricList' - A list of metrics that the dataset will contain.+--+-- 'metricSource', 'createMetricSet_metricSource' - Contains information about how the source data should be interpreted.+newCreateMetricSet ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'metricSetName'+ Prelude.Text ->+ -- | 'metricList'+ Prelude.NonEmpty Metric ->+ -- | 'metricSource'+ MetricSource ->+ CreateMetricSet+newCreateMetricSet+ pAnomalyDetectorArn_+ pMetricSetName_+ pMetricList_+ pMetricSource_ =+ CreateMetricSet'+ { dimensionFilterList =+ Prelude.Nothing,+ dimensionList = Prelude.Nothing,+ metricSetDescription = Prelude.Nothing,+ metricSetFrequency = Prelude.Nothing,+ offset = Prelude.Nothing,+ tags = Prelude.Nothing,+ timestampColumn = Prelude.Nothing,+ timezone = Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_,+ metricSetName = pMetricSetName_,+ metricList = Lens.coerced Lens.# pMetricList_,+ metricSource = pMetricSource_+ }++-- | A list of filters that specify which data is kept for anomaly detection.+createMetricSet_dimensionFilterList :: Lens.Lens' CreateMetricSet (Prelude.Maybe [MetricSetDimensionFilter])+createMetricSet_dimensionFilterList = Lens.lens (\CreateMetricSet' {dimensionFilterList} -> dimensionFilterList) (\s@CreateMetricSet' {} a -> s {dimensionFilterList = a} :: CreateMetricSet) Prelude.. Lens.mapping Lens.coerced++-- | A list of the fields you want to treat as dimensions.+createMetricSet_dimensionList :: Lens.Lens' CreateMetricSet (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createMetricSet_dimensionList = Lens.lens (\CreateMetricSet' {dimensionList} -> dimensionList) (\s@CreateMetricSet' {} a -> s {dimensionList = a} :: CreateMetricSet) Prelude.. Lens.mapping Lens.coerced++-- | A description of the dataset you are creating.+createMetricSet_metricSetDescription :: Lens.Lens' CreateMetricSet (Prelude.Maybe Prelude.Text)+createMetricSet_metricSetDescription = Lens.lens (\CreateMetricSet' {metricSetDescription} -> metricSetDescription) (\s@CreateMetricSet' {} a -> s {metricSetDescription = a} :: CreateMetricSet)++-- | The frequency with which the source data will be analyzed for anomalies.+createMetricSet_metricSetFrequency :: Lens.Lens' CreateMetricSet (Prelude.Maybe Frequency)+createMetricSet_metricSetFrequency = Lens.lens (\CreateMetricSet' {metricSetFrequency} -> metricSetFrequency) (\s@CreateMetricSet' {} a -> s {metricSetFrequency = a} :: CreateMetricSet)++-- | After an interval ends, the amount of seconds that the detector waits+-- before importing data. Offset is only supported for S3, Redshift, Athena+-- and datasources.+createMetricSet_offset :: Lens.Lens' CreateMetricSet (Prelude.Maybe Prelude.Natural)+createMetricSet_offset = Lens.lens (\CreateMetricSet' {offset} -> offset) (\s@CreateMetricSet' {} a -> s {offset = a} :: CreateMetricSet)++-- | A list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to apply to the dataset.+createMetricSet_tags :: Lens.Lens' CreateMetricSet (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createMetricSet_tags = Lens.lens (\CreateMetricSet' {tags} -> tags) (\s@CreateMetricSet' {} a -> s {tags = a} :: CreateMetricSet) Prelude.. Lens.mapping Lens.coerced++-- | Contains information about the column used for tracking time in your+-- source data.+createMetricSet_timestampColumn :: Lens.Lens' CreateMetricSet (Prelude.Maybe TimestampColumn)+createMetricSet_timestampColumn = Lens.lens (\CreateMetricSet' {timestampColumn} -> timestampColumn) (\s@CreateMetricSet' {} a -> s {timestampColumn = a} :: CreateMetricSet)++-- | The time zone in which your source data was recorded.+createMetricSet_timezone :: Lens.Lens' CreateMetricSet (Prelude.Maybe Prelude.Text)+createMetricSet_timezone = Lens.lens (\CreateMetricSet' {timezone} -> timezone) (\s@CreateMetricSet' {} a -> s {timezone = a} :: CreateMetricSet)++-- | The ARN of the anomaly detector that will use the dataset.+createMetricSet_anomalyDetectorArn :: Lens.Lens' CreateMetricSet Prelude.Text+createMetricSet_anomalyDetectorArn = Lens.lens (\CreateMetricSet' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@CreateMetricSet' {} a -> s {anomalyDetectorArn = a} :: CreateMetricSet)++-- | The name of the dataset.+createMetricSet_metricSetName :: Lens.Lens' CreateMetricSet Prelude.Text+createMetricSet_metricSetName = Lens.lens (\CreateMetricSet' {metricSetName} -> metricSetName) (\s@CreateMetricSet' {} a -> s {metricSetName = a} :: CreateMetricSet)++-- | A list of metrics that the dataset will contain.+createMetricSet_metricList :: Lens.Lens' CreateMetricSet (Prelude.NonEmpty Metric)+createMetricSet_metricList = Lens.lens (\CreateMetricSet' {metricList} -> metricList) (\s@CreateMetricSet' {} a -> s {metricList = a} :: CreateMetricSet) Prelude.. Lens.coerced++-- | Contains information about how the source data should be interpreted.+createMetricSet_metricSource :: Lens.Lens' CreateMetricSet MetricSource+createMetricSet_metricSource = Lens.lens (\CreateMetricSet' {metricSource} -> metricSource) (\s@CreateMetricSet' {} a -> s {metricSource = a} :: CreateMetricSet)++instance Core.AWSRequest CreateMetricSet where+ type+ AWSResponse CreateMetricSet =+ CreateMetricSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateMetricSetResponse'+ Prelude.<$> (x Data..?> "MetricSetArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateMetricSet where+ hashWithSalt _salt CreateMetricSet' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionFilterList+ `Prelude.hashWithSalt` dimensionList+ `Prelude.hashWithSalt` metricSetDescription+ `Prelude.hashWithSalt` metricSetFrequency+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` timestampColumn+ `Prelude.hashWithSalt` timezone+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` metricSetName+ `Prelude.hashWithSalt` metricList+ `Prelude.hashWithSalt` metricSource++instance Prelude.NFData CreateMetricSet where+ rnf CreateMetricSet' {..} =+ Prelude.rnf dimensionFilterList+ `Prelude.seq` Prelude.rnf dimensionList+ `Prelude.seq` Prelude.rnf metricSetDescription+ `Prelude.seq` Prelude.rnf metricSetFrequency+ `Prelude.seq` Prelude.rnf offset+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf timestampColumn+ `Prelude.seq` Prelude.rnf timezone+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf metricSetName+ `Prelude.seq` Prelude.rnf metricList+ `Prelude.seq` Prelude.rnf metricSource++instance Data.ToHeaders CreateMetricSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateMetricSet where+ toJSON CreateMetricSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DimensionFilterList" Data..=)+ Prelude.<$> dimensionFilterList,+ ("DimensionList" Data..=) Prelude.<$> dimensionList,+ ("MetricSetDescription" Data..=)+ Prelude.<$> metricSetDescription,+ ("MetricSetFrequency" Data..=)+ Prelude.<$> metricSetFrequency,+ ("Offset" Data..=) Prelude.<$> offset,+ ("Tags" Data..=) Prelude.<$> tags,+ ("TimestampColumn" Data..=)+ Prelude.<$> timestampColumn,+ ("Timezone" Data..=) Prelude.<$> timezone,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just ("MetricSetName" Data..= metricSetName),+ Prelude.Just ("MetricList" Data..= metricList),+ Prelude.Just ("MetricSource" Data..= metricSource)+ ]+ )++instance Data.ToPath CreateMetricSet where+ toPath = Prelude.const "/CreateMetricSet"++instance Data.ToQuery CreateMetricSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMetricSetResponse' smart constructor.+data CreateMetricSetResponse = CreateMetricSetResponse'+ { -- | The ARN of the dataset.+ metricSetArn :: 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 'CreateMetricSetResponse' 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:+--+-- 'metricSetArn', 'createMetricSetResponse_metricSetArn' - The ARN of the dataset.+--+-- 'httpStatus', 'createMetricSetResponse_httpStatus' - The response's http status code.+newCreateMetricSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateMetricSetResponse+newCreateMetricSetResponse pHttpStatus_ =+ CreateMetricSetResponse'+ { metricSetArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the dataset.+createMetricSetResponse_metricSetArn :: Lens.Lens' CreateMetricSetResponse (Prelude.Maybe Prelude.Text)+createMetricSetResponse_metricSetArn = Lens.lens (\CreateMetricSetResponse' {metricSetArn} -> metricSetArn) (\s@CreateMetricSetResponse' {} a -> s {metricSetArn = a} :: CreateMetricSetResponse)++-- | The response's http status code.+createMetricSetResponse_httpStatus :: Lens.Lens' CreateMetricSetResponse Prelude.Int+createMetricSetResponse_httpStatus = Lens.lens (\CreateMetricSetResponse' {httpStatus} -> httpStatus) (\s@CreateMetricSetResponse' {} a -> s {httpStatus = a} :: CreateMetricSetResponse)++instance Prelude.NFData CreateMetricSetResponse where+ rnf CreateMetricSetResponse' {..} =+ Prelude.rnf metricSetArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DeactivateAnomalyDetector.hs view
@@ -0,0 +1,161 @@+{-# 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.LookoutMetrics.DeactivateAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deactivates an anomaly detector.+module Amazonka.LookoutMetrics.DeactivateAnomalyDetector+ ( -- * Creating a Request+ DeactivateAnomalyDetector (..),+ newDeactivateAnomalyDetector,++ -- * Request Lenses+ deactivateAnomalyDetector_anomalyDetectorArn,++ -- * Destructuring the Response+ DeactivateAnomalyDetectorResponse (..),+ newDeactivateAnomalyDetectorResponse,++ -- * Response Lenses+ deactivateAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeactivateAnomalyDetector' smart constructor.+data DeactivateAnomalyDetector = DeactivateAnomalyDetector'+ { -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeactivateAnomalyDetector' 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:+--+-- 'anomalyDetectorArn', 'deactivateAnomalyDetector_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+newDeactivateAnomalyDetector ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ DeactivateAnomalyDetector+newDeactivateAnomalyDetector pAnomalyDetectorArn_ =+ DeactivateAnomalyDetector'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_+ }++-- | The Amazon Resource Name (ARN) of the anomaly detector.+deactivateAnomalyDetector_anomalyDetectorArn :: Lens.Lens' DeactivateAnomalyDetector Prelude.Text+deactivateAnomalyDetector_anomalyDetectorArn = Lens.lens (\DeactivateAnomalyDetector' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DeactivateAnomalyDetector' {} a -> s {anomalyDetectorArn = a} :: DeactivateAnomalyDetector)++instance Core.AWSRequest DeactivateAnomalyDetector where+ type+ AWSResponse DeactivateAnomalyDetector =+ DeactivateAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeactivateAnomalyDetectorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeactivateAnomalyDetector where+ hashWithSalt _salt DeactivateAnomalyDetector' {..} =+ _salt `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData DeactivateAnomalyDetector where+ rnf DeactivateAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders DeactivateAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeactivateAnomalyDetector where+ toJSON DeactivateAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath DeactivateAnomalyDetector where+ toPath = Prelude.const "/DeactivateAnomalyDetector"++instance Data.ToQuery DeactivateAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeactivateAnomalyDetectorResponse' smart constructor.+data DeactivateAnomalyDetectorResponse = DeactivateAnomalyDetectorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeactivateAnomalyDetectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deactivateAnomalyDetectorResponse_httpStatus' - The response's http status code.+newDeactivateAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeactivateAnomalyDetectorResponse+newDeactivateAnomalyDetectorResponse pHttpStatus_ =+ DeactivateAnomalyDetectorResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deactivateAnomalyDetectorResponse_httpStatus :: Lens.Lens' DeactivateAnomalyDetectorResponse Prelude.Int+deactivateAnomalyDetectorResponse_httpStatus = Lens.lens (\DeactivateAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@DeactivateAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: DeactivateAnomalyDetectorResponse)++instance+ Prelude.NFData+ DeactivateAnomalyDetectorResponse+ where+ rnf DeactivateAnomalyDetectorResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DeleteAlert.hs view
@@ -0,0 +1,146 @@+{-# 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.LookoutMetrics.DeleteAlert+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an alert.+module Amazonka.LookoutMetrics.DeleteAlert+ ( -- * Creating a Request+ DeleteAlert (..),+ newDeleteAlert,++ -- * Request Lenses+ deleteAlert_alertArn,++ -- * Destructuring the Response+ DeleteAlertResponse (..),+ newDeleteAlertResponse,++ -- * Response Lenses+ deleteAlertResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAlert' smart constructor.+data DeleteAlert = DeleteAlert'+ { -- | The ARN of the alert to delete.+ alertArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAlert' 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:+--+-- 'alertArn', 'deleteAlert_alertArn' - The ARN of the alert to delete.+newDeleteAlert ::+ -- | 'alertArn'+ Prelude.Text ->+ DeleteAlert+newDeleteAlert pAlertArn_ =+ DeleteAlert' {alertArn = pAlertArn_}++-- | The ARN of the alert to delete.+deleteAlert_alertArn :: Lens.Lens' DeleteAlert Prelude.Text+deleteAlert_alertArn = Lens.lens (\DeleteAlert' {alertArn} -> alertArn) (\s@DeleteAlert' {} a -> s {alertArn = a} :: DeleteAlert)++instance Core.AWSRequest DeleteAlert where+ type AWSResponse DeleteAlert = DeleteAlertResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAlertResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAlert where+ hashWithSalt _salt DeleteAlert' {..} =+ _salt `Prelude.hashWithSalt` alertArn++instance Prelude.NFData DeleteAlert where+ rnf DeleteAlert' {..} = Prelude.rnf alertArn++instance Data.ToHeaders DeleteAlert where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteAlert where+ toJSON DeleteAlert' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("AlertArn" Data..= alertArn)]+ )++instance Data.ToPath DeleteAlert where+ toPath = Prelude.const "/DeleteAlert"++instance Data.ToQuery DeleteAlert where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAlertResponse' smart constructor.+data DeleteAlertResponse = DeleteAlertResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAlertResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAlertResponse_httpStatus' - The response's http status code.+newDeleteAlertResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAlertResponse+newDeleteAlertResponse pHttpStatus_ =+ DeleteAlertResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAlertResponse_httpStatus :: Lens.Lens' DeleteAlertResponse Prelude.Int+deleteAlertResponse_httpStatus = Lens.lens (\DeleteAlertResponse' {httpStatus} -> httpStatus) (\s@DeleteAlertResponse' {} a -> s {httpStatus = a} :: DeleteAlertResponse)++instance Prelude.NFData DeleteAlertResponse where+ rnf DeleteAlertResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DeleteAnomalyDetector.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.DeleteAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a detector. Deleting an anomaly detector will delete all of its+-- corresponding resources including any configured datasets and alerts.+module Amazonka.LookoutMetrics.DeleteAnomalyDetector+ ( -- * Creating a Request+ DeleteAnomalyDetector (..),+ newDeleteAnomalyDetector,++ -- * Request Lenses+ deleteAnomalyDetector_anomalyDetectorArn,++ -- * Destructuring the Response+ DeleteAnomalyDetectorResponse (..),+ newDeleteAnomalyDetectorResponse,++ -- * Response Lenses+ deleteAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAnomalyDetector' smart constructor.+data DeleteAnomalyDetector = DeleteAnomalyDetector'+ { -- | The ARN of the detector to delete.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAnomalyDetector' 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:+--+-- 'anomalyDetectorArn', 'deleteAnomalyDetector_anomalyDetectorArn' - The ARN of the detector to delete.+newDeleteAnomalyDetector ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ DeleteAnomalyDetector+newDeleteAnomalyDetector pAnomalyDetectorArn_ =+ DeleteAnomalyDetector'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_+ }++-- | The ARN of the detector to delete.+deleteAnomalyDetector_anomalyDetectorArn :: Lens.Lens' DeleteAnomalyDetector Prelude.Text+deleteAnomalyDetector_anomalyDetectorArn = Lens.lens (\DeleteAnomalyDetector' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DeleteAnomalyDetector' {} a -> s {anomalyDetectorArn = a} :: DeleteAnomalyDetector)++instance Core.AWSRequest DeleteAnomalyDetector where+ type+ AWSResponse DeleteAnomalyDetector =+ DeleteAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAnomalyDetectorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAnomalyDetector where+ hashWithSalt _salt DeleteAnomalyDetector' {..} =+ _salt `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData DeleteAnomalyDetector where+ rnf DeleteAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders DeleteAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteAnomalyDetector where+ toJSON DeleteAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath DeleteAnomalyDetector where+ toPath = Prelude.const "/DeleteAnomalyDetector"++instance Data.ToQuery DeleteAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAnomalyDetectorResponse' smart constructor.+data DeleteAnomalyDetectorResponse = DeleteAnomalyDetectorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAnomalyDetectorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteAnomalyDetectorResponse_httpStatus' - The response's http status code.+newDeleteAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAnomalyDetectorResponse+newDeleteAnomalyDetectorResponse pHttpStatus_ =+ DeleteAnomalyDetectorResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAnomalyDetectorResponse_httpStatus :: Lens.Lens' DeleteAnomalyDetectorResponse Prelude.Int+deleteAnomalyDetectorResponse_httpStatus = Lens.lens (\DeleteAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@DeleteAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: DeleteAnomalyDetectorResponse)++instance Prelude.NFData DeleteAnomalyDetectorResponse where+ rnf DeleteAnomalyDetectorResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DescribeAlert.hs view
@@ -0,0 +1,168 @@+{-# 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.LookoutMetrics.DescribeAlert+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an alert.+--+-- Amazon Lookout for Metrics API actions are eventually consistent. If you+-- do a read operation on a resource immediately after creating or+-- modifying it, use retries to allow time for the write operation to+-- complete.+module Amazonka.LookoutMetrics.DescribeAlert+ ( -- * Creating a Request+ DescribeAlert (..),+ newDescribeAlert,++ -- * Request Lenses+ describeAlert_alertArn,++ -- * Destructuring the Response+ DescribeAlertResponse (..),+ newDescribeAlertResponse,++ -- * Response Lenses+ describeAlertResponse_alert,+ describeAlertResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAlert' smart constructor.+data DescribeAlert = DescribeAlert'+ { -- | The ARN of the alert to describe.+ alertArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAlert' 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:+--+-- 'alertArn', 'describeAlert_alertArn' - The ARN of the alert to describe.+newDescribeAlert ::+ -- | 'alertArn'+ Prelude.Text ->+ DescribeAlert+newDescribeAlert pAlertArn_ =+ DescribeAlert' {alertArn = pAlertArn_}++-- | The ARN of the alert to describe.+describeAlert_alertArn :: Lens.Lens' DescribeAlert Prelude.Text+describeAlert_alertArn = Lens.lens (\DescribeAlert' {alertArn} -> alertArn) (\s@DescribeAlert' {} a -> s {alertArn = a} :: DescribeAlert)++instance Core.AWSRequest DescribeAlert where+ type+ AWSResponse DescribeAlert =+ DescribeAlertResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAlertResponse'+ Prelude.<$> (x Data..?> "Alert")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeAlert where+ hashWithSalt _salt DescribeAlert' {..} =+ _salt `Prelude.hashWithSalt` alertArn++instance Prelude.NFData DescribeAlert where+ rnf DescribeAlert' {..} = Prelude.rnf alertArn++instance Data.ToHeaders DescribeAlert where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeAlert where+ toJSON DescribeAlert' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("AlertArn" Data..= alertArn)]+ )++instance Data.ToPath DescribeAlert where+ toPath = Prelude.const "/DescribeAlert"++instance Data.ToQuery DescribeAlert where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAlertResponse' smart constructor.+data DescribeAlertResponse = DescribeAlertResponse'+ { -- | Contains information about an alert.+ alert :: Prelude.Maybe Alert,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAlertResponse' 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:+--+-- 'alert', 'describeAlertResponse_alert' - Contains information about an alert.+--+-- 'httpStatus', 'describeAlertResponse_httpStatus' - The response's http status code.+newDescribeAlertResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeAlertResponse+newDescribeAlertResponse pHttpStatus_ =+ DescribeAlertResponse'+ { alert = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains information about an alert.+describeAlertResponse_alert :: Lens.Lens' DescribeAlertResponse (Prelude.Maybe Alert)+describeAlertResponse_alert = Lens.lens (\DescribeAlertResponse' {alert} -> alert) (\s@DescribeAlertResponse' {} a -> s {alert = a} :: DescribeAlertResponse)++-- | The response's http status code.+describeAlertResponse_httpStatus :: Lens.Lens' DescribeAlertResponse Prelude.Int+describeAlertResponse_httpStatus = Lens.lens (\DescribeAlertResponse' {httpStatus} -> httpStatus) (\s@DescribeAlertResponse' {} a -> s {httpStatus = a} :: DescribeAlertResponse)++instance Prelude.NFData DescribeAlertResponse where+ rnf DescribeAlertResponse' {..} =+ Prelude.rnf alert+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DescribeAnomalyDetectionExecutions.hs view
@@ -0,0 +1,256 @@+{-# 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.LookoutMetrics.DescribeAnomalyDetectionExecutions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the status of the specified anomaly detection+-- jobs.+module Amazonka.LookoutMetrics.DescribeAnomalyDetectionExecutions+ ( -- * Creating a Request+ DescribeAnomalyDetectionExecutions (..),+ newDescribeAnomalyDetectionExecutions,++ -- * Request Lenses+ describeAnomalyDetectionExecutions_maxResults,+ describeAnomalyDetectionExecutions_nextToken,+ describeAnomalyDetectionExecutions_timestamp,+ describeAnomalyDetectionExecutions_anomalyDetectorArn,++ -- * Destructuring the Response+ DescribeAnomalyDetectionExecutionsResponse (..),+ newDescribeAnomalyDetectionExecutionsResponse,++ -- * Response Lenses+ describeAnomalyDetectionExecutionsResponse_executionList,+ describeAnomalyDetectionExecutionsResponse_nextToken,+ describeAnomalyDetectionExecutionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAnomalyDetectionExecutions' smart constructor.+data DescribeAnomalyDetectionExecutions = DescribeAnomalyDetectionExecutions'+ { -- | The number of items to return in the response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Specify the pagination token that\'s returned by a previous request to+ -- retrieve the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of the anomaly detection job.+ timestamp :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnomalyDetectionExecutions' 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', 'describeAnomalyDetectionExecutions_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'describeAnomalyDetectionExecutions_nextToken' - Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+--+-- 'timestamp', 'describeAnomalyDetectionExecutions_timestamp' - The timestamp of the anomaly detection job.+--+-- 'anomalyDetectorArn', 'describeAnomalyDetectionExecutions_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+newDescribeAnomalyDetectionExecutions ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ DescribeAnomalyDetectionExecutions+newDescribeAnomalyDetectionExecutions+ pAnomalyDetectorArn_ =+ DescribeAnomalyDetectionExecutions'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ timestamp = Prelude.Nothing,+ anomalyDetectorArn =+ pAnomalyDetectorArn_+ }++-- | The number of items to return in the response.+describeAnomalyDetectionExecutions_maxResults :: Lens.Lens' DescribeAnomalyDetectionExecutions (Prelude.Maybe Prelude.Natural)+describeAnomalyDetectionExecutions_maxResults = Lens.lens (\DescribeAnomalyDetectionExecutions' {maxResults} -> maxResults) (\s@DescribeAnomalyDetectionExecutions' {} a -> s {maxResults = a} :: DescribeAnomalyDetectionExecutions)++-- | Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+describeAnomalyDetectionExecutions_nextToken :: Lens.Lens' DescribeAnomalyDetectionExecutions (Prelude.Maybe Prelude.Text)+describeAnomalyDetectionExecutions_nextToken = Lens.lens (\DescribeAnomalyDetectionExecutions' {nextToken} -> nextToken) (\s@DescribeAnomalyDetectionExecutions' {} a -> s {nextToken = a} :: DescribeAnomalyDetectionExecutions)++-- | The timestamp of the anomaly detection job.+describeAnomalyDetectionExecutions_timestamp :: Lens.Lens' DescribeAnomalyDetectionExecutions (Prelude.Maybe Prelude.Text)+describeAnomalyDetectionExecutions_timestamp = Lens.lens (\DescribeAnomalyDetectionExecutions' {timestamp} -> timestamp) (\s@DescribeAnomalyDetectionExecutions' {} a -> s {timestamp = a} :: DescribeAnomalyDetectionExecutions)++-- | The Amazon Resource Name (ARN) of the anomaly detector.+describeAnomalyDetectionExecutions_anomalyDetectorArn :: Lens.Lens' DescribeAnomalyDetectionExecutions Prelude.Text+describeAnomalyDetectionExecutions_anomalyDetectorArn = Lens.lens (\DescribeAnomalyDetectionExecutions' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DescribeAnomalyDetectionExecutions' {} a -> s {anomalyDetectorArn = a} :: DescribeAnomalyDetectionExecutions)++instance+ Core.AWSRequest+ DescribeAnomalyDetectionExecutions+ where+ type+ AWSResponse DescribeAnomalyDetectionExecutions =+ DescribeAnomalyDetectionExecutionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAnomalyDetectionExecutionsResponse'+ Prelude.<$> (x Data..?> "ExecutionList" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeAnomalyDetectionExecutions+ where+ hashWithSalt+ _salt+ DescribeAnomalyDetectionExecutions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` timestamp+ `Prelude.hashWithSalt` anomalyDetectorArn++instance+ Prelude.NFData+ DescribeAnomalyDetectionExecutions+ where+ rnf DescribeAnomalyDetectionExecutions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf timestamp+ `Prelude.seq` Prelude.rnf anomalyDetectorArn++instance+ Data.ToHeaders+ DescribeAnomalyDetectionExecutions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DescribeAnomalyDetectionExecutions+ where+ toJSON DescribeAnomalyDetectionExecutions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("Timestamp" Data..=) Prelude.<$> timestamp,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance+ Data.ToPath+ DescribeAnomalyDetectionExecutions+ where+ toPath =+ Prelude.const "/DescribeAnomalyDetectionExecutions"++instance+ Data.ToQuery+ DescribeAnomalyDetectionExecutions+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAnomalyDetectionExecutionsResponse' smart constructor.+data DescribeAnomalyDetectionExecutionsResponse = DescribeAnomalyDetectionExecutionsResponse'+ { -- | A list of detection jobs.+ executionList :: Prelude.Maybe [ExecutionStatus],+ -- | The pagination token that\'s included if more results are available.+ 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 'DescribeAnomalyDetectionExecutionsResponse' 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:+--+-- 'executionList', 'describeAnomalyDetectionExecutionsResponse_executionList' - A list of detection jobs.+--+-- 'nextToken', 'describeAnomalyDetectionExecutionsResponse_nextToken' - The pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'describeAnomalyDetectionExecutionsResponse_httpStatus' - The response's http status code.+newDescribeAnomalyDetectionExecutionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeAnomalyDetectionExecutionsResponse+newDescribeAnomalyDetectionExecutionsResponse+ pHttpStatus_ =+ DescribeAnomalyDetectionExecutionsResponse'+ { executionList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of detection jobs.+describeAnomalyDetectionExecutionsResponse_executionList :: Lens.Lens' DescribeAnomalyDetectionExecutionsResponse (Prelude.Maybe [ExecutionStatus])+describeAnomalyDetectionExecutionsResponse_executionList = Lens.lens (\DescribeAnomalyDetectionExecutionsResponse' {executionList} -> executionList) (\s@DescribeAnomalyDetectionExecutionsResponse' {} a -> s {executionList = a} :: DescribeAnomalyDetectionExecutionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s included if more results are available.+describeAnomalyDetectionExecutionsResponse_nextToken :: Lens.Lens' DescribeAnomalyDetectionExecutionsResponse (Prelude.Maybe Prelude.Text)+describeAnomalyDetectionExecutionsResponse_nextToken = Lens.lens (\DescribeAnomalyDetectionExecutionsResponse' {nextToken} -> nextToken) (\s@DescribeAnomalyDetectionExecutionsResponse' {} a -> s {nextToken = a} :: DescribeAnomalyDetectionExecutionsResponse)++-- | The response's http status code.+describeAnomalyDetectionExecutionsResponse_httpStatus :: Lens.Lens' DescribeAnomalyDetectionExecutionsResponse Prelude.Int+describeAnomalyDetectionExecutionsResponse_httpStatus = Lens.lens (\DescribeAnomalyDetectionExecutionsResponse' {httpStatus} -> httpStatus) (\s@DescribeAnomalyDetectionExecutionsResponse' {} a -> s {httpStatus = a} :: DescribeAnomalyDetectionExecutionsResponse)++instance+ Prelude.NFData+ DescribeAnomalyDetectionExecutionsResponse+ where+ rnf DescribeAnomalyDetectionExecutionsResponse' {..} =+ Prelude.rnf executionList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DescribeAnomalyDetector.hs view
@@ -0,0 +1,287 @@+{-# 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.LookoutMetrics.DescribeAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a detector.+--+-- Amazon Lookout for Metrics API actions are eventually consistent. If you+-- do a read operation on a resource immediately after creating or+-- modifying it, use retries to allow time for the write operation to+-- complete.+module Amazonka.LookoutMetrics.DescribeAnomalyDetector+ ( -- * Creating a Request+ DescribeAnomalyDetector (..),+ newDescribeAnomalyDetector,++ -- * Request Lenses+ describeAnomalyDetector_anomalyDetectorArn,++ -- * Destructuring the Response+ DescribeAnomalyDetectorResponse (..),+ newDescribeAnomalyDetectorResponse,++ -- * Response Lenses+ describeAnomalyDetectorResponse_anomalyDetectorArn,+ describeAnomalyDetectorResponse_anomalyDetectorConfig,+ describeAnomalyDetectorResponse_anomalyDetectorDescription,+ describeAnomalyDetectorResponse_anomalyDetectorName,+ describeAnomalyDetectorResponse_creationTime,+ describeAnomalyDetectorResponse_failureReason,+ describeAnomalyDetectorResponse_failureType,+ describeAnomalyDetectorResponse_kmsKeyArn,+ describeAnomalyDetectorResponse_lastModificationTime,+ describeAnomalyDetectorResponse_status,+ describeAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAnomalyDetector' smart constructor.+data DescribeAnomalyDetector = DescribeAnomalyDetector'+ { -- | The ARN of the detector to describe.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnomalyDetector' 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:+--+-- 'anomalyDetectorArn', 'describeAnomalyDetector_anomalyDetectorArn' - The ARN of the detector to describe.+newDescribeAnomalyDetector ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ DescribeAnomalyDetector+newDescribeAnomalyDetector pAnomalyDetectorArn_ =+ DescribeAnomalyDetector'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_+ }++-- | The ARN of the detector to describe.+describeAnomalyDetector_anomalyDetectorArn :: Lens.Lens' DescribeAnomalyDetector Prelude.Text+describeAnomalyDetector_anomalyDetectorArn = Lens.lens (\DescribeAnomalyDetector' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DescribeAnomalyDetector' {} a -> s {anomalyDetectorArn = a} :: DescribeAnomalyDetector)++instance Core.AWSRequest DescribeAnomalyDetector where+ type+ AWSResponse DescribeAnomalyDetector =+ DescribeAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeAnomalyDetectorResponse'+ Prelude.<$> (x Data..?> "AnomalyDetectorArn")+ Prelude.<*> (x Data..?> "AnomalyDetectorConfig")+ Prelude.<*> (x Data..?> "AnomalyDetectorDescription")+ Prelude.<*> (x Data..?> "AnomalyDetectorName")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "FailureReason")+ Prelude.<*> (x Data..?> "FailureType")+ Prelude.<*> (x Data..?> "KmsKeyArn")+ Prelude.<*> (x Data..?> "LastModificationTime")+ Prelude.<*> (x Data..?> "Status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeAnomalyDetector where+ hashWithSalt _salt DescribeAnomalyDetector' {..} =+ _salt `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData DescribeAnomalyDetector where+ rnf DescribeAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders DescribeAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeAnomalyDetector where+ toJSON DescribeAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath DescribeAnomalyDetector where+ toPath = Prelude.const "/DescribeAnomalyDetector"++instance Data.ToQuery DescribeAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAnomalyDetectorResponse' smart constructor.+data DescribeAnomalyDetectorResponse = DescribeAnomalyDetectorResponse'+ { -- | The ARN of the detector.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | Contains information about the detector\'s configuration.+ anomalyDetectorConfig :: Prelude.Maybe AnomalyDetectorConfigSummary,+ -- | A description of the detector.+ anomalyDetectorDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector.+ anomalyDetectorName :: Prelude.Maybe Prelude.Text,+ -- | The time at which the detector was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The reason that the detector failed.+ failureReason :: Prelude.Maybe Prelude.Text,+ -- | The process that caused the detector to fail.+ failureType :: Prelude.Maybe AnomalyDetectorFailureType,+ -- | The ARN of the KMS key to use to encrypt your data.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The time at which the detector was last modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The status of the detector.+ status :: Prelude.Maybe AnomalyDetectorStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAnomalyDetectorResponse' 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:+--+-- 'anomalyDetectorArn', 'describeAnomalyDetectorResponse_anomalyDetectorArn' - The ARN of the detector.+--+-- 'anomalyDetectorConfig', 'describeAnomalyDetectorResponse_anomalyDetectorConfig' - Contains information about the detector\'s configuration.+--+-- 'anomalyDetectorDescription', 'describeAnomalyDetectorResponse_anomalyDetectorDescription' - A description of the detector.+--+-- 'anomalyDetectorName', 'describeAnomalyDetectorResponse_anomalyDetectorName' - The name of the detector.+--+-- 'creationTime', 'describeAnomalyDetectorResponse_creationTime' - The time at which the detector was created.+--+-- 'failureReason', 'describeAnomalyDetectorResponse_failureReason' - The reason that the detector failed.+--+-- 'failureType', 'describeAnomalyDetectorResponse_failureType' - The process that caused the detector to fail.+--+-- 'kmsKeyArn', 'describeAnomalyDetectorResponse_kmsKeyArn' - The ARN of the KMS key to use to encrypt your data.+--+-- 'lastModificationTime', 'describeAnomalyDetectorResponse_lastModificationTime' - The time at which the detector was last modified.+--+-- 'status', 'describeAnomalyDetectorResponse_status' - The status of the detector.+--+-- 'httpStatus', 'describeAnomalyDetectorResponse_httpStatus' - The response's http status code.+newDescribeAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeAnomalyDetectorResponse+newDescribeAnomalyDetectorResponse pHttpStatus_ =+ DescribeAnomalyDetectorResponse'+ { anomalyDetectorArn =+ Prelude.Nothing,+ anomalyDetectorConfig = Prelude.Nothing,+ anomalyDetectorDescription =+ Prelude.Nothing,+ anomalyDetectorName = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ failureReason = Prelude.Nothing,+ failureType = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the detector.+describeAnomalyDetectorResponse_anomalyDetectorArn :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+describeAnomalyDetectorResponse_anomalyDetectorArn = Lens.lens (\DescribeAnomalyDetectorResponse' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DescribeAnomalyDetectorResponse' {} a -> s {anomalyDetectorArn = a} :: DescribeAnomalyDetectorResponse)++-- | Contains information about the detector\'s configuration.+describeAnomalyDetectorResponse_anomalyDetectorConfig :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe AnomalyDetectorConfigSummary)+describeAnomalyDetectorResponse_anomalyDetectorConfig = Lens.lens (\DescribeAnomalyDetectorResponse' {anomalyDetectorConfig} -> anomalyDetectorConfig) (\s@DescribeAnomalyDetectorResponse' {} a -> s {anomalyDetectorConfig = a} :: DescribeAnomalyDetectorResponse)++-- | A description of the detector.+describeAnomalyDetectorResponse_anomalyDetectorDescription :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+describeAnomalyDetectorResponse_anomalyDetectorDescription = Lens.lens (\DescribeAnomalyDetectorResponse' {anomalyDetectorDescription} -> anomalyDetectorDescription) (\s@DescribeAnomalyDetectorResponse' {} a -> s {anomalyDetectorDescription = a} :: DescribeAnomalyDetectorResponse)++-- | The name of the detector.+describeAnomalyDetectorResponse_anomalyDetectorName :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+describeAnomalyDetectorResponse_anomalyDetectorName = Lens.lens (\DescribeAnomalyDetectorResponse' {anomalyDetectorName} -> anomalyDetectorName) (\s@DescribeAnomalyDetectorResponse' {} a -> s {anomalyDetectorName = a} :: DescribeAnomalyDetectorResponse)++-- | The time at which the detector was created.+describeAnomalyDetectorResponse_creationTime :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.UTCTime)+describeAnomalyDetectorResponse_creationTime = Lens.lens (\DescribeAnomalyDetectorResponse' {creationTime} -> creationTime) (\s@DescribeAnomalyDetectorResponse' {} a -> s {creationTime = a} :: DescribeAnomalyDetectorResponse) Prelude.. Lens.mapping Data._Time++-- | The reason that the detector failed.+describeAnomalyDetectorResponse_failureReason :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+describeAnomalyDetectorResponse_failureReason = Lens.lens (\DescribeAnomalyDetectorResponse' {failureReason} -> failureReason) (\s@DescribeAnomalyDetectorResponse' {} a -> s {failureReason = a} :: DescribeAnomalyDetectorResponse)++-- | The process that caused the detector to fail.+describeAnomalyDetectorResponse_failureType :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe AnomalyDetectorFailureType)+describeAnomalyDetectorResponse_failureType = Lens.lens (\DescribeAnomalyDetectorResponse' {failureType} -> failureType) (\s@DescribeAnomalyDetectorResponse' {} a -> s {failureType = a} :: DescribeAnomalyDetectorResponse)++-- | The ARN of the KMS key to use to encrypt your data.+describeAnomalyDetectorResponse_kmsKeyArn :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+describeAnomalyDetectorResponse_kmsKeyArn = Lens.lens (\DescribeAnomalyDetectorResponse' {kmsKeyArn} -> kmsKeyArn) (\s@DescribeAnomalyDetectorResponse' {} a -> s {kmsKeyArn = a} :: DescribeAnomalyDetectorResponse)++-- | The time at which the detector was last modified.+describeAnomalyDetectorResponse_lastModificationTime :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe Prelude.UTCTime)+describeAnomalyDetectorResponse_lastModificationTime = Lens.lens (\DescribeAnomalyDetectorResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeAnomalyDetectorResponse' {} a -> s {lastModificationTime = a} :: DescribeAnomalyDetectorResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the detector.+describeAnomalyDetectorResponse_status :: Lens.Lens' DescribeAnomalyDetectorResponse (Prelude.Maybe AnomalyDetectorStatus)+describeAnomalyDetectorResponse_status = Lens.lens (\DescribeAnomalyDetectorResponse' {status} -> status) (\s@DescribeAnomalyDetectorResponse' {} a -> s {status = a} :: DescribeAnomalyDetectorResponse)++-- | The response's http status code.+describeAnomalyDetectorResponse_httpStatus :: Lens.Lens' DescribeAnomalyDetectorResponse Prelude.Int+describeAnomalyDetectorResponse_httpStatus = Lens.lens (\DescribeAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@DescribeAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: DescribeAnomalyDetectorResponse)++instance+ Prelude.NFData+ DescribeAnomalyDetectorResponse+ where+ rnf DescribeAnomalyDetectorResponse' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf anomalyDetectorConfig+ `Prelude.seq` Prelude.rnf anomalyDetectorDescription+ `Prelude.seq` Prelude.rnf anomalyDetectorName+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf failureReason+ `Prelude.seq` Prelude.rnf failureType+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DescribeMetricSet.hs view
@@ -0,0 +1,337 @@+{-# 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.LookoutMetrics.DescribeMetricSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a dataset.+--+-- Amazon Lookout for Metrics API actions are eventually consistent. If you+-- do a read operation on a resource immediately after creating or+-- modifying it, use retries to allow time for the write operation to+-- complete.+module Amazonka.LookoutMetrics.DescribeMetricSet+ ( -- * Creating a Request+ DescribeMetricSet (..),+ newDescribeMetricSet,++ -- * Request Lenses+ describeMetricSet_metricSetArn,++ -- * Destructuring the Response+ DescribeMetricSetResponse (..),+ newDescribeMetricSetResponse,++ -- * Response Lenses+ describeMetricSetResponse_anomalyDetectorArn,+ describeMetricSetResponse_creationTime,+ describeMetricSetResponse_dimensionFilterList,+ describeMetricSetResponse_dimensionList,+ describeMetricSetResponse_lastModificationTime,+ describeMetricSetResponse_metricList,+ describeMetricSetResponse_metricSetArn,+ describeMetricSetResponse_metricSetDescription,+ describeMetricSetResponse_metricSetFrequency,+ describeMetricSetResponse_metricSetName,+ describeMetricSetResponse_metricSource,+ describeMetricSetResponse_offset,+ describeMetricSetResponse_timestampColumn,+ describeMetricSetResponse_timezone,+ describeMetricSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeMetricSet' smart constructor.+data DescribeMetricSet = DescribeMetricSet'+ { -- | The ARN of the dataset.+ metricSetArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeMetricSet' 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:+--+-- 'metricSetArn', 'describeMetricSet_metricSetArn' - The ARN of the dataset.+newDescribeMetricSet ::+ -- | 'metricSetArn'+ Prelude.Text ->+ DescribeMetricSet+newDescribeMetricSet pMetricSetArn_ =+ DescribeMetricSet' {metricSetArn = pMetricSetArn_}++-- | The ARN of the dataset.+describeMetricSet_metricSetArn :: Lens.Lens' DescribeMetricSet Prelude.Text+describeMetricSet_metricSetArn = Lens.lens (\DescribeMetricSet' {metricSetArn} -> metricSetArn) (\s@DescribeMetricSet' {} a -> s {metricSetArn = a} :: DescribeMetricSet)++instance Core.AWSRequest DescribeMetricSet where+ type+ AWSResponse DescribeMetricSet =+ DescribeMetricSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeMetricSetResponse'+ Prelude.<$> (x Data..?> "AnomalyDetectorArn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "DimensionFilterList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "DimensionList")+ Prelude.<*> (x Data..?> "LastModificationTime")+ Prelude.<*> (x Data..?> "MetricList")+ Prelude.<*> (x Data..?> "MetricSetArn")+ Prelude.<*> (x Data..?> "MetricSetDescription")+ Prelude.<*> (x Data..?> "MetricSetFrequency")+ Prelude.<*> (x Data..?> "MetricSetName")+ Prelude.<*> (x Data..?> "MetricSource")+ Prelude.<*> (x Data..?> "Offset")+ Prelude.<*> (x Data..?> "TimestampColumn")+ Prelude.<*> (x Data..?> "Timezone")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeMetricSet where+ hashWithSalt _salt DescribeMetricSet' {..} =+ _salt `Prelude.hashWithSalt` metricSetArn++instance Prelude.NFData DescribeMetricSet where+ rnf DescribeMetricSet' {..} = Prelude.rnf metricSetArn++instance Data.ToHeaders DescribeMetricSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeMetricSet where+ toJSON DescribeMetricSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("MetricSetArn" Data..= metricSetArn)]+ )++instance Data.ToPath DescribeMetricSet where+ toPath = Prelude.const "/DescribeMetricSet"++instance Data.ToQuery DescribeMetricSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeMetricSetResponse' smart constructor.+data DescribeMetricSetResponse = DescribeMetricSetResponse'+ { -- | The ARN of the detector that contains the dataset.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | The time at which the dataset was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The dimensions and their values that were used to filter the dataset.+ dimensionFilterList :: Prelude.Maybe [MetricSetDimensionFilter],+ -- | A list of the dimensions chosen for analysis.+ dimensionList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The time at which the dataset was last modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | A list of the metrics defined by the dataset.+ metricList :: Prelude.Maybe (Prelude.NonEmpty Metric),+ -- | The ARN of the dataset.+ metricSetArn :: Prelude.Maybe Prelude.Text,+ -- | The dataset\'s description.+ metricSetDescription :: Prelude.Maybe Prelude.Text,+ -- | The interval at which the data will be analyzed for anomalies.+ metricSetFrequency :: Prelude.Maybe Frequency,+ -- | The name of the dataset.+ metricSetName :: Prelude.Maybe Prelude.Text,+ -- | Contains information about the dataset\'s source data.+ metricSource :: Prelude.Maybe MetricSource,+ -- | After an interval ends, the amount of seconds that the detector waits+ -- before importing data. Offset is only supported for S3, Redshift, Athena+ -- and datasources.+ offset :: Prelude.Maybe Prelude.Natural,+ -- | Contains information about the column used for tracking time in your+ -- source data.+ timestampColumn :: Prelude.Maybe TimestampColumn,+ -- | The time zone in which the dataset\'s data was recorded.+ timezone :: 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 'DescribeMetricSetResponse' 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:+--+-- 'anomalyDetectorArn', 'describeMetricSetResponse_anomalyDetectorArn' - The ARN of the detector that contains the dataset.+--+-- 'creationTime', 'describeMetricSetResponse_creationTime' - The time at which the dataset was created.+--+-- 'dimensionFilterList', 'describeMetricSetResponse_dimensionFilterList' - The dimensions and their values that were used to filter the dataset.+--+-- 'dimensionList', 'describeMetricSetResponse_dimensionList' - A list of the dimensions chosen for analysis.+--+-- 'lastModificationTime', 'describeMetricSetResponse_lastModificationTime' - The time at which the dataset was last modified.+--+-- 'metricList', 'describeMetricSetResponse_metricList' - A list of the metrics defined by the dataset.+--+-- 'metricSetArn', 'describeMetricSetResponse_metricSetArn' - The ARN of the dataset.+--+-- 'metricSetDescription', 'describeMetricSetResponse_metricSetDescription' - The dataset\'s description.+--+-- 'metricSetFrequency', 'describeMetricSetResponse_metricSetFrequency' - The interval at which the data will be analyzed for anomalies.+--+-- 'metricSetName', 'describeMetricSetResponse_metricSetName' - The name of the dataset.+--+-- 'metricSource', 'describeMetricSetResponse_metricSource' - Contains information about the dataset\'s source data.+--+-- 'offset', 'describeMetricSetResponse_offset' - After an interval ends, the amount of seconds that the detector waits+-- before importing data. Offset is only supported for S3, Redshift, Athena+-- and datasources.+--+-- 'timestampColumn', 'describeMetricSetResponse_timestampColumn' - Contains information about the column used for tracking time in your+-- source data.+--+-- 'timezone', 'describeMetricSetResponse_timezone' - The time zone in which the dataset\'s data was recorded.+--+-- 'httpStatus', 'describeMetricSetResponse_httpStatus' - The response's http status code.+newDescribeMetricSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeMetricSetResponse+newDescribeMetricSetResponse pHttpStatus_ =+ DescribeMetricSetResponse'+ { anomalyDetectorArn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ dimensionFilterList = Prelude.Nothing,+ dimensionList = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ metricList = Prelude.Nothing,+ metricSetArn = Prelude.Nothing,+ metricSetDescription = Prelude.Nothing,+ metricSetFrequency = Prelude.Nothing,+ metricSetName = Prelude.Nothing,+ metricSource = Prelude.Nothing,+ offset = Prelude.Nothing,+ timestampColumn = Prelude.Nothing,+ timezone = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the detector that contains the dataset.+describeMetricSetResponse_anomalyDetectorArn :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.Text)+describeMetricSetResponse_anomalyDetectorArn = Lens.lens (\DescribeMetricSetResponse' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DescribeMetricSetResponse' {} a -> s {anomalyDetectorArn = a} :: DescribeMetricSetResponse)++-- | The time at which the dataset was created.+describeMetricSetResponse_creationTime :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.UTCTime)+describeMetricSetResponse_creationTime = Lens.lens (\DescribeMetricSetResponse' {creationTime} -> creationTime) (\s@DescribeMetricSetResponse' {} a -> s {creationTime = a} :: DescribeMetricSetResponse) Prelude.. Lens.mapping Data._Time++-- | The dimensions and their values that were used to filter the dataset.+describeMetricSetResponse_dimensionFilterList :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe [MetricSetDimensionFilter])+describeMetricSetResponse_dimensionFilterList = Lens.lens (\DescribeMetricSetResponse' {dimensionFilterList} -> dimensionFilterList) (\s@DescribeMetricSetResponse' {} a -> s {dimensionFilterList = a} :: DescribeMetricSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of the dimensions chosen for analysis.+describeMetricSetResponse_dimensionList :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeMetricSetResponse_dimensionList = Lens.lens (\DescribeMetricSetResponse' {dimensionList} -> dimensionList) (\s@DescribeMetricSetResponse' {} a -> s {dimensionList = a} :: DescribeMetricSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The time at which the dataset was last modified.+describeMetricSetResponse_lastModificationTime :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.UTCTime)+describeMetricSetResponse_lastModificationTime = Lens.lens (\DescribeMetricSetResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeMetricSetResponse' {} a -> s {lastModificationTime = a} :: DescribeMetricSetResponse) Prelude.. Lens.mapping Data._Time++-- | A list of the metrics defined by the dataset.+describeMetricSetResponse_metricList :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe (Prelude.NonEmpty Metric))+describeMetricSetResponse_metricList = Lens.lens (\DescribeMetricSetResponse' {metricList} -> metricList) (\s@DescribeMetricSetResponse' {} a -> s {metricList = a} :: DescribeMetricSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the dataset.+describeMetricSetResponse_metricSetArn :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.Text)+describeMetricSetResponse_metricSetArn = Lens.lens (\DescribeMetricSetResponse' {metricSetArn} -> metricSetArn) (\s@DescribeMetricSetResponse' {} a -> s {metricSetArn = a} :: DescribeMetricSetResponse)++-- | The dataset\'s description.+describeMetricSetResponse_metricSetDescription :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.Text)+describeMetricSetResponse_metricSetDescription = Lens.lens (\DescribeMetricSetResponse' {metricSetDescription} -> metricSetDescription) (\s@DescribeMetricSetResponse' {} a -> s {metricSetDescription = a} :: DescribeMetricSetResponse)++-- | The interval at which the data will be analyzed for anomalies.+describeMetricSetResponse_metricSetFrequency :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Frequency)+describeMetricSetResponse_metricSetFrequency = Lens.lens (\DescribeMetricSetResponse' {metricSetFrequency} -> metricSetFrequency) (\s@DescribeMetricSetResponse' {} a -> s {metricSetFrequency = a} :: DescribeMetricSetResponse)++-- | The name of the dataset.+describeMetricSetResponse_metricSetName :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.Text)+describeMetricSetResponse_metricSetName = Lens.lens (\DescribeMetricSetResponse' {metricSetName} -> metricSetName) (\s@DescribeMetricSetResponse' {} a -> s {metricSetName = a} :: DescribeMetricSetResponse)++-- | Contains information about the dataset\'s source data.+describeMetricSetResponse_metricSource :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe MetricSource)+describeMetricSetResponse_metricSource = Lens.lens (\DescribeMetricSetResponse' {metricSource} -> metricSource) (\s@DescribeMetricSetResponse' {} a -> s {metricSource = a} :: DescribeMetricSetResponse)++-- | After an interval ends, the amount of seconds that the detector waits+-- before importing data. Offset is only supported for S3, Redshift, Athena+-- and datasources.+describeMetricSetResponse_offset :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.Natural)+describeMetricSetResponse_offset = Lens.lens (\DescribeMetricSetResponse' {offset} -> offset) (\s@DescribeMetricSetResponse' {} a -> s {offset = a} :: DescribeMetricSetResponse)++-- | Contains information about the column used for tracking time in your+-- source data.+describeMetricSetResponse_timestampColumn :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe TimestampColumn)+describeMetricSetResponse_timestampColumn = Lens.lens (\DescribeMetricSetResponse' {timestampColumn} -> timestampColumn) (\s@DescribeMetricSetResponse' {} a -> s {timestampColumn = a} :: DescribeMetricSetResponse)++-- | The time zone in which the dataset\'s data was recorded.+describeMetricSetResponse_timezone :: Lens.Lens' DescribeMetricSetResponse (Prelude.Maybe Prelude.Text)+describeMetricSetResponse_timezone = Lens.lens (\DescribeMetricSetResponse' {timezone} -> timezone) (\s@DescribeMetricSetResponse' {} a -> s {timezone = a} :: DescribeMetricSetResponse)++-- | The response's http status code.+describeMetricSetResponse_httpStatus :: Lens.Lens' DescribeMetricSetResponse Prelude.Int+describeMetricSetResponse_httpStatus = Lens.lens (\DescribeMetricSetResponse' {httpStatus} -> httpStatus) (\s@DescribeMetricSetResponse' {} a -> s {httpStatus = a} :: DescribeMetricSetResponse)++instance Prelude.NFData DescribeMetricSetResponse where+ rnf DescribeMetricSetResponse' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf dimensionFilterList+ `Prelude.seq` Prelude.rnf dimensionList+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf metricList+ `Prelude.seq` Prelude.rnf metricSetArn+ `Prelude.seq` Prelude.rnf metricSetDescription+ `Prelude.seq` Prelude.rnf metricSetFrequency+ `Prelude.seq` Prelude.rnf metricSetName+ `Prelude.seq` Prelude.rnf metricSource+ `Prelude.seq` Prelude.rnf offset+ `Prelude.seq` Prelude.rnf timestampColumn+ `Prelude.seq` Prelude.rnf timezone+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/DetectMetricSetConfig.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.DetectMetricSetConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Detects an Amazon S3 dataset\'s file format, interval, and offset.+module Amazonka.LookoutMetrics.DetectMetricSetConfig+ ( -- * Creating a Request+ DetectMetricSetConfig (..),+ newDetectMetricSetConfig,++ -- * Request Lenses+ detectMetricSetConfig_anomalyDetectorArn,+ detectMetricSetConfig_autoDetectionMetricSource,++ -- * Destructuring the Response+ DetectMetricSetConfigResponse (..),+ newDetectMetricSetConfigResponse,++ -- * Response Lenses+ detectMetricSetConfigResponse_detectedMetricSetConfig,+ detectMetricSetConfigResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDetectMetricSetConfig' smart constructor.+data DetectMetricSetConfig = DetectMetricSetConfig'+ { -- | An anomaly detector ARN.+ anomalyDetectorArn :: Prelude.Text,+ -- | A data source.+ autoDetectionMetricSource :: AutoDetectionMetricSource+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectMetricSetConfig' 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:+--+-- 'anomalyDetectorArn', 'detectMetricSetConfig_anomalyDetectorArn' - An anomaly detector ARN.+--+-- 'autoDetectionMetricSource', 'detectMetricSetConfig_autoDetectionMetricSource' - A data source.+newDetectMetricSetConfig ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'autoDetectionMetricSource'+ AutoDetectionMetricSource ->+ DetectMetricSetConfig+newDetectMetricSetConfig+ pAnomalyDetectorArn_+ pAutoDetectionMetricSource_ =+ DetectMetricSetConfig'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_,+ autoDetectionMetricSource =+ pAutoDetectionMetricSource_+ }++-- | An anomaly detector ARN.+detectMetricSetConfig_anomalyDetectorArn :: Lens.Lens' DetectMetricSetConfig Prelude.Text+detectMetricSetConfig_anomalyDetectorArn = Lens.lens (\DetectMetricSetConfig' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@DetectMetricSetConfig' {} a -> s {anomalyDetectorArn = a} :: DetectMetricSetConfig)++-- | A data source.+detectMetricSetConfig_autoDetectionMetricSource :: Lens.Lens' DetectMetricSetConfig AutoDetectionMetricSource+detectMetricSetConfig_autoDetectionMetricSource = Lens.lens (\DetectMetricSetConfig' {autoDetectionMetricSource} -> autoDetectionMetricSource) (\s@DetectMetricSetConfig' {} a -> s {autoDetectionMetricSource = a} :: DetectMetricSetConfig)++instance Core.AWSRequest DetectMetricSetConfig where+ type+ AWSResponse DetectMetricSetConfig =+ DetectMetricSetConfigResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DetectMetricSetConfigResponse'+ Prelude.<$> (x Data..?> "DetectedMetricSetConfig")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DetectMetricSetConfig where+ hashWithSalt _salt DetectMetricSetConfig' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` autoDetectionMetricSource++instance Prelude.NFData DetectMetricSetConfig where+ rnf DetectMetricSetConfig' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf autoDetectionMetricSource++instance Data.ToHeaders DetectMetricSetConfig where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DetectMetricSetConfig where+ toJSON DetectMetricSetConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just+ ( "AutoDetectionMetricSource"+ Data..= autoDetectionMetricSource+ )+ ]+ )++instance Data.ToPath DetectMetricSetConfig where+ toPath = Prelude.const "/DetectMetricSetConfig"++instance Data.ToQuery DetectMetricSetConfig where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDetectMetricSetConfigResponse' smart constructor.+data DetectMetricSetConfigResponse = DetectMetricSetConfigResponse'+ { -- | The inferred dataset configuration for the datasource.+ detectedMetricSetConfig :: Prelude.Maybe DetectedMetricSetConfig,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectMetricSetConfigResponse' 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:+--+-- 'detectedMetricSetConfig', 'detectMetricSetConfigResponse_detectedMetricSetConfig' - The inferred dataset configuration for the datasource.+--+-- 'httpStatus', 'detectMetricSetConfigResponse_httpStatus' - The response's http status code.+newDetectMetricSetConfigResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DetectMetricSetConfigResponse+newDetectMetricSetConfigResponse pHttpStatus_ =+ DetectMetricSetConfigResponse'+ { detectedMetricSetConfig =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The inferred dataset configuration for the datasource.+detectMetricSetConfigResponse_detectedMetricSetConfig :: Lens.Lens' DetectMetricSetConfigResponse (Prelude.Maybe DetectedMetricSetConfig)+detectMetricSetConfigResponse_detectedMetricSetConfig = Lens.lens (\DetectMetricSetConfigResponse' {detectedMetricSetConfig} -> detectedMetricSetConfig) (\s@DetectMetricSetConfigResponse' {} a -> s {detectedMetricSetConfig = a} :: DetectMetricSetConfigResponse)++-- | The response's http status code.+detectMetricSetConfigResponse_httpStatus :: Lens.Lens' DetectMetricSetConfigResponse Prelude.Int+detectMetricSetConfigResponse_httpStatus = Lens.lens (\DetectMetricSetConfigResponse' {httpStatus} -> httpStatus) (\s@DetectMetricSetConfigResponse' {} a -> s {httpStatus = a} :: DetectMetricSetConfigResponse)++instance Prelude.NFData DetectMetricSetConfigResponse where+ rnf DetectMetricSetConfigResponse' {..} =+ Prelude.rnf detectedMetricSetConfig+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/GetAnomalyGroup.hs view
@@ -0,0 +1,188 @@+{-# 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.LookoutMetrics.GetAnomalyGroup+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns details about a group of anomalous metrics.+module Amazonka.LookoutMetrics.GetAnomalyGroup+ ( -- * Creating a Request+ GetAnomalyGroup (..),+ newGetAnomalyGroup,++ -- * Request Lenses+ getAnomalyGroup_anomalyGroupId,+ getAnomalyGroup_anomalyDetectorArn,++ -- * Destructuring the Response+ GetAnomalyGroupResponse (..),+ newGetAnomalyGroupResponse,++ -- * Response Lenses+ getAnomalyGroupResponse_anomalyGroup,+ getAnomalyGroupResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAnomalyGroup' smart constructor.+data GetAnomalyGroup = GetAnomalyGroup'+ { -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAnomalyGroup' 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:+--+-- 'anomalyGroupId', 'getAnomalyGroup_anomalyGroupId' - The ID of the anomaly group.+--+-- 'anomalyDetectorArn', 'getAnomalyGroup_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+newGetAnomalyGroup ::+ -- | 'anomalyGroupId'+ Prelude.Text ->+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ GetAnomalyGroup+newGetAnomalyGroup+ pAnomalyGroupId_+ pAnomalyDetectorArn_ =+ GetAnomalyGroup'+ { anomalyGroupId = pAnomalyGroupId_,+ anomalyDetectorArn = pAnomalyDetectorArn_+ }++-- | The ID of the anomaly group.+getAnomalyGroup_anomalyGroupId :: Lens.Lens' GetAnomalyGroup Prelude.Text+getAnomalyGroup_anomalyGroupId = Lens.lens (\GetAnomalyGroup' {anomalyGroupId} -> anomalyGroupId) (\s@GetAnomalyGroup' {} a -> s {anomalyGroupId = a} :: GetAnomalyGroup)++-- | The Amazon Resource Name (ARN) of the anomaly detector.+getAnomalyGroup_anomalyDetectorArn :: Lens.Lens' GetAnomalyGroup Prelude.Text+getAnomalyGroup_anomalyDetectorArn = Lens.lens (\GetAnomalyGroup' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@GetAnomalyGroup' {} a -> s {anomalyDetectorArn = a} :: GetAnomalyGroup)++instance Core.AWSRequest GetAnomalyGroup where+ type+ AWSResponse GetAnomalyGroup =+ GetAnomalyGroupResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAnomalyGroupResponse'+ Prelude.<$> (x Data..?> "AnomalyGroup")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAnomalyGroup where+ hashWithSalt _salt GetAnomalyGroup' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyGroupId+ `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData GetAnomalyGroup where+ rnf GetAnomalyGroup' {..} =+ Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders GetAnomalyGroup where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetAnomalyGroup where+ toJSON GetAnomalyGroup' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyGroupId" Data..= anomalyGroupId),+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath GetAnomalyGroup where+ toPath = Prelude.const "/GetAnomalyGroup"++instance Data.ToQuery GetAnomalyGroup where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAnomalyGroupResponse' smart constructor.+data GetAnomalyGroupResponse = GetAnomalyGroupResponse'+ { -- | Details about the anomaly group.+ anomalyGroup :: Prelude.Maybe AnomalyGroup,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAnomalyGroupResponse' 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:+--+-- 'anomalyGroup', 'getAnomalyGroupResponse_anomalyGroup' - Details about the anomaly group.+--+-- 'httpStatus', 'getAnomalyGroupResponse_httpStatus' - The response's http status code.+newGetAnomalyGroupResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAnomalyGroupResponse+newGetAnomalyGroupResponse pHttpStatus_ =+ GetAnomalyGroupResponse'+ { anomalyGroup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Details about the anomaly group.+getAnomalyGroupResponse_anomalyGroup :: Lens.Lens' GetAnomalyGroupResponse (Prelude.Maybe AnomalyGroup)+getAnomalyGroupResponse_anomalyGroup = Lens.lens (\GetAnomalyGroupResponse' {anomalyGroup} -> anomalyGroup) (\s@GetAnomalyGroupResponse' {} a -> s {anomalyGroup = a} :: GetAnomalyGroupResponse)++-- | The response's http status code.+getAnomalyGroupResponse_httpStatus :: Lens.Lens' GetAnomalyGroupResponse Prelude.Int+getAnomalyGroupResponse_httpStatus = Lens.lens (\GetAnomalyGroupResponse' {httpStatus} -> httpStatus) (\s@GetAnomalyGroupResponse' {} a -> s {httpStatus = a} :: GetAnomalyGroupResponse)++instance Prelude.NFData GetAnomalyGroupResponse where+ rnf GetAnomalyGroupResponse' {..} =+ Prelude.rnf anomalyGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/GetDataQualityMetrics.hs view
@@ -0,0 +1,193 @@+{-# 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.LookoutMetrics.GetDataQualityMetrics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns details about the requested data quality metrics.+module Amazonka.LookoutMetrics.GetDataQualityMetrics+ ( -- * Creating a Request+ GetDataQualityMetrics (..),+ newGetDataQualityMetrics,++ -- * Request Lenses+ getDataQualityMetrics_metricSetArn,+ getDataQualityMetrics_anomalyDetectorArn,++ -- * Destructuring the Response+ GetDataQualityMetricsResponse (..),+ newGetDataQualityMetricsResponse,++ -- * Response Lenses+ getDataQualityMetricsResponse_anomalyDetectorDataQualityMetricList,+ getDataQualityMetricsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDataQualityMetrics' smart constructor.+data GetDataQualityMetrics = GetDataQualityMetrics'+ { -- | The Amazon Resource Name (ARN) of a specific data quality metric set.+ metricSetArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the anomaly detector that you want to+ -- investigate.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataQualityMetrics' 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:+--+-- 'metricSetArn', 'getDataQualityMetrics_metricSetArn' - The Amazon Resource Name (ARN) of a specific data quality metric set.+--+-- 'anomalyDetectorArn', 'getDataQualityMetrics_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector that you want to+-- investigate.+newGetDataQualityMetrics ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ GetDataQualityMetrics+newGetDataQualityMetrics pAnomalyDetectorArn_ =+ GetDataQualityMetrics'+ { metricSetArn =+ Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_+ }++-- | The Amazon Resource Name (ARN) of a specific data quality metric set.+getDataQualityMetrics_metricSetArn :: Lens.Lens' GetDataQualityMetrics (Prelude.Maybe Prelude.Text)+getDataQualityMetrics_metricSetArn = Lens.lens (\GetDataQualityMetrics' {metricSetArn} -> metricSetArn) (\s@GetDataQualityMetrics' {} a -> s {metricSetArn = a} :: GetDataQualityMetrics)++-- | The Amazon Resource Name (ARN) of the anomaly detector that you want to+-- investigate.+getDataQualityMetrics_anomalyDetectorArn :: Lens.Lens' GetDataQualityMetrics Prelude.Text+getDataQualityMetrics_anomalyDetectorArn = Lens.lens (\GetDataQualityMetrics' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@GetDataQualityMetrics' {} a -> s {anomalyDetectorArn = a} :: GetDataQualityMetrics)++instance Core.AWSRequest GetDataQualityMetrics where+ type+ AWSResponse GetDataQualityMetrics =+ GetDataQualityMetricsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDataQualityMetricsResponse'+ Prelude.<$> ( x+ Data..?> "AnomalyDetectorDataQualityMetricList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDataQualityMetrics where+ hashWithSalt _salt GetDataQualityMetrics' {..} =+ _salt+ `Prelude.hashWithSalt` metricSetArn+ `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData GetDataQualityMetrics where+ rnf GetDataQualityMetrics' {..} =+ Prelude.rnf metricSetArn+ `Prelude.seq` Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders GetDataQualityMetrics where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetDataQualityMetrics where+ toJSON GetDataQualityMetrics' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MetricSetArn" Data..=) Prelude.<$> metricSetArn,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath GetDataQualityMetrics where+ toPath = Prelude.const "/GetDataQualityMetrics"++instance Data.ToQuery GetDataQualityMetrics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDataQualityMetricsResponse' smart constructor.+data GetDataQualityMetricsResponse = GetDataQualityMetricsResponse'+ { -- | A list of the data quality metrics for the @AnomalyDetectorArn@ that you+ -- requested.+ anomalyDetectorDataQualityMetricList :: Prelude.Maybe [AnomalyDetectorDataQualityMetric],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDataQualityMetricsResponse' 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:+--+-- 'anomalyDetectorDataQualityMetricList', 'getDataQualityMetricsResponse_anomalyDetectorDataQualityMetricList' - A list of the data quality metrics for the @AnomalyDetectorArn@ that you+-- requested.+--+-- 'httpStatus', 'getDataQualityMetricsResponse_httpStatus' - The response's http status code.+newGetDataQualityMetricsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDataQualityMetricsResponse+newGetDataQualityMetricsResponse pHttpStatus_ =+ GetDataQualityMetricsResponse'+ { anomalyDetectorDataQualityMetricList =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the data quality metrics for the @AnomalyDetectorArn@ that you+-- requested.+getDataQualityMetricsResponse_anomalyDetectorDataQualityMetricList :: Lens.Lens' GetDataQualityMetricsResponse (Prelude.Maybe [AnomalyDetectorDataQualityMetric])+getDataQualityMetricsResponse_anomalyDetectorDataQualityMetricList = Lens.lens (\GetDataQualityMetricsResponse' {anomalyDetectorDataQualityMetricList} -> anomalyDetectorDataQualityMetricList) (\s@GetDataQualityMetricsResponse' {} a -> s {anomalyDetectorDataQualityMetricList = a} :: GetDataQualityMetricsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getDataQualityMetricsResponse_httpStatus :: Lens.Lens' GetDataQualityMetricsResponse Prelude.Int+getDataQualityMetricsResponse_httpStatus = Lens.lens (\GetDataQualityMetricsResponse' {httpStatus} -> httpStatus) (\s@GetDataQualityMetricsResponse' {} a -> s {httpStatus = a} :: GetDataQualityMetricsResponse)++instance Prelude.NFData GetDataQualityMetricsResponse where+ rnf GetDataQualityMetricsResponse' {..} =+ Prelude.rnf anomalyDetectorDataQualityMetricList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/GetFeedback.hs view
@@ -0,0 +1,233 @@+{-# 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.LookoutMetrics.GetFeedback+-- 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 feedback for an anomaly group.+module Amazonka.LookoutMetrics.GetFeedback+ ( -- * Creating a Request+ GetFeedback (..),+ newGetFeedback,++ -- * Request Lenses+ getFeedback_maxResults,+ getFeedback_nextToken,+ getFeedback_anomalyDetectorArn,+ getFeedback_anomalyGroupTimeSeriesFeedback,++ -- * Destructuring the Response+ GetFeedbackResponse (..),+ newGetFeedbackResponse,++ -- * Response Lenses+ getFeedbackResponse_anomalyGroupTimeSeriesFeedback,+ getFeedbackResponse_nextToken,+ getFeedbackResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFeedback' smart constructor.+data GetFeedback = GetFeedback'+ { -- | The maximum number of results to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Specify the pagination token that\'s returned by a previous request to+ -- retrieve the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text,+ -- | The anomalous metric and group ID.+ anomalyGroupTimeSeriesFeedback :: AnomalyGroupTimeSeries+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFeedback' 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', 'getFeedback_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getFeedback_nextToken' - Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+--+-- 'anomalyDetectorArn', 'getFeedback_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+--+-- 'anomalyGroupTimeSeriesFeedback', 'getFeedback_anomalyGroupTimeSeriesFeedback' - The anomalous metric and group ID.+newGetFeedback ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'anomalyGroupTimeSeriesFeedback'+ AnomalyGroupTimeSeries ->+ GetFeedback+newGetFeedback+ pAnomalyDetectorArn_+ pAnomalyGroupTimeSeriesFeedback_ =+ GetFeedback'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_,+ anomalyGroupTimeSeriesFeedback =+ pAnomalyGroupTimeSeriesFeedback_+ }++-- | The maximum number of results to return.+getFeedback_maxResults :: Lens.Lens' GetFeedback (Prelude.Maybe Prelude.Natural)+getFeedback_maxResults = Lens.lens (\GetFeedback' {maxResults} -> maxResults) (\s@GetFeedback' {} a -> s {maxResults = a} :: GetFeedback)++-- | Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+getFeedback_nextToken :: Lens.Lens' GetFeedback (Prelude.Maybe Prelude.Text)+getFeedback_nextToken = Lens.lens (\GetFeedback' {nextToken} -> nextToken) (\s@GetFeedback' {} a -> s {nextToken = a} :: GetFeedback)++-- | The Amazon Resource Name (ARN) of the anomaly detector.+getFeedback_anomalyDetectorArn :: Lens.Lens' GetFeedback Prelude.Text+getFeedback_anomalyDetectorArn = Lens.lens (\GetFeedback' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@GetFeedback' {} a -> s {anomalyDetectorArn = a} :: GetFeedback)++-- | The anomalous metric and group ID.+getFeedback_anomalyGroupTimeSeriesFeedback :: Lens.Lens' GetFeedback AnomalyGroupTimeSeries+getFeedback_anomalyGroupTimeSeriesFeedback = Lens.lens (\GetFeedback' {anomalyGroupTimeSeriesFeedback} -> anomalyGroupTimeSeriesFeedback) (\s@GetFeedback' {} a -> s {anomalyGroupTimeSeriesFeedback = a} :: GetFeedback)++instance Core.AWSRequest GetFeedback where+ type AWSResponse GetFeedback = GetFeedbackResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFeedbackResponse'+ Prelude.<$> ( x+ Data..?> "AnomalyGroupTimeSeriesFeedback"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFeedback where+ hashWithSalt _salt GetFeedback' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` anomalyGroupTimeSeriesFeedback++instance Prelude.NFData GetFeedback where+ rnf GetFeedback' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf anomalyGroupTimeSeriesFeedback++instance Data.ToHeaders GetFeedback where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFeedback where+ toJSON GetFeedback' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just+ ( "AnomalyGroupTimeSeriesFeedback"+ Data..= anomalyGroupTimeSeriesFeedback+ )+ ]+ )++instance Data.ToPath GetFeedback where+ toPath = Prelude.const "/GetFeedback"++instance Data.ToQuery GetFeedback where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFeedbackResponse' smart constructor.+data GetFeedbackResponse = GetFeedbackResponse'+ { -- | Feedback for an anomalous metric.+ anomalyGroupTimeSeriesFeedback :: Prelude.Maybe [TimeSeriesFeedback],+ -- | The pagination token that\'s included if more results are available.+ 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 'GetFeedbackResponse' 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:+--+-- 'anomalyGroupTimeSeriesFeedback', 'getFeedbackResponse_anomalyGroupTimeSeriesFeedback' - Feedback for an anomalous metric.+--+-- 'nextToken', 'getFeedbackResponse_nextToken' - The pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'getFeedbackResponse_httpStatus' - The response's http status code.+newGetFeedbackResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFeedbackResponse+newGetFeedbackResponse pHttpStatus_ =+ GetFeedbackResponse'+ { anomalyGroupTimeSeriesFeedback =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Feedback for an anomalous metric.+getFeedbackResponse_anomalyGroupTimeSeriesFeedback :: Lens.Lens' GetFeedbackResponse (Prelude.Maybe [TimeSeriesFeedback])+getFeedbackResponse_anomalyGroupTimeSeriesFeedback = Lens.lens (\GetFeedbackResponse' {anomalyGroupTimeSeriesFeedback} -> anomalyGroupTimeSeriesFeedback) (\s@GetFeedbackResponse' {} a -> s {anomalyGroupTimeSeriesFeedback = a} :: GetFeedbackResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s included if more results are available.+getFeedbackResponse_nextToken :: Lens.Lens' GetFeedbackResponse (Prelude.Maybe Prelude.Text)+getFeedbackResponse_nextToken = Lens.lens (\GetFeedbackResponse' {nextToken} -> nextToken) (\s@GetFeedbackResponse' {} a -> s {nextToken = a} :: GetFeedbackResponse)++-- | The response's http status code.+getFeedbackResponse_httpStatus :: Lens.Lens' GetFeedbackResponse Prelude.Int+getFeedbackResponse_httpStatus = Lens.lens (\GetFeedbackResponse' {httpStatus} -> httpStatus) (\s@GetFeedbackResponse' {} a -> s {httpStatus = a} :: GetFeedbackResponse)++instance Prelude.NFData GetFeedbackResponse where+ rnf GetFeedbackResponse' {..} =+ Prelude.rnf anomalyGroupTimeSeriesFeedback+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/GetSampleData.hs view
@@ -0,0 +1,176 @@+{-# 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.LookoutMetrics.GetSampleData+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a selection of sample records from an Amazon S3 datasource.+module Amazonka.LookoutMetrics.GetSampleData+ ( -- * Creating a Request+ GetSampleData (..),+ newGetSampleData,++ -- * Request Lenses+ getSampleData_s3SourceConfig,++ -- * Destructuring the Response+ GetSampleDataResponse (..),+ newGetSampleDataResponse,++ -- * Response Lenses+ getSampleDataResponse_headerValues,+ getSampleDataResponse_sampleRows,+ getSampleDataResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSampleData' smart constructor.+data GetSampleData = GetSampleData'+ { -- | A datasource bucket in Amazon S3.+ s3SourceConfig :: Prelude.Maybe SampleDataS3SourceConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSampleData' 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:+--+-- 's3SourceConfig', 'getSampleData_s3SourceConfig' - A datasource bucket in Amazon S3.+newGetSampleData ::+ GetSampleData+newGetSampleData =+ GetSampleData' {s3SourceConfig = Prelude.Nothing}++-- | A datasource bucket in Amazon S3.+getSampleData_s3SourceConfig :: Lens.Lens' GetSampleData (Prelude.Maybe SampleDataS3SourceConfig)+getSampleData_s3SourceConfig = Lens.lens (\GetSampleData' {s3SourceConfig} -> s3SourceConfig) (\s@GetSampleData' {} a -> s {s3SourceConfig = a} :: GetSampleData)++instance Core.AWSRequest GetSampleData where+ type+ AWSResponse GetSampleData =+ GetSampleDataResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSampleDataResponse'+ Prelude.<$> (x Data..?> "HeaderValues" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "SampleRows" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSampleData where+ hashWithSalt _salt GetSampleData' {..} =+ _salt `Prelude.hashWithSalt` s3SourceConfig++instance Prelude.NFData GetSampleData where+ rnf GetSampleData' {..} = Prelude.rnf s3SourceConfig++instance Data.ToHeaders GetSampleData where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSampleData where+ toJSON GetSampleData' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("S3SourceConfig" Data..=)+ Prelude.<$> s3SourceConfig+ ]+ )++instance Data.ToPath GetSampleData where+ toPath = Prelude.const "/GetSampleData"++instance Data.ToQuery GetSampleData where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSampleDataResponse' smart constructor.+data GetSampleDataResponse = GetSampleDataResponse'+ { -- | A list of header labels for the records.+ headerValues :: Prelude.Maybe [Prelude.Text],+ -- | A list of records.+ sampleRows :: 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 'GetSampleDataResponse' 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:+--+-- 'headerValues', 'getSampleDataResponse_headerValues' - A list of header labels for the records.+--+-- 'sampleRows', 'getSampleDataResponse_sampleRows' - A list of records.+--+-- 'httpStatus', 'getSampleDataResponse_httpStatus' - The response's http status code.+newGetSampleDataResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSampleDataResponse+newGetSampleDataResponse pHttpStatus_ =+ GetSampleDataResponse'+ { headerValues =+ Prelude.Nothing,+ sampleRows = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of header labels for the records.+getSampleDataResponse_headerValues :: Lens.Lens' GetSampleDataResponse (Prelude.Maybe [Prelude.Text])+getSampleDataResponse_headerValues = Lens.lens (\GetSampleDataResponse' {headerValues} -> headerValues) (\s@GetSampleDataResponse' {} a -> s {headerValues = a} :: GetSampleDataResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of records.+getSampleDataResponse_sampleRows :: Lens.Lens' GetSampleDataResponse (Prelude.Maybe [[Prelude.Text]])+getSampleDataResponse_sampleRows = Lens.lens (\GetSampleDataResponse' {sampleRows} -> sampleRows) (\s@GetSampleDataResponse' {} a -> s {sampleRows = a} :: GetSampleDataResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getSampleDataResponse_httpStatus :: Lens.Lens' GetSampleDataResponse Prelude.Int+getSampleDataResponse_httpStatus = Lens.lens (\GetSampleDataResponse' {httpStatus} -> httpStatus) (\s@GetSampleDataResponse' {} a -> s {httpStatus = a} :: GetSampleDataResponse)++instance Prelude.NFData GetSampleDataResponse where+ rnf GetSampleDataResponse' {..} =+ Prelude.rnf headerValues+ `Prelude.seq` Prelude.rnf sampleRows+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/Lens.hs view
@@ -0,0 +1,647 @@+{-# 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.LookoutMetrics.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.LookoutMetrics.Lens+ ( -- * Operations++ -- ** ActivateAnomalyDetector+ activateAnomalyDetector_anomalyDetectorArn,+ activateAnomalyDetectorResponse_httpStatus,++ -- ** BackTestAnomalyDetector+ backTestAnomalyDetector_anomalyDetectorArn,+ backTestAnomalyDetectorResponse_httpStatus,++ -- ** CreateAlert+ createAlert_alertDescription,+ createAlert_alertFilters,+ createAlert_alertSensitivityThreshold,+ createAlert_tags,+ createAlert_alertName,+ createAlert_anomalyDetectorArn,+ createAlert_action,+ createAlertResponse_alertArn,+ createAlertResponse_httpStatus,++ -- ** CreateAnomalyDetector+ createAnomalyDetector_anomalyDetectorDescription,+ createAnomalyDetector_kmsKeyArn,+ createAnomalyDetector_tags,+ createAnomalyDetector_anomalyDetectorName,+ createAnomalyDetector_anomalyDetectorConfig,+ createAnomalyDetectorResponse_anomalyDetectorArn,+ createAnomalyDetectorResponse_httpStatus,++ -- ** CreateMetricSet+ createMetricSet_dimensionFilterList,+ createMetricSet_dimensionList,+ createMetricSet_metricSetDescription,+ createMetricSet_metricSetFrequency,+ createMetricSet_offset,+ createMetricSet_tags,+ createMetricSet_timestampColumn,+ createMetricSet_timezone,+ createMetricSet_anomalyDetectorArn,+ createMetricSet_metricSetName,+ createMetricSet_metricList,+ createMetricSet_metricSource,+ createMetricSetResponse_metricSetArn,+ createMetricSetResponse_httpStatus,++ -- ** DeactivateAnomalyDetector+ deactivateAnomalyDetector_anomalyDetectorArn,+ deactivateAnomalyDetectorResponse_httpStatus,++ -- ** DeleteAlert+ deleteAlert_alertArn,+ deleteAlertResponse_httpStatus,++ -- ** DeleteAnomalyDetector+ deleteAnomalyDetector_anomalyDetectorArn,+ deleteAnomalyDetectorResponse_httpStatus,++ -- ** DescribeAlert+ describeAlert_alertArn,+ describeAlertResponse_alert,+ describeAlertResponse_httpStatus,++ -- ** DescribeAnomalyDetectionExecutions+ describeAnomalyDetectionExecutions_maxResults,+ describeAnomalyDetectionExecutions_nextToken,+ describeAnomalyDetectionExecutions_timestamp,+ describeAnomalyDetectionExecutions_anomalyDetectorArn,+ describeAnomalyDetectionExecutionsResponse_executionList,+ describeAnomalyDetectionExecutionsResponse_nextToken,+ describeAnomalyDetectionExecutionsResponse_httpStatus,++ -- ** DescribeAnomalyDetector+ describeAnomalyDetector_anomalyDetectorArn,+ describeAnomalyDetectorResponse_anomalyDetectorArn,+ describeAnomalyDetectorResponse_anomalyDetectorConfig,+ describeAnomalyDetectorResponse_anomalyDetectorDescription,+ describeAnomalyDetectorResponse_anomalyDetectorName,+ describeAnomalyDetectorResponse_creationTime,+ describeAnomalyDetectorResponse_failureReason,+ describeAnomalyDetectorResponse_failureType,+ describeAnomalyDetectorResponse_kmsKeyArn,+ describeAnomalyDetectorResponse_lastModificationTime,+ describeAnomalyDetectorResponse_status,+ describeAnomalyDetectorResponse_httpStatus,++ -- ** DescribeMetricSet+ describeMetricSet_metricSetArn,+ describeMetricSetResponse_anomalyDetectorArn,+ describeMetricSetResponse_creationTime,+ describeMetricSetResponse_dimensionFilterList,+ describeMetricSetResponse_dimensionList,+ describeMetricSetResponse_lastModificationTime,+ describeMetricSetResponse_metricList,+ describeMetricSetResponse_metricSetArn,+ describeMetricSetResponse_metricSetDescription,+ describeMetricSetResponse_metricSetFrequency,+ describeMetricSetResponse_metricSetName,+ describeMetricSetResponse_metricSource,+ describeMetricSetResponse_offset,+ describeMetricSetResponse_timestampColumn,+ describeMetricSetResponse_timezone,+ describeMetricSetResponse_httpStatus,++ -- ** DetectMetricSetConfig+ detectMetricSetConfig_anomalyDetectorArn,+ detectMetricSetConfig_autoDetectionMetricSource,+ detectMetricSetConfigResponse_detectedMetricSetConfig,+ detectMetricSetConfigResponse_httpStatus,++ -- ** GetAnomalyGroup+ getAnomalyGroup_anomalyGroupId,+ getAnomalyGroup_anomalyDetectorArn,+ getAnomalyGroupResponse_anomalyGroup,+ getAnomalyGroupResponse_httpStatus,++ -- ** GetDataQualityMetrics+ getDataQualityMetrics_metricSetArn,+ getDataQualityMetrics_anomalyDetectorArn,+ getDataQualityMetricsResponse_anomalyDetectorDataQualityMetricList,+ getDataQualityMetricsResponse_httpStatus,++ -- ** GetFeedback+ getFeedback_maxResults,+ getFeedback_nextToken,+ getFeedback_anomalyDetectorArn,+ getFeedback_anomalyGroupTimeSeriesFeedback,+ getFeedbackResponse_anomalyGroupTimeSeriesFeedback,+ getFeedbackResponse_nextToken,+ getFeedbackResponse_httpStatus,++ -- ** GetSampleData+ getSampleData_s3SourceConfig,+ getSampleDataResponse_headerValues,+ getSampleDataResponse_sampleRows,+ getSampleDataResponse_httpStatus,++ -- ** ListAlerts+ listAlerts_anomalyDetectorArn,+ listAlerts_maxResults,+ listAlerts_nextToken,+ listAlertsResponse_alertSummaryList,+ listAlertsResponse_nextToken,+ listAlertsResponse_httpStatus,++ -- ** ListAnomalyDetectors+ listAnomalyDetectors_maxResults,+ listAnomalyDetectors_nextToken,+ listAnomalyDetectorsResponse_anomalyDetectorSummaryList,+ listAnomalyDetectorsResponse_nextToken,+ listAnomalyDetectorsResponse_httpStatus,++ -- ** ListAnomalyGroupRelatedMetrics+ listAnomalyGroupRelatedMetrics_maxResults,+ listAnomalyGroupRelatedMetrics_nextToken,+ listAnomalyGroupRelatedMetrics_relationshipTypeFilter,+ listAnomalyGroupRelatedMetrics_anomalyDetectorArn,+ listAnomalyGroupRelatedMetrics_anomalyGroupId,+ listAnomalyGroupRelatedMetricsResponse_interMetricImpactList,+ listAnomalyGroupRelatedMetricsResponse_nextToken,+ listAnomalyGroupRelatedMetricsResponse_httpStatus,++ -- ** ListAnomalyGroupSummaries+ listAnomalyGroupSummaries_maxResults,+ listAnomalyGroupSummaries_nextToken,+ listAnomalyGroupSummaries_anomalyDetectorArn,+ listAnomalyGroupSummaries_sensitivityThreshold,+ listAnomalyGroupSummariesResponse_anomalyGroupStatistics,+ listAnomalyGroupSummariesResponse_anomalyGroupSummaryList,+ listAnomalyGroupSummariesResponse_nextToken,+ listAnomalyGroupSummariesResponse_httpStatus,++ -- ** ListAnomalyGroupTimeSeries+ listAnomalyGroupTimeSeries_maxResults,+ listAnomalyGroupTimeSeries_nextToken,+ listAnomalyGroupTimeSeries_anomalyDetectorArn,+ listAnomalyGroupTimeSeries_anomalyGroupId,+ listAnomalyGroupTimeSeries_metricName,+ listAnomalyGroupTimeSeriesResponse_anomalyGroupId,+ listAnomalyGroupTimeSeriesResponse_metricName,+ listAnomalyGroupTimeSeriesResponse_nextToken,+ listAnomalyGroupTimeSeriesResponse_timeSeriesList,+ listAnomalyGroupTimeSeriesResponse_timestampList,+ listAnomalyGroupTimeSeriesResponse_httpStatus,++ -- ** ListMetricSets+ listMetricSets_anomalyDetectorArn,+ listMetricSets_maxResults,+ listMetricSets_nextToken,+ listMetricSetsResponse_metricSetSummaryList,+ listMetricSetsResponse_nextToken,+ listMetricSetsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** PutFeedback+ putFeedback_anomalyDetectorArn,+ putFeedback_anomalyGroupTimeSeriesFeedback,+ putFeedbackResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateAlert+ updateAlert_action,+ updateAlert_alertDescription,+ updateAlert_alertFilters,+ updateAlert_alertSensitivityThreshold,+ updateAlert_alertArn,+ updateAlertResponse_alertArn,+ updateAlertResponse_httpStatus,++ -- ** UpdateAnomalyDetector+ updateAnomalyDetector_anomalyDetectorConfig,+ updateAnomalyDetector_anomalyDetectorDescription,+ updateAnomalyDetector_kmsKeyArn,+ updateAnomalyDetector_anomalyDetectorArn,+ updateAnomalyDetectorResponse_anomalyDetectorArn,+ updateAnomalyDetectorResponse_httpStatus,++ -- ** UpdateMetricSet+ updateMetricSet_dimensionFilterList,+ updateMetricSet_dimensionList,+ updateMetricSet_metricList,+ updateMetricSet_metricSetDescription,+ updateMetricSet_metricSetFrequency,+ updateMetricSet_metricSource,+ updateMetricSet_offset,+ updateMetricSet_timestampColumn,+ updateMetricSet_metricSetArn,+ updateMetricSetResponse_metricSetArn,+ updateMetricSetResponse_httpStatus,++ -- * Types++ -- ** Action+ action_lambdaConfiguration,+ action_sNSConfiguration,++ -- ** Alert+ alert_action,+ alert_alertArn,+ alert_alertDescription,+ alert_alertFilters,+ alert_alertName,+ alert_alertSensitivityThreshold,+ alert_alertStatus,+ alert_alertType,+ alert_anomalyDetectorArn,+ alert_creationTime,+ alert_lastModificationTime,++ -- ** AlertFilters+ alertFilters_dimensionFilterList,+ alertFilters_metricList,++ -- ** AlertSummary+ alertSummary_alertArn,+ alertSummary_alertName,+ alertSummary_alertSensitivityThreshold,+ alertSummary_alertStatus,+ alertSummary_alertType,+ alertSummary_anomalyDetectorArn,+ alertSummary_creationTime,+ alertSummary_lastModificationTime,+ alertSummary_tags,++ -- ** AnomalyDetectorConfig+ anomalyDetectorConfig_anomalyDetectorFrequency,++ -- ** AnomalyDetectorConfigSummary+ anomalyDetectorConfigSummary_anomalyDetectorFrequency,++ -- ** AnomalyDetectorDataQualityMetric+ anomalyDetectorDataQualityMetric_metricSetDataQualityMetricList,+ anomalyDetectorDataQualityMetric_startTimestamp,++ -- ** AnomalyDetectorSummary+ anomalyDetectorSummary_anomalyDetectorArn,+ anomalyDetectorSummary_anomalyDetectorDescription,+ anomalyDetectorSummary_anomalyDetectorName,+ anomalyDetectorSummary_creationTime,+ anomalyDetectorSummary_lastModificationTime,+ anomalyDetectorSummary_status,+ anomalyDetectorSummary_tags,++ -- ** AnomalyGroup+ anomalyGroup_anomalyGroupId,+ anomalyGroup_anomalyGroupScore,+ anomalyGroup_endTime,+ anomalyGroup_metricLevelImpactList,+ anomalyGroup_primaryMetricName,+ anomalyGroup_startTime,++ -- ** AnomalyGroupStatistics+ anomalyGroupStatistics_evaluationStartDate,+ anomalyGroupStatistics_itemizedMetricStatsList,+ anomalyGroupStatistics_totalCount,++ -- ** AnomalyGroupSummary+ anomalyGroupSummary_anomalyGroupId,+ anomalyGroupSummary_anomalyGroupScore,+ anomalyGroupSummary_endTime,+ anomalyGroupSummary_primaryMetricName,+ anomalyGroupSummary_startTime,++ -- ** AnomalyGroupTimeSeries+ anomalyGroupTimeSeries_timeSeriesId,+ anomalyGroupTimeSeries_anomalyGroupId,++ -- ** AnomalyGroupTimeSeriesFeedback+ anomalyGroupTimeSeriesFeedback_anomalyGroupId,+ anomalyGroupTimeSeriesFeedback_timeSeriesId,+ anomalyGroupTimeSeriesFeedback_isAnomaly,++ -- ** AppFlowConfig+ appFlowConfig_flowName,+ appFlowConfig_roleArn,++ -- ** AthenaSourceConfig+ athenaSourceConfig_backTestConfiguration,+ athenaSourceConfig_dataCatalog,+ athenaSourceConfig_databaseName,+ athenaSourceConfig_roleArn,+ athenaSourceConfig_s3ResultsPath,+ athenaSourceConfig_tableName,+ athenaSourceConfig_workGroupName,++ -- ** AttributeValue+ attributeValue_b,+ attributeValue_bs,+ attributeValue_n,+ attributeValue_ns,+ attributeValue_s,+ attributeValue_ss,++ -- ** AutoDetectionMetricSource+ autoDetectionMetricSource_s3SourceConfig,++ -- ** AutoDetectionS3SourceConfig+ autoDetectionS3SourceConfig_historicalDataPathList,+ autoDetectionS3SourceConfig_templatedPathList,++ -- ** BackTestConfiguration+ backTestConfiguration_runBackTestMode,++ -- ** CloudWatchConfig+ cloudWatchConfig_backTestConfiguration,+ cloudWatchConfig_roleArn,++ -- ** ContributionMatrix+ contributionMatrix_dimensionContributionList,++ -- ** CsvFormatDescriptor+ csvFormatDescriptor_charset,+ csvFormatDescriptor_containsHeader,+ csvFormatDescriptor_delimiter,+ csvFormatDescriptor_fileCompression,+ csvFormatDescriptor_headerList,+ csvFormatDescriptor_quoteSymbol,++ -- ** DataQualityMetric+ dataQualityMetric_metricDescription,+ dataQualityMetric_metricType,+ dataQualityMetric_metricValue,+ dataQualityMetric_relatedColumnName,++ -- ** DetectedCsvFormatDescriptor+ detectedCsvFormatDescriptor_charset,+ detectedCsvFormatDescriptor_containsHeader,+ detectedCsvFormatDescriptor_delimiter,+ detectedCsvFormatDescriptor_fileCompression,+ detectedCsvFormatDescriptor_headerList,+ detectedCsvFormatDescriptor_quoteSymbol,++ -- ** DetectedField+ detectedField_confidence,+ detectedField_message,+ detectedField_value,++ -- ** DetectedFileFormatDescriptor+ detectedFileFormatDescriptor_csvFormatDescriptor,+ detectedFileFormatDescriptor_jsonFormatDescriptor,++ -- ** DetectedJsonFormatDescriptor+ detectedJsonFormatDescriptor_charset,+ detectedJsonFormatDescriptor_fileCompression,++ -- ** DetectedMetricSetConfig+ detectedMetricSetConfig_metricSetFrequency,+ detectedMetricSetConfig_metricSource,+ detectedMetricSetConfig_offset,++ -- ** DetectedMetricSource+ detectedMetricSource_s3SourceConfig,++ -- ** DetectedS3SourceConfig+ detectedS3SourceConfig_fileFormatDescriptor,++ -- ** DimensionContribution+ dimensionContribution_dimensionName,+ dimensionContribution_dimensionValueContributionList,++ -- ** DimensionFilter+ dimensionFilter_dimensionName,+ dimensionFilter_dimensionValueList,++ -- ** DimensionNameValue+ dimensionNameValue_dimensionName,+ dimensionNameValue_dimensionValue,++ -- ** DimensionValueContribution+ dimensionValueContribution_contributionScore,+ dimensionValueContribution_dimensionValue,++ -- ** ExecutionStatus+ executionStatus_failureReason,+ executionStatus_status,+ executionStatus_timestamp,++ -- ** FileFormatDescriptor+ fileFormatDescriptor_csvFormatDescriptor,+ fileFormatDescriptor_jsonFormatDescriptor,++ -- ** Filter+ filter_dimensionValue,+ filter_filterOperation,++ -- ** InterMetricImpactDetails+ interMetricImpactDetails_anomalyGroupId,+ interMetricImpactDetails_contributionPercentage,+ interMetricImpactDetails_metricName,+ interMetricImpactDetails_relationshipType,++ -- ** ItemizedMetricStats+ itemizedMetricStats_metricName,+ itemizedMetricStats_occurrenceCount,++ -- ** JsonFormatDescriptor+ jsonFormatDescriptor_charset,+ jsonFormatDescriptor_fileCompression,++ -- ** LambdaConfiguration+ lambdaConfiguration_roleArn,+ lambdaConfiguration_lambdaArn,++ -- ** Metric+ metric_namespace,+ metric_metricName,+ metric_aggregationFunction,++ -- ** MetricLevelImpact+ metricLevelImpact_contributionMatrix,+ metricLevelImpact_metricName,+ metricLevelImpact_numTimeSeries,++ -- ** MetricSetDataQualityMetric+ metricSetDataQualityMetric_dataQualityMetricList,+ metricSetDataQualityMetric_metricSetArn,++ -- ** MetricSetDimensionFilter+ metricSetDimensionFilter_filterList,+ metricSetDimensionFilter_name,++ -- ** MetricSetSummary+ metricSetSummary_anomalyDetectorArn,+ metricSetSummary_creationTime,+ metricSetSummary_lastModificationTime,+ metricSetSummary_metricSetArn,+ metricSetSummary_metricSetDescription,+ metricSetSummary_metricSetName,+ metricSetSummary_tags,++ -- ** MetricSource+ metricSource_appFlowConfig,+ metricSource_athenaSourceConfig,+ metricSource_cloudWatchConfig,+ metricSource_rDSSourceConfig,+ metricSource_redshiftSourceConfig,+ metricSource_s3SourceConfig,++ -- ** RDSSourceConfig+ rDSSourceConfig_dbInstanceIdentifier,+ rDSSourceConfig_databaseHost,+ rDSSourceConfig_databaseName,+ rDSSourceConfig_databasePort,+ rDSSourceConfig_roleArn,+ rDSSourceConfig_secretManagerArn,+ rDSSourceConfig_tableName,+ rDSSourceConfig_vpcConfiguration,++ -- ** RedshiftSourceConfig+ redshiftSourceConfig_clusterIdentifier,+ redshiftSourceConfig_databaseHost,+ redshiftSourceConfig_databaseName,+ redshiftSourceConfig_databasePort,+ redshiftSourceConfig_roleArn,+ redshiftSourceConfig_secretManagerArn,+ redshiftSourceConfig_tableName,+ redshiftSourceConfig_vpcConfiguration,++ -- ** S3SourceConfig+ s3SourceConfig_fileFormatDescriptor,+ s3SourceConfig_historicalDataPathList,+ s3SourceConfig_roleArn,+ s3SourceConfig_templatedPathList,++ -- ** SNSConfiguration+ sNSConfiguration_snsFormat,+ sNSConfiguration_roleArn,+ sNSConfiguration_snsTopicArn,++ -- ** SampleDataS3SourceConfig+ sampleDataS3SourceConfig_historicalDataPathList,+ sampleDataS3SourceConfig_templatedPathList,+ sampleDataS3SourceConfig_roleArn,+ sampleDataS3SourceConfig_fileFormatDescriptor,++ -- ** TimeSeries+ timeSeries_timeSeriesId,+ timeSeries_dimensionList,+ timeSeries_metricValueList,++ -- ** TimeSeriesFeedback+ timeSeriesFeedback_isAnomaly,+ timeSeriesFeedback_timeSeriesId,++ -- ** TimestampColumn+ timestampColumn_columnFormat,+ timestampColumn_columnName,++ -- ** VpcConfiguration+ vpcConfiguration_subnetIdList,+ vpcConfiguration_securityGroupIdList,+ )+where++import Amazonka.LookoutMetrics.ActivateAnomalyDetector+import Amazonka.LookoutMetrics.BackTestAnomalyDetector+import Amazonka.LookoutMetrics.CreateAlert+import Amazonka.LookoutMetrics.CreateAnomalyDetector+import Amazonka.LookoutMetrics.CreateMetricSet+import Amazonka.LookoutMetrics.DeactivateAnomalyDetector+import Amazonka.LookoutMetrics.DeleteAlert+import Amazonka.LookoutMetrics.DeleteAnomalyDetector+import Amazonka.LookoutMetrics.DescribeAlert+import Amazonka.LookoutMetrics.DescribeAnomalyDetectionExecutions+import Amazonka.LookoutMetrics.DescribeAnomalyDetector+import Amazonka.LookoutMetrics.DescribeMetricSet+import Amazonka.LookoutMetrics.DetectMetricSetConfig+import Amazonka.LookoutMetrics.GetAnomalyGroup+import Amazonka.LookoutMetrics.GetDataQualityMetrics+import Amazonka.LookoutMetrics.GetFeedback+import Amazonka.LookoutMetrics.GetSampleData+import Amazonka.LookoutMetrics.ListAlerts+import Amazonka.LookoutMetrics.ListAnomalyDetectors+import Amazonka.LookoutMetrics.ListAnomalyGroupRelatedMetrics+import Amazonka.LookoutMetrics.ListAnomalyGroupSummaries+import Amazonka.LookoutMetrics.ListAnomalyGroupTimeSeries+import Amazonka.LookoutMetrics.ListMetricSets+import Amazonka.LookoutMetrics.ListTagsForResource+import Amazonka.LookoutMetrics.PutFeedback+import Amazonka.LookoutMetrics.TagResource+import Amazonka.LookoutMetrics.Types.Action+import Amazonka.LookoutMetrics.Types.Alert+import Amazonka.LookoutMetrics.Types.AlertFilters+import Amazonka.LookoutMetrics.Types.AlertSummary+import Amazonka.LookoutMetrics.Types.AnomalyDetectorConfig+import Amazonka.LookoutMetrics.Types.AnomalyDetectorConfigSummary+import Amazonka.LookoutMetrics.Types.AnomalyDetectorDataQualityMetric+import Amazonka.LookoutMetrics.Types.AnomalyDetectorSummary+import Amazonka.LookoutMetrics.Types.AnomalyGroup+import Amazonka.LookoutMetrics.Types.AnomalyGroupStatistics+import Amazonka.LookoutMetrics.Types.AnomalyGroupSummary+import Amazonka.LookoutMetrics.Types.AnomalyGroupTimeSeries+import Amazonka.LookoutMetrics.Types.AnomalyGroupTimeSeriesFeedback+import Amazonka.LookoutMetrics.Types.AppFlowConfig+import Amazonka.LookoutMetrics.Types.AthenaSourceConfig+import Amazonka.LookoutMetrics.Types.AttributeValue+import Amazonka.LookoutMetrics.Types.AutoDetectionMetricSource+import Amazonka.LookoutMetrics.Types.AutoDetectionS3SourceConfig+import Amazonka.LookoutMetrics.Types.BackTestConfiguration+import Amazonka.LookoutMetrics.Types.CloudWatchConfig+import Amazonka.LookoutMetrics.Types.ContributionMatrix+import Amazonka.LookoutMetrics.Types.CsvFormatDescriptor+import Amazonka.LookoutMetrics.Types.DataQualityMetric+import Amazonka.LookoutMetrics.Types.DetectedCsvFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedField+import Amazonka.LookoutMetrics.Types.DetectedFileFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedJsonFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedMetricSetConfig+import Amazonka.LookoutMetrics.Types.DetectedMetricSource+import Amazonka.LookoutMetrics.Types.DetectedS3SourceConfig+import Amazonka.LookoutMetrics.Types.DimensionContribution+import Amazonka.LookoutMetrics.Types.DimensionFilter+import Amazonka.LookoutMetrics.Types.DimensionNameValue+import Amazonka.LookoutMetrics.Types.DimensionValueContribution+import Amazonka.LookoutMetrics.Types.ExecutionStatus+import Amazonka.LookoutMetrics.Types.FileFormatDescriptor+import Amazonka.LookoutMetrics.Types.Filter+import Amazonka.LookoutMetrics.Types.InterMetricImpactDetails+import Amazonka.LookoutMetrics.Types.ItemizedMetricStats+import Amazonka.LookoutMetrics.Types.JsonFormatDescriptor+import Amazonka.LookoutMetrics.Types.LambdaConfiguration+import Amazonka.LookoutMetrics.Types.Metric+import Amazonka.LookoutMetrics.Types.MetricLevelImpact+import Amazonka.LookoutMetrics.Types.MetricSetDataQualityMetric+import Amazonka.LookoutMetrics.Types.MetricSetDimensionFilter+import Amazonka.LookoutMetrics.Types.MetricSetSummary+import Amazonka.LookoutMetrics.Types.MetricSource+import Amazonka.LookoutMetrics.Types.RDSSourceConfig+import Amazonka.LookoutMetrics.Types.RedshiftSourceConfig+import Amazonka.LookoutMetrics.Types.S3SourceConfig+import Amazonka.LookoutMetrics.Types.SNSConfiguration+import Amazonka.LookoutMetrics.Types.SampleDataS3SourceConfig+import Amazonka.LookoutMetrics.Types.TimeSeries+import Amazonka.LookoutMetrics.Types.TimeSeriesFeedback+import Amazonka.LookoutMetrics.Types.TimestampColumn+import Amazonka.LookoutMetrics.Types.VpcConfiguration+import Amazonka.LookoutMetrics.UntagResource+import Amazonka.LookoutMetrics.UpdateAlert+import Amazonka.LookoutMetrics.UpdateAnomalyDetector+import Amazonka.LookoutMetrics.UpdateMetricSet
+ gen/Amazonka/LookoutMetrics/ListAlerts.hs view
@@ -0,0 +1,221 @@+{-# 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.LookoutMetrics.ListAlerts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the alerts attached to a detector.+--+-- Amazon Lookout for Metrics API actions are eventually consistent. If you+-- do a read operation on a resource immediately after creating or+-- modifying it, use retries to allow time for the write operation to+-- complete.+module Amazonka.LookoutMetrics.ListAlerts+ ( -- * Creating a Request+ ListAlerts (..),+ newListAlerts,++ -- * Request Lenses+ listAlerts_anomalyDetectorArn,+ listAlerts_maxResults,+ listAlerts_nextToken,++ -- * Destructuring the Response+ ListAlertsResponse (..),+ newListAlertsResponse,++ -- * Response Lenses+ listAlertsResponse_alertSummaryList,+ listAlertsResponse_nextToken,+ listAlertsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAlerts' smart constructor.+data ListAlerts = ListAlerts'+ { -- | The ARN of the alert\'s detector.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results that will be displayed by the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the result of the previous request is truncated, the response+ -- includes a @NextToken@. To retrieve the next set of results, use the+ -- token in the next request. Tokens expire after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlerts' 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:+--+-- 'anomalyDetectorArn', 'listAlerts_anomalyDetectorArn' - The ARN of the alert\'s detector.+--+-- 'maxResults', 'listAlerts_maxResults' - The maximum number of results that will be displayed by the request.+--+-- 'nextToken', 'listAlerts_nextToken' - If the result of the previous request is truncated, the response+-- includes a @NextToken@. To retrieve the next set of results, use the+-- token in the next request. Tokens expire after 24 hours.+newListAlerts ::+ ListAlerts+newListAlerts =+ ListAlerts'+ { anomalyDetectorArn = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The ARN of the alert\'s detector.+listAlerts_anomalyDetectorArn :: Lens.Lens' ListAlerts (Prelude.Maybe Prelude.Text)+listAlerts_anomalyDetectorArn = Lens.lens (\ListAlerts' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@ListAlerts' {} a -> s {anomalyDetectorArn = a} :: ListAlerts)++-- | The maximum number of results that will be displayed by the request.+listAlerts_maxResults :: Lens.Lens' ListAlerts (Prelude.Maybe Prelude.Natural)+listAlerts_maxResults = Lens.lens (\ListAlerts' {maxResults} -> maxResults) (\s@ListAlerts' {} a -> s {maxResults = a} :: ListAlerts)++-- | If the result of the previous request is truncated, the response+-- includes a @NextToken@. To retrieve the next set of results, use the+-- token in the next request. Tokens expire after 24 hours.+listAlerts_nextToken :: Lens.Lens' ListAlerts (Prelude.Maybe Prelude.Text)+listAlerts_nextToken = Lens.lens (\ListAlerts' {nextToken} -> nextToken) (\s@ListAlerts' {} a -> s {nextToken = a} :: ListAlerts)++instance Core.AWSRequest ListAlerts where+ type AWSResponse ListAlerts = ListAlertsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAlertsResponse'+ Prelude.<$> ( x+ Data..?> "AlertSummaryList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAlerts where+ hashWithSalt _salt ListAlerts' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAlerts where+ rnf ListAlerts' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAlerts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAlerts where+ toJSON ListAlerts' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AnomalyDetectorArn" Data..=)+ Prelude.<$> anomalyDetectorArn,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListAlerts where+ toPath = Prelude.const "/ListAlerts"++instance Data.ToQuery ListAlerts where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAlertsResponse' smart constructor.+data ListAlertsResponse = ListAlertsResponse'+ { -- | Contains information about an alert.+ alertSummaryList :: Prelude.Maybe [AlertSummary],+ -- | If the response is truncated, the service returns this token. To+ -- retrieve the next set of results, use this token in the next request.+ 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 'ListAlertsResponse' 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:+--+-- 'alertSummaryList', 'listAlertsResponse_alertSummaryList' - Contains information about an alert.+--+-- 'nextToken', 'listAlertsResponse_nextToken' - If the response is truncated, the service returns this token. To+-- retrieve the next set of results, use this token in the next request.+--+-- 'httpStatus', 'listAlertsResponse_httpStatus' - The response's http status code.+newListAlertsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAlertsResponse+newListAlertsResponse pHttpStatus_ =+ ListAlertsResponse'+ { alertSummaryList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains information about an alert.+listAlertsResponse_alertSummaryList :: Lens.Lens' ListAlertsResponse (Prelude.Maybe [AlertSummary])+listAlertsResponse_alertSummaryList = Lens.lens (\ListAlertsResponse' {alertSummaryList} -> alertSummaryList) (\s@ListAlertsResponse' {} a -> s {alertSummaryList = a} :: ListAlertsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, the service returns this token. To+-- retrieve the next set of results, use this token in the next request.+listAlertsResponse_nextToken :: Lens.Lens' ListAlertsResponse (Prelude.Maybe Prelude.Text)+listAlertsResponse_nextToken = Lens.lens (\ListAlertsResponse' {nextToken} -> nextToken) (\s@ListAlertsResponse' {} a -> s {nextToken = a} :: ListAlertsResponse)++-- | The response's http status code.+listAlertsResponse_httpStatus :: Lens.Lens' ListAlertsResponse Prelude.Int+listAlertsResponse_httpStatus = Lens.lens (\ListAlertsResponse' {httpStatus} -> httpStatus) (\s@ListAlertsResponse' {} a -> s {httpStatus = a} :: ListAlertsResponse)++instance Prelude.NFData ListAlertsResponse where+ rnf ListAlertsResponse' {..} =+ Prelude.rnf alertSummaryList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/ListAnomalyDetectors.hs view
@@ -0,0 +1,209 @@+{-# 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.LookoutMetrics.ListAnomalyDetectors+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the detectors in the current AWS Region.+--+-- Amazon Lookout for Metrics API actions are eventually consistent. If you+-- do a read operation on a resource immediately after creating or+-- modifying it, use retries to allow time for the write operation to+-- complete.+module Amazonka.LookoutMetrics.ListAnomalyDetectors+ ( -- * Creating a Request+ ListAnomalyDetectors (..),+ newListAnomalyDetectors,++ -- * Request Lenses+ listAnomalyDetectors_maxResults,+ listAnomalyDetectors_nextToken,++ -- * Destructuring the Response+ ListAnomalyDetectorsResponse (..),+ newListAnomalyDetectorsResponse,++ -- * Response Lenses+ listAnomalyDetectorsResponse_anomalyDetectorSummaryList,+ listAnomalyDetectorsResponse_nextToken,+ listAnomalyDetectorsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAnomalyDetectors' smart constructor.+data ListAnomalyDetectors = ListAnomalyDetectors'+ { -- | The maximum number of results to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the result of the previous request was truncated, the response+ -- includes a @NextToken@. To retrieve the next set of results, use the+ -- token in the next request. Tokens expire after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnomalyDetectors' 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', 'listAnomalyDetectors_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listAnomalyDetectors_nextToken' - If the result of the previous request was truncated, the response+-- includes a @NextToken@. To retrieve the next set of results, use the+-- token in the next request. Tokens expire after 24 hours.+newListAnomalyDetectors ::+ ListAnomalyDetectors+newListAnomalyDetectors =+ ListAnomalyDetectors'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return.+listAnomalyDetectors_maxResults :: Lens.Lens' ListAnomalyDetectors (Prelude.Maybe Prelude.Natural)+listAnomalyDetectors_maxResults = Lens.lens (\ListAnomalyDetectors' {maxResults} -> maxResults) (\s@ListAnomalyDetectors' {} a -> s {maxResults = a} :: ListAnomalyDetectors)++-- | If the result of the previous request was truncated, the response+-- includes a @NextToken@. To retrieve the next set of results, use the+-- token in the next request. Tokens expire after 24 hours.+listAnomalyDetectors_nextToken :: Lens.Lens' ListAnomalyDetectors (Prelude.Maybe Prelude.Text)+listAnomalyDetectors_nextToken = Lens.lens (\ListAnomalyDetectors' {nextToken} -> nextToken) (\s@ListAnomalyDetectors' {} a -> s {nextToken = a} :: ListAnomalyDetectors)++instance Core.AWSRequest ListAnomalyDetectors where+ type+ AWSResponse ListAnomalyDetectors =+ ListAnomalyDetectorsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAnomalyDetectorsResponse'+ Prelude.<$> ( x+ Data..?> "AnomalyDetectorSummaryList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAnomalyDetectors where+ hashWithSalt _salt ListAnomalyDetectors' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAnomalyDetectors where+ rnf ListAnomalyDetectors' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAnomalyDetectors where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAnomalyDetectors where+ toJSON ListAnomalyDetectors' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListAnomalyDetectors where+ toPath = Prelude.const "/ListAnomalyDetectors"++instance Data.ToQuery ListAnomalyDetectors where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAnomalyDetectorsResponse' smart constructor.+data ListAnomalyDetectorsResponse = ListAnomalyDetectorsResponse'+ { -- | A list of anomaly detectors in the account in the current region.+ anomalyDetectorSummaryList :: Prelude.Maybe [AnomalyDetectorSummary],+ -- | If the response is truncated, the service returns this token. To+ -- retrieve the next set of results, use the token in the next request.+ 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 'ListAnomalyDetectorsResponse' 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:+--+-- 'anomalyDetectorSummaryList', 'listAnomalyDetectorsResponse_anomalyDetectorSummaryList' - A list of anomaly detectors in the account in the current region.+--+-- 'nextToken', 'listAnomalyDetectorsResponse_nextToken' - If the response is truncated, the service returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listAnomalyDetectorsResponse_httpStatus' - The response's http status code.+newListAnomalyDetectorsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAnomalyDetectorsResponse+newListAnomalyDetectorsResponse pHttpStatus_ =+ ListAnomalyDetectorsResponse'+ { anomalyDetectorSummaryList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of anomaly detectors in the account in the current region.+listAnomalyDetectorsResponse_anomalyDetectorSummaryList :: Lens.Lens' ListAnomalyDetectorsResponse (Prelude.Maybe [AnomalyDetectorSummary])+listAnomalyDetectorsResponse_anomalyDetectorSummaryList = Lens.lens (\ListAnomalyDetectorsResponse' {anomalyDetectorSummaryList} -> anomalyDetectorSummaryList) (\s@ListAnomalyDetectorsResponse' {} a -> s {anomalyDetectorSummaryList = a} :: ListAnomalyDetectorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, the service returns this token. To+-- retrieve the next set of results, use the token in the next request.+listAnomalyDetectorsResponse_nextToken :: Lens.Lens' ListAnomalyDetectorsResponse (Prelude.Maybe Prelude.Text)+listAnomalyDetectorsResponse_nextToken = Lens.lens (\ListAnomalyDetectorsResponse' {nextToken} -> nextToken) (\s@ListAnomalyDetectorsResponse' {} a -> s {nextToken = a} :: ListAnomalyDetectorsResponse)++-- | The response's http status code.+listAnomalyDetectorsResponse_httpStatus :: Lens.Lens' ListAnomalyDetectorsResponse Prelude.Int+listAnomalyDetectorsResponse_httpStatus = Lens.lens (\ListAnomalyDetectorsResponse' {httpStatus} -> httpStatus) (\s@ListAnomalyDetectorsResponse' {} a -> s {httpStatus = a} :: ListAnomalyDetectorsResponse)++instance Prelude.NFData ListAnomalyDetectorsResponse where+ rnf ListAnomalyDetectorsResponse' {..} =+ Prelude.rnf anomalyDetectorSummaryList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/ListAnomalyGroupRelatedMetrics.hs view
@@ -0,0 +1,276 @@+{-# 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.LookoutMetrics.ListAnomalyGroupRelatedMetrics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of measures that are potential causes or effects of an+-- anomaly group.+module Amazonka.LookoutMetrics.ListAnomalyGroupRelatedMetrics+ ( -- * Creating a Request+ ListAnomalyGroupRelatedMetrics (..),+ newListAnomalyGroupRelatedMetrics,++ -- * Request Lenses+ listAnomalyGroupRelatedMetrics_maxResults,+ listAnomalyGroupRelatedMetrics_nextToken,+ listAnomalyGroupRelatedMetrics_relationshipTypeFilter,+ listAnomalyGroupRelatedMetrics_anomalyDetectorArn,+ listAnomalyGroupRelatedMetrics_anomalyGroupId,++ -- * Destructuring the Response+ ListAnomalyGroupRelatedMetricsResponse (..),+ newListAnomalyGroupRelatedMetricsResponse,++ -- * Response Lenses+ listAnomalyGroupRelatedMetricsResponse_interMetricImpactList,+ listAnomalyGroupRelatedMetricsResponse_nextToken,+ listAnomalyGroupRelatedMetricsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAnomalyGroupRelatedMetrics' smart constructor.+data ListAnomalyGroupRelatedMetrics = ListAnomalyGroupRelatedMetrics'+ { -- | The maximum number of results to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Specify the pagination token that\'s returned by a previous request to+ -- retrieve the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Filter for potential causes (@CAUSE_OF_INPUT_ANOMALY_GROUP@) or+ -- downstream effects (@EFFECT_OF_INPUT_ANOMALY_GROUP@) of the anomaly+ -- group.+ relationshipTypeFilter :: Prelude.Maybe RelationshipType,+ -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text,+ -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnomalyGroupRelatedMetrics' 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', 'listAnomalyGroupRelatedMetrics_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listAnomalyGroupRelatedMetrics_nextToken' - Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+--+-- 'relationshipTypeFilter', 'listAnomalyGroupRelatedMetrics_relationshipTypeFilter' - Filter for potential causes (@CAUSE_OF_INPUT_ANOMALY_GROUP@) or+-- downstream effects (@EFFECT_OF_INPUT_ANOMALY_GROUP@) of the anomaly+-- group.+--+-- 'anomalyDetectorArn', 'listAnomalyGroupRelatedMetrics_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+--+-- 'anomalyGroupId', 'listAnomalyGroupRelatedMetrics_anomalyGroupId' - The ID of the anomaly group.+newListAnomalyGroupRelatedMetrics ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'anomalyGroupId'+ Prelude.Text ->+ ListAnomalyGroupRelatedMetrics+newListAnomalyGroupRelatedMetrics+ pAnomalyDetectorArn_+ pAnomalyGroupId_ =+ ListAnomalyGroupRelatedMetrics'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ relationshipTypeFilter = Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_,+ anomalyGroupId = pAnomalyGroupId_+ }++-- | The maximum number of results to return.+listAnomalyGroupRelatedMetrics_maxResults :: Lens.Lens' ListAnomalyGroupRelatedMetrics (Prelude.Maybe Prelude.Natural)+listAnomalyGroupRelatedMetrics_maxResults = Lens.lens (\ListAnomalyGroupRelatedMetrics' {maxResults} -> maxResults) (\s@ListAnomalyGroupRelatedMetrics' {} a -> s {maxResults = a} :: ListAnomalyGroupRelatedMetrics)++-- | Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+listAnomalyGroupRelatedMetrics_nextToken :: Lens.Lens' ListAnomalyGroupRelatedMetrics (Prelude.Maybe Prelude.Text)+listAnomalyGroupRelatedMetrics_nextToken = Lens.lens (\ListAnomalyGroupRelatedMetrics' {nextToken} -> nextToken) (\s@ListAnomalyGroupRelatedMetrics' {} a -> s {nextToken = a} :: ListAnomalyGroupRelatedMetrics)++-- | Filter for potential causes (@CAUSE_OF_INPUT_ANOMALY_GROUP@) or+-- downstream effects (@EFFECT_OF_INPUT_ANOMALY_GROUP@) of the anomaly+-- group.+listAnomalyGroupRelatedMetrics_relationshipTypeFilter :: Lens.Lens' ListAnomalyGroupRelatedMetrics (Prelude.Maybe RelationshipType)+listAnomalyGroupRelatedMetrics_relationshipTypeFilter = Lens.lens (\ListAnomalyGroupRelatedMetrics' {relationshipTypeFilter} -> relationshipTypeFilter) (\s@ListAnomalyGroupRelatedMetrics' {} a -> s {relationshipTypeFilter = a} :: ListAnomalyGroupRelatedMetrics)++-- | The Amazon Resource Name (ARN) of the anomaly detector.+listAnomalyGroupRelatedMetrics_anomalyDetectorArn :: Lens.Lens' ListAnomalyGroupRelatedMetrics Prelude.Text+listAnomalyGroupRelatedMetrics_anomalyDetectorArn = Lens.lens (\ListAnomalyGroupRelatedMetrics' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@ListAnomalyGroupRelatedMetrics' {} a -> s {anomalyDetectorArn = a} :: ListAnomalyGroupRelatedMetrics)++-- | The ID of the anomaly group.+listAnomalyGroupRelatedMetrics_anomalyGroupId :: Lens.Lens' ListAnomalyGroupRelatedMetrics Prelude.Text+listAnomalyGroupRelatedMetrics_anomalyGroupId = Lens.lens (\ListAnomalyGroupRelatedMetrics' {anomalyGroupId} -> anomalyGroupId) (\s@ListAnomalyGroupRelatedMetrics' {} a -> s {anomalyGroupId = a} :: ListAnomalyGroupRelatedMetrics)++instance+ Core.AWSRequest+ ListAnomalyGroupRelatedMetrics+ where+ type+ AWSResponse ListAnomalyGroupRelatedMetrics =+ ListAnomalyGroupRelatedMetricsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAnomalyGroupRelatedMetricsResponse'+ Prelude.<$> ( x+ Data..?> "InterMetricImpactList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListAnomalyGroupRelatedMetrics+ where+ hashWithSalt+ _salt+ ListAnomalyGroupRelatedMetrics' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` relationshipTypeFilter+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` anomalyGroupId++instance+ Prelude.NFData+ ListAnomalyGroupRelatedMetrics+ where+ rnf ListAnomalyGroupRelatedMetrics' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf relationshipTypeFilter+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf anomalyGroupId++instance+ Data.ToHeaders+ ListAnomalyGroupRelatedMetrics+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAnomalyGroupRelatedMetrics where+ toJSON ListAnomalyGroupRelatedMetrics' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("RelationshipTypeFilter" Data..=)+ Prelude.<$> relationshipTypeFilter,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just+ ("AnomalyGroupId" Data..= anomalyGroupId)+ ]+ )++instance Data.ToPath ListAnomalyGroupRelatedMetrics where+ toPath =+ Prelude.const "/ListAnomalyGroupRelatedMetrics"++instance Data.ToQuery ListAnomalyGroupRelatedMetrics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAnomalyGroupRelatedMetricsResponse' smart constructor.+data ListAnomalyGroupRelatedMetricsResponse = ListAnomalyGroupRelatedMetricsResponse'+ { -- | Aggregated details about the measures contributing to the anomaly group,+ -- and the measures potentially impacted by the anomaly group.+ interMetricImpactList :: Prelude.Maybe [InterMetricImpactDetails],+ -- | The pagination token that\'s included if more results are available.+ 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 'ListAnomalyGroupRelatedMetricsResponse' 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:+--+-- 'interMetricImpactList', 'listAnomalyGroupRelatedMetricsResponse_interMetricImpactList' - Aggregated details about the measures contributing to the anomaly group,+-- and the measures potentially impacted by the anomaly group.+--+-- 'nextToken', 'listAnomalyGroupRelatedMetricsResponse_nextToken' - The pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listAnomalyGroupRelatedMetricsResponse_httpStatus' - The response's http status code.+newListAnomalyGroupRelatedMetricsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAnomalyGroupRelatedMetricsResponse+newListAnomalyGroupRelatedMetricsResponse+ pHttpStatus_ =+ ListAnomalyGroupRelatedMetricsResponse'+ { interMetricImpactList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Aggregated details about the measures contributing to the anomaly group,+-- and the measures potentially impacted by the anomaly group.+listAnomalyGroupRelatedMetricsResponse_interMetricImpactList :: Lens.Lens' ListAnomalyGroupRelatedMetricsResponse (Prelude.Maybe [InterMetricImpactDetails])+listAnomalyGroupRelatedMetricsResponse_interMetricImpactList = Lens.lens (\ListAnomalyGroupRelatedMetricsResponse' {interMetricImpactList} -> interMetricImpactList) (\s@ListAnomalyGroupRelatedMetricsResponse' {} a -> s {interMetricImpactList = a} :: ListAnomalyGroupRelatedMetricsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s included if more results are available.+listAnomalyGroupRelatedMetricsResponse_nextToken :: Lens.Lens' ListAnomalyGroupRelatedMetricsResponse (Prelude.Maybe Prelude.Text)+listAnomalyGroupRelatedMetricsResponse_nextToken = Lens.lens (\ListAnomalyGroupRelatedMetricsResponse' {nextToken} -> nextToken) (\s@ListAnomalyGroupRelatedMetricsResponse' {} a -> s {nextToken = a} :: ListAnomalyGroupRelatedMetricsResponse)++-- | The response's http status code.+listAnomalyGroupRelatedMetricsResponse_httpStatus :: Lens.Lens' ListAnomalyGroupRelatedMetricsResponse Prelude.Int+listAnomalyGroupRelatedMetricsResponse_httpStatus = Lens.lens (\ListAnomalyGroupRelatedMetricsResponse' {httpStatus} -> httpStatus) (\s@ListAnomalyGroupRelatedMetricsResponse' {} a -> s {httpStatus = a} :: ListAnomalyGroupRelatedMetricsResponse)++instance+ Prelude.NFData+ ListAnomalyGroupRelatedMetricsResponse+ where+ rnf ListAnomalyGroupRelatedMetricsResponse' {..} =+ Prelude.rnf interMetricImpactList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/ListAnomalyGroupSummaries.hs view
@@ -0,0 +1,251 @@+{-# 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.LookoutMetrics.ListAnomalyGroupSummaries+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of anomaly groups.+module Amazonka.LookoutMetrics.ListAnomalyGroupSummaries+ ( -- * Creating a Request+ ListAnomalyGroupSummaries (..),+ newListAnomalyGroupSummaries,++ -- * Request Lenses+ listAnomalyGroupSummaries_maxResults,+ listAnomalyGroupSummaries_nextToken,+ listAnomalyGroupSummaries_anomalyDetectorArn,+ listAnomalyGroupSummaries_sensitivityThreshold,++ -- * Destructuring the Response+ ListAnomalyGroupSummariesResponse (..),+ newListAnomalyGroupSummariesResponse,++ -- * Response Lenses+ listAnomalyGroupSummariesResponse_anomalyGroupStatistics,+ listAnomalyGroupSummariesResponse_anomalyGroupSummaryList,+ listAnomalyGroupSummariesResponse_nextToken,+ listAnomalyGroupSummariesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAnomalyGroupSummaries' smart constructor.+data ListAnomalyGroupSummaries = ListAnomalyGroupSummaries'+ { -- | The maximum number of results to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Specify the pagination token that\'s returned by a previous request to+ -- retrieve the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text,+ -- | The minimum severity score for inclusion in the output.+ sensitivityThreshold :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnomalyGroupSummaries' 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', 'listAnomalyGroupSummaries_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listAnomalyGroupSummaries_nextToken' - Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+--+-- 'anomalyDetectorArn', 'listAnomalyGroupSummaries_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+--+-- 'sensitivityThreshold', 'listAnomalyGroupSummaries_sensitivityThreshold' - The minimum severity score for inclusion in the output.+newListAnomalyGroupSummaries ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'sensitivityThreshold'+ Prelude.Natural ->+ ListAnomalyGroupSummaries+newListAnomalyGroupSummaries+ pAnomalyDetectorArn_+ pSensitivityThreshold_ =+ ListAnomalyGroupSummaries'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_,+ sensitivityThreshold = pSensitivityThreshold_+ }++-- | The maximum number of results to return.+listAnomalyGroupSummaries_maxResults :: Lens.Lens' ListAnomalyGroupSummaries (Prelude.Maybe Prelude.Natural)+listAnomalyGroupSummaries_maxResults = Lens.lens (\ListAnomalyGroupSummaries' {maxResults} -> maxResults) (\s@ListAnomalyGroupSummaries' {} a -> s {maxResults = a} :: ListAnomalyGroupSummaries)++-- | Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+listAnomalyGroupSummaries_nextToken :: Lens.Lens' ListAnomalyGroupSummaries (Prelude.Maybe Prelude.Text)+listAnomalyGroupSummaries_nextToken = Lens.lens (\ListAnomalyGroupSummaries' {nextToken} -> nextToken) (\s@ListAnomalyGroupSummaries' {} a -> s {nextToken = a} :: ListAnomalyGroupSummaries)++-- | The Amazon Resource Name (ARN) of the anomaly detector.+listAnomalyGroupSummaries_anomalyDetectorArn :: Lens.Lens' ListAnomalyGroupSummaries Prelude.Text+listAnomalyGroupSummaries_anomalyDetectorArn = Lens.lens (\ListAnomalyGroupSummaries' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@ListAnomalyGroupSummaries' {} a -> s {anomalyDetectorArn = a} :: ListAnomalyGroupSummaries)++-- | The minimum severity score for inclusion in the output.+listAnomalyGroupSummaries_sensitivityThreshold :: Lens.Lens' ListAnomalyGroupSummaries Prelude.Natural+listAnomalyGroupSummaries_sensitivityThreshold = Lens.lens (\ListAnomalyGroupSummaries' {sensitivityThreshold} -> sensitivityThreshold) (\s@ListAnomalyGroupSummaries' {} a -> s {sensitivityThreshold = a} :: ListAnomalyGroupSummaries)++instance Core.AWSRequest ListAnomalyGroupSummaries where+ type+ AWSResponse ListAnomalyGroupSummaries =+ ListAnomalyGroupSummariesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAnomalyGroupSummariesResponse'+ Prelude.<$> (x Data..?> "AnomalyGroupStatistics")+ Prelude.<*> ( x+ Data..?> "AnomalyGroupSummaryList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAnomalyGroupSummaries where+ hashWithSalt _salt ListAnomalyGroupSummaries' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` sensitivityThreshold++instance Prelude.NFData ListAnomalyGroupSummaries where+ rnf ListAnomalyGroupSummaries' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf sensitivityThreshold++instance Data.ToHeaders ListAnomalyGroupSummaries where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAnomalyGroupSummaries where+ toJSON ListAnomalyGroupSummaries' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just+ ( "SensitivityThreshold"+ Data..= sensitivityThreshold+ )+ ]+ )++instance Data.ToPath ListAnomalyGroupSummaries where+ toPath = Prelude.const "/ListAnomalyGroupSummaries"++instance Data.ToQuery ListAnomalyGroupSummaries where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAnomalyGroupSummariesResponse' smart constructor.+data ListAnomalyGroupSummariesResponse = ListAnomalyGroupSummariesResponse'+ { -- | Aggregated details about the anomaly groups.+ anomalyGroupStatistics :: Prelude.Maybe AnomalyGroupStatistics,+ -- | A list of anomaly group summaries.+ anomalyGroupSummaryList :: Prelude.Maybe [AnomalyGroupSummary],+ -- | The pagination token that\'s included if more results are available.+ 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 'ListAnomalyGroupSummariesResponse' 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:+--+-- 'anomalyGroupStatistics', 'listAnomalyGroupSummariesResponse_anomalyGroupStatistics' - Aggregated details about the anomaly groups.+--+-- 'anomalyGroupSummaryList', 'listAnomalyGroupSummariesResponse_anomalyGroupSummaryList' - A list of anomaly group summaries.+--+-- 'nextToken', 'listAnomalyGroupSummariesResponse_nextToken' - The pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listAnomalyGroupSummariesResponse_httpStatus' - The response's http status code.+newListAnomalyGroupSummariesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAnomalyGroupSummariesResponse+newListAnomalyGroupSummariesResponse pHttpStatus_ =+ ListAnomalyGroupSummariesResponse'+ { anomalyGroupStatistics =+ Prelude.Nothing,+ anomalyGroupSummaryList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Aggregated details about the anomaly groups.+listAnomalyGroupSummariesResponse_anomalyGroupStatistics :: Lens.Lens' ListAnomalyGroupSummariesResponse (Prelude.Maybe AnomalyGroupStatistics)+listAnomalyGroupSummariesResponse_anomalyGroupStatistics = Lens.lens (\ListAnomalyGroupSummariesResponse' {anomalyGroupStatistics} -> anomalyGroupStatistics) (\s@ListAnomalyGroupSummariesResponse' {} a -> s {anomalyGroupStatistics = a} :: ListAnomalyGroupSummariesResponse)++-- | A list of anomaly group summaries.+listAnomalyGroupSummariesResponse_anomalyGroupSummaryList :: Lens.Lens' ListAnomalyGroupSummariesResponse (Prelude.Maybe [AnomalyGroupSummary])+listAnomalyGroupSummariesResponse_anomalyGroupSummaryList = Lens.lens (\ListAnomalyGroupSummariesResponse' {anomalyGroupSummaryList} -> anomalyGroupSummaryList) (\s@ListAnomalyGroupSummariesResponse' {} a -> s {anomalyGroupSummaryList = a} :: ListAnomalyGroupSummariesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s included if more results are available.+listAnomalyGroupSummariesResponse_nextToken :: Lens.Lens' ListAnomalyGroupSummariesResponse (Prelude.Maybe Prelude.Text)+listAnomalyGroupSummariesResponse_nextToken = Lens.lens (\ListAnomalyGroupSummariesResponse' {nextToken} -> nextToken) (\s@ListAnomalyGroupSummariesResponse' {} a -> s {nextToken = a} :: ListAnomalyGroupSummariesResponse)++-- | The response's http status code.+listAnomalyGroupSummariesResponse_httpStatus :: Lens.Lens' ListAnomalyGroupSummariesResponse Prelude.Int+listAnomalyGroupSummariesResponse_httpStatus = Lens.lens (\ListAnomalyGroupSummariesResponse' {httpStatus} -> httpStatus) (\s@ListAnomalyGroupSummariesResponse' {} a -> s {httpStatus = a} :: ListAnomalyGroupSummariesResponse)++instance+ Prelude.NFData+ ListAnomalyGroupSummariesResponse+ where+ rnf ListAnomalyGroupSummariesResponse' {..} =+ Prelude.rnf anomalyGroupStatistics+ `Prelude.seq` Prelude.rnf anomalyGroupSummaryList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/ListAnomalyGroupTimeSeries.hs view
@@ -0,0 +1,285 @@+{-# 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.LookoutMetrics.ListAnomalyGroupTimeSeries+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of anomalous metrics for a measure in an anomaly group.+module Amazonka.LookoutMetrics.ListAnomalyGroupTimeSeries+ ( -- * Creating a Request+ ListAnomalyGroupTimeSeries (..),+ newListAnomalyGroupTimeSeries,++ -- * Request Lenses+ listAnomalyGroupTimeSeries_maxResults,+ listAnomalyGroupTimeSeries_nextToken,+ listAnomalyGroupTimeSeries_anomalyDetectorArn,+ listAnomalyGroupTimeSeries_anomalyGroupId,+ listAnomalyGroupTimeSeries_metricName,++ -- * Destructuring the Response+ ListAnomalyGroupTimeSeriesResponse (..),+ newListAnomalyGroupTimeSeriesResponse,++ -- * Response Lenses+ listAnomalyGroupTimeSeriesResponse_anomalyGroupId,+ listAnomalyGroupTimeSeriesResponse_metricName,+ listAnomalyGroupTimeSeriesResponse_nextToken,+ listAnomalyGroupTimeSeriesResponse_timeSeriesList,+ listAnomalyGroupTimeSeriesResponse_timestampList,+ listAnomalyGroupTimeSeriesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAnomalyGroupTimeSeries' smart constructor.+data ListAnomalyGroupTimeSeries = ListAnomalyGroupTimeSeries'+ { -- | The maximum number of results to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Specify the pagination token that\'s returned by a previous request to+ -- retrieve the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text,+ -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Text,+ -- | The name of the measure field.+ metricName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAnomalyGroupTimeSeries' 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', 'listAnomalyGroupTimeSeries_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listAnomalyGroupTimeSeries_nextToken' - Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+--+-- 'anomalyDetectorArn', 'listAnomalyGroupTimeSeries_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+--+-- 'anomalyGroupId', 'listAnomalyGroupTimeSeries_anomalyGroupId' - The ID of the anomaly group.+--+-- 'metricName', 'listAnomalyGroupTimeSeries_metricName' - The name of the measure field.+newListAnomalyGroupTimeSeries ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'anomalyGroupId'+ Prelude.Text ->+ -- | 'metricName'+ Prelude.Text ->+ ListAnomalyGroupTimeSeries+newListAnomalyGroupTimeSeries+ pAnomalyDetectorArn_+ pAnomalyGroupId_+ pMetricName_ =+ ListAnomalyGroupTimeSeries'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_,+ anomalyGroupId = pAnomalyGroupId_,+ metricName = pMetricName_+ }++-- | The maximum number of results to return.+listAnomalyGroupTimeSeries_maxResults :: Lens.Lens' ListAnomalyGroupTimeSeries (Prelude.Maybe Prelude.Natural)+listAnomalyGroupTimeSeries_maxResults = Lens.lens (\ListAnomalyGroupTimeSeries' {maxResults} -> maxResults) (\s@ListAnomalyGroupTimeSeries' {} a -> s {maxResults = a} :: ListAnomalyGroupTimeSeries)++-- | Specify the pagination token that\'s returned by a previous request to+-- retrieve the next page of results.+listAnomalyGroupTimeSeries_nextToken :: Lens.Lens' ListAnomalyGroupTimeSeries (Prelude.Maybe Prelude.Text)+listAnomalyGroupTimeSeries_nextToken = Lens.lens (\ListAnomalyGroupTimeSeries' {nextToken} -> nextToken) (\s@ListAnomalyGroupTimeSeries' {} a -> s {nextToken = a} :: ListAnomalyGroupTimeSeries)++-- | The Amazon Resource Name (ARN) of the anomaly detector.+listAnomalyGroupTimeSeries_anomalyDetectorArn :: Lens.Lens' ListAnomalyGroupTimeSeries Prelude.Text+listAnomalyGroupTimeSeries_anomalyDetectorArn = Lens.lens (\ListAnomalyGroupTimeSeries' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@ListAnomalyGroupTimeSeries' {} a -> s {anomalyDetectorArn = a} :: ListAnomalyGroupTimeSeries)++-- | The ID of the anomaly group.+listAnomalyGroupTimeSeries_anomalyGroupId :: Lens.Lens' ListAnomalyGroupTimeSeries Prelude.Text+listAnomalyGroupTimeSeries_anomalyGroupId = Lens.lens (\ListAnomalyGroupTimeSeries' {anomalyGroupId} -> anomalyGroupId) (\s@ListAnomalyGroupTimeSeries' {} a -> s {anomalyGroupId = a} :: ListAnomalyGroupTimeSeries)++-- | The name of the measure field.+listAnomalyGroupTimeSeries_metricName :: Lens.Lens' ListAnomalyGroupTimeSeries Prelude.Text+listAnomalyGroupTimeSeries_metricName = Lens.lens (\ListAnomalyGroupTimeSeries' {metricName} -> metricName) (\s@ListAnomalyGroupTimeSeries' {} a -> s {metricName = a} :: ListAnomalyGroupTimeSeries)++instance Core.AWSRequest ListAnomalyGroupTimeSeries where+ type+ AWSResponse ListAnomalyGroupTimeSeries =+ ListAnomalyGroupTimeSeriesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAnomalyGroupTimeSeriesResponse'+ Prelude.<$> (x Data..?> "AnomalyGroupId")+ Prelude.<*> (x Data..?> "MetricName")+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "TimeSeriesList" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "TimestampList" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAnomalyGroupTimeSeries where+ hashWithSalt _salt ListAnomalyGroupTimeSeries' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` anomalyGroupId+ `Prelude.hashWithSalt` metricName++instance Prelude.NFData ListAnomalyGroupTimeSeries where+ rnf ListAnomalyGroupTimeSeries' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf metricName++instance Data.ToHeaders ListAnomalyGroupTimeSeries where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListAnomalyGroupTimeSeries where+ toJSON ListAnomalyGroupTimeSeries' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just+ ("AnomalyGroupId" Data..= anomalyGroupId),+ Prelude.Just ("MetricName" Data..= metricName)+ ]+ )++instance Data.ToPath ListAnomalyGroupTimeSeries where+ toPath = Prelude.const "/ListAnomalyGroupTimeSeries"++instance Data.ToQuery ListAnomalyGroupTimeSeries where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListAnomalyGroupTimeSeriesResponse' smart constructor.+data ListAnomalyGroupTimeSeriesResponse = ListAnomalyGroupTimeSeriesResponse'+ { -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Maybe Prelude.Text,+ -- | The name of the measure field.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | The pagination token that\'s included if more results are available.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of anomalous metrics.+ timeSeriesList :: Prelude.Maybe [TimeSeries],+ -- | Timestamps for the anomalous metrics.+ timestampList :: 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 'ListAnomalyGroupTimeSeriesResponse' 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:+--+-- 'anomalyGroupId', 'listAnomalyGroupTimeSeriesResponse_anomalyGroupId' - The ID of the anomaly group.+--+-- 'metricName', 'listAnomalyGroupTimeSeriesResponse_metricName' - The name of the measure field.+--+-- 'nextToken', 'listAnomalyGroupTimeSeriesResponse_nextToken' - The pagination token that\'s included if more results are available.+--+-- 'timeSeriesList', 'listAnomalyGroupTimeSeriesResponse_timeSeriesList' - A list of anomalous metrics.+--+-- 'timestampList', 'listAnomalyGroupTimeSeriesResponse_timestampList' - Timestamps for the anomalous metrics.+--+-- 'httpStatus', 'listAnomalyGroupTimeSeriesResponse_httpStatus' - The response's http status code.+newListAnomalyGroupTimeSeriesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAnomalyGroupTimeSeriesResponse+newListAnomalyGroupTimeSeriesResponse pHttpStatus_ =+ ListAnomalyGroupTimeSeriesResponse'+ { anomalyGroupId =+ Prelude.Nothing,+ metricName = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ timeSeriesList = Prelude.Nothing,+ timestampList = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ID of the anomaly group.+listAnomalyGroupTimeSeriesResponse_anomalyGroupId :: Lens.Lens' ListAnomalyGroupTimeSeriesResponse (Prelude.Maybe Prelude.Text)+listAnomalyGroupTimeSeriesResponse_anomalyGroupId = Lens.lens (\ListAnomalyGroupTimeSeriesResponse' {anomalyGroupId} -> anomalyGroupId) (\s@ListAnomalyGroupTimeSeriesResponse' {} a -> s {anomalyGroupId = a} :: ListAnomalyGroupTimeSeriesResponse)++-- | The name of the measure field.+listAnomalyGroupTimeSeriesResponse_metricName :: Lens.Lens' ListAnomalyGroupTimeSeriesResponse (Prelude.Maybe Prelude.Text)+listAnomalyGroupTimeSeriesResponse_metricName = Lens.lens (\ListAnomalyGroupTimeSeriesResponse' {metricName} -> metricName) (\s@ListAnomalyGroupTimeSeriesResponse' {} a -> s {metricName = a} :: ListAnomalyGroupTimeSeriesResponse)++-- | The pagination token that\'s included if more results are available.+listAnomalyGroupTimeSeriesResponse_nextToken :: Lens.Lens' ListAnomalyGroupTimeSeriesResponse (Prelude.Maybe Prelude.Text)+listAnomalyGroupTimeSeriesResponse_nextToken = Lens.lens (\ListAnomalyGroupTimeSeriesResponse' {nextToken} -> nextToken) (\s@ListAnomalyGroupTimeSeriesResponse' {} a -> s {nextToken = a} :: ListAnomalyGroupTimeSeriesResponse)++-- | A list of anomalous metrics.+listAnomalyGroupTimeSeriesResponse_timeSeriesList :: Lens.Lens' ListAnomalyGroupTimeSeriesResponse (Prelude.Maybe [TimeSeries])+listAnomalyGroupTimeSeriesResponse_timeSeriesList = Lens.lens (\ListAnomalyGroupTimeSeriesResponse' {timeSeriesList} -> timeSeriesList) (\s@ListAnomalyGroupTimeSeriesResponse' {} a -> s {timeSeriesList = a} :: ListAnomalyGroupTimeSeriesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Timestamps for the anomalous metrics.+listAnomalyGroupTimeSeriesResponse_timestampList :: Lens.Lens' ListAnomalyGroupTimeSeriesResponse (Prelude.Maybe [Prelude.Text])+listAnomalyGroupTimeSeriesResponse_timestampList = Lens.lens (\ListAnomalyGroupTimeSeriesResponse' {timestampList} -> timestampList) (\s@ListAnomalyGroupTimeSeriesResponse' {} a -> s {timestampList = a} :: ListAnomalyGroupTimeSeriesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listAnomalyGroupTimeSeriesResponse_httpStatus :: Lens.Lens' ListAnomalyGroupTimeSeriesResponse Prelude.Int+listAnomalyGroupTimeSeriesResponse_httpStatus = Lens.lens (\ListAnomalyGroupTimeSeriesResponse' {httpStatus} -> httpStatus) (\s@ListAnomalyGroupTimeSeriesResponse' {} a -> s {httpStatus = a} :: ListAnomalyGroupTimeSeriesResponse)++instance+ Prelude.NFData+ ListAnomalyGroupTimeSeriesResponse+ where+ rnf ListAnomalyGroupTimeSeriesResponse' {..} =+ Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf timeSeriesList+ `Prelude.seq` Prelude.rnf timestampList+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/ListMetricSets.hs view
@@ -0,0 +1,230 @@+{-# 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.LookoutMetrics.ListMetricSets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the datasets in the current AWS Region.+--+-- Amazon Lookout for Metrics API actions are eventually consistent. If you+-- do a read operation on a resource immediately after creating or+-- modifying it, use retries to allow time for the write operation to+-- complete.+module Amazonka.LookoutMetrics.ListMetricSets+ ( -- * Creating a Request+ ListMetricSets (..),+ newListMetricSets,++ -- * Request Lenses+ listMetricSets_anomalyDetectorArn,+ listMetricSets_maxResults,+ listMetricSets_nextToken,++ -- * Destructuring the Response+ ListMetricSetsResponse (..),+ newListMetricSetsResponse,++ -- * Response Lenses+ listMetricSetsResponse_metricSetSummaryList,+ listMetricSetsResponse_nextToken,+ listMetricSetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMetricSets' smart constructor.+data ListMetricSets = ListMetricSets'+ { -- | The ARN of the anomaly detector containing the metrics sets to list.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of results to return.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the result of the previous request was truncated, the response+ -- includes a @NextToken@. To retrieve the next set of results, use the+ -- token in the next request. Tokens expire after 24 hours.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMetricSets' 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:+--+-- 'anomalyDetectorArn', 'listMetricSets_anomalyDetectorArn' - The ARN of the anomaly detector containing the metrics sets to list.+--+-- 'maxResults', 'listMetricSets_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listMetricSets_nextToken' - If the result of the previous request was truncated, the response+-- includes a @NextToken@. To retrieve the next set of results, use the+-- token in the next request. Tokens expire after 24 hours.+newListMetricSets ::+ ListMetricSets+newListMetricSets =+ ListMetricSets'+ { anomalyDetectorArn =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The ARN of the anomaly detector containing the metrics sets to list.+listMetricSets_anomalyDetectorArn :: Lens.Lens' ListMetricSets (Prelude.Maybe Prelude.Text)+listMetricSets_anomalyDetectorArn = Lens.lens (\ListMetricSets' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@ListMetricSets' {} a -> s {anomalyDetectorArn = a} :: ListMetricSets)++-- | The maximum number of results to return.+listMetricSets_maxResults :: Lens.Lens' ListMetricSets (Prelude.Maybe Prelude.Natural)+listMetricSets_maxResults = Lens.lens (\ListMetricSets' {maxResults} -> maxResults) (\s@ListMetricSets' {} a -> s {maxResults = a} :: ListMetricSets)++-- | If the result of the previous request was truncated, the response+-- includes a @NextToken@. To retrieve the next set of results, use the+-- token in the next request. Tokens expire after 24 hours.+listMetricSets_nextToken :: Lens.Lens' ListMetricSets (Prelude.Maybe Prelude.Text)+listMetricSets_nextToken = Lens.lens (\ListMetricSets' {nextToken} -> nextToken) (\s@ListMetricSets' {} a -> s {nextToken = a} :: ListMetricSets)++instance Core.AWSRequest ListMetricSets where+ type+ AWSResponse ListMetricSets =+ ListMetricSetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListMetricSetsResponse'+ Prelude.<$> ( x+ Data..?> "MetricSetSummaryList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListMetricSets where+ hashWithSalt _salt ListMetricSets' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMetricSets where+ rnf ListMetricSets' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMetricSets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListMetricSets where+ toJSON ListMetricSets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AnomalyDetectorArn" Data..=)+ Prelude.<$> anomalyDetectorArn,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListMetricSets where+ toPath = Prelude.const "/ListMetricSets"++instance Data.ToQuery ListMetricSets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListMetricSetsResponse' smart constructor.+data ListMetricSetsResponse = ListMetricSetsResponse'+ { -- | A list of the datasets in the AWS Region, with configuration details for+ -- each.+ metricSetSummaryList :: Prelude.Maybe [MetricSetSummary],+ -- | If the response is truncated, the list call returns this token. To+ -- retrieve the next set of results, use the token in the next list+ -- request.+ 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 'ListMetricSetsResponse' 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:+--+-- 'metricSetSummaryList', 'listMetricSetsResponse_metricSetSummaryList' - A list of the datasets in the AWS Region, with configuration details for+-- each.+--+-- 'nextToken', 'listMetricSetsResponse_nextToken' - If the response is truncated, the list call returns this token. To+-- retrieve the next set of results, use the token in the next list+-- request.+--+-- 'httpStatus', 'listMetricSetsResponse_httpStatus' - The response's http status code.+newListMetricSetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListMetricSetsResponse+newListMetricSetsResponse pHttpStatus_ =+ ListMetricSetsResponse'+ { metricSetSummaryList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the datasets in the AWS Region, with configuration details for+-- each.+listMetricSetsResponse_metricSetSummaryList :: Lens.Lens' ListMetricSetsResponse (Prelude.Maybe [MetricSetSummary])+listMetricSetsResponse_metricSetSummaryList = Lens.lens (\ListMetricSetsResponse' {metricSetSummaryList} -> metricSetSummaryList) (\s@ListMetricSetsResponse' {} a -> s {metricSetSummaryList = a} :: ListMetricSetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, the list call returns this token. To+-- retrieve the next set of results, use the token in the next list+-- request.+listMetricSetsResponse_nextToken :: Lens.Lens' ListMetricSetsResponse (Prelude.Maybe Prelude.Text)+listMetricSetsResponse_nextToken = Lens.lens (\ListMetricSetsResponse' {nextToken} -> nextToken) (\s@ListMetricSetsResponse' {} a -> s {nextToken = a} :: ListMetricSetsResponse)++-- | The response's http status code.+listMetricSetsResponse_httpStatus :: Lens.Lens' ListMetricSetsResponse Prelude.Int+listMetricSetsResponse_httpStatus = Lens.lens (\ListMetricSetsResponse' {httpStatus} -> httpStatus) (\s@ListMetricSetsResponse' {} a -> s {httpStatus = a} :: ListMetricSetsResponse)++instance Prelude.NFData ListMetricSetsResponse where+ rnf ListMetricSetsResponse' {..} =+ Prelude.rnf metricSetSummaryList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/ListTagsForResource.hs view
@@ -0,0 +1,161 @@+{-# 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.LookoutMetrics.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- for a detector, dataset, or alert.+module Amazonka.LookoutMetrics.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The resource\'s Amazon Resource Name (ARN).+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The resource\'s Amazon Resource Name (ARN).+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The resource\'s Amazon Resource Name (ARN).+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The resource\'s tags.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The resource\'s tags.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The resource\'s tags.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/PutFeedback.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.PutFeedback+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add feedback for an anomalous metric.+module Amazonka.LookoutMetrics.PutFeedback+ ( -- * Creating a Request+ PutFeedback (..),+ newPutFeedback,++ -- * Request Lenses+ putFeedback_anomalyDetectorArn,+ putFeedback_anomalyGroupTimeSeriesFeedback,++ -- * Destructuring the Response+ PutFeedbackResponse (..),+ newPutFeedbackResponse,++ -- * Response Lenses+ putFeedbackResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutFeedback' smart constructor.+data PutFeedback = PutFeedback'+ { -- | The Amazon Resource Name (ARN) of the anomaly detector.+ anomalyDetectorArn :: Prelude.Text,+ -- | Feedback for an anomalous metric.+ anomalyGroupTimeSeriesFeedback :: AnomalyGroupTimeSeriesFeedback+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutFeedback' 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:+--+-- 'anomalyDetectorArn', 'putFeedback_anomalyDetectorArn' - The Amazon Resource Name (ARN) of the anomaly detector.+--+-- 'anomalyGroupTimeSeriesFeedback', 'putFeedback_anomalyGroupTimeSeriesFeedback' - Feedback for an anomalous metric.+newPutFeedback ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ -- | 'anomalyGroupTimeSeriesFeedback'+ AnomalyGroupTimeSeriesFeedback ->+ PutFeedback+newPutFeedback+ pAnomalyDetectorArn_+ pAnomalyGroupTimeSeriesFeedback_ =+ PutFeedback'+ { anomalyDetectorArn =+ pAnomalyDetectorArn_,+ anomalyGroupTimeSeriesFeedback =+ pAnomalyGroupTimeSeriesFeedback_+ }++-- | The Amazon Resource Name (ARN) of the anomaly detector.+putFeedback_anomalyDetectorArn :: Lens.Lens' PutFeedback Prelude.Text+putFeedback_anomalyDetectorArn = Lens.lens (\PutFeedback' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@PutFeedback' {} a -> s {anomalyDetectorArn = a} :: PutFeedback)++-- | Feedback for an anomalous metric.+putFeedback_anomalyGroupTimeSeriesFeedback :: Lens.Lens' PutFeedback AnomalyGroupTimeSeriesFeedback+putFeedback_anomalyGroupTimeSeriesFeedback = Lens.lens (\PutFeedback' {anomalyGroupTimeSeriesFeedback} -> anomalyGroupTimeSeriesFeedback) (\s@PutFeedback' {} a -> s {anomalyGroupTimeSeriesFeedback = a} :: PutFeedback)++instance Core.AWSRequest PutFeedback where+ type AWSResponse PutFeedback = PutFeedbackResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutFeedbackResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutFeedback where+ hashWithSalt _salt PutFeedback' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` anomalyGroupTimeSeriesFeedback++instance Prelude.NFData PutFeedback where+ rnf PutFeedback' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf anomalyGroupTimeSeriesFeedback++instance Data.ToHeaders PutFeedback where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutFeedback where+ toJSON PutFeedback' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn),+ Prelude.Just+ ( "AnomalyGroupTimeSeriesFeedback"+ Data..= anomalyGroupTimeSeriesFeedback+ )+ ]+ )++instance Data.ToPath PutFeedback where+ toPath = Prelude.const "/PutFeedback"++instance Data.ToQuery PutFeedback where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutFeedbackResponse' smart constructor.+data PutFeedbackResponse = PutFeedbackResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutFeedbackResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putFeedbackResponse_httpStatus' - The response's http status code.+newPutFeedbackResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutFeedbackResponse+newPutFeedbackResponse pHttpStatus_ =+ PutFeedbackResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+putFeedbackResponse_httpStatus :: Lens.Lens' PutFeedbackResponse Prelude.Int+putFeedbackResponse_httpStatus = Lens.lens (\PutFeedbackResponse' {httpStatus} -> httpStatus) (\s@PutFeedbackResponse' {} a -> s {httpStatus = a} :: PutFeedbackResponse)++instance Prelude.NFData PutFeedbackResponse where+ rnf PutFeedbackResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/TagResource.hs view
@@ -0,0 +1,168 @@+{-# 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.LookoutMetrics.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- to a detector, dataset, or alert.+module Amazonka.LookoutMetrics.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The resource\'s Amazon Resource Name (ARN).+ resourceArn :: Prelude.Text,+ -- | Tags to apply to the resource. Tag keys and values can contain letters,+ -- numbers, spaces, and the following symbols: @_.:\/=+\@-@+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The resource\'s Amazon Resource Name (ARN).+--+-- 'tags', 'tagResource_tags' - Tags to apply to the resource. Tag keys and values can contain letters,+-- numbers, spaces, and the following symbols: @_.:\/=+\@-@+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The resource\'s Amazon Resource Name (ARN).+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Tags to apply to the resource. Tag keys and values can contain letters,+-- numbers, spaces, and the following symbols: @_.:\/=+\@-@+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/Types.hs view
@@ -0,0 +1,689 @@+{-# 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.LookoutMetrics.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.LookoutMetrics.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _TooManyRequestsException,+ _ValidationException,++ -- * AggregationFunction+ AggregationFunction (..),++ -- * AlertStatus+ AlertStatus (..),++ -- * AlertType+ AlertType (..),++ -- * AnomalyDetectionTaskStatus+ AnomalyDetectionTaskStatus (..),++ -- * AnomalyDetectorFailureType+ AnomalyDetectorFailureType (..),++ -- * AnomalyDetectorStatus+ AnomalyDetectorStatus (..),++ -- * CSVFileCompression+ CSVFileCompression (..),++ -- * Confidence+ Confidence (..),++ -- * DataQualityMetricType+ DataQualityMetricType (..),++ -- * FilterOperation+ FilterOperation (..),++ -- * Frequency+ Frequency (..),++ -- * JsonFileCompression+ JsonFileCompression (..),++ -- * RelationshipType+ RelationshipType (..),++ -- * SnsFormat+ SnsFormat (..),++ -- * Action+ Action (..),+ newAction,+ action_lambdaConfiguration,+ action_sNSConfiguration,++ -- * Alert+ Alert (..),+ newAlert,+ alert_action,+ alert_alertArn,+ alert_alertDescription,+ alert_alertFilters,+ alert_alertName,+ alert_alertSensitivityThreshold,+ alert_alertStatus,+ alert_alertType,+ alert_anomalyDetectorArn,+ alert_creationTime,+ alert_lastModificationTime,++ -- * AlertFilters+ AlertFilters (..),+ newAlertFilters,+ alertFilters_dimensionFilterList,+ alertFilters_metricList,++ -- * AlertSummary+ AlertSummary (..),+ newAlertSummary,+ alertSummary_alertArn,+ alertSummary_alertName,+ alertSummary_alertSensitivityThreshold,+ alertSummary_alertStatus,+ alertSummary_alertType,+ alertSummary_anomalyDetectorArn,+ alertSummary_creationTime,+ alertSummary_lastModificationTime,+ alertSummary_tags,++ -- * AnomalyDetectorConfig+ AnomalyDetectorConfig (..),+ newAnomalyDetectorConfig,+ anomalyDetectorConfig_anomalyDetectorFrequency,++ -- * AnomalyDetectorConfigSummary+ AnomalyDetectorConfigSummary (..),+ newAnomalyDetectorConfigSummary,+ anomalyDetectorConfigSummary_anomalyDetectorFrequency,++ -- * AnomalyDetectorDataQualityMetric+ AnomalyDetectorDataQualityMetric (..),+ newAnomalyDetectorDataQualityMetric,+ anomalyDetectorDataQualityMetric_metricSetDataQualityMetricList,+ anomalyDetectorDataQualityMetric_startTimestamp,++ -- * AnomalyDetectorSummary+ AnomalyDetectorSummary (..),+ newAnomalyDetectorSummary,+ anomalyDetectorSummary_anomalyDetectorArn,+ anomalyDetectorSummary_anomalyDetectorDescription,+ anomalyDetectorSummary_anomalyDetectorName,+ anomalyDetectorSummary_creationTime,+ anomalyDetectorSummary_lastModificationTime,+ anomalyDetectorSummary_status,+ anomalyDetectorSummary_tags,++ -- * AnomalyGroup+ AnomalyGroup (..),+ newAnomalyGroup,+ anomalyGroup_anomalyGroupId,+ anomalyGroup_anomalyGroupScore,+ anomalyGroup_endTime,+ anomalyGroup_metricLevelImpactList,+ anomalyGroup_primaryMetricName,+ anomalyGroup_startTime,++ -- * AnomalyGroupStatistics+ AnomalyGroupStatistics (..),+ newAnomalyGroupStatistics,+ anomalyGroupStatistics_evaluationStartDate,+ anomalyGroupStatistics_itemizedMetricStatsList,+ anomalyGroupStatistics_totalCount,++ -- * AnomalyGroupSummary+ AnomalyGroupSummary (..),+ newAnomalyGroupSummary,+ anomalyGroupSummary_anomalyGroupId,+ anomalyGroupSummary_anomalyGroupScore,+ anomalyGroupSummary_endTime,+ anomalyGroupSummary_primaryMetricName,+ anomalyGroupSummary_startTime,++ -- * AnomalyGroupTimeSeries+ AnomalyGroupTimeSeries (..),+ newAnomalyGroupTimeSeries,+ anomalyGroupTimeSeries_timeSeriesId,+ anomalyGroupTimeSeries_anomalyGroupId,++ -- * AnomalyGroupTimeSeriesFeedback+ AnomalyGroupTimeSeriesFeedback (..),+ newAnomalyGroupTimeSeriesFeedback,+ anomalyGroupTimeSeriesFeedback_anomalyGroupId,+ anomalyGroupTimeSeriesFeedback_timeSeriesId,+ anomalyGroupTimeSeriesFeedback_isAnomaly,++ -- * AppFlowConfig+ AppFlowConfig (..),+ newAppFlowConfig,+ appFlowConfig_flowName,+ appFlowConfig_roleArn,++ -- * AthenaSourceConfig+ AthenaSourceConfig (..),+ newAthenaSourceConfig,+ athenaSourceConfig_backTestConfiguration,+ athenaSourceConfig_dataCatalog,+ athenaSourceConfig_databaseName,+ athenaSourceConfig_roleArn,+ athenaSourceConfig_s3ResultsPath,+ athenaSourceConfig_tableName,+ athenaSourceConfig_workGroupName,++ -- * AttributeValue+ AttributeValue (..),+ newAttributeValue,+ attributeValue_b,+ attributeValue_bs,+ attributeValue_n,+ attributeValue_ns,+ attributeValue_s,+ attributeValue_ss,++ -- * AutoDetectionMetricSource+ AutoDetectionMetricSource (..),+ newAutoDetectionMetricSource,+ autoDetectionMetricSource_s3SourceConfig,++ -- * AutoDetectionS3SourceConfig+ AutoDetectionS3SourceConfig (..),+ newAutoDetectionS3SourceConfig,+ autoDetectionS3SourceConfig_historicalDataPathList,+ autoDetectionS3SourceConfig_templatedPathList,++ -- * BackTestConfiguration+ BackTestConfiguration (..),+ newBackTestConfiguration,+ backTestConfiguration_runBackTestMode,++ -- * CloudWatchConfig+ CloudWatchConfig (..),+ newCloudWatchConfig,+ cloudWatchConfig_backTestConfiguration,+ cloudWatchConfig_roleArn,++ -- * ContributionMatrix+ ContributionMatrix (..),+ newContributionMatrix,+ contributionMatrix_dimensionContributionList,++ -- * CsvFormatDescriptor+ CsvFormatDescriptor (..),+ newCsvFormatDescriptor,+ csvFormatDescriptor_charset,+ csvFormatDescriptor_containsHeader,+ csvFormatDescriptor_delimiter,+ csvFormatDescriptor_fileCompression,+ csvFormatDescriptor_headerList,+ csvFormatDescriptor_quoteSymbol,++ -- * DataQualityMetric+ DataQualityMetric (..),+ newDataQualityMetric,+ dataQualityMetric_metricDescription,+ dataQualityMetric_metricType,+ dataQualityMetric_metricValue,+ dataQualityMetric_relatedColumnName,++ -- * DetectedCsvFormatDescriptor+ DetectedCsvFormatDescriptor (..),+ newDetectedCsvFormatDescriptor,+ detectedCsvFormatDescriptor_charset,+ detectedCsvFormatDescriptor_containsHeader,+ detectedCsvFormatDescriptor_delimiter,+ detectedCsvFormatDescriptor_fileCompression,+ detectedCsvFormatDescriptor_headerList,+ detectedCsvFormatDescriptor_quoteSymbol,++ -- * DetectedField+ DetectedField (..),+ newDetectedField,+ detectedField_confidence,+ detectedField_message,+ detectedField_value,++ -- * DetectedFileFormatDescriptor+ DetectedFileFormatDescriptor (..),+ newDetectedFileFormatDescriptor,+ detectedFileFormatDescriptor_csvFormatDescriptor,+ detectedFileFormatDescriptor_jsonFormatDescriptor,++ -- * DetectedJsonFormatDescriptor+ DetectedJsonFormatDescriptor (..),+ newDetectedJsonFormatDescriptor,+ detectedJsonFormatDescriptor_charset,+ detectedJsonFormatDescriptor_fileCompression,++ -- * DetectedMetricSetConfig+ DetectedMetricSetConfig (..),+ newDetectedMetricSetConfig,+ detectedMetricSetConfig_metricSetFrequency,+ detectedMetricSetConfig_metricSource,+ detectedMetricSetConfig_offset,++ -- * DetectedMetricSource+ DetectedMetricSource (..),+ newDetectedMetricSource,+ detectedMetricSource_s3SourceConfig,++ -- * DetectedS3SourceConfig+ DetectedS3SourceConfig (..),+ newDetectedS3SourceConfig,+ detectedS3SourceConfig_fileFormatDescriptor,++ -- * DimensionContribution+ DimensionContribution (..),+ newDimensionContribution,+ dimensionContribution_dimensionName,+ dimensionContribution_dimensionValueContributionList,++ -- * DimensionFilter+ DimensionFilter (..),+ newDimensionFilter,+ dimensionFilter_dimensionName,+ dimensionFilter_dimensionValueList,++ -- * DimensionNameValue+ DimensionNameValue (..),+ newDimensionNameValue,+ dimensionNameValue_dimensionName,+ dimensionNameValue_dimensionValue,++ -- * DimensionValueContribution+ DimensionValueContribution (..),+ newDimensionValueContribution,+ dimensionValueContribution_contributionScore,+ dimensionValueContribution_dimensionValue,++ -- * ExecutionStatus+ ExecutionStatus (..),+ newExecutionStatus,+ executionStatus_failureReason,+ executionStatus_status,+ executionStatus_timestamp,++ -- * FileFormatDescriptor+ FileFormatDescriptor (..),+ newFileFormatDescriptor,+ fileFormatDescriptor_csvFormatDescriptor,+ fileFormatDescriptor_jsonFormatDescriptor,++ -- * Filter+ Filter (..),+ newFilter,+ filter_dimensionValue,+ filter_filterOperation,++ -- * InterMetricImpactDetails+ InterMetricImpactDetails (..),+ newInterMetricImpactDetails,+ interMetricImpactDetails_anomalyGroupId,+ interMetricImpactDetails_contributionPercentage,+ interMetricImpactDetails_metricName,+ interMetricImpactDetails_relationshipType,++ -- * ItemizedMetricStats+ ItemizedMetricStats (..),+ newItemizedMetricStats,+ itemizedMetricStats_metricName,+ itemizedMetricStats_occurrenceCount,++ -- * JsonFormatDescriptor+ JsonFormatDescriptor (..),+ newJsonFormatDescriptor,+ jsonFormatDescriptor_charset,+ jsonFormatDescriptor_fileCompression,++ -- * LambdaConfiguration+ LambdaConfiguration (..),+ newLambdaConfiguration,+ lambdaConfiguration_roleArn,+ lambdaConfiguration_lambdaArn,++ -- * Metric+ Metric (..),+ newMetric,+ metric_namespace,+ metric_metricName,+ metric_aggregationFunction,++ -- * MetricLevelImpact+ MetricLevelImpact (..),+ newMetricLevelImpact,+ metricLevelImpact_contributionMatrix,+ metricLevelImpact_metricName,+ metricLevelImpact_numTimeSeries,++ -- * MetricSetDataQualityMetric+ MetricSetDataQualityMetric (..),+ newMetricSetDataQualityMetric,+ metricSetDataQualityMetric_dataQualityMetricList,+ metricSetDataQualityMetric_metricSetArn,++ -- * MetricSetDimensionFilter+ MetricSetDimensionFilter (..),+ newMetricSetDimensionFilter,+ metricSetDimensionFilter_filterList,+ metricSetDimensionFilter_name,++ -- * MetricSetSummary+ MetricSetSummary (..),+ newMetricSetSummary,+ metricSetSummary_anomalyDetectorArn,+ metricSetSummary_creationTime,+ metricSetSummary_lastModificationTime,+ metricSetSummary_metricSetArn,+ metricSetSummary_metricSetDescription,+ metricSetSummary_metricSetName,+ metricSetSummary_tags,++ -- * MetricSource+ MetricSource (..),+ newMetricSource,+ metricSource_appFlowConfig,+ metricSource_athenaSourceConfig,+ metricSource_cloudWatchConfig,+ metricSource_rDSSourceConfig,+ metricSource_redshiftSourceConfig,+ metricSource_s3SourceConfig,++ -- * RDSSourceConfig+ RDSSourceConfig (..),+ newRDSSourceConfig,+ rDSSourceConfig_dbInstanceIdentifier,+ rDSSourceConfig_databaseHost,+ rDSSourceConfig_databaseName,+ rDSSourceConfig_databasePort,+ rDSSourceConfig_roleArn,+ rDSSourceConfig_secretManagerArn,+ rDSSourceConfig_tableName,+ rDSSourceConfig_vpcConfiguration,++ -- * RedshiftSourceConfig+ RedshiftSourceConfig (..),+ newRedshiftSourceConfig,+ redshiftSourceConfig_clusterIdentifier,+ redshiftSourceConfig_databaseHost,+ redshiftSourceConfig_databaseName,+ redshiftSourceConfig_databasePort,+ redshiftSourceConfig_roleArn,+ redshiftSourceConfig_secretManagerArn,+ redshiftSourceConfig_tableName,+ redshiftSourceConfig_vpcConfiguration,++ -- * S3SourceConfig+ S3SourceConfig (..),+ newS3SourceConfig,+ s3SourceConfig_fileFormatDescriptor,+ s3SourceConfig_historicalDataPathList,+ s3SourceConfig_roleArn,+ s3SourceConfig_templatedPathList,++ -- * SNSConfiguration+ SNSConfiguration (..),+ newSNSConfiguration,+ sNSConfiguration_snsFormat,+ sNSConfiguration_roleArn,+ sNSConfiguration_snsTopicArn,++ -- * SampleDataS3SourceConfig+ SampleDataS3SourceConfig (..),+ newSampleDataS3SourceConfig,+ sampleDataS3SourceConfig_historicalDataPathList,+ sampleDataS3SourceConfig_templatedPathList,+ sampleDataS3SourceConfig_roleArn,+ sampleDataS3SourceConfig_fileFormatDescriptor,++ -- * TimeSeries+ TimeSeries (..),+ newTimeSeries,+ timeSeries_timeSeriesId,+ timeSeries_dimensionList,+ timeSeries_metricValueList,++ -- * TimeSeriesFeedback+ TimeSeriesFeedback (..),+ newTimeSeriesFeedback,+ timeSeriesFeedback_isAnomaly,+ timeSeriesFeedback_timeSeriesId,++ -- * TimestampColumn+ TimestampColumn (..),+ newTimestampColumn,+ timestampColumn_columnFormat,+ timestampColumn_columnName,++ -- * VpcConfiguration+ VpcConfiguration (..),+ newVpcConfiguration,+ vpcConfiguration_subnetIdList,+ vpcConfiguration_securityGroupIdList,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.LookoutMetrics.Types.Action+import Amazonka.LookoutMetrics.Types.AggregationFunction+import Amazonka.LookoutMetrics.Types.Alert+import Amazonka.LookoutMetrics.Types.AlertFilters+import Amazonka.LookoutMetrics.Types.AlertStatus+import Amazonka.LookoutMetrics.Types.AlertSummary+import Amazonka.LookoutMetrics.Types.AlertType+import Amazonka.LookoutMetrics.Types.AnomalyDetectionTaskStatus+import Amazonka.LookoutMetrics.Types.AnomalyDetectorConfig+import Amazonka.LookoutMetrics.Types.AnomalyDetectorConfigSummary+import Amazonka.LookoutMetrics.Types.AnomalyDetectorDataQualityMetric+import Amazonka.LookoutMetrics.Types.AnomalyDetectorFailureType+import Amazonka.LookoutMetrics.Types.AnomalyDetectorStatus+import Amazonka.LookoutMetrics.Types.AnomalyDetectorSummary+import Amazonka.LookoutMetrics.Types.AnomalyGroup+import Amazonka.LookoutMetrics.Types.AnomalyGroupStatistics+import Amazonka.LookoutMetrics.Types.AnomalyGroupSummary+import Amazonka.LookoutMetrics.Types.AnomalyGroupTimeSeries+import Amazonka.LookoutMetrics.Types.AnomalyGroupTimeSeriesFeedback+import Amazonka.LookoutMetrics.Types.AppFlowConfig+import Amazonka.LookoutMetrics.Types.AthenaSourceConfig+import Amazonka.LookoutMetrics.Types.AttributeValue+import Amazonka.LookoutMetrics.Types.AutoDetectionMetricSource+import Amazonka.LookoutMetrics.Types.AutoDetectionS3SourceConfig+import Amazonka.LookoutMetrics.Types.BackTestConfiguration+import Amazonka.LookoutMetrics.Types.CSVFileCompression+import Amazonka.LookoutMetrics.Types.CloudWatchConfig+import Amazonka.LookoutMetrics.Types.Confidence+import Amazonka.LookoutMetrics.Types.ContributionMatrix+import Amazonka.LookoutMetrics.Types.CsvFormatDescriptor+import Amazonka.LookoutMetrics.Types.DataQualityMetric+import Amazonka.LookoutMetrics.Types.DataQualityMetricType+import Amazonka.LookoutMetrics.Types.DetectedCsvFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedField+import Amazonka.LookoutMetrics.Types.DetectedFileFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedJsonFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedMetricSetConfig+import Amazonka.LookoutMetrics.Types.DetectedMetricSource+import Amazonka.LookoutMetrics.Types.DetectedS3SourceConfig+import Amazonka.LookoutMetrics.Types.DimensionContribution+import Amazonka.LookoutMetrics.Types.DimensionFilter+import Amazonka.LookoutMetrics.Types.DimensionNameValue+import Amazonka.LookoutMetrics.Types.DimensionValueContribution+import Amazonka.LookoutMetrics.Types.ExecutionStatus+import Amazonka.LookoutMetrics.Types.FileFormatDescriptor+import Amazonka.LookoutMetrics.Types.Filter+import Amazonka.LookoutMetrics.Types.FilterOperation+import Amazonka.LookoutMetrics.Types.Frequency+import Amazonka.LookoutMetrics.Types.InterMetricImpactDetails+import Amazonka.LookoutMetrics.Types.ItemizedMetricStats+import Amazonka.LookoutMetrics.Types.JsonFileCompression+import Amazonka.LookoutMetrics.Types.JsonFormatDescriptor+import Amazonka.LookoutMetrics.Types.LambdaConfiguration+import Amazonka.LookoutMetrics.Types.Metric+import Amazonka.LookoutMetrics.Types.MetricLevelImpact+import Amazonka.LookoutMetrics.Types.MetricSetDataQualityMetric+import Amazonka.LookoutMetrics.Types.MetricSetDimensionFilter+import Amazonka.LookoutMetrics.Types.MetricSetSummary+import Amazonka.LookoutMetrics.Types.MetricSource+import Amazonka.LookoutMetrics.Types.RDSSourceConfig+import Amazonka.LookoutMetrics.Types.RedshiftSourceConfig+import Amazonka.LookoutMetrics.Types.RelationshipType+import Amazonka.LookoutMetrics.Types.S3SourceConfig+import Amazonka.LookoutMetrics.Types.SNSConfiguration+import Amazonka.LookoutMetrics.Types.SampleDataS3SourceConfig+import Amazonka.LookoutMetrics.Types.SnsFormat+import Amazonka.LookoutMetrics.Types.TimeSeries+import Amazonka.LookoutMetrics.Types.TimeSeriesFeedback+import Amazonka.LookoutMetrics.Types.TimestampColumn+import Amazonka.LookoutMetrics.Types.VpcConfiguration+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2017-07-25@ of the Amazon Lookout for Metrics SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "LookoutMetrics",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "lookoutmetrics",+ Core.signingName = "lookoutmetrics",+ Core.version = "2017-07-25",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "LookoutMetrics",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient permissions to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | There was a conflict processing the request. Try your request again.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | The request processing has failed because of an unknown error,+-- exception, or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The specified resource cannot be found. Check the ARN of the resource+-- and try again.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 400++-- | The request exceeded the service\'s quotas. Check the service quotas and+-- try again.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The request was denied due to too many requests being submitted at the+-- same time.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+ Core._MatchServiceError+ defaultService+ "TooManyRequestsException"+ Prelude.. Core.hasStatus 429++-- | The input fails to satisfy the constraints specified by the AWS service.+-- Check your input values and try again.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/LookoutMetrics/Types/Action.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.LookoutMetrics.Types.Action+-- 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.LookoutMetrics.Types.Action where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.LambdaConfiguration+import Amazonka.LookoutMetrics.Types.SNSConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A configuration that specifies the action to perform when anomalies are+-- detected.+--+-- /See:/ 'newAction' smart constructor.+data Action = Action'+ { -- | A configuration for an AWS Lambda channel.+ lambdaConfiguration :: Prelude.Maybe LambdaConfiguration,+ -- | A configuration for an Amazon SNS channel.+ sNSConfiguration :: Prelude.Maybe SNSConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Action' 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:+--+-- 'lambdaConfiguration', 'action_lambdaConfiguration' - A configuration for an AWS Lambda channel.+--+-- 'sNSConfiguration', 'action_sNSConfiguration' - A configuration for an Amazon SNS channel.+newAction ::+ Action+newAction =+ Action'+ { lambdaConfiguration = Prelude.Nothing,+ sNSConfiguration = Prelude.Nothing+ }++-- | A configuration for an AWS Lambda channel.+action_lambdaConfiguration :: Lens.Lens' Action (Prelude.Maybe LambdaConfiguration)+action_lambdaConfiguration = Lens.lens (\Action' {lambdaConfiguration} -> lambdaConfiguration) (\s@Action' {} a -> s {lambdaConfiguration = a} :: Action)++-- | A configuration for an Amazon SNS channel.+action_sNSConfiguration :: Lens.Lens' Action (Prelude.Maybe SNSConfiguration)+action_sNSConfiguration = Lens.lens (\Action' {sNSConfiguration} -> sNSConfiguration) (\s@Action' {} a -> s {sNSConfiguration = a} :: Action)++instance Data.FromJSON Action where+ parseJSON =+ Data.withObject+ "Action"+ ( \x ->+ Action'+ Prelude.<$> (x Data..:? "LambdaConfiguration")+ Prelude.<*> (x Data..:? "SNSConfiguration")+ )++instance Prelude.Hashable Action where+ hashWithSalt _salt Action' {..} =+ _salt+ `Prelude.hashWithSalt` lambdaConfiguration+ `Prelude.hashWithSalt` sNSConfiguration++instance Prelude.NFData Action where+ rnf Action' {..} =+ Prelude.rnf lambdaConfiguration+ `Prelude.seq` Prelude.rnf sNSConfiguration++instance Data.ToJSON Action where+ toJSON Action' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("LambdaConfiguration" Data..=)+ Prelude.<$> lambdaConfiguration,+ ("SNSConfiguration" Data..=)+ Prelude.<$> sNSConfiguration+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AggregationFunction.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.LookoutMetrics.Types.AggregationFunction+-- 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.LookoutMetrics.Types.AggregationFunction+ ( AggregationFunction+ ( ..,+ AggregationFunction_AVG,+ AggregationFunction_SUM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AggregationFunction = AggregationFunction'+ { fromAggregationFunction ::+ 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 AggregationFunction_AVG :: AggregationFunction+pattern AggregationFunction_AVG = AggregationFunction' "AVG"++pattern AggregationFunction_SUM :: AggregationFunction+pattern AggregationFunction_SUM = AggregationFunction' "SUM"++{-# COMPLETE+ AggregationFunction_AVG,+ AggregationFunction_SUM,+ AggregationFunction'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/Alert.hs view
@@ -0,0 +1,199 @@+{-# 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.LookoutMetrics.Types.Alert+-- 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.LookoutMetrics.Types.Alert where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.Action+import Amazonka.LookoutMetrics.Types.AlertFilters+import Amazonka.LookoutMetrics.Types.AlertStatus+import Amazonka.LookoutMetrics.Types.AlertType+import qualified Amazonka.Prelude as Prelude++-- | A configuration for Amazon SNS-integrated notifications.+--+-- /See:/ 'newAlert' smart constructor.+data Alert = Alert'+ { -- | Action that will be triggered when there is an alert.+ action :: Prelude.Maybe Action,+ -- | The ARN of the alert.+ alertArn :: Prelude.Maybe Prelude.Text,+ -- | A description of the alert.+ alertDescription :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the alert filters, containing MetricList and+ -- DimensionFilter.+ alertFilters :: Prelude.Maybe AlertFilters,+ -- | The name of the alert.+ alertName :: Prelude.Maybe Prelude.Text,+ -- | The minimum severity for an anomaly to trigger the alert.+ alertSensitivityThreshold :: Prelude.Maybe Prelude.Natural,+ -- | The status of the alert.+ alertStatus :: Prelude.Maybe AlertStatus,+ -- | The type of the alert.+ alertType :: Prelude.Maybe AlertType,+ -- | The ARN of the detector to which the alert is attached.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | The time at which the alert was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time at which the alert was last modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Alert' 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:+--+-- 'action', 'alert_action' - Action that will be triggered when there is an alert.+--+-- 'alertArn', 'alert_alertArn' - The ARN of the alert.+--+-- 'alertDescription', 'alert_alertDescription' - A description of the alert.+--+-- 'alertFilters', 'alert_alertFilters' - The configuration of the alert filters, containing MetricList and+-- DimensionFilter.+--+-- 'alertName', 'alert_alertName' - The name of the alert.+--+-- 'alertSensitivityThreshold', 'alert_alertSensitivityThreshold' - The minimum severity for an anomaly to trigger the alert.+--+-- 'alertStatus', 'alert_alertStatus' - The status of the alert.+--+-- 'alertType', 'alert_alertType' - The type of the alert.+--+-- 'anomalyDetectorArn', 'alert_anomalyDetectorArn' - The ARN of the detector to which the alert is attached.+--+-- 'creationTime', 'alert_creationTime' - The time at which the alert was created.+--+-- 'lastModificationTime', 'alert_lastModificationTime' - The time at which the alert was last modified.+newAlert ::+ Alert+newAlert =+ Alert'+ { action = Prelude.Nothing,+ alertArn = Prelude.Nothing,+ alertDescription = Prelude.Nothing,+ alertFilters = Prelude.Nothing,+ alertName = Prelude.Nothing,+ alertSensitivityThreshold = Prelude.Nothing,+ alertStatus = Prelude.Nothing,+ alertType = Prelude.Nothing,+ anomalyDetectorArn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing+ }++-- | Action that will be triggered when there is an alert.+alert_action :: Lens.Lens' Alert (Prelude.Maybe Action)+alert_action = Lens.lens (\Alert' {action} -> action) (\s@Alert' {} a -> s {action = a} :: Alert)++-- | The ARN of the alert.+alert_alertArn :: Lens.Lens' Alert (Prelude.Maybe Prelude.Text)+alert_alertArn = Lens.lens (\Alert' {alertArn} -> alertArn) (\s@Alert' {} a -> s {alertArn = a} :: Alert)++-- | A description of the alert.+alert_alertDescription :: Lens.Lens' Alert (Prelude.Maybe Prelude.Text)+alert_alertDescription = Lens.lens (\Alert' {alertDescription} -> alertDescription) (\s@Alert' {} a -> s {alertDescription = a} :: Alert)++-- | The configuration of the alert filters, containing MetricList and+-- DimensionFilter.+alert_alertFilters :: Lens.Lens' Alert (Prelude.Maybe AlertFilters)+alert_alertFilters = Lens.lens (\Alert' {alertFilters} -> alertFilters) (\s@Alert' {} a -> s {alertFilters = a} :: Alert)++-- | The name of the alert.+alert_alertName :: Lens.Lens' Alert (Prelude.Maybe Prelude.Text)+alert_alertName = Lens.lens (\Alert' {alertName} -> alertName) (\s@Alert' {} a -> s {alertName = a} :: Alert)++-- | The minimum severity for an anomaly to trigger the alert.+alert_alertSensitivityThreshold :: Lens.Lens' Alert (Prelude.Maybe Prelude.Natural)+alert_alertSensitivityThreshold = Lens.lens (\Alert' {alertSensitivityThreshold} -> alertSensitivityThreshold) (\s@Alert' {} a -> s {alertSensitivityThreshold = a} :: Alert)++-- | The status of the alert.+alert_alertStatus :: Lens.Lens' Alert (Prelude.Maybe AlertStatus)+alert_alertStatus = Lens.lens (\Alert' {alertStatus} -> alertStatus) (\s@Alert' {} a -> s {alertStatus = a} :: Alert)++-- | The type of the alert.+alert_alertType :: Lens.Lens' Alert (Prelude.Maybe AlertType)+alert_alertType = Lens.lens (\Alert' {alertType} -> alertType) (\s@Alert' {} a -> s {alertType = a} :: Alert)++-- | The ARN of the detector to which the alert is attached.+alert_anomalyDetectorArn :: Lens.Lens' Alert (Prelude.Maybe Prelude.Text)+alert_anomalyDetectorArn = Lens.lens (\Alert' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@Alert' {} a -> s {anomalyDetectorArn = a} :: Alert)++-- | The time at which the alert was created.+alert_creationTime :: Lens.Lens' Alert (Prelude.Maybe Prelude.UTCTime)+alert_creationTime = Lens.lens (\Alert' {creationTime} -> creationTime) (\s@Alert' {} a -> s {creationTime = a} :: Alert) Prelude.. Lens.mapping Data._Time++-- | The time at which the alert was last modified.+alert_lastModificationTime :: Lens.Lens' Alert (Prelude.Maybe Prelude.UTCTime)+alert_lastModificationTime = Lens.lens (\Alert' {lastModificationTime} -> lastModificationTime) (\s@Alert' {} a -> s {lastModificationTime = a} :: Alert) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Alert where+ parseJSON =+ Data.withObject+ "Alert"+ ( \x ->+ Alert'+ Prelude.<$> (x Data..:? "Action")+ Prelude.<*> (x Data..:? "AlertArn")+ Prelude.<*> (x Data..:? "AlertDescription")+ Prelude.<*> (x Data..:? "AlertFilters")+ Prelude.<*> (x Data..:? "AlertName")+ Prelude.<*> (x Data..:? "AlertSensitivityThreshold")+ Prelude.<*> (x Data..:? "AlertStatus")+ Prelude.<*> (x Data..:? "AlertType")+ Prelude.<*> (x Data..:? "AnomalyDetectorArn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "LastModificationTime")+ )++instance Prelude.Hashable Alert where+ hashWithSalt _salt Alert' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` alertArn+ `Prelude.hashWithSalt` alertDescription+ `Prelude.hashWithSalt` alertFilters+ `Prelude.hashWithSalt` alertName+ `Prelude.hashWithSalt` alertSensitivityThreshold+ `Prelude.hashWithSalt` alertStatus+ `Prelude.hashWithSalt` alertType+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData Alert where+ rnf Alert' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf alertArn+ `Prelude.seq` Prelude.rnf alertDescription+ `Prelude.seq` Prelude.rnf alertFilters+ `Prelude.seq` Prelude.rnf alertName+ `Prelude.seq` Prelude.rnf alertSensitivityThreshold+ `Prelude.seq` Prelude.rnf alertStatus+ `Prelude.seq` Prelude.rnf alertType+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/LookoutMetrics/Types/AlertFilters.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.AlertFilters+-- 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.LookoutMetrics.Types.AlertFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DimensionFilter+import qualified Amazonka.Prelude as Prelude++-- | The configuration of the alert filters.+--+-- /See:/ 'newAlertFilters' smart constructor.+data AlertFilters = AlertFilters'+ { -- | The list of DimensionFilter objects that are used for dimension-based+ -- filtering.+ dimensionFilterList :: Prelude.Maybe (Prelude.NonEmpty DimensionFilter),+ -- | The list of measures that you want to get alerts for.+ metricList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlertFilters' 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:+--+-- 'dimensionFilterList', 'alertFilters_dimensionFilterList' - The list of DimensionFilter objects that are used for dimension-based+-- filtering.+--+-- 'metricList', 'alertFilters_metricList' - The list of measures that you want to get alerts for.+newAlertFilters ::+ AlertFilters+newAlertFilters =+ AlertFilters'+ { dimensionFilterList =+ Prelude.Nothing,+ metricList = Prelude.Nothing+ }++-- | The list of DimensionFilter objects that are used for dimension-based+-- filtering.+alertFilters_dimensionFilterList :: Lens.Lens' AlertFilters (Prelude.Maybe (Prelude.NonEmpty DimensionFilter))+alertFilters_dimensionFilterList = Lens.lens (\AlertFilters' {dimensionFilterList} -> dimensionFilterList) (\s@AlertFilters' {} a -> s {dimensionFilterList = a} :: AlertFilters) Prelude.. Lens.mapping Lens.coerced++-- | The list of measures that you want to get alerts for.+alertFilters_metricList :: Lens.Lens' AlertFilters (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+alertFilters_metricList = Lens.lens (\AlertFilters' {metricList} -> metricList) (\s@AlertFilters' {} a -> s {metricList = a} :: AlertFilters) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AlertFilters where+ parseJSON =+ Data.withObject+ "AlertFilters"+ ( \x ->+ AlertFilters'+ Prelude.<$> (x Data..:? "DimensionFilterList")+ Prelude.<*> (x Data..:? "MetricList")+ )++instance Prelude.Hashable AlertFilters where+ hashWithSalt _salt AlertFilters' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionFilterList+ `Prelude.hashWithSalt` metricList++instance Prelude.NFData AlertFilters where+ rnf AlertFilters' {..} =+ Prelude.rnf dimensionFilterList+ `Prelude.seq` Prelude.rnf metricList++instance Data.ToJSON AlertFilters where+ toJSON AlertFilters' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DimensionFilterList" Data..=)+ Prelude.<$> dimensionFilterList,+ ("MetricList" Data..=) Prelude.<$> metricList+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AlertStatus.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.LookoutMetrics.Types.AlertStatus+-- 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.LookoutMetrics.Types.AlertStatus+ ( AlertStatus+ ( ..,+ AlertStatus_ACTIVE,+ AlertStatus_INACTIVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AlertStatus = AlertStatus'+ { fromAlertStatus ::+ 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 AlertStatus_ACTIVE :: AlertStatus+pattern AlertStatus_ACTIVE = AlertStatus' "ACTIVE"++pattern AlertStatus_INACTIVE :: AlertStatus+pattern AlertStatus_INACTIVE = AlertStatus' "INACTIVE"++{-# COMPLETE+ AlertStatus_ACTIVE,+ AlertStatus_INACTIVE,+ AlertStatus'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/AlertSummary.hs view
@@ -0,0 +1,173 @@+{-# 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.LookoutMetrics.Types.AlertSummary+-- 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.LookoutMetrics.Types.AlertSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AlertStatus+import Amazonka.LookoutMetrics.Types.AlertType+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of an alert\'s configuration.+--+-- /See:/ 'newAlertSummary' smart constructor.+data AlertSummary = AlertSummary'+ { -- | The ARN of the alert.+ alertArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the alert.+ alertName :: Prelude.Maybe Prelude.Text,+ -- | The minimum severity for an anomaly to trigger the alert.+ alertSensitivityThreshold :: Prelude.Maybe Prelude.Natural,+ -- | The status of the alert.+ alertStatus :: Prelude.Maybe AlertStatus,+ -- | The type of the alert.+ alertType :: Prelude.Maybe AlertType,+ -- | The ARN of the detector to which the alert is attached.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | The time at which the alert was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time at which the alert was last modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The alert\'s+ -- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlertSummary' 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:+--+-- 'alertArn', 'alertSummary_alertArn' - The ARN of the alert.+--+-- 'alertName', 'alertSummary_alertName' - The name of the alert.+--+-- 'alertSensitivityThreshold', 'alertSummary_alertSensitivityThreshold' - The minimum severity for an anomaly to trigger the alert.+--+-- 'alertStatus', 'alertSummary_alertStatus' - The status of the alert.+--+-- 'alertType', 'alertSummary_alertType' - The type of the alert.+--+-- 'anomalyDetectorArn', 'alertSummary_anomalyDetectorArn' - The ARN of the detector to which the alert is attached.+--+-- 'creationTime', 'alertSummary_creationTime' - The time at which the alert was created.+--+-- 'lastModificationTime', 'alertSummary_lastModificationTime' - The time at which the alert was last modified.+--+-- 'tags', 'alertSummary_tags' - The alert\'s+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+newAlertSummary ::+ AlertSummary+newAlertSummary =+ AlertSummary'+ { alertArn = Prelude.Nothing,+ alertName = Prelude.Nothing,+ alertSensitivityThreshold = Prelude.Nothing,+ alertStatus = Prelude.Nothing,+ alertType = Prelude.Nothing,+ anomalyDetectorArn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the alert.+alertSummary_alertArn :: Lens.Lens' AlertSummary (Prelude.Maybe Prelude.Text)+alertSummary_alertArn = Lens.lens (\AlertSummary' {alertArn} -> alertArn) (\s@AlertSummary' {} a -> s {alertArn = a} :: AlertSummary)++-- | The name of the alert.+alertSummary_alertName :: Lens.Lens' AlertSummary (Prelude.Maybe Prelude.Text)+alertSummary_alertName = Lens.lens (\AlertSummary' {alertName} -> alertName) (\s@AlertSummary' {} a -> s {alertName = a} :: AlertSummary)++-- | The minimum severity for an anomaly to trigger the alert.+alertSummary_alertSensitivityThreshold :: Lens.Lens' AlertSummary (Prelude.Maybe Prelude.Natural)+alertSummary_alertSensitivityThreshold = Lens.lens (\AlertSummary' {alertSensitivityThreshold} -> alertSensitivityThreshold) (\s@AlertSummary' {} a -> s {alertSensitivityThreshold = a} :: AlertSummary)++-- | The status of the alert.+alertSummary_alertStatus :: Lens.Lens' AlertSummary (Prelude.Maybe AlertStatus)+alertSummary_alertStatus = Lens.lens (\AlertSummary' {alertStatus} -> alertStatus) (\s@AlertSummary' {} a -> s {alertStatus = a} :: AlertSummary)++-- | The type of the alert.+alertSummary_alertType :: Lens.Lens' AlertSummary (Prelude.Maybe AlertType)+alertSummary_alertType = Lens.lens (\AlertSummary' {alertType} -> alertType) (\s@AlertSummary' {} a -> s {alertType = a} :: AlertSummary)++-- | The ARN of the detector to which the alert is attached.+alertSummary_anomalyDetectorArn :: Lens.Lens' AlertSummary (Prelude.Maybe Prelude.Text)+alertSummary_anomalyDetectorArn = Lens.lens (\AlertSummary' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@AlertSummary' {} a -> s {anomalyDetectorArn = a} :: AlertSummary)++-- | The time at which the alert was created.+alertSummary_creationTime :: Lens.Lens' AlertSummary (Prelude.Maybe Prelude.UTCTime)+alertSummary_creationTime = Lens.lens (\AlertSummary' {creationTime} -> creationTime) (\s@AlertSummary' {} a -> s {creationTime = a} :: AlertSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which the alert was last modified.+alertSummary_lastModificationTime :: Lens.Lens' AlertSummary (Prelude.Maybe Prelude.UTCTime)+alertSummary_lastModificationTime = Lens.lens (\AlertSummary' {lastModificationTime} -> lastModificationTime) (\s@AlertSummary' {} a -> s {lastModificationTime = a} :: AlertSummary) Prelude.. Lens.mapping Data._Time++-- | The alert\'s+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+alertSummary_tags :: Lens.Lens' AlertSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+alertSummary_tags = Lens.lens (\AlertSummary' {tags} -> tags) (\s@AlertSummary' {} a -> s {tags = a} :: AlertSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AlertSummary where+ parseJSON =+ Data.withObject+ "AlertSummary"+ ( \x ->+ AlertSummary'+ Prelude.<$> (x Data..:? "AlertArn")+ Prelude.<*> (x Data..:? "AlertName")+ Prelude.<*> (x Data..:? "AlertSensitivityThreshold")+ Prelude.<*> (x Data..:? "AlertStatus")+ Prelude.<*> (x Data..:? "AlertType")+ Prelude.<*> (x Data..:? "AnomalyDetectorArn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "LastModificationTime")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AlertSummary where+ hashWithSalt _salt AlertSummary' {..} =+ _salt+ `Prelude.hashWithSalt` alertArn+ `Prelude.hashWithSalt` alertName+ `Prelude.hashWithSalt` alertSensitivityThreshold+ `Prelude.hashWithSalt` alertStatus+ `Prelude.hashWithSalt` alertType+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime+ `Prelude.hashWithSalt` tags++instance Prelude.NFData AlertSummary where+ rnf AlertSummary' {..} =+ Prelude.rnf alertArn+ `Prelude.seq` Prelude.rnf alertName+ `Prelude.seq` Prelude.rnf alertSensitivityThreshold+ `Prelude.seq` Prelude.rnf alertStatus+ `Prelude.seq` Prelude.rnf alertType+ `Prelude.seq` Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/LookoutMetrics/Types/AlertType.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.LookoutMetrics.Types.AlertType+-- 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.LookoutMetrics.Types.AlertType+ ( AlertType+ ( ..,+ AlertType_LAMBDA,+ AlertType_SNS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AlertType = AlertType'+ { fromAlertType ::+ 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 AlertType_LAMBDA :: AlertType+pattern AlertType_LAMBDA = AlertType' "LAMBDA"++pattern AlertType_SNS :: AlertType+pattern AlertType_SNS = AlertType' "SNS"++{-# COMPLETE+ AlertType_LAMBDA,+ AlertType_SNS,+ AlertType'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectionTaskStatus.hs view
@@ -0,0 +1,86 @@+{-# 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.LookoutMetrics.Types.AnomalyDetectionTaskStatus+-- 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.LookoutMetrics.Types.AnomalyDetectionTaskStatus+ ( AnomalyDetectionTaskStatus+ ( ..,+ AnomalyDetectionTaskStatus_COMPLETED,+ AnomalyDetectionTaskStatus_FAILED,+ AnomalyDetectionTaskStatus_FAILED_TO_SCHEDULE,+ AnomalyDetectionTaskStatus_IN_PROGRESS,+ AnomalyDetectionTaskStatus_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnomalyDetectionTaskStatus = AnomalyDetectionTaskStatus'+ { fromAnomalyDetectionTaskStatus ::+ 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 AnomalyDetectionTaskStatus_COMPLETED :: AnomalyDetectionTaskStatus+pattern AnomalyDetectionTaskStatus_COMPLETED = AnomalyDetectionTaskStatus' "COMPLETED"++pattern AnomalyDetectionTaskStatus_FAILED :: AnomalyDetectionTaskStatus+pattern AnomalyDetectionTaskStatus_FAILED = AnomalyDetectionTaskStatus' "FAILED"++pattern AnomalyDetectionTaskStatus_FAILED_TO_SCHEDULE :: AnomalyDetectionTaskStatus+pattern AnomalyDetectionTaskStatus_FAILED_TO_SCHEDULE = AnomalyDetectionTaskStatus' "FAILED_TO_SCHEDULE"++pattern AnomalyDetectionTaskStatus_IN_PROGRESS :: AnomalyDetectionTaskStatus+pattern AnomalyDetectionTaskStatus_IN_PROGRESS = AnomalyDetectionTaskStatus' "IN_PROGRESS"++pattern AnomalyDetectionTaskStatus_PENDING :: AnomalyDetectionTaskStatus+pattern AnomalyDetectionTaskStatus_PENDING = AnomalyDetectionTaskStatus' "PENDING"++{-# COMPLETE+ AnomalyDetectionTaskStatus_COMPLETED,+ AnomalyDetectionTaskStatus_FAILED,+ AnomalyDetectionTaskStatus_FAILED_TO_SCHEDULE,+ AnomalyDetectionTaskStatus_IN_PROGRESS,+ AnomalyDetectionTaskStatus_PENDING,+ AnomalyDetectionTaskStatus'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorConfig.hs view
@@ -0,0 +1,74 @@+{-# 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.LookoutMetrics.Types.AnomalyDetectorConfig+-- 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.LookoutMetrics.Types.AnomalyDetectorConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.Frequency+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a detector\'s configuration.+--+-- /See:/ 'newAnomalyDetectorConfig' smart constructor.+data AnomalyDetectorConfig = AnomalyDetectorConfig'+ { -- | The frequency at which the detector analyzes its source data.+ anomalyDetectorFrequency :: Prelude.Maybe Frequency+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyDetectorConfig' 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:+--+-- 'anomalyDetectorFrequency', 'anomalyDetectorConfig_anomalyDetectorFrequency' - The frequency at which the detector analyzes its source data.+newAnomalyDetectorConfig ::+ AnomalyDetectorConfig+newAnomalyDetectorConfig =+ AnomalyDetectorConfig'+ { anomalyDetectorFrequency =+ Prelude.Nothing+ }++-- | The frequency at which the detector analyzes its source data.+anomalyDetectorConfig_anomalyDetectorFrequency :: Lens.Lens' AnomalyDetectorConfig (Prelude.Maybe Frequency)+anomalyDetectorConfig_anomalyDetectorFrequency = Lens.lens (\AnomalyDetectorConfig' {anomalyDetectorFrequency} -> anomalyDetectorFrequency) (\s@AnomalyDetectorConfig' {} a -> s {anomalyDetectorFrequency = a} :: AnomalyDetectorConfig)++instance Prelude.Hashable AnomalyDetectorConfig where+ hashWithSalt _salt AnomalyDetectorConfig' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorFrequency++instance Prelude.NFData AnomalyDetectorConfig where+ rnf AnomalyDetectorConfig' {..} =+ Prelude.rnf anomalyDetectorFrequency++instance Data.ToJSON AnomalyDetectorConfig where+ toJSON AnomalyDetectorConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AnomalyDetectorFrequency" Data..=)+ Prelude.<$> anomalyDetectorFrequency+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorConfigSummary.hs view
@@ -0,0 +1,77 @@+{-# 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.LookoutMetrics.Types.AnomalyDetectorConfigSummary+-- 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.LookoutMetrics.Types.AnomalyDetectorConfigSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.Frequency+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a detector\'s configuration.+--+-- /See:/ 'newAnomalyDetectorConfigSummary' smart constructor.+data AnomalyDetectorConfigSummary = AnomalyDetectorConfigSummary'+ { -- | The interval at which the detector analyzes its source data.+ anomalyDetectorFrequency :: Prelude.Maybe Frequency+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyDetectorConfigSummary' 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:+--+-- 'anomalyDetectorFrequency', 'anomalyDetectorConfigSummary_anomalyDetectorFrequency' - The interval at which the detector analyzes its source data.+newAnomalyDetectorConfigSummary ::+ AnomalyDetectorConfigSummary+newAnomalyDetectorConfigSummary =+ AnomalyDetectorConfigSummary'+ { anomalyDetectorFrequency =+ Prelude.Nothing+ }++-- | The interval at which the detector analyzes its source data.+anomalyDetectorConfigSummary_anomalyDetectorFrequency :: Lens.Lens' AnomalyDetectorConfigSummary (Prelude.Maybe Frequency)+anomalyDetectorConfigSummary_anomalyDetectorFrequency = Lens.lens (\AnomalyDetectorConfigSummary' {anomalyDetectorFrequency} -> anomalyDetectorFrequency) (\s@AnomalyDetectorConfigSummary' {} a -> s {anomalyDetectorFrequency = a} :: AnomalyDetectorConfigSummary)++instance Data.FromJSON AnomalyDetectorConfigSummary where+ parseJSON =+ Data.withObject+ "AnomalyDetectorConfigSummary"+ ( \x ->+ AnomalyDetectorConfigSummary'+ Prelude.<$> (x Data..:? "AnomalyDetectorFrequency")+ )++instance+ Prelude.Hashable+ AnomalyDetectorConfigSummary+ where+ hashWithSalt _salt AnomalyDetectorConfigSummary' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorFrequency++instance Prelude.NFData AnomalyDetectorConfigSummary where+ rnf AnomalyDetectorConfigSummary' {..} =+ Prelude.rnf anomalyDetectorFrequency
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorDataQualityMetric.hs view
@@ -0,0 +1,104 @@+{-# 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.LookoutMetrics.Types.AnomalyDetectorDataQualityMetric+-- 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.LookoutMetrics.Types.AnomalyDetectorDataQualityMetric where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.MetricSetDataQualityMetric+import qualified Amazonka.Prelude as Prelude++-- | Aggregated details about the data quality metrics collected for the+-- @AnomalyDetectorArn@ provided in the GetDataQualityMetrics object.+--+-- /See:/ 'newAnomalyDetectorDataQualityMetric' smart constructor.+data AnomalyDetectorDataQualityMetric = AnomalyDetectorDataQualityMetric'+ { -- | An array of @DataQualityMetricList@ objects. Each object in the array+ -- contains information about a data quality metric.+ metricSetDataQualityMetricList :: Prelude.Maybe [MetricSetDataQualityMetric],+ -- | The start time for the data quality metrics collection.+ startTimestamp :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyDetectorDataQualityMetric' 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:+--+-- 'metricSetDataQualityMetricList', 'anomalyDetectorDataQualityMetric_metricSetDataQualityMetricList' - An array of @DataQualityMetricList@ objects. Each object in the array+-- contains information about a data quality metric.+--+-- 'startTimestamp', 'anomalyDetectorDataQualityMetric_startTimestamp' - The start time for the data quality metrics collection.+newAnomalyDetectorDataQualityMetric ::+ AnomalyDetectorDataQualityMetric+newAnomalyDetectorDataQualityMetric =+ AnomalyDetectorDataQualityMetric'+ { metricSetDataQualityMetricList =+ Prelude.Nothing,+ startTimestamp = Prelude.Nothing+ }++-- | An array of @DataQualityMetricList@ objects. Each object in the array+-- contains information about a data quality metric.+anomalyDetectorDataQualityMetric_metricSetDataQualityMetricList :: Lens.Lens' AnomalyDetectorDataQualityMetric (Prelude.Maybe [MetricSetDataQualityMetric])+anomalyDetectorDataQualityMetric_metricSetDataQualityMetricList = Lens.lens (\AnomalyDetectorDataQualityMetric' {metricSetDataQualityMetricList} -> metricSetDataQualityMetricList) (\s@AnomalyDetectorDataQualityMetric' {} a -> s {metricSetDataQualityMetricList = a} :: AnomalyDetectorDataQualityMetric) Prelude.. Lens.mapping Lens.coerced++-- | The start time for the data quality metrics collection.+anomalyDetectorDataQualityMetric_startTimestamp :: Lens.Lens' AnomalyDetectorDataQualityMetric (Prelude.Maybe Prelude.UTCTime)+anomalyDetectorDataQualityMetric_startTimestamp = Lens.lens (\AnomalyDetectorDataQualityMetric' {startTimestamp} -> startTimestamp) (\s@AnomalyDetectorDataQualityMetric' {} a -> s {startTimestamp = a} :: AnomalyDetectorDataQualityMetric) Prelude.. Lens.mapping Data._Time++instance+ Data.FromJSON+ AnomalyDetectorDataQualityMetric+ where+ parseJSON =+ Data.withObject+ "AnomalyDetectorDataQualityMetric"+ ( \x ->+ AnomalyDetectorDataQualityMetric'+ Prelude.<$> ( x+ Data..:? "MetricSetDataQualityMetricList"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "StartTimestamp")+ )++instance+ Prelude.Hashable+ AnomalyDetectorDataQualityMetric+ where+ hashWithSalt+ _salt+ AnomalyDetectorDataQualityMetric' {..} =+ _salt+ `Prelude.hashWithSalt` metricSetDataQualityMetricList+ `Prelude.hashWithSalt` startTimestamp++instance+ Prelude.NFData+ AnomalyDetectorDataQualityMetric+ where+ rnf AnomalyDetectorDataQualityMetric' {..} =+ Prelude.rnf metricSetDataQualityMetricList+ `Prelude.seq` Prelude.rnf startTimestamp
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorFailureType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.AnomalyDetectorFailureType+-- 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.LookoutMetrics.Types.AnomalyDetectorFailureType+ ( AnomalyDetectorFailureType+ ( ..,+ AnomalyDetectorFailureType_ACTIVATION_FAILURE,+ AnomalyDetectorFailureType_BACK_TEST_ACTIVATION_FAILURE,+ AnomalyDetectorFailureType_DEACTIVATION_FAILURE,+ AnomalyDetectorFailureType_DELETION_FAILURE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnomalyDetectorFailureType = AnomalyDetectorFailureType'+ { fromAnomalyDetectorFailureType ::+ 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 AnomalyDetectorFailureType_ACTIVATION_FAILURE :: AnomalyDetectorFailureType+pattern AnomalyDetectorFailureType_ACTIVATION_FAILURE = AnomalyDetectorFailureType' "ACTIVATION_FAILURE"++pattern AnomalyDetectorFailureType_BACK_TEST_ACTIVATION_FAILURE :: AnomalyDetectorFailureType+pattern AnomalyDetectorFailureType_BACK_TEST_ACTIVATION_FAILURE = AnomalyDetectorFailureType' "BACK_TEST_ACTIVATION_FAILURE"++pattern AnomalyDetectorFailureType_DEACTIVATION_FAILURE :: AnomalyDetectorFailureType+pattern AnomalyDetectorFailureType_DEACTIVATION_FAILURE = AnomalyDetectorFailureType' "DEACTIVATION_FAILURE"++pattern AnomalyDetectorFailureType_DELETION_FAILURE :: AnomalyDetectorFailureType+pattern AnomalyDetectorFailureType_DELETION_FAILURE = AnomalyDetectorFailureType' "DELETION_FAILURE"++{-# COMPLETE+ AnomalyDetectorFailureType_ACTIVATION_FAILURE,+ AnomalyDetectorFailureType_BACK_TEST_ACTIVATION_FAILURE,+ AnomalyDetectorFailureType_DEACTIVATION_FAILURE,+ AnomalyDetectorFailureType_DELETION_FAILURE,+ AnomalyDetectorFailureType'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorStatus.hs view
@@ -0,0 +1,116 @@+{-# 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.LookoutMetrics.Types.AnomalyDetectorStatus+-- 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.LookoutMetrics.Types.AnomalyDetectorStatus+ ( AnomalyDetectorStatus+ ( ..,+ AnomalyDetectorStatus_ACTIVATING,+ AnomalyDetectorStatus_ACTIVE,+ AnomalyDetectorStatus_BACK_TEST_ACTIVATING,+ AnomalyDetectorStatus_BACK_TEST_ACTIVE,+ AnomalyDetectorStatus_BACK_TEST_COMPLETE,+ AnomalyDetectorStatus_DEACTIVATED,+ AnomalyDetectorStatus_DEACTIVATING,+ AnomalyDetectorStatus_DELETING,+ AnomalyDetectorStatus_FAILED,+ AnomalyDetectorStatus_INACTIVE,+ AnomalyDetectorStatus_LEARNING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AnomalyDetectorStatus = AnomalyDetectorStatus'+ { fromAnomalyDetectorStatus ::+ 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 AnomalyDetectorStatus_ACTIVATING :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_ACTIVATING = AnomalyDetectorStatus' "ACTIVATING"++pattern AnomalyDetectorStatus_ACTIVE :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_ACTIVE = AnomalyDetectorStatus' "ACTIVE"++pattern AnomalyDetectorStatus_BACK_TEST_ACTIVATING :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_BACK_TEST_ACTIVATING = AnomalyDetectorStatus' "BACK_TEST_ACTIVATING"++pattern AnomalyDetectorStatus_BACK_TEST_ACTIVE :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_BACK_TEST_ACTIVE = AnomalyDetectorStatus' "BACK_TEST_ACTIVE"++pattern AnomalyDetectorStatus_BACK_TEST_COMPLETE :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_BACK_TEST_COMPLETE = AnomalyDetectorStatus' "BACK_TEST_COMPLETE"++pattern AnomalyDetectorStatus_DEACTIVATED :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_DEACTIVATED = AnomalyDetectorStatus' "DEACTIVATED"++pattern AnomalyDetectorStatus_DEACTIVATING :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_DEACTIVATING = AnomalyDetectorStatus' "DEACTIVATING"++pattern AnomalyDetectorStatus_DELETING :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_DELETING = AnomalyDetectorStatus' "DELETING"++pattern AnomalyDetectorStatus_FAILED :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_FAILED = AnomalyDetectorStatus' "FAILED"++pattern AnomalyDetectorStatus_INACTIVE :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_INACTIVE = AnomalyDetectorStatus' "INACTIVE"++pattern AnomalyDetectorStatus_LEARNING :: AnomalyDetectorStatus+pattern AnomalyDetectorStatus_LEARNING = AnomalyDetectorStatus' "LEARNING"++{-# COMPLETE+ AnomalyDetectorStatus_ACTIVATING,+ AnomalyDetectorStatus_ACTIVE,+ AnomalyDetectorStatus_BACK_TEST_ACTIVATING,+ AnomalyDetectorStatus_BACK_TEST_ACTIVE,+ AnomalyDetectorStatus_BACK_TEST_COMPLETE,+ AnomalyDetectorStatus_DEACTIVATED,+ AnomalyDetectorStatus_DEACTIVATING,+ AnomalyDetectorStatus_DELETING,+ AnomalyDetectorStatus_FAILED,+ AnomalyDetectorStatus_INACTIVE,+ AnomalyDetectorStatus_LEARNING,+ AnomalyDetectorStatus'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/AnomalyDetectorSummary.hs view
@@ -0,0 +1,149 @@+{-# 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.LookoutMetrics.Types.AnomalyDetectorSummary+-- 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.LookoutMetrics.Types.AnomalyDetectorSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AnomalyDetectorStatus+import qualified Amazonka.Prelude as Prelude++-- | Contains information about an an anomaly detector.+--+-- /See:/ 'newAnomalyDetectorSummary' smart constructor.+data AnomalyDetectorSummary = AnomalyDetectorSummary'+ { -- | The ARN of the detector.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | A description of the detector.+ anomalyDetectorDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the detector.+ anomalyDetectorName :: Prelude.Maybe Prelude.Text,+ -- | The time at which the detector was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time at which the detector was last modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The status of detector.+ status :: Prelude.Maybe AnomalyDetectorStatus,+ -- | The detector\'s+ -- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyDetectorSummary' 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:+--+-- 'anomalyDetectorArn', 'anomalyDetectorSummary_anomalyDetectorArn' - The ARN of the detector.+--+-- 'anomalyDetectorDescription', 'anomalyDetectorSummary_anomalyDetectorDescription' - A description of the detector.+--+-- 'anomalyDetectorName', 'anomalyDetectorSummary_anomalyDetectorName' - The name of the detector.+--+-- 'creationTime', 'anomalyDetectorSummary_creationTime' - The time at which the detector was created.+--+-- 'lastModificationTime', 'anomalyDetectorSummary_lastModificationTime' - The time at which the detector was last modified.+--+-- 'status', 'anomalyDetectorSummary_status' - The status of detector.+--+-- 'tags', 'anomalyDetectorSummary_tags' - The detector\'s+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+newAnomalyDetectorSummary ::+ AnomalyDetectorSummary+newAnomalyDetectorSummary =+ AnomalyDetectorSummary'+ { anomalyDetectorArn =+ Prelude.Nothing,+ anomalyDetectorDescription = Prelude.Nothing,+ anomalyDetectorName = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the detector.+anomalyDetectorSummary_anomalyDetectorArn :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe Prelude.Text)+anomalyDetectorSummary_anomalyDetectorArn = Lens.lens (\AnomalyDetectorSummary' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@AnomalyDetectorSummary' {} a -> s {anomalyDetectorArn = a} :: AnomalyDetectorSummary)++-- | A description of the detector.+anomalyDetectorSummary_anomalyDetectorDescription :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe Prelude.Text)+anomalyDetectorSummary_anomalyDetectorDescription = Lens.lens (\AnomalyDetectorSummary' {anomalyDetectorDescription} -> anomalyDetectorDescription) (\s@AnomalyDetectorSummary' {} a -> s {anomalyDetectorDescription = a} :: AnomalyDetectorSummary)++-- | The name of the detector.+anomalyDetectorSummary_anomalyDetectorName :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe Prelude.Text)+anomalyDetectorSummary_anomalyDetectorName = Lens.lens (\AnomalyDetectorSummary' {anomalyDetectorName} -> anomalyDetectorName) (\s@AnomalyDetectorSummary' {} a -> s {anomalyDetectorName = a} :: AnomalyDetectorSummary)++-- | The time at which the detector was created.+anomalyDetectorSummary_creationTime :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe Prelude.UTCTime)+anomalyDetectorSummary_creationTime = Lens.lens (\AnomalyDetectorSummary' {creationTime} -> creationTime) (\s@AnomalyDetectorSummary' {} a -> s {creationTime = a} :: AnomalyDetectorSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which the detector was last modified.+anomalyDetectorSummary_lastModificationTime :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe Prelude.UTCTime)+anomalyDetectorSummary_lastModificationTime = Lens.lens (\AnomalyDetectorSummary' {lastModificationTime} -> lastModificationTime) (\s@AnomalyDetectorSummary' {} a -> s {lastModificationTime = a} :: AnomalyDetectorSummary) Prelude.. Lens.mapping Data._Time++-- | The status of detector.+anomalyDetectorSummary_status :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe AnomalyDetectorStatus)+anomalyDetectorSummary_status = Lens.lens (\AnomalyDetectorSummary' {status} -> status) (\s@AnomalyDetectorSummary' {} a -> s {status = a} :: AnomalyDetectorSummary)++-- | The detector\'s+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+anomalyDetectorSummary_tags :: Lens.Lens' AnomalyDetectorSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+anomalyDetectorSummary_tags = Lens.lens (\AnomalyDetectorSummary' {tags} -> tags) (\s@AnomalyDetectorSummary' {} a -> s {tags = a} :: AnomalyDetectorSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AnomalyDetectorSummary where+ parseJSON =+ Data.withObject+ "AnomalyDetectorSummary"+ ( \x ->+ AnomalyDetectorSummary'+ Prelude.<$> (x Data..:? "AnomalyDetectorArn")+ Prelude.<*> (x Data..:? "AnomalyDetectorDescription")+ Prelude.<*> (x Data..:? "AnomalyDetectorName")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "LastModificationTime")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AnomalyDetectorSummary where+ hashWithSalt _salt AnomalyDetectorSummary' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` anomalyDetectorDescription+ `Prelude.hashWithSalt` anomalyDetectorName+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tags++instance Prelude.NFData AnomalyDetectorSummary where+ rnf AnomalyDetectorSummary' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf anomalyDetectorDescription+ `Prelude.seq` Prelude.rnf anomalyDetectorName+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/LookoutMetrics/Types/AnomalyGroup.hs view
@@ -0,0 +1,136 @@+{-# 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.LookoutMetrics.Types.AnomalyGroup+-- 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.LookoutMetrics.Types.AnomalyGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.MetricLevelImpact+import qualified Amazonka.Prelude as Prelude++-- | A group of anomalous metrics+--+-- /See:/ 'newAnomalyGroup' smart constructor.+data AnomalyGroup = AnomalyGroup'+ { -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Maybe Prelude.Text,+ -- | The severity score of the group.+ anomalyGroupScore :: Prelude.Maybe Prelude.Double,+ -- | The end time for the group.+ endTime :: Prelude.Maybe Prelude.Text,+ -- | A list of measures affected by the anomaly.+ metricLevelImpactList :: Prelude.Maybe [MetricLevelImpact],+ -- | The name of the primary affected measure for the group.+ primaryMetricName :: Prelude.Maybe Prelude.Text,+ -- | The start time for the group.+ startTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyGroup' 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:+--+-- 'anomalyGroupId', 'anomalyGroup_anomalyGroupId' - The ID of the anomaly group.+--+-- 'anomalyGroupScore', 'anomalyGroup_anomalyGroupScore' - The severity score of the group.+--+-- 'endTime', 'anomalyGroup_endTime' - The end time for the group.+--+-- 'metricLevelImpactList', 'anomalyGroup_metricLevelImpactList' - A list of measures affected by the anomaly.+--+-- 'primaryMetricName', 'anomalyGroup_primaryMetricName' - The name of the primary affected measure for the group.+--+-- 'startTime', 'anomalyGroup_startTime' - The start time for the group.+newAnomalyGroup ::+ AnomalyGroup+newAnomalyGroup =+ AnomalyGroup'+ { anomalyGroupId = Prelude.Nothing,+ anomalyGroupScore = Prelude.Nothing,+ endTime = Prelude.Nothing,+ metricLevelImpactList = Prelude.Nothing,+ primaryMetricName = Prelude.Nothing,+ startTime = Prelude.Nothing+ }++-- | The ID of the anomaly group.+anomalyGroup_anomalyGroupId :: Lens.Lens' AnomalyGroup (Prelude.Maybe Prelude.Text)+anomalyGroup_anomalyGroupId = Lens.lens (\AnomalyGroup' {anomalyGroupId} -> anomalyGroupId) (\s@AnomalyGroup' {} a -> s {anomalyGroupId = a} :: AnomalyGroup)++-- | The severity score of the group.+anomalyGroup_anomalyGroupScore :: Lens.Lens' AnomalyGroup (Prelude.Maybe Prelude.Double)+anomalyGroup_anomalyGroupScore = Lens.lens (\AnomalyGroup' {anomalyGroupScore} -> anomalyGroupScore) (\s@AnomalyGroup' {} a -> s {anomalyGroupScore = a} :: AnomalyGroup)++-- | The end time for the group.+anomalyGroup_endTime :: Lens.Lens' AnomalyGroup (Prelude.Maybe Prelude.Text)+anomalyGroup_endTime = Lens.lens (\AnomalyGroup' {endTime} -> endTime) (\s@AnomalyGroup' {} a -> s {endTime = a} :: AnomalyGroup)++-- | A list of measures affected by the anomaly.+anomalyGroup_metricLevelImpactList :: Lens.Lens' AnomalyGroup (Prelude.Maybe [MetricLevelImpact])+anomalyGroup_metricLevelImpactList = Lens.lens (\AnomalyGroup' {metricLevelImpactList} -> metricLevelImpactList) (\s@AnomalyGroup' {} a -> s {metricLevelImpactList = a} :: AnomalyGroup) Prelude.. Lens.mapping Lens.coerced++-- | The name of the primary affected measure for the group.+anomalyGroup_primaryMetricName :: Lens.Lens' AnomalyGroup (Prelude.Maybe Prelude.Text)+anomalyGroup_primaryMetricName = Lens.lens (\AnomalyGroup' {primaryMetricName} -> primaryMetricName) (\s@AnomalyGroup' {} a -> s {primaryMetricName = a} :: AnomalyGroup)++-- | The start time for the group.+anomalyGroup_startTime :: Lens.Lens' AnomalyGroup (Prelude.Maybe Prelude.Text)+anomalyGroup_startTime = Lens.lens (\AnomalyGroup' {startTime} -> startTime) (\s@AnomalyGroup' {} a -> s {startTime = a} :: AnomalyGroup)++instance Data.FromJSON AnomalyGroup where+ parseJSON =+ Data.withObject+ "AnomalyGroup"+ ( \x ->+ AnomalyGroup'+ Prelude.<$> (x Data..:? "AnomalyGroupId")+ Prelude.<*> (x Data..:? "AnomalyGroupScore")+ Prelude.<*> (x Data..:? "EndTime")+ Prelude.<*> ( x+ Data..:? "MetricLevelImpactList"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "PrimaryMetricName")+ Prelude.<*> (x Data..:? "StartTime")+ )++instance Prelude.Hashable AnomalyGroup where+ hashWithSalt _salt AnomalyGroup' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyGroupId+ `Prelude.hashWithSalt` anomalyGroupScore+ `Prelude.hashWithSalt` endTime+ `Prelude.hashWithSalt` metricLevelImpactList+ `Prelude.hashWithSalt` primaryMetricName+ `Prelude.hashWithSalt` startTime++instance Prelude.NFData AnomalyGroup where+ rnf AnomalyGroup' {..} =+ Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf anomalyGroupScore+ `Prelude.seq` Prelude.rnf endTime+ `Prelude.seq` Prelude.rnf metricLevelImpactList+ `Prelude.seq` Prelude.rnf primaryMetricName+ `Prelude.seq` Prelude.rnf startTime
+ gen/Amazonka/LookoutMetrics/Types/AnomalyGroupStatistics.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.AnomalyGroupStatistics+-- 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.LookoutMetrics.Types.AnomalyGroupStatistics where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.ItemizedMetricStats+import qualified Amazonka.Prelude as Prelude++-- | Aggregated statistics for a group of anomalous metrics.+--+-- /See:/ 'newAnomalyGroupStatistics' smart constructor.+data AnomalyGroupStatistics = AnomalyGroupStatistics'+ { -- | The start of the time range that was searched.+ evaluationStartDate :: Prelude.Maybe Prelude.Text,+ -- | Statistics for individual metrics within the group.+ itemizedMetricStatsList :: Prelude.Maybe [ItemizedMetricStats],+ -- | The number of groups found.+ totalCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyGroupStatistics' 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:+--+-- 'evaluationStartDate', 'anomalyGroupStatistics_evaluationStartDate' - The start of the time range that was searched.+--+-- 'itemizedMetricStatsList', 'anomalyGroupStatistics_itemizedMetricStatsList' - Statistics for individual metrics within the group.+--+-- 'totalCount', 'anomalyGroupStatistics_totalCount' - The number of groups found.+newAnomalyGroupStatistics ::+ AnomalyGroupStatistics+newAnomalyGroupStatistics =+ AnomalyGroupStatistics'+ { evaluationStartDate =+ Prelude.Nothing,+ itemizedMetricStatsList = Prelude.Nothing,+ totalCount = Prelude.Nothing+ }++-- | The start of the time range that was searched.+anomalyGroupStatistics_evaluationStartDate :: Lens.Lens' AnomalyGroupStatistics (Prelude.Maybe Prelude.Text)+anomalyGroupStatistics_evaluationStartDate = Lens.lens (\AnomalyGroupStatistics' {evaluationStartDate} -> evaluationStartDate) (\s@AnomalyGroupStatistics' {} a -> s {evaluationStartDate = a} :: AnomalyGroupStatistics)++-- | Statistics for individual metrics within the group.+anomalyGroupStatistics_itemizedMetricStatsList :: Lens.Lens' AnomalyGroupStatistics (Prelude.Maybe [ItemizedMetricStats])+anomalyGroupStatistics_itemizedMetricStatsList = Lens.lens (\AnomalyGroupStatistics' {itemizedMetricStatsList} -> itemizedMetricStatsList) (\s@AnomalyGroupStatistics' {} a -> s {itemizedMetricStatsList = a} :: AnomalyGroupStatistics) Prelude.. Lens.mapping Lens.coerced++-- | The number of groups found.+anomalyGroupStatistics_totalCount :: Lens.Lens' AnomalyGroupStatistics (Prelude.Maybe Prelude.Int)+anomalyGroupStatistics_totalCount = Lens.lens (\AnomalyGroupStatistics' {totalCount} -> totalCount) (\s@AnomalyGroupStatistics' {} a -> s {totalCount = a} :: AnomalyGroupStatistics)++instance Data.FromJSON AnomalyGroupStatistics where+ parseJSON =+ Data.withObject+ "AnomalyGroupStatistics"+ ( \x ->+ AnomalyGroupStatistics'+ Prelude.<$> (x Data..:? "EvaluationStartDate")+ Prelude.<*> ( x+ Data..:? "ItemizedMetricStatsList"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "TotalCount")+ )++instance Prelude.Hashable AnomalyGroupStatistics where+ hashWithSalt _salt AnomalyGroupStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` evaluationStartDate+ `Prelude.hashWithSalt` itemizedMetricStatsList+ `Prelude.hashWithSalt` totalCount++instance Prelude.NFData AnomalyGroupStatistics where+ rnf AnomalyGroupStatistics' {..} =+ Prelude.rnf evaluationStartDate+ `Prelude.seq` Prelude.rnf itemizedMetricStatsList+ `Prelude.seq` Prelude.rnf totalCount
+ gen/Amazonka/LookoutMetrics/Types/AnomalyGroupSummary.hs view
@@ -0,0 +1,121 @@+{-# 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.LookoutMetrics.Types.AnomalyGroupSummary+-- 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.LookoutMetrics.Types.AnomalyGroupSummary 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++-- | Details about a group of anomalous metrics.+--+-- /See:/ 'newAnomalyGroupSummary' smart constructor.+data AnomalyGroupSummary = AnomalyGroupSummary'+ { -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Maybe Prelude.Text,+ -- | The severity score of the group.+ anomalyGroupScore :: Prelude.Maybe Prelude.Double,+ -- | The end time for the group.+ endTime :: Prelude.Maybe Prelude.Text,+ -- | The name of the primary affected measure for the group.+ primaryMetricName :: Prelude.Maybe Prelude.Text,+ -- | The start time for the group.+ startTime :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyGroupSummary' 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:+--+-- 'anomalyGroupId', 'anomalyGroupSummary_anomalyGroupId' - The ID of the anomaly group.+--+-- 'anomalyGroupScore', 'anomalyGroupSummary_anomalyGroupScore' - The severity score of the group.+--+-- 'endTime', 'anomalyGroupSummary_endTime' - The end time for the group.+--+-- 'primaryMetricName', 'anomalyGroupSummary_primaryMetricName' - The name of the primary affected measure for the group.+--+-- 'startTime', 'anomalyGroupSummary_startTime' - The start time for the group.+newAnomalyGroupSummary ::+ AnomalyGroupSummary+newAnomalyGroupSummary =+ AnomalyGroupSummary'+ { anomalyGroupId =+ Prelude.Nothing,+ anomalyGroupScore = Prelude.Nothing,+ endTime = Prelude.Nothing,+ primaryMetricName = Prelude.Nothing,+ startTime = Prelude.Nothing+ }++-- | The ID of the anomaly group.+anomalyGroupSummary_anomalyGroupId :: Lens.Lens' AnomalyGroupSummary (Prelude.Maybe Prelude.Text)+anomalyGroupSummary_anomalyGroupId = Lens.lens (\AnomalyGroupSummary' {anomalyGroupId} -> anomalyGroupId) (\s@AnomalyGroupSummary' {} a -> s {anomalyGroupId = a} :: AnomalyGroupSummary)++-- | The severity score of the group.+anomalyGroupSummary_anomalyGroupScore :: Lens.Lens' AnomalyGroupSummary (Prelude.Maybe Prelude.Double)+anomalyGroupSummary_anomalyGroupScore = Lens.lens (\AnomalyGroupSummary' {anomalyGroupScore} -> anomalyGroupScore) (\s@AnomalyGroupSummary' {} a -> s {anomalyGroupScore = a} :: AnomalyGroupSummary)++-- | The end time for the group.+anomalyGroupSummary_endTime :: Lens.Lens' AnomalyGroupSummary (Prelude.Maybe Prelude.Text)+anomalyGroupSummary_endTime = Lens.lens (\AnomalyGroupSummary' {endTime} -> endTime) (\s@AnomalyGroupSummary' {} a -> s {endTime = a} :: AnomalyGroupSummary)++-- | The name of the primary affected measure for the group.+anomalyGroupSummary_primaryMetricName :: Lens.Lens' AnomalyGroupSummary (Prelude.Maybe Prelude.Text)+anomalyGroupSummary_primaryMetricName = Lens.lens (\AnomalyGroupSummary' {primaryMetricName} -> primaryMetricName) (\s@AnomalyGroupSummary' {} a -> s {primaryMetricName = a} :: AnomalyGroupSummary)++-- | The start time for the group.+anomalyGroupSummary_startTime :: Lens.Lens' AnomalyGroupSummary (Prelude.Maybe Prelude.Text)+anomalyGroupSummary_startTime = Lens.lens (\AnomalyGroupSummary' {startTime} -> startTime) (\s@AnomalyGroupSummary' {} a -> s {startTime = a} :: AnomalyGroupSummary)++instance Data.FromJSON AnomalyGroupSummary where+ parseJSON =+ Data.withObject+ "AnomalyGroupSummary"+ ( \x ->+ AnomalyGroupSummary'+ Prelude.<$> (x Data..:? "AnomalyGroupId")+ Prelude.<*> (x Data..:? "AnomalyGroupScore")+ Prelude.<*> (x Data..:? "EndTime")+ Prelude.<*> (x Data..:? "PrimaryMetricName")+ Prelude.<*> (x Data..:? "StartTime")+ )++instance Prelude.Hashable AnomalyGroupSummary where+ hashWithSalt _salt AnomalyGroupSummary' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyGroupId+ `Prelude.hashWithSalt` anomalyGroupScore+ `Prelude.hashWithSalt` endTime+ `Prelude.hashWithSalt` primaryMetricName+ `Prelude.hashWithSalt` startTime++instance Prelude.NFData AnomalyGroupSummary where+ rnf AnomalyGroupSummary' {..} =+ Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf anomalyGroupScore+ `Prelude.seq` Prelude.rnf endTime+ `Prelude.seq` Prelude.rnf primaryMetricName+ `Prelude.seq` Prelude.rnf startTime
+ gen/Amazonka/LookoutMetrics/Types/AnomalyGroupTimeSeries.hs view
@@ -0,0 +1,87 @@+{-# 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.LookoutMetrics.Types.AnomalyGroupTimeSeries+-- 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.LookoutMetrics.Types.AnomalyGroupTimeSeries 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 anomalous metric in an anomaly group.+--+-- /See:/ 'newAnomalyGroupTimeSeries' smart constructor.+data AnomalyGroupTimeSeries = AnomalyGroupTimeSeries'+ { -- | The ID of the metric.+ timeSeriesId :: Prelude.Maybe Prelude.Text,+ -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyGroupTimeSeries' 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:+--+-- 'timeSeriesId', 'anomalyGroupTimeSeries_timeSeriesId' - The ID of the metric.+--+-- 'anomalyGroupId', 'anomalyGroupTimeSeries_anomalyGroupId' - The ID of the anomaly group.+newAnomalyGroupTimeSeries ::+ -- | 'anomalyGroupId'+ Prelude.Text ->+ AnomalyGroupTimeSeries+newAnomalyGroupTimeSeries pAnomalyGroupId_ =+ AnomalyGroupTimeSeries'+ { timeSeriesId =+ Prelude.Nothing,+ anomalyGroupId = pAnomalyGroupId_+ }++-- | The ID of the metric.+anomalyGroupTimeSeries_timeSeriesId :: Lens.Lens' AnomalyGroupTimeSeries (Prelude.Maybe Prelude.Text)+anomalyGroupTimeSeries_timeSeriesId = Lens.lens (\AnomalyGroupTimeSeries' {timeSeriesId} -> timeSeriesId) (\s@AnomalyGroupTimeSeries' {} a -> s {timeSeriesId = a} :: AnomalyGroupTimeSeries)++-- | The ID of the anomaly group.+anomalyGroupTimeSeries_anomalyGroupId :: Lens.Lens' AnomalyGroupTimeSeries Prelude.Text+anomalyGroupTimeSeries_anomalyGroupId = Lens.lens (\AnomalyGroupTimeSeries' {anomalyGroupId} -> anomalyGroupId) (\s@AnomalyGroupTimeSeries' {} a -> s {anomalyGroupId = a} :: AnomalyGroupTimeSeries)++instance Prelude.Hashable AnomalyGroupTimeSeries where+ hashWithSalt _salt AnomalyGroupTimeSeries' {..} =+ _salt+ `Prelude.hashWithSalt` timeSeriesId+ `Prelude.hashWithSalt` anomalyGroupId++instance Prelude.NFData AnomalyGroupTimeSeries where+ rnf AnomalyGroupTimeSeries' {..} =+ Prelude.rnf timeSeriesId+ `Prelude.seq` Prelude.rnf anomalyGroupId++instance Data.ToJSON AnomalyGroupTimeSeries where+ toJSON AnomalyGroupTimeSeries' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("TimeSeriesId" Data..=) Prelude.<$> timeSeriesId,+ Prelude.Just+ ("AnomalyGroupId" Data..= anomalyGroupId)+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AnomalyGroupTimeSeriesFeedback.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.LookoutMetrics.Types.AnomalyGroupTimeSeriesFeedback+-- 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.LookoutMetrics.Types.AnomalyGroupTimeSeriesFeedback 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++-- | Feedback for an anomalous metric.+--+-- /See:/ 'newAnomalyGroupTimeSeriesFeedback' smart constructor.+data AnomalyGroupTimeSeriesFeedback = AnomalyGroupTimeSeriesFeedback'+ { -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Text,+ -- | The ID of the metric.+ timeSeriesId :: Prelude.Text,+ -- | Feedback on whether the metric is a legitimate anomaly.+ isAnomaly :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnomalyGroupTimeSeriesFeedback' 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:+--+-- 'anomalyGroupId', 'anomalyGroupTimeSeriesFeedback_anomalyGroupId' - The ID of the anomaly group.+--+-- 'timeSeriesId', 'anomalyGroupTimeSeriesFeedback_timeSeriesId' - The ID of the metric.+--+-- 'isAnomaly', 'anomalyGroupTimeSeriesFeedback_isAnomaly' - Feedback on whether the metric is a legitimate anomaly.+newAnomalyGroupTimeSeriesFeedback ::+ -- | 'anomalyGroupId'+ Prelude.Text ->+ -- | 'timeSeriesId'+ Prelude.Text ->+ -- | 'isAnomaly'+ Prelude.Bool ->+ AnomalyGroupTimeSeriesFeedback+newAnomalyGroupTimeSeriesFeedback+ pAnomalyGroupId_+ pTimeSeriesId_+ pIsAnomaly_ =+ AnomalyGroupTimeSeriesFeedback'+ { anomalyGroupId =+ pAnomalyGroupId_,+ timeSeriesId = pTimeSeriesId_,+ isAnomaly = pIsAnomaly_+ }++-- | The ID of the anomaly group.+anomalyGroupTimeSeriesFeedback_anomalyGroupId :: Lens.Lens' AnomalyGroupTimeSeriesFeedback Prelude.Text+anomalyGroupTimeSeriesFeedback_anomalyGroupId = Lens.lens (\AnomalyGroupTimeSeriesFeedback' {anomalyGroupId} -> anomalyGroupId) (\s@AnomalyGroupTimeSeriesFeedback' {} a -> s {anomalyGroupId = a} :: AnomalyGroupTimeSeriesFeedback)++-- | The ID of the metric.+anomalyGroupTimeSeriesFeedback_timeSeriesId :: Lens.Lens' AnomalyGroupTimeSeriesFeedback Prelude.Text+anomalyGroupTimeSeriesFeedback_timeSeriesId = Lens.lens (\AnomalyGroupTimeSeriesFeedback' {timeSeriesId} -> timeSeriesId) (\s@AnomalyGroupTimeSeriesFeedback' {} a -> s {timeSeriesId = a} :: AnomalyGroupTimeSeriesFeedback)++-- | Feedback on whether the metric is a legitimate anomaly.+anomalyGroupTimeSeriesFeedback_isAnomaly :: Lens.Lens' AnomalyGroupTimeSeriesFeedback Prelude.Bool+anomalyGroupTimeSeriesFeedback_isAnomaly = Lens.lens (\AnomalyGroupTimeSeriesFeedback' {isAnomaly} -> isAnomaly) (\s@AnomalyGroupTimeSeriesFeedback' {} a -> s {isAnomaly = a} :: AnomalyGroupTimeSeriesFeedback)++instance+ Prelude.Hashable+ AnomalyGroupTimeSeriesFeedback+ where+ hashWithSalt+ _salt+ AnomalyGroupTimeSeriesFeedback' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyGroupId+ `Prelude.hashWithSalt` timeSeriesId+ `Prelude.hashWithSalt` isAnomaly++instance+ Prelude.NFData+ AnomalyGroupTimeSeriesFeedback+ where+ rnf AnomalyGroupTimeSeriesFeedback' {..} =+ Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf timeSeriesId+ `Prelude.seq` Prelude.rnf isAnomaly++instance Data.ToJSON AnomalyGroupTimeSeriesFeedback where+ toJSON AnomalyGroupTimeSeriesFeedback' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("AnomalyGroupId" Data..= anomalyGroupId),+ Prelude.Just ("TimeSeriesId" Data..= timeSeriesId),+ Prelude.Just ("IsAnomaly" Data..= isAnomaly)+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AppFlowConfig.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.AppFlowConfig+-- 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.LookoutMetrics.Types.AppFlowConfig 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++-- | Details about an Amazon AppFlow flow datasource.+--+-- /See:/ 'newAppFlowConfig' smart constructor.+data AppFlowConfig = AppFlowConfig'+ { -- | name of the flow.+ flowName :: Prelude.Maybe Prelude.Text,+ -- | An IAM role that gives Amazon Lookout for Metrics permission to access+ -- the flow.+ roleArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AppFlowConfig' 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:+--+-- 'flowName', 'appFlowConfig_flowName' - name of the flow.+--+-- 'roleArn', 'appFlowConfig_roleArn' - An IAM role that gives Amazon Lookout for Metrics permission to access+-- the flow.+newAppFlowConfig ::+ AppFlowConfig+newAppFlowConfig =+ AppFlowConfig'+ { flowName = Prelude.Nothing,+ roleArn = Prelude.Nothing+ }++-- | name of the flow.+appFlowConfig_flowName :: Lens.Lens' AppFlowConfig (Prelude.Maybe Prelude.Text)+appFlowConfig_flowName = Lens.lens (\AppFlowConfig' {flowName} -> flowName) (\s@AppFlowConfig' {} a -> s {flowName = a} :: AppFlowConfig)++-- | An IAM role that gives Amazon Lookout for Metrics permission to access+-- the flow.+appFlowConfig_roleArn :: Lens.Lens' AppFlowConfig (Prelude.Maybe Prelude.Text)+appFlowConfig_roleArn = Lens.lens (\AppFlowConfig' {roleArn} -> roleArn) (\s@AppFlowConfig' {} a -> s {roleArn = a} :: AppFlowConfig)++instance Data.FromJSON AppFlowConfig where+ parseJSON =+ Data.withObject+ "AppFlowConfig"+ ( \x ->+ AppFlowConfig'+ Prelude.<$> (x Data..:? "FlowName")+ Prelude.<*> (x Data..:? "RoleArn")+ )++instance Prelude.Hashable AppFlowConfig where+ hashWithSalt _salt AppFlowConfig' {..} =+ _salt+ `Prelude.hashWithSalt` flowName+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData AppFlowConfig where+ rnf AppFlowConfig' {..} =+ Prelude.rnf flowName+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON AppFlowConfig where+ toJSON AppFlowConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FlowName" Data..=) Prelude.<$> flowName,+ ("RoleArn" Data..=) Prelude.<$> roleArn+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AthenaSourceConfig.hs view
@@ -0,0 +1,164 @@+{-# 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.LookoutMetrics.Types.AthenaSourceConfig+-- 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.LookoutMetrics.Types.AthenaSourceConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.BackTestConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Details about an Amazon Athena datasource.+--+-- /See:/ 'newAthenaSourceConfig' smart constructor.+data AthenaSourceConfig = AthenaSourceConfig'+ { -- | Settings for backtest mode.+ backTestConfiguration :: Prelude.Maybe BackTestConfiguration,+ -- | The database\'s data catalog.+ dataCatalog :: Prelude.Maybe Prelude.Text,+ -- | The database\'s name.+ databaseName :: Prelude.Maybe Prelude.Text,+ -- | An IAM role that gives Amazon Lookout for Metrics permission to access+ -- the data.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The database\'s results path.+ s3ResultsPath :: Prelude.Maybe Prelude.Text,+ -- | The database\'s table name.+ tableName :: Prelude.Maybe Prelude.Text,+ -- | The database\'s work group name.+ workGroupName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AthenaSourceConfig' 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:+--+-- 'backTestConfiguration', 'athenaSourceConfig_backTestConfiguration' - Settings for backtest mode.+--+-- 'dataCatalog', 'athenaSourceConfig_dataCatalog' - The database\'s data catalog.+--+-- 'databaseName', 'athenaSourceConfig_databaseName' - The database\'s name.+--+-- 'roleArn', 'athenaSourceConfig_roleArn' - An IAM role that gives Amazon Lookout for Metrics permission to access+-- the data.+--+-- 's3ResultsPath', 'athenaSourceConfig_s3ResultsPath' - The database\'s results path.+--+-- 'tableName', 'athenaSourceConfig_tableName' - The database\'s table name.+--+-- 'workGroupName', 'athenaSourceConfig_workGroupName' - The database\'s work group name.+newAthenaSourceConfig ::+ AthenaSourceConfig+newAthenaSourceConfig =+ AthenaSourceConfig'+ { backTestConfiguration =+ Prelude.Nothing,+ dataCatalog = Prelude.Nothing,+ databaseName = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ s3ResultsPath = Prelude.Nothing,+ tableName = Prelude.Nothing,+ workGroupName = Prelude.Nothing+ }++-- | Settings for backtest mode.+athenaSourceConfig_backTestConfiguration :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe BackTestConfiguration)+athenaSourceConfig_backTestConfiguration = Lens.lens (\AthenaSourceConfig' {backTestConfiguration} -> backTestConfiguration) (\s@AthenaSourceConfig' {} a -> s {backTestConfiguration = a} :: AthenaSourceConfig)++-- | The database\'s data catalog.+athenaSourceConfig_dataCatalog :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe Prelude.Text)+athenaSourceConfig_dataCatalog = Lens.lens (\AthenaSourceConfig' {dataCatalog} -> dataCatalog) (\s@AthenaSourceConfig' {} a -> s {dataCatalog = a} :: AthenaSourceConfig)++-- | The database\'s name.+athenaSourceConfig_databaseName :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe Prelude.Text)+athenaSourceConfig_databaseName = Lens.lens (\AthenaSourceConfig' {databaseName} -> databaseName) (\s@AthenaSourceConfig' {} a -> s {databaseName = a} :: AthenaSourceConfig)++-- | An IAM role that gives Amazon Lookout for Metrics permission to access+-- the data.+athenaSourceConfig_roleArn :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe Prelude.Text)+athenaSourceConfig_roleArn = Lens.lens (\AthenaSourceConfig' {roleArn} -> roleArn) (\s@AthenaSourceConfig' {} a -> s {roleArn = a} :: AthenaSourceConfig)++-- | The database\'s results path.+athenaSourceConfig_s3ResultsPath :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe Prelude.Text)+athenaSourceConfig_s3ResultsPath = Lens.lens (\AthenaSourceConfig' {s3ResultsPath} -> s3ResultsPath) (\s@AthenaSourceConfig' {} a -> s {s3ResultsPath = a} :: AthenaSourceConfig)++-- | The database\'s table name.+athenaSourceConfig_tableName :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe Prelude.Text)+athenaSourceConfig_tableName = Lens.lens (\AthenaSourceConfig' {tableName} -> tableName) (\s@AthenaSourceConfig' {} a -> s {tableName = a} :: AthenaSourceConfig)++-- | The database\'s work group name.+athenaSourceConfig_workGroupName :: Lens.Lens' AthenaSourceConfig (Prelude.Maybe Prelude.Text)+athenaSourceConfig_workGroupName = Lens.lens (\AthenaSourceConfig' {workGroupName} -> workGroupName) (\s@AthenaSourceConfig' {} a -> s {workGroupName = a} :: AthenaSourceConfig)++instance Data.FromJSON AthenaSourceConfig where+ parseJSON =+ Data.withObject+ "AthenaSourceConfig"+ ( \x ->+ AthenaSourceConfig'+ Prelude.<$> (x Data..:? "BackTestConfiguration")+ Prelude.<*> (x Data..:? "DataCatalog")+ Prelude.<*> (x Data..:? "DatabaseName")+ Prelude.<*> (x Data..:? "RoleArn")+ Prelude.<*> (x Data..:? "S3ResultsPath")+ Prelude.<*> (x Data..:? "TableName")+ Prelude.<*> (x Data..:? "WorkGroupName")+ )++instance Prelude.Hashable AthenaSourceConfig where+ hashWithSalt _salt AthenaSourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` backTestConfiguration+ `Prelude.hashWithSalt` dataCatalog+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` s3ResultsPath+ `Prelude.hashWithSalt` tableName+ `Prelude.hashWithSalt` workGroupName++instance Prelude.NFData AthenaSourceConfig where+ rnf AthenaSourceConfig' {..} =+ Prelude.rnf backTestConfiguration+ `Prelude.seq` Prelude.rnf dataCatalog+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf s3ResultsPath+ `Prelude.seq` Prelude.rnf tableName+ `Prelude.seq` Prelude.rnf workGroupName++instance Data.ToJSON AthenaSourceConfig where+ toJSON AthenaSourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BackTestConfiguration" Data..=)+ Prelude.<$> backTestConfiguration,+ ("DataCatalog" Data..=) Prelude.<$> dataCatalog,+ ("DatabaseName" Data..=) Prelude.<$> databaseName,+ ("RoleArn" Data..=) Prelude.<$> roleArn,+ ("S3ResultsPath" Data..=) Prelude.<$> s3ResultsPath,+ ("TableName" Data..=) Prelude.<$> tableName,+ ("WorkGroupName" Data..=) Prelude.<$> workGroupName+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AttributeValue.hs view
@@ -0,0 +1,132 @@+{-# 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.LookoutMetrics.Types.AttributeValue+-- 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.LookoutMetrics.Types.AttributeValue 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 attribute value.+--+-- /See:/ 'newAttributeValue' smart constructor.+data AttributeValue = AttributeValue'+ { -- | A binary value.+ b :: Prelude.Maybe Prelude.Text,+ -- | A list of binary values.+ bs :: Prelude.Maybe [Prelude.Text],+ -- | A number.+ n :: Prelude.Maybe Prelude.Text,+ -- | A list of numbers.+ ns :: Prelude.Maybe [Prelude.Text],+ -- | A string.+ s :: Prelude.Maybe Prelude.Text,+ -- | A list of strings.+ ss :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeValue' 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:+--+-- 'b', 'attributeValue_b' - A binary value.+--+-- 'bs', 'attributeValue_bs' - A list of binary values.+--+-- 'n', 'attributeValue_n' - A number.+--+-- 'ns', 'attributeValue_ns' - A list of numbers.+--+-- 's', 'attributeValue_s' - A string.+--+-- 'ss', 'attributeValue_ss' - A list of strings.+newAttributeValue ::+ AttributeValue+newAttributeValue =+ AttributeValue'+ { b = Prelude.Nothing,+ bs = Prelude.Nothing,+ n = Prelude.Nothing,+ ns = Prelude.Nothing,+ s = Prelude.Nothing,+ ss = Prelude.Nothing+ }++-- | A binary value.+attributeValue_b :: Lens.Lens' AttributeValue (Prelude.Maybe Prelude.Text)+attributeValue_b = Lens.lens (\AttributeValue' {b} -> b) (\s@AttributeValue' {} a -> s {b = a} :: AttributeValue)++-- | A list of binary values.+attributeValue_bs :: Lens.Lens' AttributeValue (Prelude.Maybe [Prelude.Text])+attributeValue_bs = Lens.lens (\AttributeValue' {bs} -> bs) (\s@AttributeValue' {} a -> s {bs = a} :: AttributeValue) Prelude.. Lens.mapping Lens.coerced++-- | A number.+attributeValue_n :: Lens.Lens' AttributeValue (Prelude.Maybe Prelude.Text)+attributeValue_n = Lens.lens (\AttributeValue' {n} -> n) (\s@AttributeValue' {} a -> s {n = a} :: AttributeValue)++-- | A list of numbers.+attributeValue_ns :: Lens.Lens' AttributeValue (Prelude.Maybe [Prelude.Text])+attributeValue_ns = Lens.lens (\AttributeValue' {ns} -> ns) (\s@AttributeValue' {} a -> s {ns = a} :: AttributeValue) Prelude.. Lens.mapping Lens.coerced++-- | A string.+attributeValue_s :: Lens.Lens' AttributeValue (Prelude.Maybe Prelude.Text)+attributeValue_s = Lens.lens (\AttributeValue' {s} -> s) (\s@AttributeValue' {} a -> s {s = a} :: AttributeValue)++-- | A list of strings.+attributeValue_ss :: Lens.Lens' AttributeValue (Prelude.Maybe [Prelude.Text])+attributeValue_ss = Lens.lens (\AttributeValue' {ss} -> ss) (\s@AttributeValue' {} a -> s {ss = a} :: AttributeValue) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON AttributeValue where+ parseJSON =+ Data.withObject+ "AttributeValue"+ ( \x ->+ AttributeValue'+ Prelude.<$> (x Data..:? "B")+ Prelude.<*> (x Data..:? "BS" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "N")+ Prelude.<*> (x Data..:? "NS" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "S")+ Prelude.<*> (x Data..:? "SS" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable AttributeValue where+ hashWithSalt _salt AttributeValue' {..} =+ _salt+ `Prelude.hashWithSalt` b+ `Prelude.hashWithSalt` bs+ `Prelude.hashWithSalt` n+ `Prelude.hashWithSalt` ns+ `Prelude.hashWithSalt` s+ `Prelude.hashWithSalt` ss++instance Prelude.NFData AttributeValue where+ rnf AttributeValue' {..} =+ Prelude.rnf b+ `Prelude.seq` Prelude.rnf bs+ `Prelude.seq` Prelude.rnf n+ `Prelude.seq` Prelude.rnf ns+ `Prelude.seq` Prelude.rnf s+ `Prelude.seq` Prelude.rnf ss
+ gen/Amazonka/LookoutMetrics/Types/AutoDetectionMetricSource.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.AutoDetectionMetricSource+-- 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.LookoutMetrics.Types.AutoDetectionMetricSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AutoDetectionS3SourceConfig+import qualified Amazonka.Prelude as Prelude++-- | An auto detection metric source.+--+-- /See:/ 'newAutoDetectionMetricSource' smart constructor.+data AutoDetectionMetricSource = AutoDetectionMetricSource'+ { -- | The source\'s source config.+ s3SourceConfig :: Prelude.Maybe AutoDetectionS3SourceConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoDetectionMetricSource' 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:+--+-- 's3SourceConfig', 'autoDetectionMetricSource_s3SourceConfig' - The source\'s source config.+newAutoDetectionMetricSource ::+ AutoDetectionMetricSource+newAutoDetectionMetricSource =+ AutoDetectionMetricSource'+ { s3SourceConfig =+ Prelude.Nothing+ }++-- | The source\'s source config.+autoDetectionMetricSource_s3SourceConfig :: Lens.Lens' AutoDetectionMetricSource (Prelude.Maybe AutoDetectionS3SourceConfig)+autoDetectionMetricSource_s3SourceConfig = Lens.lens (\AutoDetectionMetricSource' {s3SourceConfig} -> s3SourceConfig) (\s@AutoDetectionMetricSource' {} a -> s {s3SourceConfig = a} :: AutoDetectionMetricSource)++instance Prelude.Hashable AutoDetectionMetricSource where+ hashWithSalt _salt AutoDetectionMetricSource' {..} =+ _salt `Prelude.hashWithSalt` s3SourceConfig++instance Prelude.NFData AutoDetectionMetricSource where+ rnf AutoDetectionMetricSource' {..} =+ Prelude.rnf s3SourceConfig++instance Data.ToJSON AutoDetectionMetricSource where+ toJSON AutoDetectionMetricSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("S3SourceConfig" Data..=)+ Prelude.<$> s3SourceConfig+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/AutoDetectionS3SourceConfig.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.AutoDetectionS3SourceConfig+-- 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.LookoutMetrics.Types.AutoDetectionS3SourceConfig 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 auto detection source config.+--+-- /See:/ 'newAutoDetectionS3SourceConfig' smart constructor.+data AutoDetectionS3SourceConfig = AutoDetectionS3SourceConfig'+ { -- | The config\'s historical data path list.+ historicalDataPathList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The config\'s templated path list.+ templatedPathList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoDetectionS3SourceConfig' 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:+--+-- 'historicalDataPathList', 'autoDetectionS3SourceConfig_historicalDataPathList' - The config\'s historical data path list.+--+-- 'templatedPathList', 'autoDetectionS3SourceConfig_templatedPathList' - The config\'s templated path list.+newAutoDetectionS3SourceConfig ::+ AutoDetectionS3SourceConfig+newAutoDetectionS3SourceConfig =+ AutoDetectionS3SourceConfig'+ { historicalDataPathList =+ Prelude.Nothing,+ templatedPathList = Prelude.Nothing+ }++-- | The config\'s historical data path list.+autoDetectionS3SourceConfig_historicalDataPathList :: Lens.Lens' AutoDetectionS3SourceConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+autoDetectionS3SourceConfig_historicalDataPathList = Lens.lens (\AutoDetectionS3SourceConfig' {historicalDataPathList} -> historicalDataPathList) (\s@AutoDetectionS3SourceConfig' {} a -> s {historicalDataPathList = a} :: AutoDetectionS3SourceConfig) Prelude.. Lens.mapping Lens.coerced++-- | The config\'s templated path list.+autoDetectionS3SourceConfig_templatedPathList :: Lens.Lens' AutoDetectionS3SourceConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+autoDetectionS3SourceConfig_templatedPathList = Lens.lens (\AutoDetectionS3SourceConfig' {templatedPathList} -> templatedPathList) (\s@AutoDetectionS3SourceConfig' {} a -> s {templatedPathList = a} :: AutoDetectionS3SourceConfig) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable AutoDetectionS3SourceConfig where+ hashWithSalt _salt AutoDetectionS3SourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` historicalDataPathList+ `Prelude.hashWithSalt` templatedPathList++instance Prelude.NFData AutoDetectionS3SourceConfig where+ rnf AutoDetectionS3SourceConfig' {..} =+ Prelude.rnf historicalDataPathList+ `Prelude.seq` Prelude.rnf templatedPathList++instance Data.ToJSON AutoDetectionS3SourceConfig where+ toJSON AutoDetectionS3SourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("HistoricalDataPathList" Data..=)+ Prelude.<$> historicalDataPathList,+ ("TemplatedPathList" Data..=)+ Prelude.<$> templatedPathList+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/BackTestConfiguration.hs view
@@ -0,0 +1,83 @@+{-# 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.LookoutMetrics.Types.BackTestConfiguration+-- 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.LookoutMetrics.Types.BackTestConfiguration 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++-- | Settings for backtest mode.+--+-- /See:/ 'newBackTestConfiguration' smart constructor.+data BackTestConfiguration = BackTestConfiguration'+ { -- | Run a backtest instead of monitoring new data.+ runBackTestMode :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BackTestConfiguration' 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:+--+-- 'runBackTestMode', 'backTestConfiguration_runBackTestMode' - Run a backtest instead of monitoring new data.+newBackTestConfiguration ::+ -- | 'runBackTestMode'+ Prelude.Bool ->+ BackTestConfiguration+newBackTestConfiguration pRunBackTestMode_ =+ BackTestConfiguration'+ { runBackTestMode =+ pRunBackTestMode_+ }++-- | Run a backtest instead of monitoring new data.+backTestConfiguration_runBackTestMode :: Lens.Lens' BackTestConfiguration Prelude.Bool+backTestConfiguration_runBackTestMode = Lens.lens (\BackTestConfiguration' {runBackTestMode} -> runBackTestMode) (\s@BackTestConfiguration' {} a -> s {runBackTestMode = a} :: BackTestConfiguration)++instance Data.FromJSON BackTestConfiguration where+ parseJSON =+ Data.withObject+ "BackTestConfiguration"+ ( \x ->+ BackTestConfiguration'+ Prelude.<$> (x Data..: "RunBackTestMode")+ )++instance Prelude.Hashable BackTestConfiguration where+ hashWithSalt _salt BackTestConfiguration' {..} =+ _salt `Prelude.hashWithSalt` runBackTestMode++instance Prelude.NFData BackTestConfiguration where+ rnf BackTestConfiguration' {..} =+ Prelude.rnf runBackTestMode++instance Data.ToJSON BackTestConfiguration where+ toJSON BackTestConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("RunBackTestMode" Data..= runBackTestMode)+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/CSVFileCompression.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.LookoutMetrics.Types.CSVFileCompression+-- 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.LookoutMetrics.Types.CSVFileCompression+ ( CSVFileCompression+ ( ..,+ CSVFileCompression_GZIP,+ CSVFileCompression_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CSVFileCompression = CSVFileCompression'+ { fromCSVFileCompression ::+ 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 CSVFileCompression_GZIP :: CSVFileCompression+pattern CSVFileCompression_GZIP = CSVFileCompression' "GZIP"++pattern CSVFileCompression_NONE :: CSVFileCompression+pattern CSVFileCompression_NONE = CSVFileCompression' "NONE"++{-# COMPLETE+ CSVFileCompression_GZIP,+ CSVFileCompression_NONE,+ CSVFileCompression'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/CloudWatchConfig.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.CloudWatchConfig+-- 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.LookoutMetrics.Types.CloudWatchConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.BackTestConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Details about an Amazon CloudWatch datasource.+--+-- /See:/ 'newCloudWatchConfig' smart constructor.+data CloudWatchConfig = CloudWatchConfig'+ { -- | Settings for backtest mode.+ backTestConfiguration :: Prelude.Maybe BackTestConfiguration,+ -- | An IAM role that gives Amazon Lookout for Metrics permission to access+ -- data in Amazon CloudWatch.+ roleArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchConfig' 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:+--+-- 'backTestConfiguration', 'cloudWatchConfig_backTestConfiguration' - Settings for backtest mode.+--+-- 'roleArn', 'cloudWatchConfig_roleArn' - An IAM role that gives Amazon Lookout for Metrics permission to access+-- data in Amazon CloudWatch.+newCloudWatchConfig ::+ CloudWatchConfig+newCloudWatchConfig =+ CloudWatchConfig'+ { backTestConfiguration =+ Prelude.Nothing,+ roleArn = Prelude.Nothing+ }++-- | Settings for backtest mode.+cloudWatchConfig_backTestConfiguration :: Lens.Lens' CloudWatchConfig (Prelude.Maybe BackTestConfiguration)+cloudWatchConfig_backTestConfiguration = Lens.lens (\CloudWatchConfig' {backTestConfiguration} -> backTestConfiguration) (\s@CloudWatchConfig' {} a -> s {backTestConfiguration = a} :: CloudWatchConfig)++-- | An IAM role that gives Amazon Lookout for Metrics permission to access+-- data in Amazon CloudWatch.+cloudWatchConfig_roleArn :: Lens.Lens' CloudWatchConfig (Prelude.Maybe Prelude.Text)+cloudWatchConfig_roleArn = Lens.lens (\CloudWatchConfig' {roleArn} -> roleArn) (\s@CloudWatchConfig' {} a -> s {roleArn = a} :: CloudWatchConfig)++instance Data.FromJSON CloudWatchConfig where+ parseJSON =+ Data.withObject+ "CloudWatchConfig"+ ( \x ->+ CloudWatchConfig'+ Prelude.<$> (x Data..:? "BackTestConfiguration")+ Prelude.<*> (x Data..:? "RoleArn")+ )++instance Prelude.Hashable CloudWatchConfig where+ hashWithSalt _salt CloudWatchConfig' {..} =+ _salt+ `Prelude.hashWithSalt` backTestConfiguration+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData CloudWatchConfig where+ rnf CloudWatchConfig' {..} =+ Prelude.rnf backTestConfiguration+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON CloudWatchConfig where+ toJSON CloudWatchConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BackTestConfiguration" Data..=)+ Prelude.<$> backTestConfiguration,+ ("RoleArn" Data..=) Prelude.<$> roleArn+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/Confidence.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.LookoutMetrics.Types.Confidence+-- 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.LookoutMetrics.Types.Confidence+ ( Confidence+ ( ..,+ Confidence_HIGH,+ Confidence_LOW,+ Confidence_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Confidence = Confidence'+ { fromConfidence ::+ 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 Confidence_HIGH :: Confidence+pattern Confidence_HIGH = Confidence' "HIGH"++pattern Confidence_LOW :: Confidence+pattern Confidence_LOW = Confidence' "LOW"++pattern Confidence_NONE :: Confidence+pattern Confidence_NONE = Confidence' "NONE"++{-# COMPLETE+ Confidence_HIGH,+ Confidence_LOW,+ Confidence_NONE,+ Confidence'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/ContributionMatrix.hs view
@@ -0,0 +1,77 @@+{-# 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.LookoutMetrics.Types.ContributionMatrix+-- 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.LookoutMetrics.Types.ContributionMatrix where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DimensionContribution+import qualified Amazonka.Prelude as Prelude++-- | Details about dimensions that contributed to an anomaly.+--+-- /See:/ 'newContributionMatrix' smart constructor.+data ContributionMatrix = ContributionMatrix'+ { -- | A list of contributing dimensions.+ dimensionContributionList :: Prelude.Maybe [DimensionContribution]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContributionMatrix' 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:+--+-- 'dimensionContributionList', 'contributionMatrix_dimensionContributionList' - A list of contributing dimensions.+newContributionMatrix ::+ ContributionMatrix+newContributionMatrix =+ ContributionMatrix'+ { dimensionContributionList =+ Prelude.Nothing+ }++-- | A list of contributing dimensions.+contributionMatrix_dimensionContributionList :: Lens.Lens' ContributionMatrix (Prelude.Maybe [DimensionContribution])+contributionMatrix_dimensionContributionList = Lens.lens (\ContributionMatrix' {dimensionContributionList} -> dimensionContributionList) (\s@ContributionMatrix' {} a -> s {dimensionContributionList = a} :: ContributionMatrix) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ContributionMatrix where+ parseJSON =+ Data.withObject+ "ContributionMatrix"+ ( \x ->+ ContributionMatrix'+ Prelude.<$> ( x+ Data..:? "DimensionContributionList"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable ContributionMatrix where+ hashWithSalt _salt ContributionMatrix' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionContributionList++instance Prelude.NFData ContributionMatrix where+ rnf ContributionMatrix' {..} =+ Prelude.rnf dimensionContributionList
+ gen/Amazonka/LookoutMetrics/Types/CsvFormatDescriptor.hs view
@@ -0,0 +1,149 @@+{-# 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.LookoutMetrics.Types.CsvFormatDescriptor+-- 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.LookoutMetrics.Types.CsvFormatDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.CSVFileCompression+import qualified Amazonka.Prelude as Prelude++-- | Contains information about how a source CSV data file should be+-- analyzed.+--+-- /See:/ 'newCsvFormatDescriptor' smart constructor.+data CsvFormatDescriptor = CsvFormatDescriptor'+ { -- | The character set in which the source CSV file is written.+ charset :: Prelude.Maybe Prelude.Text,+ -- | Whether or not the source CSV file contains a header.+ containsHeader :: Prelude.Maybe Prelude.Bool,+ -- | The character used to delimit the source CSV file.+ delimiter :: Prelude.Maybe Prelude.Text,+ -- | The level of compression of the source CSV file.+ fileCompression :: Prelude.Maybe CSVFileCompression,+ -- | A list of the source CSV file\'s headers, if any.+ headerList :: Prelude.Maybe [Prelude.Text],+ -- | The character used as a quote character.+ quoteSymbol :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CsvFormatDescriptor' 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:+--+-- 'charset', 'csvFormatDescriptor_charset' - The character set in which the source CSV file is written.+--+-- 'containsHeader', 'csvFormatDescriptor_containsHeader' - Whether or not the source CSV file contains a header.+--+-- 'delimiter', 'csvFormatDescriptor_delimiter' - The character used to delimit the source CSV file.+--+-- 'fileCompression', 'csvFormatDescriptor_fileCompression' - The level of compression of the source CSV file.+--+-- 'headerList', 'csvFormatDescriptor_headerList' - A list of the source CSV file\'s headers, if any.+--+-- 'quoteSymbol', 'csvFormatDescriptor_quoteSymbol' - The character used as a quote character.+newCsvFormatDescriptor ::+ CsvFormatDescriptor+newCsvFormatDescriptor =+ CsvFormatDescriptor'+ { charset = Prelude.Nothing,+ containsHeader = Prelude.Nothing,+ delimiter = Prelude.Nothing,+ fileCompression = Prelude.Nothing,+ headerList = Prelude.Nothing,+ quoteSymbol = Prelude.Nothing+ }++-- | The character set in which the source CSV file is written.+csvFormatDescriptor_charset :: Lens.Lens' CsvFormatDescriptor (Prelude.Maybe Prelude.Text)+csvFormatDescriptor_charset = Lens.lens (\CsvFormatDescriptor' {charset} -> charset) (\s@CsvFormatDescriptor' {} a -> s {charset = a} :: CsvFormatDescriptor)++-- | Whether or not the source CSV file contains a header.+csvFormatDescriptor_containsHeader :: Lens.Lens' CsvFormatDescriptor (Prelude.Maybe Prelude.Bool)+csvFormatDescriptor_containsHeader = Lens.lens (\CsvFormatDescriptor' {containsHeader} -> containsHeader) (\s@CsvFormatDescriptor' {} a -> s {containsHeader = a} :: CsvFormatDescriptor)++-- | The character used to delimit the source CSV file.+csvFormatDescriptor_delimiter :: Lens.Lens' CsvFormatDescriptor (Prelude.Maybe Prelude.Text)+csvFormatDescriptor_delimiter = Lens.lens (\CsvFormatDescriptor' {delimiter} -> delimiter) (\s@CsvFormatDescriptor' {} a -> s {delimiter = a} :: CsvFormatDescriptor)++-- | The level of compression of the source CSV file.+csvFormatDescriptor_fileCompression :: Lens.Lens' CsvFormatDescriptor (Prelude.Maybe CSVFileCompression)+csvFormatDescriptor_fileCompression = Lens.lens (\CsvFormatDescriptor' {fileCompression} -> fileCompression) (\s@CsvFormatDescriptor' {} a -> s {fileCompression = a} :: CsvFormatDescriptor)++-- | A list of the source CSV file\'s headers, if any.+csvFormatDescriptor_headerList :: Lens.Lens' CsvFormatDescriptor (Prelude.Maybe [Prelude.Text])+csvFormatDescriptor_headerList = Lens.lens (\CsvFormatDescriptor' {headerList} -> headerList) (\s@CsvFormatDescriptor' {} a -> s {headerList = a} :: CsvFormatDescriptor) Prelude.. Lens.mapping Lens.coerced++-- | The character used as a quote character.+csvFormatDescriptor_quoteSymbol :: Lens.Lens' CsvFormatDescriptor (Prelude.Maybe Prelude.Text)+csvFormatDescriptor_quoteSymbol = Lens.lens (\CsvFormatDescriptor' {quoteSymbol} -> quoteSymbol) (\s@CsvFormatDescriptor' {} a -> s {quoteSymbol = a} :: CsvFormatDescriptor)++instance Data.FromJSON CsvFormatDescriptor where+ parseJSON =+ Data.withObject+ "CsvFormatDescriptor"+ ( \x ->+ CsvFormatDescriptor'+ Prelude.<$> (x Data..:? "Charset")+ Prelude.<*> (x Data..:? "ContainsHeader")+ Prelude.<*> (x Data..:? "Delimiter")+ Prelude.<*> (x Data..:? "FileCompression")+ Prelude.<*> (x Data..:? "HeaderList" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "QuoteSymbol")+ )++instance Prelude.Hashable CsvFormatDescriptor where+ hashWithSalt _salt CsvFormatDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` charset+ `Prelude.hashWithSalt` containsHeader+ `Prelude.hashWithSalt` delimiter+ `Prelude.hashWithSalt` fileCompression+ `Prelude.hashWithSalt` headerList+ `Prelude.hashWithSalt` quoteSymbol++instance Prelude.NFData CsvFormatDescriptor where+ rnf CsvFormatDescriptor' {..} =+ Prelude.rnf charset+ `Prelude.seq` Prelude.rnf containsHeader+ `Prelude.seq` Prelude.rnf delimiter+ `Prelude.seq` Prelude.rnf fileCompression+ `Prelude.seq` Prelude.rnf headerList+ `Prelude.seq` Prelude.rnf quoteSymbol++instance Data.ToJSON CsvFormatDescriptor where+ toJSON CsvFormatDescriptor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Charset" Data..=) Prelude.<$> charset,+ ("ContainsHeader" Data..=)+ Prelude.<$> containsHeader,+ ("Delimiter" Data..=) Prelude.<$> delimiter,+ ("FileCompression" Data..=)+ Prelude.<$> fileCompression,+ ("HeaderList" Data..=) Prelude.<$> headerList,+ ("QuoteSymbol" Data..=) Prelude.<$> quoteSymbol+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/DataQualityMetric.hs view
@@ -0,0 +1,112 @@+{-# 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.LookoutMetrics.Types.DataQualityMetric+-- 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.LookoutMetrics.Types.DataQualityMetric where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DataQualityMetricType+import qualified Amazonka.Prelude as Prelude++-- | An array that describes a data quality metric. Each @DataQualityMetric@+-- object contains the data quality metric name, its value, a description+-- of the metric, and the affected column.+--+-- /See:/ 'newDataQualityMetric' smart constructor.+data DataQualityMetric = DataQualityMetric'+ { -- | A description of the data quality metric.+ metricDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the data quality metric.+ metricType :: Prelude.Maybe DataQualityMetricType,+ -- | The value of the data quality metric.+ metricValue :: Prelude.Maybe Prelude.Double,+ -- | The column that is being monitored.+ relatedColumnName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataQualityMetric' 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:+--+-- 'metricDescription', 'dataQualityMetric_metricDescription' - A description of the data quality metric.+--+-- 'metricType', 'dataQualityMetric_metricType' - The name of the data quality metric.+--+-- 'metricValue', 'dataQualityMetric_metricValue' - The value of the data quality metric.+--+-- 'relatedColumnName', 'dataQualityMetric_relatedColumnName' - The column that is being monitored.+newDataQualityMetric ::+ DataQualityMetric+newDataQualityMetric =+ DataQualityMetric'+ { metricDescription =+ Prelude.Nothing,+ metricType = Prelude.Nothing,+ metricValue = Prelude.Nothing,+ relatedColumnName = Prelude.Nothing+ }++-- | A description of the data quality metric.+dataQualityMetric_metricDescription :: Lens.Lens' DataQualityMetric (Prelude.Maybe Prelude.Text)+dataQualityMetric_metricDescription = Lens.lens (\DataQualityMetric' {metricDescription} -> metricDescription) (\s@DataQualityMetric' {} a -> s {metricDescription = a} :: DataQualityMetric)++-- | The name of the data quality metric.+dataQualityMetric_metricType :: Lens.Lens' DataQualityMetric (Prelude.Maybe DataQualityMetricType)+dataQualityMetric_metricType = Lens.lens (\DataQualityMetric' {metricType} -> metricType) (\s@DataQualityMetric' {} a -> s {metricType = a} :: DataQualityMetric)++-- | The value of the data quality metric.+dataQualityMetric_metricValue :: Lens.Lens' DataQualityMetric (Prelude.Maybe Prelude.Double)+dataQualityMetric_metricValue = Lens.lens (\DataQualityMetric' {metricValue} -> metricValue) (\s@DataQualityMetric' {} a -> s {metricValue = a} :: DataQualityMetric)++-- | The column that is being monitored.+dataQualityMetric_relatedColumnName :: Lens.Lens' DataQualityMetric (Prelude.Maybe Prelude.Text)+dataQualityMetric_relatedColumnName = Lens.lens (\DataQualityMetric' {relatedColumnName} -> relatedColumnName) (\s@DataQualityMetric' {} a -> s {relatedColumnName = a} :: DataQualityMetric)++instance Data.FromJSON DataQualityMetric where+ parseJSON =+ Data.withObject+ "DataQualityMetric"+ ( \x ->+ DataQualityMetric'+ Prelude.<$> (x Data..:? "MetricDescription")+ Prelude.<*> (x Data..:? "MetricType")+ Prelude.<*> (x Data..:? "MetricValue")+ Prelude.<*> (x Data..:? "RelatedColumnName")+ )++instance Prelude.Hashable DataQualityMetric where+ hashWithSalt _salt DataQualityMetric' {..} =+ _salt+ `Prelude.hashWithSalt` metricDescription+ `Prelude.hashWithSalt` metricType+ `Prelude.hashWithSalt` metricValue+ `Prelude.hashWithSalt` relatedColumnName++instance Prelude.NFData DataQualityMetric where+ rnf DataQualityMetric' {..} =+ Prelude.rnf metricDescription+ `Prelude.seq` Prelude.rnf metricType+ `Prelude.seq` Prelude.rnf metricValue+ `Prelude.seq` Prelude.rnf relatedColumnName
+ gen/Amazonka/LookoutMetrics/Types/DataQualityMetricType.hs view
@@ -0,0 +1,111 @@+{-# 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.LookoutMetrics.Types.DataQualityMetricType+-- 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.LookoutMetrics.Types.DataQualityMetricType+ ( DataQualityMetricType+ ( ..,+ DataQualityMetricType_BACKTEST_INFERENCE_DATA_END_TIME_STAMP,+ DataQualityMetricType_BACKTEST_INFERENCE_DATA_START_TIME_STAMP,+ DataQualityMetricType_BACKTEST_TRAINING_DATA_END_TIME_STAMP,+ DataQualityMetricType_BACKTEST_TRAINING_DATA_START_TIME_STAMP,+ DataQualityMetricType_COLUMN_COMPLETENESS,+ DataQualityMetricType_DIMENSION_UNIQUENESS,+ DataQualityMetricType_INVALID_ROWS_COMPLIANCE,+ DataQualityMetricType_ROWS_PARTIAL_COMPLIANCE,+ DataQualityMetricType_ROWS_PROCESSED,+ DataQualityMetricType_TIME_SERIES_COUNT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataQualityMetricType = DataQualityMetricType'+ { fromDataQualityMetricType ::+ 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 DataQualityMetricType_BACKTEST_INFERENCE_DATA_END_TIME_STAMP :: DataQualityMetricType+pattern DataQualityMetricType_BACKTEST_INFERENCE_DATA_END_TIME_STAMP = DataQualityMetricType' "BACKTEST_INFERENCE_DATA_END_TIME_STAMP"++pattern DataQualityMetricType_BACKTEST_INFERENCE_DATA_START_TIME_STAMP :: DataQualityMetricType+pattern DataQualityMetricType_BACKTEST_INFERENCE_DATA_START_TIME_STAMP = DataQualityMetricType' "BACKTEST_INFERENCE_DATA_START_TIME_STAMP"++pattern DataQualityMetricType_BACKTEST_TRAINING_DATA_END_TIME_STAMP :: DataQualityMetricType+pattern DataQualityMetricType_BACKTEST_TRAINING_DATA_END_TIME_STAMP = DataQualityMetricType' "BACKTEST_TRAINING_DATA_END_TIME_STAMP"++pattern DataQualityMetricType_BACKTEST_TRAINING_DATA_START_TIME_STAMP :: DataQualityMetricType+pattern DataQualityMetricType_BACKTEST_TRAINING_DATA_START_TIME_STAMP = DataQualityMetricType' "BACKTEST_TRAINING_DATA_START_TIME_STAMP"++pattern DataQualityMetricType_COLUMN_COMPLETENESS :: DataQualityMetricType+pattern DataQualityMetricType_COLUMN_COMPLETENESS = DataQualityMetricType' "COLUMN_COMPLETENESS"++pattern DataQualityMetricType_DIMENSION_UNIQUENESS :: DataQualityMetricType+pattern DataQualityMetricType_DIMENSION_UNIQUENESS = DataQualityMetricType' "DIMENSION_UNIQUENESS"++pattern DataQualityMetricType_INVALID_ROWS_COMPLIANCE :: DataQualityMetricType+pattern DataQualityMetricType_INVALID_ROWS_COMPLIANCE = DataQualityMetricType' "INVALID_ROWS_COMPLIANCE"++pattern DataQualityMetricType_ROWS_PARTIAL_COMPLIANCE :: DataQualityMetricType+pattern DataQualityMetricType_ROWS_PARTIAL_COMPLIANCE = DataQualityMetricType' "ROWS_PARTIAL_COMPLIANCE"++pattern DataQualityMetricType_ROWS_PROCESSED :: DataQualityMetricType+pattern DataQualityMetricType_ROWS_PROCESSED = DataQualityMetricType' "ROWS_PROCESSED"++pattern DataQualityMetricType_TIME_SERIES_COUNT :: DataQualityMetricType+pattern DataQualityMetricType_TIME_SERIES_COUNT = DataQualityMetricType' "TIME_SERIES_COUNT"++{-# COMPLETE+ DataQualityMetricType_BACKTEST_INFERENCE_DATA_END_TIME_STAMP,+ DataQualityMetricType_BACKTEST_INFERENCE_DATA_START_TIME_STAMP,+ DataQualityMetricType_BACKTEST_TRAINING_DATA_END_TIME_STAMP,+ DataQualityMetricType_BACKTEST_TRAINING_DATA_START_TIME_STAMP,+ DataQualityMetricType_COLUMN_COMPLETENESS,+ DataQualityMetricType_DIMENSION_UNIQUENESS,+ DataQualityMetricType_INVALID_ROWS_COMPLIANCE,+ DataQualityMetricType_ROWS_PARTIAL_COMPLIANCE,+ DataQualityMetricType_ROWS_PROCESSED,+ DataQualityMetricType_TIME_SERIES_COUNT,+ DataQualityMetricType'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/DetectedCsvFormatDescriptor.hs view
@@ -0,0 +1,134 @@+{-# 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.LookoutMetrics.Types.DetectedCsvFormatDescriptor+-- 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.LookoutMetrics.Types.DetectedCsvFormatDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DetectedField+import qualified Amazonka.Prelude as Prelude++-- | Properties of an inferred CSV format.+--+-- /See:/ 'newDetectedCsvFormatDescriptor' smart constructor.+data DetectedCsvFormatDescriptor = DetectedCsvFormatDescriptor'+ { -- | The format\'s charset.+ charset :: Prelude.Maybe DetectedField,+ -- | Whether the format includes a header.+ containsHeader :: Prelude.Maybe DetectedField,+ -- | The format\'s delimiter.+ delimiter :: Prelude.Maybe DetectedField,+ -- | The format\'s file compression.+ fileCompression :: Prelude.Maybe DetectedField,+ -- | The format\'s header list.+ headerList :: Prelude.Maybe DetectedField,+ -- | The format\'s quote symbol.+ quoteSymbol :: Prelude.Maybe DetectedField+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedCsvFormatDescriptor' 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:+--+-- 'charset', 'detectedCsvFormatDescriptor_charset' - The format\'s charset.+--+-- 'containsHeader', 'detectedCsvFormatDescriptor_containsHeader' - Whether the format includes a header.+--+-- 'delimiter', 'detectedCsvFormatDescriptor_delimiter' - The format\'s delimiter.+--+-- 'fileCompression', 'detectedCsvFormatDescriptor_fileCompression' - The format\'s file compression.+--+-- 'headerList', 'detectedCsvFormatDescriptor_headerList' - The format\'s header list.+--+-- 'quoteSymbol', 'detectedCsvFormatDescriptor_quoteSymbol' - The format\'s quote symbol.+newDetectedCsvFormatDescriptor ::+ DetectedCsvFormatDescriptor+newDetectedCsvFormatDescriptor =+ DetectedCsvFormatDescriptor'+ { charset =+ Prelude.Nothing,+ containsHeader = Prelude.Nothing,+ delimiter = Prelude.Nothing,+ fileCompression = Prelude.Nothing,+ headerList = Prelude.Nothing,+ quoteSymbol = Prelude.Nothing+ }++-- | The format\'s charset.+detectedCsvFormatDescriptor_charset :: Lens.Lens' DetectedCsvFormatDescriptor (Prelude.Maybe DetectedField)+detectedCsvFormatDescriptor_charset = Lens.lens (\DetectedCsvFormatDescriptor' {charset} -> charset) (\s@DetectedCsvFormatDescriptor' {} a -> s {charset = a} :: DetectedCsvFormatDescriptor)++-- | Whether the format includes a header.+detectedCsvFormatDescriptor_containsHeader :: Lens.Lens' DetectedCsvFormatDescriptor (Prelude.Maybe DetectedField)+detectedCsvFormatDescriptor_containsHeader = Lens.lens (\DetectedCsvFormatDescriptor' {containsHeader} -> containsHeader) (\s@DetectedCsvFormatDescriptor' {} a -> s {containsHeader = a} :: DetectedCsvFormatDescriptor)++-- | The format\'s delimiter.+detectedCsvFormatDescriptor_delimiter :: Lens.Lens' DetectedCsvFormatDescriptor (Prelude.Maybe DetectedField)+detectedCsvFormatDescriptor_delimiter = Lens.lens (\DetectedCsvFormatDescriptor' {delimiter} -> delimiter) (\s@DetectedCsvFormatDescriptor' {} a -> s {delimiter = a} :: DetectedCsvFormatDescriptor)++-- | The format\'s file compression.+detectedCsvFormatDescriptor_fileCompression :: Lens.Lens' DetectedCsvFormatDescriptor (Prelude.Maybe DetectedField)+detectedCsvFormatDescriptor_fileCompression = Lens.lens (\DetectedCsvFormatDescriptor' {fileCompression} -> fileCompression) (\s@DetectedCsvFormatDescriptor' {} a -> s {fileCompression = a} :: DetectedCsvFormatDescriptor)++-- | The format\'s header list.+detectedCsvFormatDescriptor_headerList :: Lens.Lens' DetectedCsvFormatDescriptor (Prelude.Maybe DetectedField)+detectedCsvFormatDescriptor_headerList = Lens.lens (\DetectedCsvFormatDescriptor' {headerList} -> headerList) (\s@DetectedCsvFormatDescriptor' {} a -> s {headerList = a} :: DetectedCsvFormatDescriptor)++-- | The format\'s quote symbol.+detectedCsvFormatDescriptor_quoteSymbol :: Lens.Lens' DetectedCsvFormatDescriptor (Prelude.Maybe DetectedField)+detectedCsvFormatDescriptor_quoteSymbol = Lens.lens (\DetectedCsvFormatDescriptor' {quoteSymbol} -> quoteSymbol) (\s@DetectedCsvFormatDescriptor' {} a -> s {quoteSymbol = a} :: DetectedCsvFormatDescriptor)++instance Data.FromJSON DetectedCsvFormatDescriptor where+ parseJSON =+ Data.withObject+ "DetectedCsvFormatDescriptor"+ ( \x ->+ DetectedCsvFormatDescriptor'+ Prelude.<$> (x Data..:? "Charset")+ Prelude.<*> (x Data..:? "ContainsHeader")+ Prelude.<*> (x Data..:? "Delimiter")+ Prelude.<*> (x Data..:? "FileCompression")+ Prelude.<*> (x Data..:? "HeaderList")+ Prelude.<*> (x Data..:? "QuoteSymbol")+ )++instance Prelude.Hashable DetectedCsvFormatDescriptor where+ hashWithSalt _salt DetectedCsvFormatDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` charset+ `Prelude.hashWithSalt` containsHeader+ `Prelude.hashWithSalt` delimiter+ `Prelude.hashWithSalt` fileCompression+ `Prelude.hashWithSalt` headerList+ `Prelude.hashWithSalt` quoteSymbol++instance Prelude.NFData DetectedCsvFormatDescriptor where+ rnf DetectedCsvFormatDescriptor' {..} =+ Prelude.rnf charset+ `Prelude.seq` Prelude.rnf containsHeader+ `Prelude.seq` Prelude.rnf delimiter+ `Prelude.seq` Prelude.rnf fileCompression+ `Prelude.seq` Prelude.rnf headerList+ `Prelude.seq` Prelude.rnf quoteSymbol
+ gen/Amazonka/LookoutMetrics/Types/DetectedField.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.LookoutMetrics.Types.DetectedField+-- 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.LookoutMetrics.Types.DetectedField where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AttributeValue+import Amazonka.LookoutMetrics.Types.Confidence+import qualified Amazonka.Prelude as Prelude++-- | An inferred field.+--+-- /See:/ 'newDetectedField' smart constructor.+data DetectedField = DetectedField'+ { -- | The field\'s confidence.+ confidence :: Prelude.Maybe Confidence,+ -- | The field\'s message.+ message :: Prelude.Maybe Prelude.Text,+ -- | The field\'s value.+ value :: Prelude.Maybe AttributeValue+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedField' 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:+--+-- 'confidence', 'detectedField_confidence' - The field\'s confidence.+--+-- 'message', 'detectedField_message' - The field\'s message.+--+-- 'value', 'detectedField_value' - The field\'s value.+newDetectedField ::+ DetectedField+newDetectedField =+ DetectedField'+ { confidence = Prelude.Nothing,+ message = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The field\'s confidence.+detectedField_confidence :: Lens.Lens' DetectedField (Prelude.Maybe Confidence)+detectedField_confidence = Lens.lens (\DetectedField' {confidence} -> confidence) (\s@DetectedField' {} a -> s {confidence = a} :: DetectedField)++-- | The field\'s message.+detectedField_message :: Lens.Lens' DetectedField (Prelude.Maybe Prelude.Text)+detectedField_message = Lens.lens (\DetectedField' {message} -> message) (\s@DetectedField' {} a -> s {message = a} :: DetectedField)++-- | The field\'s value.+detectedField_value :: Lens.Lens' DetectedField (Prelude.Maybe AttributeValue)+detectedField_value = Lens.lens (\DetectedField' {value} -> value) (\s@DetectedField' {} a -> s {value = a} :: DetectedField)++instance Data.FromJSON DetectedField where+ parseJSON =+ Data.withObject+ "DetectedField"+ ( \x ->+ DetectedField'+ Prelude.<$> (x Data..:? "Confidence")+ Prelude.<*> (x Data..:? "Message")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable DetectedField where+ hashWithSalt _salt DetectedField' {..} =+ _salt+ `Prelude.hashWithSalt` confidence+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` value++instance Prelude.NFData DetectedField where+ rnf DetectedField' {..} =+ Prelude.rnf confidence+ `Prelude.seq` Prelude.rnf message+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/LookoutMetrics/Types/DetectedFileFormatDescriptor.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.LookoutMetrics.Types.DetectedFileFormatDescriptor+-- 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.LookoutMetrics.Types.DetectedFileFormatDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DetectedCsvFormatDescriptor+import Amazonka.LookoutMetrics.Types.DetectedJsonFormatDescriptor+import qualified Amazonka.Prelude as Prelude++-- | Properties of an inferred data format.+--+-- /See:/ 'newDetectedFileFormatDescriptor' smart constructor.+data DetectedFileFormatDescriptor = DetectedFileFormatDescriptor'+ { -- | Details about a CSV format.+ csvFormatDescriptor :: Prelude.Maybe DetectedCsvFormatDescriptor,+ -- | Details about a JSON format.+ jsonFormatDescriptor :: Prelude.Maybe DetectedJsonFormatDescriptor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedFileFormatDescriptor' 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:+--+-- 'csvFormatDescriptor', 'detectedFileFormatDescriptor_csvFormatDescriptor' - Details about a CSV format.+--+-- 'jsonFormatDescriptor', 'detectedFileFormatDescriptor_jsonFormatDescriptor' - Details about a JSON format.+newDetectedFileFormatDescriptor ::+ DetectedFileFormatDescriptor+newDetectedFileFormatDescriptor =+ DetectedFileFormatDescriptor'+ { csvFormatDescriptor =+ Prelude.Nothing,+ jsonFormatDescriptor = Prelude.Nothing+ }++-- | Details about a CSV format.+detectedFileFormatDescriptor_csvFormatDescriptor :: Lens.Lens' DetectedFileFormatDescriptor (Prelude.Maybe DetectedCsvFormatDescriptor)+detectedFileFormatDescriptor_csvFormatDescriptor = Lens.lens (\DetectedFileFormatDescriptor' {csvFormatDescriptor} -> csvFormatDescriptor) (\s@DetectedFileFormatDescriptor' {} a -> s {csvFormatDescriptor = a} :: DetectedFileFormatDescriptor)++-- | Details about a JSON format.+detectedFileFormatDescriptor_jsonFormatDescriptor :: Lens.Lens' DetectedFileFormatDescriptor (Prelude.Maybe DetectedJsonFormatDescriptor)+detectedFileFormatDescriptor_jsonFormatDescriptor = Lens.lens (\DetectedFileFormatDescriptor' {jsonFormatDescriptor} -> jsonFormatDescriptor) (\s@DetectedFileFormatDescriptor' {} a -> s {jsonFormatDescriptor = a} :: DetectedFileFormatDescriptor)++instance Data.FromJSON DetectedFileFormatDescriptor where+ parseJSON =+ Data.withObject+ "DetectedFileFormatDescriptor"+ ( \x ->+ DetectedFileFormatDescriptor'+ Prelude.<$> (x Data..:? "CsvFormatDescriptor")+ Prelude.<*> (x Data..:? "JsonFormatDescriptor")+ )++instance+ Prelude.Hashable+ DetectedFileFormatDescriptor+ where+ hashWithSalt _salt DetectedFileFormatDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` csvFormatDescriptor+ `Prelude.hashWithSalt` jsonFormatDescriptor++instance Prelude.NFData DetectedFileFormatDescriptor where+ rnf DetectedFileFormatDescriptor' {..} =+ Prelude.rnf csvFormatDescriptor+ `Prelude.seq` Prelude.rnf jsonFormatDescriptor
+ gen/Amazonka/LookoutMetrics/Types/DetectedJsonFormatDescriptor.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.DetectedJsonFormatDescriptor+-- 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.LookoutMetrics.Types.DetectedJsonFormatDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DetectedField+import qualified Amazonka.Prelude as Prelude++-- | A detected JSON format descriptor.+--+-- /See:/ 'newDetectedJsonFormatDescriptor' smart constructor.+data DetectedJsonFormatDescriptor = DetectedJsonFormatDescriptor'+ { -- | The format\'s character set.+ charset :: Prelude.Maybe DetectedField,+ -- | The format\'s file compression.+ fileCompression :: Prelude.Maybe DetectedField+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedJsonFormatDescriptor' 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:+--+-- 'charset', 'detectedJsonFormatDescriptor_charset' - The format\'s character set.+--+-- 'fileCompression', 'detectedJsonFormatDescriptor_fileCompression' - The format\'s file compression.+newDetectedJsonFormatDescriptor ::+ DetectedJsonFormatDescriptor+newDetectedJsonFormatDescriptor =+ DetectedJsonFormatDescriptor'+ { charset =+ Prelude.Nothing,+ fileCompression = Prelude.Nothing+ }++-- | The format\'s character set.+detectedJsonFormatDescriptor_charset :: Lens.Lens' DetectedJsonFormatDescriptor (Prelude.Maybe DetectedField)+detectedJsonFormatDescriptor_charset = Lens.lens (\DetectedJsonFormatDescriptor' {charset} -> charset) (\s@DetectedJsonFormatDescriptor' {} a -> s {charset = a} :: DetectedJsonFormatDescriptor)++-- | The format\'s file compression.+detectedJsonFormatDescriptor_fileCompression :: Lens.Lens' DetectedJsonFormatDescriptor (Prelude.Maybe DetectedField)+detectedJsonFormatDescriptor_fileCompression = Lens.lens (\DetectedJsonFormatDescriptor' {fileCompression} -> fileCompression) (\s@DetectedJsonFormatDescriptor' {} a -> s {fileCompression = a} :: DetectedJsonFormatDescriptor)++instance Data.FromJSON DetectedJsonFormatDescriptor where+ parseJSON =+ Data.withObject+ "DetectedJsonFormatDescriptor"+ ( \x ->+ DetectedJsonFormatDescriptor'+ Prelude.<$> (x Data..:? "Charset")+ Prelude.<*> (x Data..:? "FileCompression")+ )++instance+ Prelude.Hashable+ DetectedJsonFormatDescriptor+ where+ hashWithSalt _salt DetectedJsonFormatDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` charset+ `Prelude.hashWithSalt` fileCompression++instance Prelude.NFData DetectedJsonFormatDescriptor where+ rnf DetectedJsonFormatDescriptor' {..} =+ Prelude.rnf charset+ `Prelude.seq` Prelude.rnf fileCompression
+ gen/Amazonka/LookoutMetrics/Types/DetectedMetricSetConfig.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.DetectedMetricSetConfig+-- 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.LookoutMetrics.Types.DetectedMetricSetConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DetectedField+import Amazonka.LookoutMetrics.Types.DetectedMetricSource+import qualified Amazonka.Prelude as Prelude++-- | An inferred dataset configuration.+--+-- /See:/ 'newDetectedMetricSetConfig' smart constructor.+data DetectedMetricSetConfig = DetectedMetricSetConfig'+ { -- | The dataset\'s interval.+ metricSetFrequency :: Prelude.Maybe DetectedField,+ -- | The dataset\'s data source.+ metricSource :: Prelude.Maybe DetectedMetricSource,+ -- | The dataset\'s offset.+ offset :: Prelude.Maybe DetectedField+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedMetricSetConfig' 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:+--+-- 'metricSetFrequency', 'detectedMetricSetConfig_metricSetFrequency' - The dataset\'s interval.+--+-- 'metricSource', 'detectedMetricSetConfig_metricSource' - The dataset\'s data source.+--+-- 'offset', 'detectedMetricSetConfig_offset' - The dataset\'s offset.+newDetectedMetricSetConfig ::+ DetectedMetricSetConfig+newDetectedMetricSetConfig =+ DetectedMetricSetConfig'+ { metricSetFrequency =+ Prelude.Nothing,+ metricSource = Prelude.Nothing,+ offset = Prelude.Nothing+ }++-- | The dataset\'s interval.+detectedMetricSetConfig_metricSetFrequency :: Lens.Lens' DetectedMetricSetConfig (Prelude.Maybe DetectedField)+detectedMetricSetConfig_metricSetFrequency = Lens.lens (\DetectedMetricSetConfig' {metricSetFrequency} -> metricSetFrequency) (\s@DetectedMetricSetConfig' {} a -> s {metricSetFrequency = a} :: DetectedMetricSetConfig)++-- | The dataset\'s data source.+detectedMetricSetConfig_metricSource :: Lens.Lens' DetectedMetricSetConfig (Prelude.Maybe DetectedMetricSource)+detectedMetricSetConfig_metricSource = Lens.lens (\DetectedMetricSetConfig' {metricSource} -> metricSource) (\s@DetectedMetricSetConfig' {} a -> s {metricSource = a} :: DetectedMetricSetConfig)++-- | The dataset\'s offset.+detectedMetricSetConfig_offset :: Lens.Lens' DetectedMetricSetConfig (Prelude.Maybe DetectedField)+detectedMetricSetConfig_offset = Lens.lens (\DetectedMetricSetConfig' {offset} -> offset) (\s@DetectedMetricSetConfig' {} a -> s {offset = a} :: DetectedMetricSetConfig)++instance Data.FromJSON DetectedMetricSetConfig where+ parseJSON =+ Data.withObject+ "DetectedMetricSetConfig"+ ( \x ->+ DetectedMetricSetConfig'+ Prelude.<$> (x Data..:? "MetricSetFrequency")+ Prelude.<*> (x Data..:? "MetricSource")+ Prelude.<*> (x Data..:? "Offset")+ )++instance Prelude.Hashable DetectedMetricSetConfig where+ hashWithSalt _salt DetectedMetricSetConfig' {..} =+ _salt+ `Prelude.hashWithSalt` metricSetFrequency+ `Prelude.hashWithSalt` metricSource+ `Prelude.hashWithSalt` offset++instance Prelude.NFData DetectedMetricSetConfig where+ rnf DetectedMetricSetConfig' {..} =+ Prelude.rnf metricSetFrequency+ `Prelude.seq` Prelude.rnf metricSource+ `Prelude.seq` Prelude.rnf offset
+ gen/Amazonka/LookoutMetrics/Types/DetectedMetricSource.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.DetectedMetricSource+-- 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.LookoutMetrics.Types.DetectedMetricSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DetectedS3SourceConfig+import qualified Amazonka.Prelude as Prelude++-- | An inferred data source.+--+-- /See:/ 'newDetectedMetricSource' smart constructor.+data DetectedMetricSource = DetectedMetricSource'+ { -- | The data source\'s source configuration.+ s3SourceConfig :: Prelude.Maybe DetectedS3SourceConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedMetricSource' 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:+--+-- 's3SourceConfig', 'detectedMetricSource_s3SourceConfig' - The data source\'s source configuration.+newDetectedMetricSource ::+ DetectedMetricSource+newDetectedMetricSource =+ DetectedMetricSource'+ { s3SourceConfig =+ Prelude.Nothing+ }++-- | The data source\'s source configuration.+detectedMetricSource_s3SourceConfig :: Lens.Lens' DetectedMetricSource (Prelude.Maybe DetectedS3SourceConfig)+detectedMetricSource_s3SourceConfig = Lens.lens (\DetectedMetricSource' {s3SourceConfig} -> s3SourceConfig) (\s@DetectedMetricSource' {} a -> s {s3SourceConfig = a} :: DetectedMetricSource)++instance Data.FromJSON DetectedMetricSource where+ parseJSON =+ Data.withObject+ "DetectedMetricSource"+ ( \x ->+ DetectedMetricSource'+ Prelude.<$> (x Data..:? "S3SourceConfig")+ )++instance Prelude.Hashable DetectedMetricSource where+ hashWithSalt _salt DetectedMetricSource' {..} =+ _salt `Prelude.hashWithSalt` s3SourceConfig++instance Prelude.NFData DetectedMetricSource where+ rnf DetectedMetricSource' {..} =+ Prelude.rnf s3SourceConfig
+ gen/Amazonka/LookoutMetrics/Types/DetectedS3SourceConfig.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.DetectedS3SourceConfig+-- 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.LookoutMetrics.Types.DetectedS3SourceConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DetectedFileFormatDescriptor+import qualified Amazonka.Prelude as Prelude++-- | An inferred source configuration.+--+-- /See:/ 'newDetectedS3SourceConfig' smart constructor.+data DetectedS3SourceConfig = DetectedS3SourceConfig'+ { -- | The source\'s file format descriptor.+ fileFormatDescriptor :: Prelude.Maybe DetectedFileFormatDescriptor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedS3SourceConfig' 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:+--+-- 'fileFormatDescriptor', 'detectedS3SourceConfig_fileFormatDescriptor' - The source\'s file format descriptor.+newDetectedS3SourceConfig ::+ DetectedS3SourceConfig+newDetectedS3SourceConfig =+ DetectedS3SourceConfig'+ { fileFormatDescriptor =+ Prelude.Nothing+ }++-- | The source\'s file format descriptor.+detectedS3SourceConfig_fileFormatDescriptor :: Lens.Lens' DetectedS3SourceConfig (Prelude.Maybe DetectedFileFormatDescriptor)+detectedS3SourceConfig_fileFormatDescriptor = Lens.lens (\DetectedS3SourceConfig' {fileFormatDescriptor} -> fileFormatDescriptor) (\s@DetectedS3SourceConfig' {} a -> s {fileFormatDescriptor = a} :: DetectedS3SourceConfig)++instance Data.FromJSON DetectedS3SourceConfig where+ parseJSON =+ Data.withObject+ "DetectedS3SourceConfig"+ ( \x ->+ DetectedS3SourceConfig'+ Prelude.<$> (x Data..:? "FileFormatDescriptor")+ )++instance Prelude.Hashable DetectedS3SourceConfig where+ hashWithSalt _salt DetectedS3SourceConfig' {..} =+ _salt `Prelude.hashWithSalt` fileFormatDescriptor++instance Prelude.NFData DetectedS3SourceConfig where+ rnf DetectedS3SourceConfig' {..} =+ Prelude.rnf fileFormatDescriptor
+ gen/Amazonka/LookoutMetrics/Types/DimensionContribution.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.DimensionContribution+-- 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.LookoutMetrics.Types.DimensionContribution where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DimensionValueContribution+import qualified Amazonka.Prelude as Prelude++-- | Details about a dimension that contributed to an anomaly.+--+-- /See:/ 'newDimensionContribution' smart constructor.+data DimensionContribution = DimensionContribution'+ { -- | The name of the dimension.+ dimensionName :: Prelude.Maybe Prelude.Text,+ -- | A list of dimension values that contributed to the anomaly.+ dimensionValueContributionList :: Prelude.Maybe [DimensionValueContribution]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionContribution' 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:+--+-- 'dimensionName', 'dimensionContribution_dimensionName' - The name of the dimension.+--+-- 'dimensionValueContributionList', 'dimensionContribution_dimensionValueContributionList' - A list of dimension values that contributed to the anomaly.+newDimensionContribution ::+ DimensionContribution+newDimensionContribution =+ DimensionContribution'+ { dimensionName =+ Prelude.Nothing,+ dimensionValueContributionList = Prelude.Nothing+ }++-- | The name of the dimension.+dimensionContribution_dimensionName :: Lens.Lens' DimensionContribution (Prelude.Maybe Prelude.Text)+dimensionContribution_dimensionName = Lens.lens (\DimensionContribution' {dimensionName} -> dimensionName) (\s@DimensionContribution' {} a -> s {dimensionName = a} :: DimensionContribution)++-- | A list of dimension values that contributed to the anomaly.+dimensionContribution_dimensionValueContributionList :: Lens.Lens' DimensionContribution (Prelude.Maybe [DimensionValueContribution])+dimensionContribution_dimensionValueContributionList = Lens.lens (\DimensionContribution' {dimensionValueContributionList} -> dimensionValueContributionList) (\s@DimensionContribution' {} a -> s {dimensionValueContributionList = a} :: DimensionContribution) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DimensionContribution where+ parseJSON =+ Data.withObject+ "DimensionContribution"+ ( \x ->+ DimensionContribution'+ Prelude.<$> (x Data..:? "DimensionName")+ Prelude.<*> ( x+ Data..:? "DimensionValueContributionList"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable DimensionContribution where+ hashWithSalt _salt DimensionContribution' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionName+ `Prelude.hashWithSalt` dimensionValueContributionList++instance Prelude.NFData DimensionContribution where+ rnf DimensionContribution' {..} =+ Prelude.rnf dimensionName+ `Prelude.seq` Prelude.rnf dimensionValueContributionList
+ gen/Amazonka/LookoutMetrics/Types/DimensionFilter.hs view
@@ -0,0 +1,97 @@+{-# 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.LookoutMetrics.Types.DimensionFilter+-- 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.LookoutMetrics.Types.DimensionFilter 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 dimension filter, containing DimensionName and DimensionValueList.+--+-- /See:/ 'newDimensionFilter' smart constructor.+data DimensionFilter = DimensionFilter'+ { -- | The name of the dimension to filter on.+ dimensionName :: Prelude.Maybe Prelude.Text,+ -- | The list of values for the dimension specified in DimensionName that you+ -- want to filter on.+ dimensionValueList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionFilter' 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:+--+-- 'dimensionName', 'dimensionFilter_dimensionName' - The name of the dimension to filter on.+--+-- 'dimensionValueList', 'dimensionFilter_dimensionValueList' - The list of values for the dimension specified in DimensionName that you+-- want to filter on.+newDimensionFilter ::+ DimensionFilter+newDimensionFilter =+ DimensionFilter'+ { dimensionName = Prelude.Nothing,+ dimensionValueList = Prelude.Nothing+ }++-- | The name of the dimension to filter on.+dimensionFilter_dimensionName :: Lens.Lens' DimensionFilter (Prelude.Maybe Prelude.Text)+dimensionFilter_dimensionName = Lens.lens (\DimensionFilter' {dimensionName} -> dimensionName) (\s@DimensionFilter' {} a -> s {dimensionName = a} :: DimensionFilter)++-- | The list of values for the dimension specified in DimensionName that you+-- want to filter on.+dimensionFilter_dimensionValueList :: Lens.Lens' DimensionFilter (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+dimensionFilter_dimensionValueList = Lens.lens (\DimensionFilter' {dimensionValueList} -> dimensionValueList) (\s@DimensionFilter' {} a -> s {dimensionValueList = a} :: DimensionFilter) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON DimensionFilter where+ parseJSON =+ Data.withObject+ "DimensionFilter"+ ( \x ->+ DimensionFilter'+ Prelude.<$> (x Data..:? "DimensionName")+ Prelude.<*> (x Data..:? "DimensionValueList")+ )++instance Prelude.Hashable DimensionFilter where+ hashWithSalt _salt DimensionFilter' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionName+ `Prelude.hashWithSalt` dimensionValueList++instance Prelude.NFData DimensionFilter where+ rnf DimensionFilter' {..} =+ Prelude.rnf dimensionName+ `Prelude.seq` Prelude.rnf dimensionValueList++instance Data.ToJSON DimensionFilter where+ toJSON DimensionFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DimensionName" Data..=) Prelude.<$> dimensionName,+ ("DimensionValueList" Data..=)+ Prelude.<$> dimensionValueList+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/DimensionNameValue.hs view
@@ -0,0 +1,91 @@+{-# 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.LookoutMetrics.Types.DimensionNameValue+-- 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.LookoutMetrics.Types.DimensionNameValue 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 dimension name and value.+--+-- /See:/ 'newDimensionNameValue' smart constructor.+data DimensionNameValue = DimensionNameValue'+ { -- | The name of the dimension.+ dimensionName :: Prelude.Text,+ -- | The value of the dimension.+ dimensionValue :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionNameValue' 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:+--+-- 'dimensionName', 'dimensionNameValue_dimensionName' - The name of the dimension.+--+-- 'dimensionValue', 'dimensionNameValue_dimensionValue' - The value of the dimension.+newDimensionNameValue ::+ -- | 'dimensionName'+ Prelude.Text ->+ -- | 'dimensionValue'+ Prelude.Text ->+ DimensionNameValue+newDimensionNameValue+ pDimensionName_+ pDimensionValue_ =+ DimensionNameValue'+ { dimensionName =+ pDimensionName_,+ dimensionValue = pDimensionValue_+ }++-- | The name of the dimension.+dimensionNameValue_dimensionName :: Lens.Lens' DimensionNameValue Prelude.Text+dimensionNameValue_dimensionName = Lens.lens (\DimensionNameValue' {dimensionName} -> dimensionName) (\s@DimensionNameValue' {} a -> s {dimensionName = a} :: DimensionNameValue)++-- | The value of the dimension.+dimensionNameValue_dimensionValue :: Lens.Lens' DimensionNameValue Prelude.Text+dimensionNameValue_dimensionValue = Lens.lens (\DimensionNameValue' {dimensionValue} -> dimensionValue) (\s@DimensionNameValue' {} a -> s {dimensionValue = a} :: DimensionNameValue)++instance Data.FromJSON DimensionNameValue where+ parseJSON =+ Data.withObject+ "DimensionNameValue"+ ( \x ->+ DimensionNameValue'+ Prelude.<$> (x Data..: "DimensionName")+ Prelude.<*> (x Data..: "DimensionValue")+ )++instance Prelude.Hashable DimensionNameValue where+ hashWithSalt _salt DimensionNameValue' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionName+ `Prelude.hashWithSalt` dimensionValue++instance Prelude.NFData DimensionNameValue where+ rnf DimensionNameValue' {..} =+ Prelude.rnf dimensionName+ `Prelude.seq` Prelude.rnf dimensionValue
+ gen/Amazonka/LookoutMetrics/Types/DimensionValueContribution.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.LookoutMetrics.Types.DimensionValueContribution+-- 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.LookoutMetrics.Types.DimensionValueContribution 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 severity of a value of a dimension that contributed to an anomaly.+--+-- /See:/ 'newDimensionValueContribution' smart constructor.+data DimensionValueContribution = DimensionValueContribution'+ { -- | The severity score of the value.+ contributionScore :: Prelude.Maybe Prelude.Double,+ -- | The value of the dimension.+ dimensionValue :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DimensionValueContribution' 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:+--+-- 'contributionScore', 'dimensionValueContribution_contributionScore' - The severity score of the value.+--+-- 'dimensionValue', 'dimensionValueContribution_dimensionValue' - The value of the dimension.+newDimensionValueContribution ::+ DimensionValueContribution+newDimensionValueContribution =+ DimensionValueContribution'+ { contributionScore =+ Prelude.Nothing,+ dimensionValue = Prelude.Nothing+ }++-- | The severity score of the value.+dimensionValueContribution_contributionScore :: Lens.Lens' DimensionValueContribution (Prelude.Maybe Prelude.Double)+dimensionValueContribution_contributionScore = Lens.lens (\DimensionValueContribution' {contributionScore} -> contributionScore) (\s@DimensionValueContribution' {} a -> s {contributionScore = a} :: DimensionValueContribution)++-- | The value of the dimension.+dimensionValueContribution_dimensionValue :: Lens.Lens' DimensionValueContribution (Prelude.Maybe Prelude.Text)+dimensionValueContribution_dimensionValue = Lens.lens (\DimensionValueContribution' {dimensionValue} -> dimensionValue) (\s@DimensionValueContribution' {} a -> s {dimensionValue = a} :: DimensionValueContribution)++instance Data.FromJSON DimensionValueContribution where+ parseJSON =+ Data.withObject+ "DimensionValueContribution"+ ( \x ->+ DimensionValueContribution'+ Prelude.<$> (x Data..:? "ContributionScore")+ Prelude.<*> (x Data..:? "DimensionValue")+ )++instance Prelude.Hashable DimensionValueContribution where+ hashWithSalt _salt DimensionValueContribution' {..} =+ _salt+ `Prelude.hashWithSalt` contributionScore+ `Prelude.hashWithSalt` dimensionValue++instance Prelude.NFData DimensionValueContribution where+ rnf DimensionValueContribution' {..} =+ Prelude.rnf contributionScore+ `Prelude.seq` Prelude.rnf dimensionValue
+ gen/Amazonka/LookoutMetrics/Types/ExecutionStatus.hs view
@@ -0,0 +1,97 @@+{-# 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.LookoutMetrics.Types.ExecutionStatus+-- 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.LookoutMetrics.Types.ExecutionStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AnomalyDetectionTaskStatus+import qualified Amazonka.Prelude as Prelude++-- | The status of an anomaly detector run.+--+-- /See:/ 'newExecutionStatus' smart constructor.+data ExecutionStatus = ExecutionStatus'+ { -- | The reason that the run failed, if applicable.+ failureReason :: Prelude.Maybe Prelude.Text,+ -- | The run\'s status.+ status :: Prelude.Maybe AnomalyDetectionTaskStatus,+ -- | The run\'s timestamp.+ timestamp :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecutionStatus' 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:+--+-- 'failureReason', 'executionStatus_failureReason' - The reason that the run failed, if applicable.+--+-- 'status', 'executionStatus_status' - The run\'s status.+--+-- 'timestamp', 'executionStatus_timestamp' - The run\'s timestamp.+newExecutionStatus ::+ ExecutionStatus+newExecutionStatus =+ ExecutionStatus'+ { failureReason = Prelude.Nothing,+ status = Prelude.Nothing,+ timestamp = Prelude.Nothing+ }++-- | The reason that the run failed, if applicable.+executionStatus_failureReason :: Lens.Lens' ExecutionStatus (Prelude.Maybe Prelude.Text)+executionStatus_failureReason = Lens.lens (\ExecutionStatus' {failureReason} -> failureReason) (\s@ExecutionStatus' {} a -> s {failureReason = a} :: ExecutionStatus)++-- | The run\'s status.+executionStatus_status :: Lens.Lens' ExecutionStatus (Prelude.Maybe AnomalyDetectionTaskStatus)+executionStatus_status = Lens.lens (\ExecutionStatus' {status} -> status) (\s@ExecutionStatus' {} a -> s {status = a} :: ExecutionStatus)++-- | The run\'s timestamp.+executionStatus_timestamp :: Lens.Lens' ExecutionStatus (Prelude.Maybe Prelude.Text)+executionStatus_timestamp = Lens.lens (\ExecutionStatus' {timestamp} -> timestamp) (\s@ExecutionStatus' {} a -> s {timestamp = a} :: ExecutionStatus)++instance Data.FromJSON ExecutionStatus where+ parseJSON =+ Data.withObject+ "ExecutionStatus"+ ( \x ->+ ExecutionStatus'+ Prelude.<$> (x Data..:? "FailureReason")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "Timestamp")+ )++instance Prelude.Hashable ExecutionStatus where+ hashWithSalt _salt ExecutionStatus' {..} =+ _salt+ `Prelude.hashWithSalt` failureReason+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` timestamp++instance Prelude.NFData ExecutionStatus where+ rnf ExecutionStatus' {..} =+ Prelude.rnf failureReason+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf timestamp
+ gen/Amazonka/LookoutMetrics/Types/FileFormatDescriptor.hs view
@@ -0,0 +1,104 @@+{-# 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.LookoutMetrics.Types.FileFormatDescriptor+-- 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.LookoutMetrics.Types.FileFormatDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.CsvFormatDescriptor+import Amazonka.LookoutMetrics.Types.JsonFormatDescriptor+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a source file\'s formatting.+--+-- /See:/ 'newFileFormatDescriptor' smart constructor.+data FileFormatDescriptor = FileFormatDescriptor'+ { -- | Contains information about how a source CSV data file should be+ -- analyzed.+ csvFormatDescriptor :: Prelude.Maybe CsvFormatDescriptor,+ -- | Contains information about how a source JSON data file should be+ -- analyzed.+ jsonFormatDescriptor :: Prelude.Maybe JsonFormatDescriptor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FileFormatDescriptor' 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:+--+-- 'csvFormatDescriptor', 'fileFormatDescriptor_csvFormatDescriptor' - Contains information about how a source CSV data file should be+-- analyzed.+--+-- 'jsonFormatDescriptor', 'fileFormatDescriptor_jsonFormatDescriptor' - Contains information about how a source JSON data file should be+-- analyzed.+newFileFormatDescriptor ::+ FileFormatDescriptor+newFileFormatDescriptor =+ FileFormatDescriptor'+ { csvFormatDescriptor =+ Prelude.Nothing,+ jsonFormatDescriptor = Prelude.Nothing+ }++-- | Contains information about how a source CSV data file should be+-- analyzed.+fileFormatDescriptor_csvFormatDescriptor :: Lens.Lens' FileFormatDescriptor (Prelude.Maybe CsvFormatDescriptor)+fileFormatDescriptor_csvFormatDescriptor = Lens.lens (\FileFormatDescriptor' {csvFormatDescriptor} -> csvFormatDescriptor) (\s@FileFormatDescriptor' {} a -> s {csvFormatDescriptor = a} :: FileFormatDescriptor)++-- | Contains information about how a source JSON data file should be+-- analyzed.+fileFormatDescriptor_jsonFormatDescriptor :: Lens.Lens' FileFormatDescriptor (Prelude.Maybe JsonFormatDescriptor)+fileFormatDescriptor_jsonFormatDescriptor = Lens.lens (\FileFormatDescriptor' {jsonFormatDescriptor} -> jsonFormatDescriptor) (\s@FileFormatDescriptor' {} a -> s {jsonFormatDescriptor = a} :: FileFormatDescriptor)++instance Data.FromJSON FileFormatDescriptor where+ parseJSON =+ Data.withObject+ "FileFormatDescriptor"+ ( \x ->+ FileFormatDescriptor'+ Prelude.<$> (x Data..:? "CsvFormatDescriptor")+ Prelude.<*> (x Data..:? "JsonFormatDescriptor")+ )++instance Prelude.Hashable FileFormatDescriptor where+ hashWithSalt _salt FileFormatDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` csvFormatDescriptor+ `Prelude.hashWithSalt` jsonFormatDescriptor++instance Prelude.NFData FileFormatDescriptor where+ rnf FileFormatDescriptor' {..} =+ Prelude.rnf csvFormatDescriptor+ `Prelude.seq` Prelude.rnf jsonFormatDescriptor++instance Data.ToJSON FileFormatDescriptor where+ toJSON FileFormatDescriptor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CsvFormatDescriptor" Data..=)+ Prelude.<$> csvFormatDescriptor,+ ("JsonFormatDescriptor" Data..=)+ Prelude.<$> jsonFormatDescriptor+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/Filter.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.Filter+-- 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.LookoutMetrics.Types.Filter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.FilterOperation+import qualified Amazonka.Prelude as Prelude++-- | Describes a filter for choosing a subset of dimension values. Each+-- filter consists of the dimension that you want to include and the+-- condition statement. The condition statement is specified in the+-- @FilterOperation@ object.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+ { -- | The value that you want to include in the filter.+ dimensionValue :: Prelude.Maybe Prelude.Text,+ -- | The condition to apply.+ filterOperation :: Prelude.Maybe FilterOperation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' 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:+--+-- 'dimensionValue', 'filter_dimensionValue' - The value that you want to include in the filter.+--+-- 'filterOperation', 'filter_filterOperation' - The condition to apply.+newFilter ::+ Filter+newFilter =+ Filter'+ { dimensionValue = Prelude.Nothing,+ filterOperation = Prelude.Nothing+ }++-- | The value that you want to include in the filter.+filter_dimensionValue :: Lens.Lens' Filter (Prelude.Maybe Prelude.Text)+filter_dimensionValue = Lens.lens (\Filter' {dimensionValue} -> dimensionValue) (\s@Filter' {} a -> s {dimensionValue = a} :: Filter)++-- | The condition to apply.+filter_filterOperation :: Lens.Lens' Filter (Prelude.Maybe FilterOperation)+filter_filterOperation = Lens.lens (\Filter' {filterOperation} -> filterOperation) (\s@Filter' {} a -> s {filterOperation = a} :: Filter)++instance Data.FromJSON Filter where+ parseJSON =+ Data.withObject+ "Filter"+ ( \x ->+ Filter'+ Prelude.<$> (x Data..:? "DimensionValue")+ Prelude.<*> (x Data..:? "FilterOperation")+ )++instance Prelude.Hashable Filter where+ hashWithSalt _salt Filter' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionValue+ `Prelude.hashWithSalt` filterOperation++instance Prelude.NFData Filter where+ rnf Filter' {..} =+ Prelude.rnf dimensionValue+ `Prelude.seq` Prelude.rnf filterOperation++instance Data.ToJSON Filter where+ toJSON Filter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DimensionValue" Data..=)+ Prelude.<$> dimensionValue,+ ("FilterOperation" Data..=)+ Prelude.<$> filterOperation+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/FilterOperation.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.FilterOperation+-- 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.LookoutMetrics.Types.FilterOperation+ ( FilterOperation+ ( ..,+ FilterOperation_EQUALS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterOperation = FilterOperation'+ { fromFilterOperation ::+ 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 FilterOperation_EQUALS :: FilterOperation+pattern FilterOperation_EQUALS = FilterOperation' "EQUALS"++{-# COMPLETE+ FilterOperation_EQUALS,+ FilterOperation'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/Frequency.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.Frequency+-- 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.LookoutMetrics.Types.Frequency+ ( Frequency+ ( ..,+ Frequency_P1D,+ Frequency_PT10M,+ Frequency_PT1H,+ Frequency_PT5M+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Frequency = Frequency'+ { fromFrequency ::+ 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 Frequency_P1D :: Frequency+pattern Frequency_P1D = Frequency' "P1D"++pattern Frequency_PT10M :: Frequency+pattern Frequency_PT10M = Frequency' "PT10M"++pattern Frequency_PT1H :: Frequency+pattern Frequency_PT1H = Frequency' "PT1H"++pattern Frequency_PT5M :: Frequency+pattern Frequency_PT5M = Frequency' "PT5M"++{-# COMPLETE+ Frequency_P1D,+ Frequency_PT10M,+ Frequency_PT1H,+ Frequency_PT5M,+ Frequency'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/InterMetricImpactDetails.hs view
@@ -0,0 +1,120 @@+{-# 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.LookoutMetrics.Types.InterMetricImpactDetails+-- 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.LookoutMetrics.Types.InterMetricImpactDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.RelationshipType+import qualified Amazonka.Prelude as Prelude++-- | Aggregated details about the measures contributing to the anomaly group,+-- and the measures potentially impacted by the anomaly group.+--+-- /See:/ 'newInterMetricImpactDetails' smart constructor.+data InterMetricImpactDetails = InterMetricImpactDetails'+ { -- | The ID of the anomaly group.+ anomalyGroupId :: Prelude.Maybe Prelude.Text,+ -- | For potential causes (@CAUSE_OF_INPUT_ANOMALY_GROUP@), the percentage+ -- contribution the measure has in causing the anomalies.+ contributionPercentage :: Prelude.Maybe Prelude.Double,+ -- | The name of the measure.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | Whether a measure is a potential cause of the anomaly group+ -- (@CAUSE_OF_INPUT_ANOMALY_GROUP@), or whether the measure is impacted by+ -- the anomaly group (@EFFECT_OF_INPUT_ANOMALY_GROUP@).+ relationshipType :: Prelude.Maybe RelationshipType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InterMetricImpactDetails' 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:+--+-- 'anomalyGroupId', 'interMetricImpactDetails_anomalyGroupId' - The ID of the anomaly group.+--+-- 'contributionPercentage', 'interMetricImpactDetails_contributionPercentage' - For potential causes (@CAUSE_OF_INPUT_ANOMALY_GROUP@), the percentage+-- contribution the measure has in causing the anomalies.+--+-- 'metricName', 'interMetricImpactDetails_metricName' - The name of the measure.+--+-- 'relationshipType', 'interMetricImpactDetails_relationshipType' - Whether a measure is a potential cause of the anomaly group+-- (@CAUSE_OF_INPUT_ANOMALY_GROUP@), or whether the measure is impacted by+-- the anomaly group (@EFFECT_OF_INPUT_ANOMALY_GROUP@).+newInterMetricImpactDetails ::+ InterMetricImpactDetails+newInterMetricImpactDetails =+ InterMetricImpactDetails'+ { anomalyGroupId =+ Prelude.Nothing,+ contributionPercentage = Prelude.Nothing,+ metricName = Prelude.Nothing,+ relationshipType = Prelude.Nothing+ }++-- | The ID of the anomaly group.+interMetricImpactDetails_anomalyGroupId :: Lens.Lens' InterMetricImpactDetails (Prelude.Maybe Prelude.Text)+interMetricImpactDetails_anomalyGroupId = Lens.lens (\InterMetricImpactDetails' {anomalyGroupId} -> anomalyGroupId) (\s@InterMetricImpactDetails' {} a -> s {anomalyGroupId = a} :: InterMetricImpactDetails)++-- | For potential causes (@CAUSE_OF_INPUT_ANOMALY_GROUP@), the percentage+-- contribution the measure has in causing the anomalies.+interMetricImpactDetails_contributionPercentage :: Lens.Lens' InterMetricImpactDetails (Prelude.Maybe Prelude.Double)+interMetricImpactDetails_contributionPercentage = Lens.lens (\InterMetricImpactDetails' {contributionPercentage} -> contributionPercentage) (\s@InterMetricImpactDetails' {} a -> s {contributionPercentage = a} :: InterMetricImpactDetails)++-- | The name of the measure.+interMetricImpactDetails_metricName :: Lens.Lens' InterMetricImpactDetails (Prelude.Maybe Prelude.Text)+interMetricImpactDetails_metricName = Lens.lens (\InterMetricImpactDetails' {metricName} -> metricName) (\s@InterMetricImpactDetails' {} a -> s {metricName = a} :: InterMetricImpactDetails)++-- | Whether a measure is a potential cause of the anomaly group+-- (@CAUSE_OF_INPUT_ANOMALY_GROUP@), or whether the measure is impacted by+-- the anomaly group (@EFFECT_OF_INPUT_ANOMALY_GROUP@).+interMetricImpactDetails_relationshipType :: Lens.Lens' InterMetricImpactDetails (Prelude.Maybe RelationshipType)+interMetricImpactDetails_relationshipType = Lens.lens (\InterMetricImpactDetails' {relationshipType} -> relationshipType) (\s@InterMetricImpactDetails' {} a -> s {relationshipType = a} :: InterMetricImpactDetails)++instance Data.FromJSON InterMetricImpactDetails where+ parseJSON =+ Data.withObject+ "InterMetricImpactDetails"+ ( \x ->+ InterMetricImpactDetails'+ Prelude.<$> (x Data..:? "AnomalyGroupId")+ Prelude.<*> (x Data..:? "ContributionPercentage")+ Prelude.<*> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "RelationshipType")+ )++instance Prelude.Hashable InterMetricImpactDetails where+ hashWithSalt _salt InterMetricImpactDetails' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyGroupId+ `Prelude.hashWithSalt` contributionPercentage+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` relationshipType++instance Prelude.NFData InterMetricImpactDetails where+ rnf InterMetricImpactDetails' {..} =+ Prelude.rnf anomalyGroupId+ `Prelude.seq` Prelude.rnf contributionPercentage+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf relationshipType
+ gen/Amazonka/LookoutMetrics/Types/ItemizedMetricStats.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.LookoutMetrics.Types.ItemizedMetricStats+-- 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.LookoutMetrics.Types.ItemizedMetricStats 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++-- | Aggregated statistics about a measure affected by an anomaly.+--+-- /See:/ 'newItemizedMetricStats' smart constructor.+data ItemizedMetricStats = ItemizedMetricStats'+ { -- | The name of the measure.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | The number of times that the measure appears.+ occurrenceCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ItemizedMetricStats' 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:+--+-- 'metricName', 'itemizedMetricStats_metricName' - The name of the measure.+--+-- 'occurrenceCount', 'itemizedMetricStats_occurrenceCount' - The number of times that the measure appears.+newItemizedMetricStats ::+ ItemizedMetricStats+newItemizedMetricStats =+ ItemizedMetricStats'+ { metricName = Prelude.Nothing,+ occurrenceCount = Prelude.Nothing+ }++-- | The name of the measure.+itemizedMetricStats_metricName :: Lens.Lens' ItemizedMetricStats (Prelude.Maybe Prelude.Text)+itemizedMetricStats_metricName = Lens.lens (\ItemizedMetricStats' {metricName} -> metricName) (\s@ItemizedMetricStats' {} a -> s {metricName = a} :: ItemizedMetricStats)++-- | The number of times that the measure appears.+itemizedMetricStats_occurrenceCount :: Lens.Lens' ItemizedMetricStats (Prelude.Maybe Prelude.Int)+itemizedMetricStats_occurrenceCount = Lens.lens (\ItemizedMetricStats' {occurrenceCount} -> occurrenceCount) (\s@ItemizedMetricStats' {} a -> s {occurrenceCount = a} :: ItemizedMetricStats)++instance Data.FromJSON ItemizedMetricStats where+ parseJSON =+ Data.withObject+ "ItemizedMetricStats"+ ( \x ->+ ItemizedMetricStats'+ Prelude.<$> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "OccurrenceCount")+ )++instance Prelude.Hashable ItemizedMetricStats where+ hashWithSalt _salt ItemizedMetricStats' {..} =+ _salt+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` occurrenceCount++instance Prelude.NFData ItemizedMetricStats where+ rnf ItemizedMetricStats' {..} =+ Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf occurrenceCount
+ gen/Amazonka/LookoutMetrics/Types/JsonFileCompression.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.LookoutMetrics.Types.JsonFileCompression+-- 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.LookoutMetrics.Types.JsonFileCompression+ ( JsonFileCompression+ ( ..,+ JsonFileCompression_GZIP,+ JsonFileCompression_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JsonFileCompression = JsonFileCompression'+ { fromJsonFileCompression ::+ 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 JsonFileCompression_GZIP :: JsonFileCompression+pattern JsonFileCompression_GZIP = JsonFileCompression' "GZIP"++pattern JsonFileCompression_NONE :: JsonFileCompression+pattern JsonFileCompression_NONE = JsonFileCompression' "NONE"++{-# COMPLETE+ JsonFileCompression_GZIP,+ JsonFileCompression_NONE,+ JsonFileCompression'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/JsonFormatDescriptor.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.JsonFormatDescriptor+-- 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.LookoutMetrics.Types.JsonFormatDescriptor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.JsonFileCompression+import qualified Amazonka.Prelude as Prelude++-- | Contains information about how a source JSON data file should be+-- analyzed.+--+-- /See:/ 'newJsonFormatDescriptor' smart constructor.+data JsonFormatDescriptor = JsonFormatDescriptor'+ { -- | The character set in which the source JSON file is written.+ charset :: Prelude.Maybe Prelude.Text,+ -- | The level of compression of the source CSV file.+ fileCompression :: Prelude.Maybe JsonFileCompression+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JsonFormatDescriptor' 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:+--+-- 'charset', 'jsonFormatDescriptor_charset' - The character set in which the source JSON file is written.+--+-- 'fileCompression', 'jsonFormatDescriptor_fileCompression' - The level of compression of the source CSV file.+newJsonFormatDescriptor ::+ JsonFormatDescriptor+newJsonFormatDescriptor =+ JsonFormatDescriptor'+ { charset = Prelude.Nothing,+ fileCompression = Prelude.Nothing+ }++-- | The character set in which the source JSON file is written.+jsonFormatDescriptor_charset :: Lens.Lens' JsonFormatDescriptor (Prelude.Maybe Prelude.Text)+jsonFormatDescriptor_charset = Lens.lens (\JsonFormatDescriptor' {charset} -> charset) (\s@JsonFormatDescriptor' {} a -> s {charset = a} :: JsonFormatDescriptor)++-- | The level of compression of the source CSV file.+jsonFormatDescriptor_fileCompression :: Lens.Lens' JsonFormatDescriptor (Prelude.Maybe JsonFileCompression)+jsonFormatDescriptor_fileCompression = Lens.lens (\JsonFormatDescriptor' {fileCompression} -> fileCompression) (\s@JsonFormatDescriptor' {} a -> s {fileCompression = a} :: JsonFormatDescriptor)++instance Data.FromJSON JsonFormatDescriptor where+ parseJSON =+ Data.withObject+ "JsonFormatDescriptor"+ ( \x ->+ JsonFormatDescriptor'+ Prelude.<$> (x Data..:? "Charset")+ Prelude.<*> (x Data..:? "FileCompression")+ )++instance Prelude.Hashable JsonFormatDescriptor where+ hashWithSalt _salt JsonFormatDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` charset+ `Prelude.hashWithSalt` fileCompression++instance Prelude.NFData JsonFormatDescriptor where+ rnf JsonFormatDescriptor' {..} =+ Prelude.rnf charset+ `Prelude.seq` Prelude.rnf fileCompression++instance Data.ToJSON JsonFormatDescriptor where+ toJSON JsonFormatDescriptor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Charset" Data..=) Prelude.<$> charset,+ ("FileCompression" Data..=)+ Prelude.<$> fileCompression+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/LambdaConfiguration.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.LambdaConfiguration+-- 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.LookoutMetrics.Types.LambdaConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a Lambda configuration.+--+-- /See:/ 'newLambdaConfiguration' smart constructor.+data LambdaConfiguration = LambdaConfiguration'+ { -- | The ARN of an IAM role that has permission to invoke the Lambda+ -- function.+ roleArn :: Prelude.Text,+ -- | The ARN of the Lambda function.+ lambdaArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaConfiguration' 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:+--+-- 'roleArn', 'lambdaConfiguration_roleArn' - The ARN of an IAM role that has permission to invoke the Lambda+-- function.+--+-- 'lambdaArn', 'lambdaConfiguration_lambdaArn' - The ARN of the Lambda function.+newLambdaConfiguration ::+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'lambdaArn'+ Prelude.Text ->+ LambdaConfiguration+newLambdaConfiguration pRoleArn_ pLambdaArn_ =+ LambdaConfiguration'+ { roleArn = pRoleArn_,+ lambdaArn = pLambdaArn_+ }++-- | The ARN of an IAM role that has permission to invoke the Lambda+-- function.+lambdaConfiguration_roleArn :: Lens.Lens' LambdaConfiguration Prelude.Text+lambdaConfiguration_roleArn = Lens.lens (\LambdaConfiguration' {roleArn} -> roleArn) (\s@LambdaConfiguration' {} a -> s {roleArn = a} :: LambdaConfiguration)++-- | The ARN of the Lambda function.+lambdaConfiguration_lambdaArn :: Lens.Lens' LambdaConfiguration Prelude.Text+lambdaConfiguration_lambdaArn = Lens.lens (\LambdaConfiguration' {lambdaArn} -> lambdaArn) (\s@LambdaConfiguration' {} a -> s {lambdaArn = a} :: LambdaConfiguration)++instance Data.FromJSON LambdaConfiguration where+ parseJSON =+ Data.withObject+ "LambdaConfiguration"+ ( \x ->+ LambdaConfiguration'+ Prelude.<$> (x Data..: "RoleArn")+ Prelude.<*> (x Data..: "LambdaArn")+ )++instance Prelude.Hashable LambdaConfiguration where+ hashWithSalt _salt LambdaConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` lambdaArn++instance Prelude.NFData LambdaConfiguration where+ rnf LambdaConfiguration' {..} =+ Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf lambdaArn++instance Data.ToJSON LambdaConfiguration where+ toJSON LambdaConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("RoleArn" Data..= roleArn),+ Prelude.Just ("LambdaArn" Data..= lambdaArn)+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/Metric.hs view
@@ -0,0 +1,113 @@+{-# 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.LookoutMetrics.Types.Metric+-- 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.LookoutMetrics.Types.Metric where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AggregationFunction+import qualified Amazonka.Prelude as Prelude++-- | A calculation made by contrasting a measure and a dimension from your+-- source data.+--+-- /See:/ 'newMetric' smart constructor.+data Metric = Metric'+ { -- | The namespace for the metric.+ namespace :: Prelude.Maybe Prelude.Text,+ -- | The name of the metric.+ metricName :: Prelude.Text,+ -- | The function with which the metric is calculated.+ aggregationFunction :: AggregationFunction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Metric' 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:+--+-- 'namespace', 'metric_namespace' - The namespace for the metric.+--+-- 'metricName', 'metric_metricName' - The name of the metric.+--+-- 'aggregationFunction', 'metric_aggregationFunction' - The function with which the metric is calculated.+newMetric ::+ -- | 'metricName'+ Prelude.Text ->+ -- | 'aggregationFunction'+ AggregationFunction ->+ Metric+newMetric pMetricName_ pAggregationFunction_ =+ Metric'+ { namespace = Prelude.Nothing,+ metricName = pMetricName_,+ aggregationFunction = pAggregationFunction_+ }++-- | The namespace for the metric.+metric_namespace :: Lens.Lens' Metric (Prelude.Maybe Prelude.Text)+metric_namespace = Lens.lens (\Metric' {namespace} -> namespace) (\s@Metric' {} a -> s {namespace = a} :: Metric)++-- | The name of the metric.+metric_metricName :: Lens.Lens' Metric Prelude.Text+metric_metricName = Lens.lens (\Metric' {metricName} -> metricName) (\s@Metric' {} a -> s {metricName = a} :: Metric)++-- | The function with which the metric is calculated.+metric_aggregationFunction :: Lens.Lens' Metric AggregationFunction+metric_aggregationFunction = Lens.lens (\Metric' {aggregationFunction} -> aggregationFunction) (\s@Metric' {} a -> s {aggregationFunction = a} :: Metric)++instance Data.FromJSON Metric where+ parseJSON =+ Data.withObject+ "Metric"+ ( \x ->+ Metric'+ Prelude.<$> (x Data..:? "Namespace")+ Prelude.<*> (x Data..: "MetricName")+ Prelude.<*> (x Data..: "AggregationFunction")+ )++instance Prelude.Hashable Metric where+ hashWithSalt _salt Metric' {..} =+ _salt+ `Prelude.hashWithSalt` namespace+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` aggregationFunction++instance Prelude.NFData Metric where+ rnf Metric' {..} =+ Prelude.rnf namespace+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf aggregationFunction++instance Data.ToJSON Metric where+ toJSON Metric' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Namespace" Data..=) Prelude.<$> namespace,+ Prelude.Just ("MetricName" Data..= metricName),+ Prelude.Just+ ("AggregationFunction" Data..= aggregationFunction)+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/MetricLevelImpact.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.LookoutMetrics.Types.MetricLevelImpact+-- 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.LookoutMetrics.Types.MetricLevelImpact where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.ContributionMatrix+import qualified Amazonka.Prelude as Prelude++-- | Details about a measure affected by an anomaly.+--+-- /See:/ 'newMetricLevelImpact' smart constructor.+data MetricLevelImpact = MetricLevelImpact'+ { -- | Details about the dimensions that contributed to the anomaly.+ contributionMatrix :: Prelude.Maybe ContributionMatrix,+ -- | The name of the measure.+ metricName :: Prelude.Maybe Prelude.Text,+ -- | The number of anomalous metrics for the measure.+ numTimeSeries :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricLevelImpact' 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:+--+-- 'contributionMatrix', 'metricLevelImpact_contributionMatrix' - Details about the dimensions that contributed to the anomaly.+--+-- 'metricName', 'metricLevelImpact_metricName' - The name of the measure.+--+-- 'numTimeSeries', 'metricLevelImpact_numTimeSeries' - The number of anomalous metrics for the measure.+newMetricLevelImpact ::+ MetricLevelImpact+newMetricLevelImpact =+ MetricLevelImpact'+ { contributionMatrix =+ Prelude.Nothing,+ metricName = Prelude.Nothing,+ numTimeSeries = Prelude.Nothing+ }++-- | Details about the dimensions that contributed to the anomaly.+metricLevelImpact_contributionMatrix :: Lens.Lens' MetricLevelImpact (Prelude.Maybe ContributionMatrix)+metricLevelImpact_contributionMatrix = Lens.lens (\MetricLevelImpact' {contributionMatrix} -> contributionMatrix) (\s@MetricLevelImpact' {} a -> s {contributionMatrix = a} :: MetricLevelImpact)++-- | The name of the measure.+metricLevelImpact_metricName :: Lens.Lens' MetricLevelImpact (Prelude.Maybe Prelude.Text)+metricLevelImpact_metricName = Lens.lens (\MetricLevelImpact' {metricName} -> metricName) (\s@MetricLevelImpact' {} a -> s {metricName = a} :: MetricLevelImpact)++-- | The number of anomalous metrics for the measure.+metricLevelImpact_numTimeSeries :: Lens.Lens' MetricLevelImpact (Prelude.Maybe Prelude.Int)+metricLevelImpact_numTimeSeries = Lens.lens (\MetricLevelImpact' {numTimeSeries} -> numTimeSeries) (\s@MetricLevelImpact' {} a -> s {numTimeSeries = a} :: MetricLevelImpact)++instance Data.FromJSON MetricLevelImpact where+ parseJSON =+ Data.withObject+ "MetricLevelImpact"+ ( \x ->+ MetricLevelImpact'+ Prelude.<$> (x Data..:? "ContributionMatrix")+ Prelude.<*> (x Data..:? "MetricName")+ Prelude.<*> (x Data..:? "NumTimeSeries")+ )++instance Prelude.Hashable MetricLevelImpact where+ hashWithSalt _salt MetricLevelImpact' {..} =+ _salt+ `Prelude.hashWithSalt` contributionMatrix+ `Prelude.hashWithSalt` metricName+ `Prelude.hashWithSalt` numTimeSeries++instance Prelude.NFData MetricLevelImpact where+ rnf MetricLevelImpact' {..} =+ Prelude.rnf contributionMatrix+ `Prelude.seq` Prelude.rnf metricName+ `Prelude.seq` Prelude.rnf numTimeSeries
+ gen/Amazonka/LookoutMetrics/Types/MetricSetDataQualityMetric.hs view
@@ -0,0 +1,93 @@+{-# 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.LookoutMetrics.Types.MetricSetDataQualityMetric+-- 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.LookoutMetrics.Types.MetricSetDataQualityMetric where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DataQualityMetric+import qualified Amazonka.Prelude as Prelude++-- | An array of @DataQualityMetric@ objects that describes one or more data+-- quality metrics.+--+-- /See:/ 'newMetricSetDataQualityMetric' smart constructor.+data MetricSetDataQualityMetric = MetricSetDataQualityMetric'+ { -- | The array of data quality metrics contained in the data quality metric+ -- set.+ dataQualityMetricList :: Prelude.Maybe [DataQualityMetric],+ -- | The Amazon Resource Name (ARN) of the data quality metric array.+ metricSetArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricSetDataQualityMetric' 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:+--+-- 'dataQualityMetricList', 'metricSetDataQualityMetric_dataQualityMetricList' - The array of data quality metrics contained in the data quality metric+-- set.+--+-- 'metricSetArn', 'metricSetDataQualityMetric_metricSetArn' - The Amazon Resource Name (ARN) of the data quality metric array.+newMetricSetDataQualityMetric ::+ MetricSetDataQualityMetric+newMetricSetDataQualityMetric =+ MetricSetDataQualityMetric'+ { dataQualityMetricList =+ Prelude.Nothing,+ metricSetArn = Prelude.Nothing+ }++-- | The array of data quality metrics contained in the data quality metric+-- set.+metricSetDataQualityMetric_dataQualityMetricList :: Lens.Lens' MetricSetDataQualityMetric (Prelude.Maybe [DataQualityMetric])+metricSetDataQualityMetric_dataQualityMetricList = Lens.lens (\MetricSetDataQualityMetric' {dataQualityMetricList} -> dataQualityMetricList) (\s@MetricSetDataQualityMetric' {} a -> s {dataQualityMetricList = a} :: MetricSetDataQualityMetric) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the data quality metric array.+metricSetDataQualityMetric_metricSetArn :: Lens.Lens' MetricSetDataQualityMetric (Prelude.Maybe Prelude.Text)+metricSetDataQualityMetric_metricSetArn = Lens.lens (\MetricSetDataQualityMetric' {metricSetArn} -> metricSetArn) (\s@MetricSetDataQualityMetric' {} a -> s {metricSetArn = a} :: MetricSetDataQualityMetric)++instance Data.FromJSON MetricSetDataQualityMetric where+ parseJSON =+ Data.withObject+ "MetricSetDataQualityMetric"+ ( \x ->+ MetricSetDataQualityMetric'+ Prelude.<$> ( x+ Data..:? "DataQualityMetricList"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "MetricSetArn")+ )++instance Prelude.Hashable MetricSetDataQualityMetric where+ hashWithSalt _salt MetricSetDataQualityMetric' {..} =+ _salt+ `Prelude.hashWithSalt` dataQualityMetricList+ `Prelude.hashWithSalt` metricSetArn++instance Prelude.NFData MetricSetDataQualityMetric where+ rnf MetricSetDataQualityMetric' {..} =+ Prelude.rnf dataQualityMetricList+ `Prelude.seq` Prelude.rnf metricSetArn
+ gen/Amazonka/LookoutMetrics/Types/MetricSetDimensionFilter.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.MetricSetDimensionFilter+-- 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.LookoutMetrics.Types.MetricSetDimensionFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.Filter+import qualified Amazonka.Prelude as Prelude++-- | Describes a list of filters for choosing a subset of dimension values.+-- Each filter consists of the dimension and one of its values that you+-- want to include. When multiple dimensions or values are specified, the+-- dimensions are joined with an AND operation and the values are joined+-- with an OR operation.+--+-- /See:/ 'newMetricSetDimensionFilter' smart constructor.+data MetricSetDimensionFilter = MetricSetDimensionFilter'+ { -- | The list of filters that you are applying.+ filterList :: Prelude.Maybe (Prelude.NonEmpty Filter),+ -- | The dimension that you want to filter on.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricSetDimensionFilter' 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:+--+-- 'filterList', 'metricSetDimensionFilter_filterList' - The list of filters that you are applying.+--+-- 'name', 'metricSetDimensionFilter_name' - The dimension that you want to filter on.+newMetricSetDimensionFilter ::+ MetricSetDimensionFilter+newMetricSetDimensionFilter =+ MetricSetDimensionFilter'+ { filterList =+ Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The list of filters that you are applying.+metricSetDimensionFilter_filterList :: Lens.Lens' MetricSetDimensionFilter (Prelude.Maybe (Prelude.NonEmpty Filter))+metricSetDimensionFilter_filterList = Lens.lens (\MetricSetDimensionFilter' {filterList} -> filterList) (\s@MetricSetDimensionFilter' {} a -> s {filterList = a} :: MetricSetDimensionFilter) Prelude.. Lens.mapping Lens.coerced++-- | The dimension that you want to filter on.+metricSetDimensionFilter_name :: Lens.Lens' MetricSetDimensionFilter (Prelude.Maybe Prelude.Text)+metricSetDimensionFilter_name = Lens.lens (\MetricSetDimensionFilter' {name} -> name) (\s@MetricSetDimensionFilter' {} a -> s {name = a} :: MetricSetDimensionFilter)++instance Data.FromJSON MetricSetDimensionFilter where+ parseJSON =+ Data.withObject+ "MetricSetDimensionFilter"+ ( \x ->+ MetricSetDimensionFilter'+ Prelude.<$> (x Data..:? "FilterList")+ Prelude.<*> (x Data..:? "Name")+ )++instance Prelude.Hashable MetricSetDimensionFilter where+ hashWithSalt _salt MetricSetDimensionFilter' {..} =+ _salt+ `Prelude.hashWithSalt` filterList+ `Prelude.hashWithSalt` name++instance Prelude.NFData MetricSetDimensionFilter where+ rnf MetricSetDimensionFilter' {..} =+ Prelude.rnf filterList+ `Prelude.seq` Prelude.rnf name++instance Data.ToJSON MetricSetDimensionFilter where+ toJSON MetricSetDimensionFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FilterList" Data..=) Prelude.<$> filterList,+ ("Name" Data..=) Prelude.<$> name+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/MetricSetSummary.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.LookoutMetrics.Types.MetricSetSummary+-- 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.LookoutMetrics.Types.MetricSetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about a dataset.+--+-- /See:/ 'newMetricSetSummary' smart constructor.+data MetricSetSummary = MetricSetSummary'+ { -- | The ARN of the detector to which the dataset belongs.+ anomalyDetectorArn :: Prelude.Maybe Prelude.Text,+ -- | The time at which the dataset was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time at which the dataset was last modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of the dataset.+ metricSetArn :: Prelude.Maybe Prelude.Text,+ -- | The description of the dataset.+ metricSetDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the dataset.+ metricSetName :: Prelude.Maybe Prelude.Text,+ -- | The dataset\'s+ -- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricSetSummary' 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:+--+-- 'anomalyDetectorArn', 'metricSetSummary_anomalyDetectorArn' - The ARN of the detector to which the dataset belongs.+--+-- 'creationTime', 'metricSetSummary_creationTime' - The time at which the dataset was created.+--+-- 'lastModificationTime', 'metricSetSummary_lastModificationTime' - The time at which the dataset was last modified.+--+-- 'metricSetArn', 'metricSetSummary_metricSetArn' - The ARN of the dataset.+--+-- 'metricSetDescription', 'metricSetSummary_metricSetDescription' - The description of the dataset.+--+-- 'metricSetName', 'metricSetSummary_metricSetName' - The name of the dataset.+--+-- 'tags', 'metricSetSummary_tags' - The dataset\'s+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+newMetricSetSummary ::+ MetricSetSummary+newMetricSetSummary =+ MetricSetSummary'+ { anomalyDetectorArn =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ metricSetArn = Prelude.Nothing,+ metricSetDescription = Prelude.Nothing,+ metricSetName = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The ARN of the detector to which the dataset belongs.+metricSetSummary_anomalyDetectorArn :: Lens.Lens' MetricSetSummary (Prelude.Maybe Prelude.Text)+metricSetSummary_anomalyDetectorArn = Lens.lens (\MetricSetSummary' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@MetricSetSummary' {} a -> s {anomalyDetectorArn = a} :: MetricSetSummary)++-- | The time at which the dataset was created.+metricSetSummary_creationTime :: Lens.Lens' MetricSetSummary (Prelude.Maybe Prelude.UTCTime)+metricSetSummary_creationTime = Lens.lens (\MetricSetSummary' {creationTime} -> creationTime) (\s@MetricSetSummary' {} a -> s {creationTime = a} :: MetricSetSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which the dataset was last modified.+metricSetSummary_lastModificationTime :: Lens.Lens' MetricSetSummary (Prelude.Maybe Prelude.UTCTime)+metricSetSummary_lastModificationTime = Lens.lens (\MetricSetSummary' {lastModificationTime} -> lastModificationTime) (\s@MetricSetSummary' {} a -> s {lastModificationTime = a} :: MetricSetSummary) Prelude.. Lens.mapping Data._Time++-- | The ARN of the dataset.+metricSetSummary_metricSetArn :: Lens.Lens' MetricSetSummary (Prelude.Maybe Prelude.Text)+metricSetSummary_metricSetArn = Lens.lens (\MetricSetSummary' {metricSetArn} -> metricSetArn) (\s@MetricSetSummary' {} a -> s {metricSetArn = a} :: MetricSetSummary)++-- | The description of the dataset.+metricSetSummary_metricSetDescription :: Lens.Lens' MetricSetSummary (Prelude.Maybe Prelude.Text)+metricSetSummary_metricSetDescription = Lens.lens (\MetricSetSummary' {metricSetDescription} -> metricSetDescription) (\s@MetricSetSummary' {} a -> s {metricSetDescription = a} :: MetricSetSummary)++-- | The name of the dataset.+metricSetSummary_metricSetName :: Lens.Lens' MetricSetSummary (Prelude.Maybe Prelude.Text)+metricSetSummary_metricSetName = Lens.lens (\MetricSetSummary' {metricSetName} -> metricSetName) (\s@MetricSetSummary' {} a -> s {metricSetName = a} :: MetricSetSummary)++-- | The dataset\'s+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>.+metricSetSummary_tags :: Lens.Lens' MetricSetSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+metricSetSummary_tags = Lens.lens (\MetricSetSummary' {tags} -> tags) (\s@MetricSetSummary' {} a -> s {tags = a} :: MetricSetSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON MetricSetSummary where+ parseJSON =+ Data.withObject+ "MetricSetSummary"+ ( \x ->+ MetricSetSummary'+ Prelude.<$> (x Data..:? "AnomalyDetectorArn")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "LastModificationTime")+ Prelude.<*> (x Data..:? "MetricSetArn")+ Prelude.<*> (x Data..:? "MetricSetDescription")+ Prelude.<*> (x Data..:? "MetricSetName")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable MetricSetSummary where+ hashWithSalt _salt MetricSetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime+ `Prelude.hashWithSalt` metricSetArn+ `Prelude.hashWithSalt` metricSetDescription+ `Prelude.hashWithSalt` metricSetName+ `Prelude.hashWithSalt` tags++instance Prelude.NFData MetricSetSummary where+ rnf MetricSetSummary' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf metricSetArn+ `Prelude.seq` Prelude.rnf metricSetDescription+ `Prelude.seq` Prelude.rnf metricSetName+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/LookoutMetrics/Types/MetricSource.hs view
@@ -0,0 +1,155 @@+{-# 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.LookoutMetrics.Types.MetricSource+-- 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.LookoutMetrics.Types.MetricSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.AppFlowConfig+import Amazonka.LookoutMetrics.Types.AthenaSourceConfig+import Amazonka.LookoutMetrics.Types.CloudWatchConfig+import Amazonka.LookoutMetrics.Types.RDSSourceConfig+import Amazonka.LookoutMetrics.Types.RedshiftSourceConfig+import Amazonka.LookoutMetrics.Types.S3SourceConfig+import qualified Amazonka.Prelude as Prelude++-- | Contains information about source data used to generate metrics.+--+-- /See:/ 'newMetricSource' smart constructor.+data MetricSource = MetricSource'+ { -- | Details about an AppFlow datasource.+ appFlowConfig :: Prelude.Maybe AppFlowConfig,+ -- | Details about an Amazon Athena datasource.+ athenaSourceConfig :: Prelude.Maybe AthenaSourceConfig,+ -- | Details about an Amazon CloudWatch monitoring datasource.+ cloudWatchConfig :: Prelude.Maybe CloudWatchConfig,+ -- | Details about an Amazon Relational Database Service (RDS) datasource.+ rDSSourceConfig :: Prelude.Maybe RDSSourceConfig,+ -- | Details about an Amazon Redshift database datasource.+ redshiftSourceConfig :: Prelude.Maybe RedshiftSourceConfig,+ s3SourceConfig :: Prelude.Maybe S3SourceConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricSource' 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:+--+-- 'appFlowConfig', 'metricSource_appFlowConfig' - Details about an AppFlow datasource.+--+-- 'athenaSourceConfig', 'metricSource_athenaSourceConfig' - Details about an Amazon Athena datasource.+--+-- 'cloudWatchConfig', 'metricSource_cloudWatchConfig' - Details about an Amazon CloudWatch monitoring datasource.+--+-- 'rDSSourceConfig', 'metricSource_rDSSourceConfig' - Details about an Amazon Relational Database Service (RDS) datasource.+--+-- 'redshiftSourceConfig', 'metricSource_redshiftSourceConfig' - Details about an Amazon Redshift database datasource.+--+-- 's3SourceConfig', 'metricSource_s3SourceConfig' - Undocumented member.+newMetricSource ::+ MetricSource+newMetricSource =+ MetricSource'+ { appFlowConfig = Prelude.Nothing,+ athenaSourceConfig = Prelude.Nothing,+ cloudWatchConfig = Prelude.Nothing,+ rDSSourceConfig = Prelude.Nothing,+ redshiftSourceConfig = Prelude.Nothing,+ s3SourceConfig = Prelude.Nothing+ }++-- | Details about an AppFlow datasource.+metricSource_appFlowConfig :: Lens.Lens' MetricSource (Prelude.Maybe AppFlowConfig)+metricSource_appFlowConfig = Lens.lens (\MetricSource' {appFlowConfig} -> appFlowConfig) (\s@MetricSource' {} a -> s {appFlowConfig = a} :: MetricSource)++-- | Details about an Amazon Athena datasource.+metricSource_athenaSourceConfig :: Lens.Lens' MetricSource (Prelude.Maybe AthenaSourceConfig)+metricSource_athenaSourceConfig = Lens.lens (\MetricSource' {athenaSourceConfig} -> athenaSourceConfig) (\s@MetricSource' {} a -> s {athenaSourceConfig = a} :: MetricSource)++-- | Details about an Amazon CloudWatch monitoring datasource.+metricSource_cloudWatchConfig :: Lens.Lens' MetricSource (Prelude.Maybe CloudWatchConfig)+metricSource_cloudWatchConfig = Lens.lens (\MetricSource' {cloudWatchConfig} -> cloudWatchConfig) (\s@MetricSource' {} a -> s {cloudWatchConfig = a} :: MetricSource)++-- | Details about an Amazon Relational Database Service (RDS) datasource.+metricSource_rDSSourceConfig :: Lens.Lens' MetricSource (Prelude.Maybe RDSSourceConfig)+metricSource_rDSSourceConfig = Lens.lens (\MetricSource' {rDSSourceConfig} -> rDSSourceConfig) (\s@MetricSource' {} a -> s {rDSSourceConfig = a} :: MetricSource)++-- | Details about an Amazon Redshift database datasource.+metricSource_redshiftSourceConfig :: Lens.Lens' MetricSource (Prelude.Maybe RedshiftSourceConfig)+metricSource_redshiftSourceConfig = Lens.lens (\MetricSource' {redshiftSourceConfig} -> redshiftSourceConfig) (\s@MetricSource' {} a -> s {redshiftSourceConfig = a} :: MetricSource)++-- | Undocumented member.+metricSource_s3SourceConfig :: Lens.Lens' MetricSource (Prelude.Maybe S3SourceConfig)+metricSource_s3SourceConfig = Lens.lens (\MetricSource' {s3SourceConfig} -> s3SourceConfig) (\s@MetricSource' {} a -> s {s3SourceConfig = a} :: MetricSource)++instance Data.FromJSON MetricSource where+ parseJSON =+ Data.withObject+ "MetricSource"+ ( \x ->+ MetricSource'+ Prelude.<$> (x Data..:? "AppFlowConfig")+ Prelude.<*> (x Data..:? "AthenaSourceConfig")+ Prelude.<*> (x Data..:? "CloudWatchConfig")+ Prelude.<*> (x Data..:? "RDSSourceConfig")+ Prelude.<*> (x Data..:? "RedshiftSourceConfig")+ Prelude.<*> (x Data..:? "S3SourceConfig")+ )++instance Prelude.Hashable MetricSource where+ hashWithSalt _salt MetricSource' {..} =+ _salt+ `Prelude.hashWithSalt` appFlowConfig+ `Prelude.hashWithSalt` athenaSourceConfig+ `Prelude.hashWithSalt` cloudWatchConfig+ `Prelude.hashWithSalt` rDSSourceConfig+ `Prelude.hashWithSalt` redshiftSourceConfig+ `Prelude.hashWithSalt` s3SourceConfig++instance Prelude.NFData MetricSource where+ rnf MetricSource' {..} =+ Prelude.rnf appFlowConfig+ `Prelude.seq` Prelude.rnf athenaSourceConfig+ `Prelude.seq` Prelude.rnf cloudWatchConfig+ `Prelude.seq` Prelude.rnf rDSSourceConfig+ `Prelude.seq` Prelude.rnf redshiftSourceConfig+ `Prelude.seq` Prelude.rnf s3SourceConfig++instance Data.ToJSON MetricSource where+ toJSON MetricSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AppFlowConfig" Data..=) Prelude.<$> appFlowConfig,+ ("AthenaSourceConfig" Data..=)+ Prelude.<$> athenaSourceConfig,+ ("CloudWatchConfig" Data..=)+ Prelude.<$> cloudWatchConfig,+ ("RDSSourceConfig" Data..=)+ Prelude.<$> rDSSourceConfig,+ ("RedshiftSourceConfig" Data..=)+ Prelude.<$> redshiftSourceConfig,+ ("S3SourceConfig" Data..=)+ Prelude.<$> s3SourceConfig+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/RDSSourceConfig.hs view
@@ -0,0 +1,180 @@+{-# 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.LookoutMetrics.Types.RDSSourceConfig+-- 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.LookoutMetrics.Types.RDSSourceConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.VpcConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the Amazon Relational Database Service (RDS)+-- configuration.+--+-- /See:/ 'newRDSSourceConfig' smart constructor.+data RDSSourceConfig = RDSSourceConfig'+ { -- | A string identifying the database instance.+ dbInstanceIdentifier :: Prelude.Maybe Prelude.Text,+ -- | The host name of the database.+ databaseHost :: Prelude.Maybe Prelude.Text,+ -- | The name of the RDS database.+ databaseName :: Prelude.Maybe Prelude.Text,+ -- | The port number where the database can be accessed.+ databasePort :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) of the role.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the AWS Secrets Manager role.+ secretManagerArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the table in the database.+ tableName :: Prelude.Maybe Prelude.Text,+ -- | An object containing information about the Amazon Virtual Private Cloud+ -- (VPC) configuration.+ vpcConfiguration :: Prelude.Maybe VpcConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RDSSourceConfig' 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:+--+-- 'dbInstanceIdentifier', 'rDSSourceConfig_dbInstanceIdentifier' - A string identifying the database instance.+--+-- 'databaseHost', 'rDSSourceConfig_databaseHost' - The host name of the database.+--+-- 'databaseName', 'rDSSourceConfig_databaseName' - The name of the RDS database.+--+-- 'databasePort', 'rDSSourceConfig_databasePort' - The port number where the database can be accessed.+--+-- 'roleArn', 'rDSSourceConfig_roleArn' - The Amazon Resource Name (ARN) of the role.+--+-- 'secretManagerArn', 'rDSSourceConfig_secretManagerArn' - The Amazon Resource Name (ARN) of the AWS Secrets Manager role.+--+-- 'tableName', 'rDSSourceConfig_tableName' - The name of the table in the database.+--+-- 'vpcConfiguration', 'rDSSourceConfig_vpcConfiguration' - An object containing information about the Amazon Virtual Private Cloud+-- (VPC) configuration.+newRDSSourceConfig ::+ RDSSourceConfig+newRDSSourceConfig =+ RDSSourceConfig'+ { dbInstanceIdentifier =+ Prelude.Nothing,+ databaseHost = Prelude.Nothing,+ databaseName = Prelude.Nothing,+ databasePort = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ secretManagerArn = Prelude.Nothing,+ tableName = Prelude.Nothing,+ vpcConfiguration = Prelude.Nothing+ }++-- | A string identifying the database instance.+rDSSourceConfig_dbInstanceIdentifier :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Text)+rDSSourceConfig_dbInstanceIdentifier = Lens.lens (\RDSSourceConfig' {dbInstanceIdentifier} -> dbInstanceIdentifier) (\s@RDSSourceConfig' {} a -> s {dbInstanceIdentifier = a} :: RDSSourceConfig)++-- | The host name of the database.+rDSSourceConfig_databaseHost :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Text)+rDSSourceConfig_databaseHost = Lens.lens (\RDSSourceConfig' {databaseHost} -> databaseHost) (\s@RDSSourceConfig' {} a -> s {databaseHost = a} :: RDSSourceConfig)++-- | The name of the RDS database.+rDSSourceConfig_databaseName :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Text)+rDSSourceConfig_databaseName = Lens.lens (\RDSSourceConfig' {databaseName} -> databaseName) (\s@RDSSourceConfig' {} a -> s {databaseName = a} :: RDSSourceConfig)++-- | The port number where the database can be accessed.+rDSSourceConfig_databasePort :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Natural)+rDSSourceConfig_databasePort = Lens.lens (\RDSSourceConfig' {databasePort} -> databasePort) (\s@RDSSourceConfig' {} a -> s {databasePort = a} :: RDSSourceConfig)++-- | The Amazon Resource Name (ARN) of the role.+rDSSourceConfig_roleArn :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Text)+rDSSourceConfig_roleArn = Lens.lens (\RDSSourceConfig' {roleArn} -> roleArn) (\s@RDSSourceConfig' {} a -> s {roleArn = a} :: RDSSourceConfig)++-- | The Amazon Resource Name (ARN) of the AWS Secrets Manager role.+rDSSourceConfig_secretManagerArn :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Text)+rDSSourceConfig_secretManagerArn = Lens.lens (\RDSSourceConfig' {secretManagerArn} -> secretManagerArn) (\s@RDSSourceConfig' {} a -> s {secretManagerArn = a} :: RDSSourceConfig)++-- | The name of the table in the database.+rDSSourceConfig_tableName :: Lens.Lens' RDSSourceConfig (Prelude.Maybe Prelude.Text)+rDSSourceConfig_tableName = Lens.lens (\RDSSourceConfig' {tableName} -> tableName) (\s@RDSSourceConfig' {} a -> s {tableName = a} :: RDSSourceConfig)++-- | An object containing information about the Amazon Virtual Private Cloud+-- (VPC) configuration.+rDSSourceConfig_vpcConfiguration :: Lens.Lens' RDSSourceConfig (Prelude.Maybe VpcConfiguration)+rDSSourceConfig_vpcConfiguration = Lens.lens (\RDSSourceConfig' {vpcConfiguration} -> vpcConfiguration) (\s@RDSSourceConfig' {} a -> s {vpcConfiguration = a} :: RDSSourceConfig)++instance Data.FromJSON RDSSourceConfig where+ parseJSON =+ Data.withObject+ "RDSSourceConfig"+ ( \x ->+ RDSSourceConfig'+ Prelude.<$> (x Data..:? "DBInstanceIdentifier")+ Prelude.<*> (x Data..:? "DatabaseHost")+ Prelude.<*> (x Data..:? "DatabaseName")+ Prelude.<*> (x Data..:? "DatabasePort")+ Prelude.<*> (x Data..:? "RoleArn")+ Prelude.<*> (x Data..:? "SecretManagerArn")+ Prelude.<*> (x Data..:? "TableName")+ Prelude.<*> (x Data..:? "VpcConfiguration")+ )++instance Prelude.Hashable RDSSourceConfig where+ hashWithSalt _salt RDSSourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` dbInstanceIdentifier+ `Prelude.hashWithSalt` databaseHost+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` databasePort+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` secretManagerArn+ `Prelude.hashWithSalt` tableName+ `Prelude.hashWithSalt` vpcConfiguration++instance Prelude.NFData RDSSourceConfig where+ rnf RDSSourceConfig' {..} =+ Prelude.rnf dbInstanceIdentifier+ `Prelude.seq` Prelude.rnf databaseHost+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf databasePort+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf secretManagerArn+ `Prelude.seq` Prelude.rnf tableName+ `Prelude.seq` Prelude.rnf vpcConfiguration++instance Data.ToJSON RDSSourceConfig where+ toJSON RDSSourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DBInstanceIdentifier" Data..=)+ Prelude.<$> dbInstanceIdentifier,+ ("DatabaseHost" Data..=) Prelude.<$> databaseHost,+ ("DatabaseName" Data..=) Prelude.<$> databaseName,+ ("DatabasePort" Data..=) Prelude.<$> databasePort,+ ("RoleArn" Data..=) Prelude.<$> roleArn,+ ("SecretManagerArn" Data..=)+ Prelude.<$> secretManagerArn,+ ("TableName" Data..=) Prelude.<$> tableName,+ ("VpcConfiguration" Data..=)+ Prelude.<$> vpcConfiguration+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/RedshiftSourceConfig.hs view
@@ -0,0 +1,182 @@+{-# 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.LookoutMetrics.Types.RedshiftSourceConfig+-- 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.LookoutMetrics.Types.RedshiftSourceConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.VpcConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the Amazon Redshift database configuration.+--+-- /See:/ 'newRedshiftSourceConfig' smart constructor.+data RedshiftSourceConfig = RedshiftSourceConfig'+ { -- | A string identifying the Redshift cluster.+ clusterIdentifier :: Prelude.Maybe Prelude.Text,+ -- | The name of the database host.+ databaseHost :: Prelude.Maybe Prelude.Text,+ -- | The Redshift database name.+ databaseName :: Prelude.Maybe Prelude.Text,+ -- | The port number where the database can be accessed.+ databasePort :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) of the role providing access to the+ -- database.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the AWS Secrets Manager role.+ secretManagerArn :: Prelude.Maybe Prelude.Text,+ -- | The table name of the Redshift database.+ tableName :: Prelude.Maybe Prelude.Text,+ -- | Contains information about the Amazon Virtual Private Cloud (VPC)+ -- configuration.+ vpcConfiguration :: Prelude.Maybe VpcConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedshiftSourceConfig' 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:+--+-- 'clusterIdentifier', 'redshiftSourceConfig_clusterIdentifier' - A string identifying the Redshift cluster.+--+-- 'databaseHost', 'redshiftSourceConfig_databaseHost' - The name of the database host.+--+-- 'databaseName', 'redshiftSourceConfig_databaseName' - The Redshift database name.+--+-- 'databasePort', 'redshiftSourceConfig_databasePort' - The port number where the database can be accessed.+--+-- 'roleArn', 'redshiftSourceConfig_roleArn' - The Amazon Resource Name (ARN) of the role providing access to the+-- database.+--+-- 'secretManagerArn', 'redshiftSourceConfig_secretManagerArn' - The Amazon Resource Name (ARN) of the AWS Secrets Manager role.+--+-- 'tableName', 'redshiftSourceConfig_tableName' - The table name of the Redshift database.+--+-- 'vpcConfiguration', 'redshiftSourceConfig_vpcConfiguration' - Contains information about the Amazon Virtual Private Cloud (VPC)+-- configuration.+newRedshiftSourceConfig ::+ RedshiftSourceConfig+newRedshiftSourceConfig =+ RedshiftSourceConfig'+ { clusterIdentifier =+ Prelude.Nothing,+ databaseHost = Prelude.Nothing,+ databaseName = Prelude.Nothing,+ databasePort = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ secretManagerArn = Prelude.Nothing,+ tableName = Prelude.Nothing,+ vpcConfiguration = Prelude.Nothing+ }++-- | A string identifying the Redshift cluster.+redshiftSourceConfig_clusterIdentifier :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Text)+redshiftSourceConfig_clusterIdentifier = Lens.lens (\RedshiftSourceConfig' {clusterIdentifier} -> clusterIdentifier) (\s@RedshiftSourceConfig' {} a -> s {clusterIdentifier = a} :: RedshiftSourceConfig)++-- | The name of the database host.+redshiftSourceConfig_databaseHost :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Text)+redshiftSourceConfig_databaseHost = Lens.lens (\RedshiftSourceConfig' {databaseHost} -> databaseHost) (\s@RedshiftSourceConfig' {} a -> s {databaseHost = a} :: RedshiftSourceConfig)++-- | The Redshift database name.+redshiftSourceConfig_databaseName :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Text)+redshiftSourceConfig_databaseName = Lens.lens (\RedshiftSourceConfig' {databaseName} -> databaseName) (\s@RedshiftSourceConfig' {} a -> s {databaseName = a} :: RedshiftSourceConfig)++-- | The port number where the database can be accessed.+redshiftSourceConfig_databasePort :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Natural)+redshiftSourceConfig_databasePort = Lens.lens (\RedshiftSourceConfig' {databasePort} -> databasePort) (\s@RedshiftSourceConfig' {} a -> s {databasePort = a} :: RedshiftSourceConfig)++-- | The Amazon Resource Name (ARN) of the role providing access to the+-- database.+redshiftSourceConfig_roleArn :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Text)+redshiftSourceConfig_roleArn = Lens.lens (\RedshiftSourceConfig' {roleArn} -> roleArn) (\s@RedshiftSourceConfig' {} a -> s {roleArn = a} :: RedshiftSourceConfig)++-- | The Amazon Resource Name (ARN) of the AWS Secrets Manager role.+redshiftSourceConfig_secretManagerArn :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Text)+redshiftSourceConfig_secretManagerArn = Lens.lens (\RedshiftSourceConfig' {secretManagerArn} -> secretManagerArn) (\s@RedshiftSourceConfig' {} a -> s {secretManagerArn = a} :: RedshiftSourceConfig)++-- | The table name of the Redshift database.+redshiftSourceConfig_tableName :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe Prelude.Text)+redshiftSourceConfig_tableName = Lens.lens (\RedshiftSourceConfig' {tableName} -> tableName) (\s@RedshiftSourceConfig' {} a -> s {tableName = a} :: RedshiftSourceConfig)++-- | Contains information about the Amazon Virtual Private Cloud (VPC)+-- configuration.+redshiftSourceConfig_vpcConfiguration :: Lens.Lens' RedshiftSourceConfig (Prelude.Maybe VpcConfiguration)+redshiftSourceConfig_vpcConfiguration = Lens.lens (\RedshiftSourceConfig' {vpcConfiguration} -> vpcConfiguration) (\s@RedshiftSourceConfig' {} a -> s {vpcConfiguration = a} :: RedshiftSourceConfig)++instance Data.FromJSON RedshiftSourceConfig where+ parseJSON =+ Data.withObject+ "RedshiftSourceConfig"+ ( \x ->+ RedshiftSourceConfig'+ Prelude.<$> (x Data..:? "ClusterIdentifier")+ Prelude.<*> (x Data..:? "DatabaseHost")+ Prelude.<*> (x Data..:? "DatabaseName")+ Prelude.<*> (x Data..:? "DatabasePort")+ Prelude.<*> (x Data..:? "RoleArn")+ Prelude.<*> (x Data..:? "SecretManagerArn")+ Prelude.<*> (x Data..:? "TableName")+ Prelude.<*> (x Data..:? "VpcConfiguration")+ )++instance Prelude.Hashable RedshiftSourceConfig where+ hashWithSalt _salt RedshiftSourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` clusterIdentifier+ `Prelude.hashWithSalt` databaseHost+ `Prelude.hashWithSalt` databaseName+ `Prelude.hashWithSalt` databasePort+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` secretManagerArn+ `Prelude.hashWithSalt` tableName+ `Prelude.hashWithSalt` vpcConfiguration++instance Prelude.NFData RedshiftSourceConfig where+ rnf RedshiftSourceConfig' {..} =+ Prelude.rnf clusterIdentifier+ `Prelude.seq` Prelude.rnf databaseHost+ `Prelude.seq` Prelude.rnf databaseName+ `Prelude.seq` Prelude.rnf databasePort+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf secretManagerArn+ `Prelude.seq` Prelude.rnf tableName+ `Prelude.seq` Prelude.rnf vpcConfiguration++instance Data.ToJSON RedshiftSourceConfig where+ toJSON RedshiftSourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ClusterIdentifier" Data..=)+ Prelude.<$> clusterIdentifier,+ ("DatabaseHost" Data..=) Prelude.<$> databaseHost,+ ("DatabaseName" Data..=) Prelude.<$> databaseName,+ ("DatabasePort" Data..=) Prelude.<$> databasePort,+ ("RoleArn" Data..=) Prelude.<$> roleArn,+ ("SecretManagerArn" Data..=)+ Prelude.<$> secretManagerArn,+ ("TableName" Data..=) Prelude.<$> tableName,+ ("VpcConfiguration" Data..=)+ Prelude.<$> vpcConfiguration+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/RelationshipType.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.LookoutMetrics.Types.RelationshipType+-- 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.LookoutMetrics.Types.RelationshipType+ ( RelationshipType+ ( ..,+ RelationshipType_CAUSE_OF_INPUT_ANOMALY_GROUP,+ RelationshipType_EFFECT_OF_INPUT_ANOMALY_GROUP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RelationshipType = RelationshipType'+ { fromRelationshipType ::+ 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 RelationshipType_CAUSE_OF_INPUT_ANOMALY_GROUP :: RelationshipType+pattern RelationshipType_CAUSE_OF_INPUT_ANOMALY_GROUP = RelationshipType' "CAUSE_OF_INPUT_ANOMALY_GROUP"++pattern RelationshipType_EFFECT_OF_INPUT_ANOMALY_GROUP :: RelationshipType+pattern RelationshipType_EFFECT_OF_INPUT_ANOMALY_GROUP = RelationshipType' "EFFECT_OF_INPUT_ANOMALY_GROUP"++{-# COMPLETE+ RelationshipType_CAUSE_OF_INPUT_ANOMALY_GROUP,+ RelationshipType_EFFECT_OF_INPUT_ANOMALY_GROUP,+ RelationshipType'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/S3SourceConfig.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.S3SourceConfig+-- 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.LookoutMetrics.Types.S3SourceConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.FileFormatDescriptor+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the configuration of the S3 bucket that+-- contains source files.+--+-- /See:/ 'newS3SourceConfig' smart constructor.+data S3SourceConfig = S3SourceConfig'+ { -- | Contains information about a source file\'s formatting.+ fileFormatDescriptor :: Prelude.Maybe FileFormatDescriptor,+ -- | A list of paths to the historical data files.+ historicalDataPathList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The ARN of an IAM role that has read and write access permissions to the+ -- source S3 bucket.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | A list of templated paths to the source files.+ templatedPathList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3SourceConfig' 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:+--+-- 'fileFormatDescriptor', 's3SourceConfig_fileFormatDescriptor' - Contains information about a source file\'s formatting.+--+-- 'historicalDataPathList', 's3SourceConfig_historicalDataPathList' - A list of paths to the historical data files.+--+-- 'roleArn', 's3SourceConfig_roleArn' - The ARN of an IAM role that has read and write access permissions to the+-- source S3 bucket.+--+-- 'templatedPathList', 's3SourceConfig_templatedPathList' - A list of templated paths to the source files.+newS3SourceConfig ::+ S3SourceConfig+newS3SourceConfig =+ S3SourceConfig'+ { fileFormatDescriptor =+ Prelude.Nothing,+ historicalDataPathList = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ templatedPathList = Prelude.Nothing+ }++-- | Contains information about a source file\'s formatting.+s3SourceConfig_fileFormatDescriptor :: Lens.Lens' S3SourceConfig (Prelude.Maybe FileFormatDescriptor)+s3SourceConfig_fileFormatDescriptor = Lens.lens (\S3SourceConfig' {fileFormatDescriptor} -> fileFormatDescriptor) (\s@S3SourceConfig' {} a -> s {fileFormatDescriptor = a} :: S3SourceConfig)++-- | A list of paths to the historical data files.+s3SourceConfig_historicalDataPathList :: Lens.Lens' S3SourceConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+s3SourceConfig_historicalDataPathList = Lens.lens (\S3SourceConfig' {historicalDataPathList} -> historicalDataPathList) (\s@S3SourceConfig' {} a -> s {historicalDataPathList = a} :: S3SourceConfig) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of an IAM role that has read and write access permissions to the+-- source S3 bucket.+s3SourceConfig_roleArn :: Lens.Lens' S3SourceConfig (Prelude.Maybe Prelude.Text)+s3SourceConfig_roleArn = Lens.lens (\S3SourceConfig' {roleArn} -> roleArn) (\s@S3SourceConfig' {} a -> s {roleArn = a} :: S3SourceConfig)++-- | A list of templated paths to the source files.+s3SourceConfig_templatedPathList :: Lens.Lens' S3SourceConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+s3SourceConfig_templatedPathList = Lens.lens (\S3SourceConfig' {templatedPathList} -> templatedPathList) (\s@S3SourceConfig' {} a -> s {templatedPathList = a} :: S3SourceConfig) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON S3SourceConfig where+ parseJSON =+ Data.withObject+ "S3SourceConfig"+ ( \x ->+ S3SourceConfig'+ Prelude.<$> (x Data..:? "FileFormatDescriptor")+ Prelude.<*> (x Data..:? "HistoricalDataPathList")+ Prelude.<*> (x Data..:? "RoleArn")+ Prelude.<*> (x Data..:? "TemplatedPathList")+ )++instance Prelude.Hashable S3SourceConfig where+ hashWithSalt _salt S3SourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` fileFormatDescriptor+ `Prelude.hashWithSalt` historicalDataPathList+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` templatedPathList++instance Prelude.NFData S3SourceConfig where+ rnf S3SourceConfig' {..} =+ Prelude.rnf fileFormatDescriptor+ `Prelude.seq` Prelude.rnf historicalDataPathList+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf templatedPathList++instance Data.ToJSON S3SourceConfig where+ toJSON S3SourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FileFormatDescriptor" Data..=)+ Prelude.<$> fileFormatDescriptor,+ ("HistoricalDataPathList" Data..=)+ Prelude.<$> historicalDataPathList,+ ("RoleArn" Data..=) Prelude.<$> roleArn,+ ("TemplatedPathList" Data..=)+ Prelude.<$> templatedPathList+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/SNSConfiguration.hs view
@@ -0,0 +1,142 @@+{-# 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.LookoutMetrics.Types.SNSConfiguration+-- 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.LookoutMetrics.Types.SNSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.SnsFormat+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the SNS topic to which you want to send your+-- alerts and the IAM role that has access to that topic.+--+-- /See:/ 'newSNSConfiguration' smart constructor.+data SNSConfiguration = SNSConfiguration'+ { -- | The format of the SNS topic.+ --+ -- - @JSON@ – Send JSON alerts with an anomaly ID and a link to the+ -- anomaly detail page. This is the default.+ --+ -- - @LONG_TEXT@ – Send human-readable alerts with information about the+ -- impacted timeseries and a link to the anomaly detail page. We+ -- recommend this for email.+ --+ -- - @SHORT_TEXT@ – Send human-readable alerts with a link to the anomaly+ -- detail page. We recommend this for SMS.+ snsFormat :: Prelude.Maybe SnsFormat,+ -- | The ARN of the IAM role that has access to the target SNS topic.+ roleArn :: Prelude.Text,+ -- | The ARN of the target SNS topic.+ snsTopicArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNSConfiguration' 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:+--+-- 'snsFormat', 'sNSConfiguration_snsFormat' - The format of the SNS topic.+--+-- - @JSON@ – Send JSON alerts with an anomaly ID and a link to the+-- anomaly detail page. This is the default.+--+-- - @LONG_TEXT@ – Send human-readable alerts with information about the+-- impacted timeseries and a link to the anomaly detail page. We+-- recommend this for email.+--+-- - @SHORT_TEXT@ – Send human-readable alerts with a link to the anomaly+-- detail page. We recommend this for SMS.+--+-- 'roleArn', 'sNSConfiguration_roleArn' - The ARN of the IAM role that has access to the target SNS topic.+--+-- 'snsTopicArn', 'sNSConfiguration_snsTopicArn' - The ARN of the target SNS topic.+newSNSConfiguration ::+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'snsTopicArn'+ Prelude.Text ->+ SNSConfiguration+newSNSConfiguration pRoleArn_ pSnsTopicArn_ =+ SNSConfiguration'+ { snsFormat = Prelude.Nothing,+ roleArn = pRoleArn_,+ snsTopicArn = pSnsTopicArn_+ }++-- | The format of the SNS topic.+--+-- - @JSON@ – Send JSON alerts with an anomaly ID and a link to the+-- anomaly detail page. This is the default.+--+-- - @LONG_TEXT@ – Send human-readable alerts with information about the+-- impacted timeseries and a link to the anomaly detail page. We+-- recommend this for email.+--+-- - @SHORT_TEXT@ – Send human-readable alerts with a link to the anomaly+-- detail page. We recommend this for SMS.+sNSConfiguration_snsFormat :: Lens.Lens' SNSConfiguration (Prelude.Maybe SnsFormat)+sNSConfiguration_snsFormat = Lens.lens (\SNSConfiguration' {snsFormat} -> snsFormat) (\s@SNSConfiguration' {} a -> s {snsFormat = a} :: SNSConfiguration)++-- | The ARN of the IAM role that has access to the target SNS topic.+sNSConfiguration_roleArn :: Lens.Lens' SNSConfiguration Prelude.Text+sNSConfiguration_roleArn = Lens.lens (\SNSConfiguration' {roleArn} -> roleArn) (\s@SNSConfiguration' {} a -> s {roleArn = a} :: SNSConfiguration)++-- | The ARN of the target SNS topic.+sNSConfiguration_snsTopicArn :: Lens.Lens' SNSConfiguration Prelude.Text+sNSConfiguration_snsTopicArn = Lens.lens (\SNSConfiguration' {snsTopicArn} -> snsTopicArn) (\s@SNSConfiguration' {} a -> s {snsTopicArn = a} :: SNSConfiguration)++instance Data.FromJSON SNSConfiguration where+ parseJSON =+ Data.withObject+ "SNSConfiguration"+ ( \x ->+ SNSConfiguration'+ Prelude.<$> (x Data..:? "SnsFormat")+ Prelude.<*> (x Data..: "RoleArn")+ Prelude.<*> (x Data..: "SnsTopicArn")+ )++instance Prelude.Hashable SNSConfiguration where+ hashWithSalt _salt SNSConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` snsFormat+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` snsTopicArn++instance Prelude.NFData SNSConfiguration where+ rnf SNSConfiguration' {..} =+ Prelude.rnf snsFormat+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf snsTopicArn++instance Data.ToJSON SNSConfiguration where+ toJSON SNSConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SnsFormat" Data..=) Prelude.<$> snsFormat,+ Prelude.Just ("RoleArn" Data..= roleArn),+ Prelude.Just ("SnsTopicArn" Data..= snsTopicArn)+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/SampleDataS3SourceConfig.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.LookoutMetrics.Types.SampleDataS3SourceConfig+-- 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.LookoutMetrics.Types.SampleDataS3SourceConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.FileFormatDescriptor+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the source configuration in Amazon S3.+--+-- /See:/ 'newSampleDataS3SourceConfig' smart constructor.+data SampleDataS3SourceConfig = SampleDataS3SourceConfig'+ { -- | An array of strings containing the historical set of data paths.+ historicalDataPathList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | An array of strings containing the list of templated paths.+ templatedPathList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The Amazon Resource Name (ARN) of the role.+ roleArn :: Prelude.Text,+ fileFormatDescriptor :: FileFormatDescriptor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SampleDataS3SourceConfig' 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:+--+-- 'historicalDataPathList', 'sampleDataS3SourceConfig_historicalDataPathList' - An array of strings containing the historical set of data paths.+--+-- 'templatedPathList', 'sampleDataS3SourceConfig_templatedPathList' - An array of strings containing the list of templated paths.+--+-- 'roleArn', 'sampleDataS3SourceConfig_roleArn' - The Amazon Resource Name (ARN) of the role.+--+-- 'fileFormatDescriptor', 'sampleDataS3SourceConfig_fileFormatDescriptor' - Undocumented member.+newSampleDataS3SourceConfig ::+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'fileFormatDescriptor'+ FileFormatDescriptor ->+ SampleDataS3SourceConfig+newSampleDataS3SourceConfig+ pRoleArn_+ pFileFormatDescriptor_ =+ SampleDataS3SourceConfig'+ { historicalDataPathList =+ Prelude.Nothing,+ templatedPathList = Prelude.Nothing,+ roleArn = pRoleArn_,+ fileFormatDescriptor = pFileFormatDescriptor_+ }++-- | An array of strings containing the historical set of data paths.+sampleDataS3SourceConfig_historicalDataPathList :: Lens.Lens' SampleDataS3SourceConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+sampleDataS3SourceConfig_historicalDataPathList = Lens.lens (\SampleDataS3SourceConfig' {historicalDataPathList} -> historicalDataPathList) (\s@SampleDataS3SourceConfig' {} a -> s {historicalDataPathList = a} :: SampleDataS3SourceConfig) Prelude.. Lens.mapping Lens.coerced++-- | An array of strings containing the list of templated paths.+sampleDataS3SourceConfig_templatedPathList :: Lens.Lens' SampleDataS3SourceConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+sampleDataS3SourceConfig_templatedPathList = Lens.lens (\SampleDataS3SourceConfig' {templatedPathList} -> templatedPathList) (\s@SampleDataS3SourceConfig' {} a -> s {templatedPathList = a} :: SampleDataS3SourceConfig) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the role.+sampleDataS3SourceConfig_roleArn :: Lens.Lens' SampleDataS3SourceConfig Prelude.Text+sampleDataS3SourceConfig_roleArn = Lens.lens (\SampleDataS3SourceConfig' {roleArn} -> roleArn) (\s@SampleDataS3SourceConfig' {} a -> s {roleArn = a} :: SampleDataS3SourceConfig)++-- | Undocumented member.+sampleDataS3SourceConfig_fileFormatDescriptor :: Lens.Lens' SampleDataS3SourceConfig FileFormatDescriptor+sampleDataS3SourceConfig_fileFormatDescriptor = Lens.lens (\SampleDataS3SourceConfig' {fileFormatDescriptor} -> fileFormatDescriptor) (\s@SampleDataS3SourceConfig' {} a -> s {fileFormatDescriptor = a} :: SampleDataS3SourceConfig)++instance Prelude.Hashable SampleDataS3SourceConfig where+ hashWithSalt _salt SampleDataS3SourceConfig' {..} =+ _salt+ `Prelude.hashWithSalt` historicalDataPathList+ `Prelude.hashWithSalt` templatedPathList+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` fileFormatDescriptor++instance Prelude.NFData SampleDataS3SourceConfig where+ rnf SampleDataS3SourceConfig' {..} =+ Prelude.rnf historicalDataPathList+ `Prelude.seq` Prelude.rnf templatedPathList+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf fileFormatDescriptor++instance Data.ToJSON SampleDataS3SourceConfig where+ toJSON SampleDataS3SourceConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("HistoricalDataPathList" Data..=)+ Prelude.<$> historicalDataPathList,+ ("TemplatedPathList" Data..=)+ Prelude.<$> templatedPathList,+ Prelude.Just ("RoleArn" Data..= roleArn),+ Prelude.Just+ ( "FileFormatDescriptor"+ Data..= fileFormatDescriptor+ )+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/SnsFormat.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.LookoutMetrics.Types.SnsFormat+-- 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.LookoutMetrics.Types.SnsFormat+ ( SnsFormat+ ( ..,+ SnsFormat_JSON,+ SnsFormat_LONG_TEXT,+ SnsFormat_SHORT_TEXT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SnsFormat = SnsFormat'+ { fromSnsFormat ::+ 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 SnsFormat_JSON :: SnsFormat+pattern SnsFormat_JSON = SnsFormat' "JSON"++pattern SnsFormat_LONG_TEXT :: SnsFormat+pattern SnsFormat_LONG_TEXT = SnsFormat' "LONG_TEXT"++pattern SnsFormat_SHORT_TEXT :: SnsFormat+pattern SnsFormat_SHORT_TEXT = SnsFormat' "SHORT_TEXT"++{-# COMPLETE+ SnsFormat_JSON,+ SnsFormat_LONG_TEXT,+ SnsFormat_SHORT_TEXT,+ SnsFormat'+ #-}
+ gen/Amazonka/LookoutMetrics/Types/TimeSeries.hs view
@@ -0,0 +1,104 @@+{-# 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.LookoutMetrics.Types.TimeSeries+-- 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.LookoutMetrics.Types.TimeSeries where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types.DimensionNameValue+import qualified Amazonka.Prelude as Prelude++-- | Details about a metric. A metric is an aggregation of the values of a+-- measure for a dimension value, such as /availability/ in the /us-east-1/+-- Region.+--+-- /See:/ 'newTimeSeries' smart constructor.+data TimeSeries = TimeSeries'+ { -- | The ID of the metric.+ timeSeriesId :: Prelude.Text,+ -- | The dimensions of the metric.+ dimensionList :: [DimensionNameValue],+ -- | The values for the metric.+ metricValueList :: [Prelude.Double]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeries' 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:+--+-- 'timeSeriesId', 'timeSeries_timeSeriesId' - The ID of the metric.+--+-- 'dimensionList', 'timeSeries_dimensionList' - The dimensions of the metric.+--+-- 'metricValueList', 'timeSeries_metricValueList' - The values for the metric.+newTimeSeries ::+ -- | 'timeSeriesId'+ Prelude.Text ->+ TimeSeries+newTimeSeries pTimeSeriesId_ =+ TimeSeries'+ { timeSeriesId = pTimeSeriesId_,+ dimensionList = Prelude.mempty,+ metricValueList = Prelude.mempty+ }++-- | The ID of the metric.+timeSeries_timeSeriesId :: Lens.Lens' TimeSeries Prelude.Text+timeSeries_timeSeriesId = Lens.lens (\TimeSeries' {timeSeriesId} -> timeSeriesId) (\s@TimeSeries' {} a -> s {timeSeriesId = a} :: TimeSeries)++-- | The dimensions of the metric.+timeSeries_dimensionList :: Lens.Lens' TimeSeries [DimensionNameValue]+timeSeries_dimensionList = Lens.lens (\TimeSeries' {dimensionList} -> dimensionList) (\s@TimeSeries' {} a -> s {dimensionList = a} :: TimeSeries) Prelude.. Lens.coerced++-- | The values for the metric.+timeSeries_metricValueList :: Lens.Lens' TimeSeries [Prelude.Double]+timeSeries_metricValueList = Lens.lens (\TimeSeries' {metricValueList} -> metricValueList) (\s@TimeSeries' {} a -> s {metricValueList = a} :: TimeSeries) Prelude.. Lens.coerced++instance Data.FromJSON TimeSeries where+ parseJSON =+ Data.withObject+ "TimeSeries"+ ( \x ->+ TimeSeries'+ Prelude.<$> (x Data..: "TimeSeriesId")+ Prelude.<*> (x Data..:? "DimensionList" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "MetricValueList"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable TimeSeries where+ hashWithSalt _salt TimeSeries' {..} =+ _salt+ `Prelude.hashWithSalt` timeSeriesId+ `Prelude.hashWithSalt` dimensionList+ `Prelude.hashWithSalt` metricValueList++instance Prelude.NFData TimeSeries where+ rnf TimeSeries' {..} =+ Prelude.rnf timeSeriesId+ `Prelude.seq` Prelude.rnf dimensionList+ `Prelude.seq` Prelude.rnf metricValueList
+ gen/Amazonka/LookoutMetrics/Types/TimeSeriesFeedback.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.LookoutMetrics.Types.TimeSeriesFeedback+-- 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.LookoutMetrics.Types.TimeSeriesFeedback 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++-- | Details about feedback submitted for an anomalous metric.+--+-- /See:/ 'newTimeSeriesFeedback' smart constructor.+data TimeSeriesFeedback = TimeSeriesFeedback'+ { -- | Feedback on whether the metric is a legitimate anomaly.+ isAnomaly :: Prelude.Maybe Prelude.Bool,+ -- | The ID of the metric.+ timeSeriesId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesFeedback' 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:+--+-- 'isAnomaly', 'timeSeriesFeedback_isAnomaly' - Feedback on whether the metric is a legitimate anomaly.+--+-- 'timeSeriesId', 'timeSeriesFeedback_timeSeriesId' - The ID of the metric.+newTimeSeriesFeedback ::+ TimeSeriesFeedback+newTimeSeriesFeedback =+ TimeSeriesFeedback'+ { isAnomaly = Prelude.Nothing,+ timeSeriesId = Prelude.Nothing+ }++-- | Feedback on whether the metric is a legitimate anomaly.+timeSeriesFeedback_isAnomaly :: Lens.Lens' TimeSeriesFeedback (Prelude.Maybe Prelude.Bool)+timeSeriesFeedback_isAnomaly = Lens.lens (\TimeSeriesFeedback' {isAnomaly} -> isAnomaly) (\s@TimeSeriesFeedback' {} a -> s {isAnomaly = a} :: TimeSeriesFeedback)++-- | The ID of the metric.+timeSeriesFeedback_timeSeriesId :: Lens.Lens' TimeSeriesFeedback (Prelude.Maybe Prelude.Text)+timeSeriesFeedback_timeSeriesId = Lens.lens (\TimeSeriesFeedback' {timeSeriesId} -> timeSeriesId) (\s@TimeSeriesFeedback' {} a -> s {timeSeriesId = a} :: TimeSeriesFeedback)++instance Data.FromJSON TimeSeriesFeedback where+ parseJSON =+ Data.withObject+ "TimeSeriesFeedback"+ ( \x ->+ TimeSeriesFeedback'+ Prelude.<$> (x Data..:? "IsAnomaly")+ Prelude.<*> (x Data..:? "TimeSeriesId")+ )++instance Prelude.Hashable TimeSeriesFeedback where+ hashWithSalt _salt TimeSeriesFeedback' {..} =+ _salt+ `Prelude.hashWithSalt` isAnomaly+ `Prelude.hashWithSalt` timeSeriesId++instance Prelude.NFData TimeSeriesFeedback where+ rnf TimeSeriesFeedback' {..} =+ Prelude.rnf isAnomaly+ `Prelude.seq` Prelude.rnf timeSeriesId
+ gen/Amazonka/LookoutMetrics/Types/TimestampColumn.hs view
@@ -0,0 +1,94 @@+{-# 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.LookoutMetrics.Types.TimestampColumn+-- 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.LookoutMetrics.Types.TimestampColumn where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains information about the column used to track time in a source+-- data file.+--+-- /See:/ 'newTimestampColumn' smart constructor.+data TimestampColumn = TimestampColumn'+ { -- | The format of the timestamp column.+ columnFormat :: Prelude.Maybe Prelude.Text,+ -- | The name of the timestamp column.+ columnName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimestampColumn' 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:+--+-- 'columnFormat', 'timestampColumn_columnFormat' - The format of the timestamp column.+--+-- 'columnName', 'timestampColumn_columnName' - The name of the timestamp column.+newTimestampColumn ::+ TimestampColumn+newTimestampColumn =+ TimestampColumn'+ { columnFormat = Prelude.Nothing,+ columnName = Prelude.Nothing+ }++-- | The format of the timestamp column.+timestampColumn_columnFormat :: Lens.Lens' TimestampColumn (Prelude.Maybe Prelude.Text)+timestampColumn_columnFormat = Lens.lens (\TimestampColumn' {columnFormat} -> columnFormat) (\s@TimestampColumn' {} a -> s {columnFormat = a} :: TimestampColumn)++-- | The name of the timestamp column.+timestampColumn_columnName :: Lens.Lens' TimestampColumn (Prelude.Maybe Prelude.Text)+timestampColumn_columnName = Lens.lens (\TimestampColumn' {columnName} -> columnName) (\s@TimestampColumn' {} a -> s {columnName = a} :: TimestampColumn)++instance Data.FromJSON TimestampColumn where+ parseJSON =+ Data.withObject+ "TimestampColumn"+ ( \x ->+ TimestampColumn'+ Prelude.<$> (x Data..:? "ColumnFormat")+ Prelude.<*> (x Data..:? "ColumnName")+ )++instance Prelude.Hashable TimestampColumn where+ hashWithSalt _salt TimestampColumn' {..} =+ _salt+ `Prelude.hashWithSalt` columnFormat+ `Prelude.hashWithSalt` columnName++instance Prelude.NFData TimestampColumn where+ rnf TimestampColumn' {..} =+ Prelude.rnf columnFormat+ `Prelude.seq` Prelude.rnf columnName++instance Data.ToJSON TimestampColumn where+ toJSON TimestampColumn' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ColumnFormat" Data..=) Prelude.<$> columnFormat,+ ("ColumnName" Data..=) Prelude.<$> columnName+ ]+ )
+ gen/Amazonka/LookoutMetrics/Types/VpcConfiguration.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutMetrics.Types.VpcConfiguration+-- 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.LookoutMetrics.Types.VpcConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains configuration information about the Amazon Virtual Private+-- Cloud (VPC).+--+-- /See:/ 'newVpcConfiguration' smart constructor.+data VpcConfiguration = VpcConfiguration'+ { -- | An array of strings containing the Amazon VPC subnet IDs (e.g.,+ -- @subnet-0bb1c79de3EXAMPLE@.+ subnetIdList :: [Prelude.Text],+ -- | An array of strings containing the list of security groups.+ securityGroupIdList :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcConfiguration' 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:+--+-- 'subnetIdList', 'vpcConfiguration_subnetIdList' - An array of strings containing the Amazon VPC subnet IDs (e.g.,+-- @subnet-0bb1c79de3EXAMPLE@.+--+-- 'securityGroupIdList', 'vpcConfiguration_securityGroupIdList' - An array of strings containing the list of security groups.+newVpcConfiguration ::+ VpcConfiguration+newVpcConfiguration =+ VpcConfiguration'+ { subnetIdList = Prelude.mempty,+ securityGroupIdList = Prelude.mempty+ }++-- | An array of strings containing the Amazon VPC subnet IDs (e.g.,+-- @subnet-0bb1c79de3EXAMPLE@.+vpcConfiguration_subnetIdList :: Lens.Lens' VpcConfiguration [Prelude.Text]+vpcConfiguration_subnetIdList = Lens.lens (\VpcConfiguration' {subnetIdList} -> subnetIdList) (\s@VpcConfiguration' {} a -> s {subnetIdList = a} :: VpcConfiguration) Prelude.. Lens.coerced++-- | An array of strings containing the list of security groups.+vpcConfiguration_securityGroupIdList :: Lens.Lens' VpcConfiguration [Prelude.Text]+vpcConfiguration_securityGroupIdList = Lens.lens (\VpcConfiguration' {securityGroupIdList} -> securityGroupIdList) (\s@VpcConfiguration' {} a -> s {securityGroupIdList = a} :: VpcConfiguration) Prelude.. Lens.coerced++instance Data.FromJSON VpcConfiguration where+ parseJSON =+ Data.withObject+ "VpcConfiguration"+ ( \x ->+ VpcConfiguration'+ Prelude.<$> (x Data..:? "SubnetIdList" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "SecurityGroupIdList"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable VpcConfiguration where+ hashWithSalt _salt VpcConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` subnetIdList+ `Prelude.hashWithSalt` securityGroupIdList++instance Prelude.NFData VpcConfiguration where+ rnf VpcConfiguration' {..} =+ Prelude.rnf subnetIdList+ `Prelude.seq` Prelude.rnf securityGroupIdList++instance Data.ToJSON VpcConfiguration where+ toJSON VpcConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("SubnetIdList" Data..= subnetIdList),+ Prelude.Just+ ("SecurityGroupIdList" Data..= securityGroupIdList)+ ]+ )
+ gen/Amazonka/LookoutMetrics/UntagResource.hs view
@@ -0,0 +1,165 @@+{-# 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.LookoutMetrics.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes+-- <https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html tags>+-- from a detector, dataset, or alert.+module Amazonka.LookoutMetrics.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The resource\'s Amazon Resource Name (ARN).+ resourceArn :: Prelude.Text,+ -- | Keys to remove from the resource\'s tags.+ tagKeys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The resource\'s Amazon Resource Name (ARN).+--+-- 'tagKeys', 'untagResource_tagKeys' - Keys to remove from the resource\'s tags.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++-- | The resource\'s Amazon Resource Name (ARN).+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Keys to remove from the resource\'s tags.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/UpdateAlert.hs view
@@ -0,0 +1,223 @@+{-# 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.LookoutMetrics.UpdateAlert+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Make changes to an existing alert.+module Amazonka.LookoutMetrics.UpdateAlert+ ( -- * Creating a Request+ UpdateAlert (..),+ newUpdateAlert,++ -- * Request Lenses+ updateAlert_action,+ updateAlert_alertDescription,+ updateAlert_alertFilters,+ updateAlert_alertSensitivityThreshold,+ updateAlert_alertArn,++ -- * Destructuring the Response+ UpdateAlertResponse (..),+ newUpdateAlertResponse,++ -- * Response Lenses+ updateAlertResponse_alertArn,+ updateAlertResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAlert' smart constructor.+data UpdateAlert = UpdateAlert'+ { -- | Action that will be triggered when there is an alert.+ action :: Prelude.Maybe Action,+ -- | A description of the alert.+ alertDescription :: Prelude.Maybe Prelude.Text,+ -- | The configuration of the alert filters, containing MetricList and+ -- DimensionFilterList.+ alertFilters :: Prelude.Maybe AlertFilters,+ -- | An integer from 0 to 100 specifying the alert sensitivity threshold.+ alertSensitivityThreshold :: Prelude.Maybe Prelude.Natural,+ -- | The ARN of the alert to update.+ alertArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAlert' 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:+--+-- 'action', 'updateAlert_action' - Action that will be triggered when there is an alert.+--+-- 'alertDescription', 'updateAlert_alertDescription' - A description of the alert.+--+-- 'alertFilters', 'updateAlert_alertFilters' - The configuration of the alert filters, containing MetricList and+-- DimensionFilterList.+--+-- 'alertSensitivityThreshold', 'updateAlert_alertSensitivityThreshold' - An integer from 0 to 100 specifying the alert sensitivity threshold.+--+-- 'alertArn', 'updateAlert_alertArn' - The ARN of the alert to update.+newUpdateAlert ::+ -- | 'alertArn'+ Prelude.Text ->+ UpdateAlert+newUpdateAlert pAlertArn_ =+ UpdateAlert'+ { action = Prelude.Nothing,+ alertDescription = Prelude.Nothing,+ alertFilters = Prelude.Nothing,+ alertSensitivityThreshold = Prelude.Nothing,+ alertArn = pAlertArn_+ }++-- | Action that will be triggered when there is an alert.+updateAlert_action :: Lens.Lens' UpdateAlert (Prelude.Maybe Action)+updateAlert_action = Lens.lens (\UpdateAlert' {action} -> action) (\s@UpdateAlert' {} a -> s {action = a} :: UpdateAlert)++-- | A description of the alert.+updateAlert_alertDescription :: Lens.Lens' UpdateAlert (Prelude.Maybe Prelude.Text)+updateAlert_alertDescription = Lens.lens (\UpdateAlert' {alertDescription} -> alertDescription) (\s@UpdateAlert' {} a -> s {alertDescription = a} :: UpdateAlert)++-- | The configuration of the alert filters, containing MetricList and+-- DimensionFilterList.+updateAlert_alertFilters :: Lens.Lens' UpdateAlert (Prelude.Maybe AlertFilters)+updateAlert_alertFilters = Lens.lens (\UpdateAlert' {alertFilters} -> alertFilters) (\s@UpdateAlert' {} a -> s {alertFilters = a} :: UpdateAlert)++-- | An integer from 0 to 100 specifying the alert sensitivity threshold.+updateAlert_alertSensitivityThreshold :: Lens.Lens' UpdateAlert (Prelude.Maybe Prelude.Natural)+updateAlert_alertSensitivityThreshold = Lens.lens (\UpdateAlert' {alertSensitivityThreshold} -> alertSensitivityThreshold) (\s@UpdateAlert' {} a -> s {alertSensitivityThreshold = a} :: UpdateAlert)++-- | The ARN of the alert to update.+updateAlert_alertArn :: Lens.Lens' UpdateAlert Prelude.Text+updateAlert_alertArn = Lens.lens (\UpdateAlert' {alertArn} -> alertArn) (\s@UpdateAlert' {} a -> s {alertArn = a} :: UpdateAlert)++instance Core.AWSRequest UpdateAlert where+ type AWSResponse UpdateAlert = UpdateAlertResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAlertResponse'+ Prelude.<$> (x Data..?> "AlertArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAlert where+ hashWithSalt _salt UpdateAlert' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` alertDescription+ `Prelude.hashWithSalt` alertFilters+ `Prelude.hashWithSalt` alertSensitivityThreshold+ `Prelude.hashWithSalt` alertArn++instance Prelude.NFData UpdateAlert where+ rnf UpdateAlert' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf alertDescription+ `Prelude.seq` Prelude.rnf alertFilters+ `Prelude.seq` Prelude.rnf alertSensitivityThreshold+ `Prelude.seq` Prelude.rnf alertArn++instance Data.ToHeaders UpdateAlert where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAlert where+ toJSON UpdateAlert' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Action" Data..=) Prelude.<$> action,+ ("AlertDescription" Data..=)+ Prelude.<$> alertDescription,+ ("AlertFilters" Data..=) Prelude.<$> alertFilters,+ ("AlertSensitivityThreshold" Data..=)+ Prelude.<$> alertSensitivityThreshold,+ Prelude.Just ("AlertArn" Data..= alertArn)+ ]+ )++instance Data.ToPath UpdateAlert where+ toPath = Prelude.const "/UpdateAlert"++instance Data.ToQuery UpdateAlert where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAlertResponse' smart constructor.+data UpdateAlertResponse = UpdateAlertResponse'+ { -- | The ARN of the updated alert.+ alertArn :: 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 'UpdateAlertResponse' 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:+--+-- 'alertArn', 'updateAlertResponse_alertArn' - The ARN of the updated alert.+--+-- 'httpStatus', 'updateAlertResponse_httpStatus' - The response's http status code.+newUpdateAlertResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAlertResponse+newUpdateAlertResponse pHttpStatus_ =+ UpdateAlertResponse'+ { alertArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the updated alert.+updateAlertResponse_alertArn :: Lens.Lens' UpdateAlertResponse (Prelude.Maybe Prelude.Text)+updateAlertResponse_alertArn = Lens.lens (\UpdateAlertResponse' {alertArn} -> alertArn) (\s@UpdateAlertResponse' {} a -> s {alertArn = a} :: UpdateAlertResponse)++-- | The response's http status code.+updateAlertResponse_httpStatus :: Lens.Lens' UpdateAlertResponse Prelude.Int+updateAlertResponse_httpStatus = Lens.lens (\UpdateAlertResponse' {httpStatus} -> httpStatus) (\s@UpdateAlertResponse' {} a -> s {httpStatus = a} :: UpdateAlertResponse)++instance Prelude.NFData UpdateAlertResponse where+ rnf UpdateAlertResponse' {..} =+ Prelude.rnf alertArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/UpdateAnomalyDetector.hs view
@@ -0,0 +1,216 @@+{-# 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.LookoutMetrics.UpdateAnomalyDetector+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a detector. After activation, you can only change a detector\'s+-- ingestion delay and description.+module Amazonka.LookoutMetrics.UpdateAnomalyDetector+ ( -- * Creating a Request+ UpdateAnomalyDetector (..),+ newUpdateAnomalyDetector,++ -- * Request Lenses+ updateAnomalyDetector_anomalyDetectorConfig,+ updateAnomalyDetector_anomalyDetectorDescription,+ updateAnomalyDetector_kmsKeyArn,+ updateAnomalyDetector_anomalyDetectorArn,++ -- * Destructuring the Response+ UpdateAnomalyDetectorResponse (..),+ newUpdateAnomalyDetectorResponse,++ -- * Response Lenses+ updateAnomalyDetectorResponse_anomalyDetectorArn,+ updateAnomalyDetectorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAnomalyDetector' smart constructor.+data UpdateAnomalyDetector = UpdateAnomalyDetector'+ { -- | Contains information about the configuration to which the detector will+ -- be updated.+ anomalyDetectorConfig :: Prelude.Maybe AnomalyDetectorConfig,+ -- | The updated detector description.+ anomalyDetectorDescription :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of an AWS KMS encryption key.+ kmsKeyArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the detector to update.+ anomalyDetectorArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAnomalyDetector' 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:+--+-- 'anomalyDetectorConfig', 'updateAnomalyDetector_anomalyDetectorConfig' - Contains information about the configuration to which the detector will+-- be updated.+--+-- 'anomalyDetectorDescription', 'updateAnomalyDetector_anomalyDetectorDescription' - The updated detector description.+--+-- 'kmsKeyArn', 'updateAnomalyDetector_kmsKeyArn' - The Amazon Resource Name (ARN) of an AWS KMS encryption key.+--+-- 'anomalyDetectorArn', 'updateAnomalyDetector_anomalyDetectorArn' - The ARN of the detector to update.+newUpdateAnomalyDetector ::+ -- | 'anomalyDetectorArn'+ Prelude.Text ->+ UpdateAnomalyDetector+newUpdateAnomalyDetector pAnomalyDetectorArn_ =+ UpdateAnomalyDetector'+ { anomalyDetectorConfig =+ Prelude.Nothing,+ anomalyDetectorDescription = Prelude.Nothing,+ kmsKeyArn = Prelude.Nothing,+ anomalyDetectorArn = pAnomalyDetectorArn_+ }++-- | Contains information about the configuration to which the detector will+-- be updated.+updateAnomalyDetector_anomalyDetectorConfig :: Lens.Lens' UpdateAnomalyDetector (Prelude.Maybe AnomalyDetectorConfig)+updateAnomalyDetector_anomalyDetectorConfig = Lens.lens (\UpdateAnomalyDetector' {anomalyDetectorConfig} -> anomalyDetectorConfig) (\s@UpdateAnomalyDetector' {} a -> s {anomalyDetectorConfig = a} :: UpdateAnomalyDetector)++-- | The updated detector description.+updateAnomalyDetector_anomalyDetectorDescription :: Lens.Lens' UpdateAnomalyDetector (Prelude.Maybe Prelude.Text)+updateAnomalyDetector_anomalyDetectorDescription = Lens.lens (\UpdateAnomalyDetector' {anomalyDetectorDescription} -> anomalyDetectorDescription) (\s@UpdateAnomalyDetector' {} a -> s {anomalyDetectorDescription = a} :: UpdateAnomalyDetector)++-- | The Amazon Resource Name (ARN) of an AWS KMS encryption key.+updateAnomalyDetector_kmsKeyArn :: Lens.Lens' UpdateAnomalyDetector (Prelude.Maybe Prelude.Text)+updateAnomalyDetector_kmsKeyArn = Lens.lens (\UpdateAnomalyDetector' {kmsKeyArn} -> kmsKeyArn) (\s@UpdateAnomalyDetector' {} a -> s {kmsKeyArn = a} :: UpdateAnomalyDetector)++-- | The ARN of the detector to update.+updateAnomalyDetector_anomalyDetectorArn :: Lens.Lens' UpdateAnomalyDetector Prelude.Text+updateAnomalyDetector_anomalyDetectorArn = Lens.lens (\UpdateAnomalyDetector' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@UpdateAnomalyDetector' {} a -> s {anomalyDetectorArn = a} :: UpdateAnomalyDetector)++instance Core.AWSRequest UpdateAnomalyDetector where+ type+ AWSResponse UpdateAnomalyDetector =+ UpdateAnomalyDetectorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAnomalyDetectorResponse'+ Prelude.<$> (x Data..?> "AnomalyDetectorArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAnomalyDetector where+ hashWithSalt _salt UpdateAnomalyDetector' {..} =+ _salt+ `Prelude.hashWithSalt` anomalyDetectorConfig+ `Prelude.hashWithSalt` anomalyDetectorDescription+ `Prelude.hashWithSalt` kmsKeyArn+ `Prelude.hashWithSalt` anomalyDetectorArn++instance Prelude.NFData UpdateAnomalyDetector where+ rnf UpdateAnomalyDetector' {..} =+ Prelude.rnf anomalyDetectorConfig+ `Prelude.seq` Prelude.rnf anomalyDetectorDescription+ `Prelude.seq` Prelude.rnf kmsKeyArn+ `Prelude.seq` Prelude.rnf anomalyDetectorArn++instance Data.ToHeaders UpdateAnomalyDetector where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAnomalyDetector where+ toJSON UpdateAnomalyDetector' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AnomalyDetectorConfig" Data..=)+ Prelude.<$> anomalyDetectorConfig,+ ("AnomalyDetectorDescription" Data..=)+ Prelude.<$> anomalyDetectorDescription,+ ("KmsKeyArn" Data..=) Prelude.<$> kmsKeyArn,+ Prelude.Just+ ("AnomalyDetectorArn" Data..= anomalyDetectorArn)+ ]+ )++instance Data.ToPath UpdateAnomalyDetector where+ toPath = Prelude.const "/UpdateAnomalyDetector"++instance Data.ToQuery UpdateAnomalyDetector where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAnomalyDetectorResponse' smart constructor.+data UpdateAnomalyDetectorResponse = UpdateAnomalyDetectorResponse'+ { -- | The ARN of the updated detector.+ anomalyDetectorArn :: 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 'UpdateAnomalyDetectorResponse' 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:+--+-- 'anomalyDetectorArn', 'updateAnomalyDetectorResponse_anomalyDetectorArn' - The ARN of the updated detector.+--+-- 'httpStatus', 'updateAnomalyDetectorResponse_httpStatus' - The response's http status code.+newUpdateAnomalyDetectorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAnomalyDetectorResponse+newUpdateAnomalyDetectorResponse pHttpStatus_ =+ UpdateAnomalyDetectorResponse'+ { anomalyDetectorArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the updated detector.+updateAnomalyDetectorResponse_anomalyDetectorArn :: Lens.Lens' UpdateAnomalyDetectorResponse (Prelude.Maybe Prelude.Text)+updateAnomalyDetectorResponse_anomalyDetectorArn = Lens.lens (\UpdateAnomalyDetectorResponse' {anomalyDetectorArn} -> anomalyDetectorArn) (\s@UpdateAnomalyDetectorResponse' {} a -> s {anomalyDetectorArn = a} :: UpdateAnomalyDetectorResponse)++-- | The response's http status code.+updateAnomalyDetectorResponse_httpStatus :: Lens.Lens' UpdateAnomalyDetectorResponse Prelude.Int+updateAnomalyDetectorResponse_httpStatus = Lens.lens (\UpdateAnomalyDetectorResponse' {httpStatus} -> httpStatus) (\s@UpdateAnomalyDetectorResponse' {} a -> s {httpStatus = a} :: UpdateAnomalyDetectorResponse)++instance Prelude.NFData UpdateAnomalyDetectorResponse where+ rnf UpdateAnomalyDetectorResponse' {..} =+ Prelude.rnf anomalyDetectorArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/UpdateMetricSet.hs view
@@ -0,0 +1,295 @@+{-# 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.LookoutMetrics.UpdateMetricSet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a dataset.+module Amazonka.LookoutMetrics.UpdateMetricSet+ ( -- * Creating a Request+ UpdateMetricSet (..),+ newUpdateMetricSet,++ -- * Request Lenses+ updateMetricSet_dimensionFilterList,+ updateMetricSet_dimensionList,+ updateMetricSet_metricList,+ updateMetricSet_metricSetDescription,+ updateMetricSet_metricSetFrequency,+ updateMetricSet_metricSource,+ updateMetricSet_offset,+ updateMetricSet_timestampColumn,+ updateMetricSet_metricSetArn,++ -- * Destructuring the Response+ UpdateMetricSetResponse (..),+ newUpdateMetricSetResponse,++ -- * Response Lenses+ updateMetricSetResponse_metricSetArn,+ updateMetricSetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateMetricSet' smart constructor.+data UpdateMetricSet = UpdateMetricSet'+ { -- | Describes a list of filters for choosing specific dimensions and+ -- specific values. Each filter consists of the dimension and one of its+ -- values that you want to include. When multiple dimensions or values are+ -- specified, the dimensions are joined with an AND operation and the+ -- values are joined with an OR operation.+ dimensionFilterList :: Prelude.Maybe [MetricSetDimensionFilter],+ -- | The dimension list.+ dimensionList :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The metric list.+ metricList :: Prelude.Maybe (Prelude.NonEmpty Metric),+ -- | The dataset\'s description.+ metricSetDescription :: Prelude.Maybe Prelude.Text,+ -- | The dataset\'s interval.+ metricSetFrequency :: Prelude.Maybe Frequency,+ metricSource :: Prelude.Maybe MetricSource,+ -- | After an interval ends, the amount of seconds that the detector waits+ -- before importing data. Offset is only supported for S3, Redshift, Athena+ -- and datasources.+ offset :: Prelude.Maybe Prelude.Natural,+ -- | The timestamp column.+ timestampColumn :: Prelude.Maybe TimestampColumn,+ -- | The ARN of the dataset to update.+ metricSetArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMetricSet' 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:+--+-- 'dimensionFilterList', 'updateMetricSet_dimensionFilterList' - Describes a list of filters for choosing specific dimensions and+-- specific values. Each filter consists of the dimension and one of its+-- values that you want to include. When multiple dimensions or values are+-- specified, the dimensions are joined with an AND operation and the+-- values are joined with an OR operation.+--+-- 'dimensionList', 'updateMetricSet_dimensionList' - The dimension list.+--+-- 'metricList', 'updateMetricSet_metricList' - The metric list.+--+-- 'metricSetDescription', 'updateMetricSet_metricSetDescription' - The dataset\'s description.+--+-- 'metricSetFrequency', 'updateMetricSet_metricSetFrequency' - The dataset\'s interval.+--+-- 'metricSource', 'updateMetricSet_metricSource' - Undocumented member.+--+-- 'offset', 'updateMetricSet_offset' - After an interval ends, the amount of seconds that the detector waits+-- before importing data. Offset is only supported for S3, Redshift, Athena+-- and datasources.+--+-- 'timestampColumn', 'updateMetricSet_timestampColumn' - The timestamp column.+--+-- 'metricSetArn', 'updateMetricSet_metricSetArn' - The ARN of the dataset to update.+newUpdateMetricSet ::+ -- | 'metricSetArn'+ Prelude.Text ->+ UpdateMetricSet+newUpdateMetricSet pMetricSetArn_ =+ UpdateMetricSet'+ { dimensionFilterList =+ Prelude.Nothing,+ dimensionList = Prelude.Nothing,+ metricList = Prelude.Nothing,+ metricSetDescription = Prelude.Nothing,+ metricSetFrequency = Prelude.Nothing,+ metricSource = Prelude.Nothing,+ offset = Prelude.Nothing,+ timestampColumn = Prelude.Nothing,+ metricSetArn = pMetricSetArn_+ }++-- | Describes a list of filters for choosing specific dimensions and+-- specific values. Each filter consists of the dimension and one of its+-- values that you want to include. When multiple dimensions or values are+-- specified, the dimensions are joined with an AND operation and the+-- values are joined with an OR operation.+updateMetricSet_dimensionFilterList :: Lens.Lens' UpdateMetricSet (Prelude.Maybe [MetricSetDimensionFilter])+updateMetricSet_dimensionFilterList = Lens.lens (\UpdateMetricSet' {dimensionFilterList} -> dimensionFilterList) (\s@UpdateMetricSet' {} a -> s {dimensionFilterList = a} :: UpdateMetricSet) Prelude.. Lens.mapping Lens.coerced++-- | The dimension list.+updateMetricSet_dimensionList :: Lens.Lens' UpdateMetricSet (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateMetricSet_dimensionList = Lens.lens (\UpdateMetricSet' {dimensionList} -> dimensionList) (\s@UpdateMetricSet' {} a -> s {dimensionList = a} :: UpdateMetricSet) Prelude.. Lens.mapping Lens.coerced++-- | The metric list.+updateMetricSet_metricList :: Lens.Lens' UpdateMetricSet (Prelude.Maybe (Prelude.NonEmpty Metric))+updateMetricSet_metricList = Lens.lens (\UpdateMetricSet' {metricList} -> metricList) (\s@UpdateMetricSet' {} a -> s {metricList = a} :: UpdateMetricSet) Prelude.. Lens.mapping Lens.coerced++-- | The dataset\'s description.+updateMetricSet_metricSetDescription :: Lens.Lens' UpdateMetricSet (Prelude.Maybe Prelude.Text)+updateMetricSet_metricSetDescription = Lens.lens (\UpdateMetricSet' {metricSetDescription} -> metricSetDescription) (\s@UpdateMetricSet' {} a -> s {metricSetDescription = a} :: UpdateMetricSet)++-- | The dataset\'s interval.+updateMetricSet_metricSetFrequency :: Lens.Lens' UpdateMetricSet (Prelude.Maybe Frequency)+updateMetricSet_metricSetFrequency = Lens.lens (\UpdateMetricSet' {metricSetFrequency} -> metricSetFrequency) (\s@UpdateMetricSet' {} a -> s {metricSetFrequency = a} :: UpdateMetricSet)++-- | Undocumented member.+updateMetricSet_metricSource :: Lens.Lens' UpdateMetricSet (Prelude.Maybe MetricSource)+updateMetricSet_metricSource = Lens.lens (\UpdateMetricSet' {metricSource} -> metricSource) (\s@UpdateMetricSet' {} a -> s {metricSource = a} :: UpdateMetricSet)++-- | After an interval ends, the amount of seconds that the detector waits+-- before importing data. Offset is only supported for S3, Redshift, Athena+-- and datasources.+updateMetricSet_offset :: Lens.Lens' UpdateMetricSet (Prelude.Maybe Prelude.Natural)+updateMetricSet_offset = Lens.lens (\UpdateMetricSet' {offset} -> offset) (\s@UpdateMetricSet' {} a -> s {offset = a} :: UpdateMetricSet)++-- | The timestamp column.+updateMetricSet_timestampColumn :: Lens.Lens' UpdateMetricSet (Prelude.Maybe TimestampColumn)+updateMetricSet_timestampColumn = Lens.lens (\UpdateMetricSet' {timestampColumn} -> timestampColumn) (\s@UpdateMetricSet' {} a -> s {timestampColumn = a} :: UpdateMetricSet)++-- | The ARN of the dataset to update.+updateMetricSet_metricSetArn :: Lens.Lens' UpdateMetricSet Prelude.Text+updateMetricSet_metricSetArn = Lens.lens (\UpdateMetricSet' {metricSetArn} -> metricSetArn) (\s@UpdateMetricSet' {} a -> s {metricSetArn = a} :: UpdateMetricSet)++instance Core.AWSRequest UpdateMetricSet where+ type+ AWSResponse UpdateMetricSet =+ UpdateMetricSetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateMetricSetResponse'+ Prelude.<$> (x Data..?> "MetricSetArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateMetricSet where+ hashWithSalt _salt UpdateMetricSet' {..} =+ _salt+ `Prelude.hashWithSalt` dimensionFilterList+ `Prelude.hashWithSalt` dimensionList+ `Prelude.hashWithSalt` metricList+ `Prelude.hashWithSalt` metricSetDescription+ `Prelude.hashWithSalt` metricSetFrequency+ `Prelude.hashWithSalt` metricSource+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` timestampColumn+ `Prelude.hashWithSalt` metricSetArn++instance Prelude.NFData UpdateMetricSet where+ rnf UpdateMetricSet' {..} =+ Prelude.rnf dimensionFilterList+ `Prelude.seq` Prelude.rnf dimensionList+ `Prelude.seq` Prelude.rnf metricList+ `Prelude.seq` Prelude.rnf metricSetDescription+ `Prelude.seq` Prelude.rnf metricSetFrequency+ `Prelude.seq` Prelude.rnf metricSource+ `Prelude.seq` Prelude.rnf offset+ `Prelude.seq` Prelude.rnf timestampColumn+ `Prelude.seq` Prelude.rnf metricSetArn++instance Data.ToHeaders UpdateMetricSet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateMetricSet where+ toJSON UpdateMetricSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DimensionFilterList" Data..=)+ Prelude.<$> dimensionFilterList,+ ("DimensionList" Data..=) Prelude.<$> dimensionList,+ ("MetricList" Data..=) Prelude.<$> metricList,+ ("MetricSetDescription" Data..=)+ Prelude.<$> metricSetDescription,+ ("MetricSetFrequency" Data..=)+ Prelude.<$> metricSetFrequency,+ ("MetricSource" Data..=) Prelude.<$> metricSource,+ ("Offset" Data..=) Prelude.<$> offset,+ ("TimestampColumn" Data..=)+ Prelude.<$> timestampColumn,+ Prelude.Just ("MetricSetArn" Data..= metricSetArn)+ ]+ )++instance Data.ToPath UpdateMetricSet where+ toPath = Prelude.const "/UpdateMetricSet"++instance Data.ToQuery UpdateMetricSet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMetricSetResponse' smart constructor.+data UpdateMetricSetResponse = UpdateMetricSetResponse'+ { -- | The ARN of the dataset.+ metricSetArn :: 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 'UpdateMetricSetResponse' 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:+--+-- 'metricSetArn', 'updateMetricSetResponse_metricSetArn' - The ARN of the dataset.+--+-- 'httpStatus', 'updateMetricSetResponse_httpStatus' - The response's http status code.+newUpdateMetricSetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateMetricSetResponse+newUpdateMetricSetResponse pHttpStatus_ =+ UpdateMetricSetResponse'+ { metricSetArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the dataset.+updateMetricSetResponse_metricSetArn :: Lens.Lens' UpdateMetricSetResponse (Prelude.Maybe Prelude.Text)+updateMetricSetResponse_metricSetArn = Lens.lens (\UpdateMetricSetResponse' {metricSetArn} -> metricSetArn) (\s@UpdateMetricSetResponse' {} a -> s {metricSetArn = a} :: UpdateMetricSetResponse)++-- | The response's http status code.+updateMetricSetResponse_httpStatus :: Lens.Lens' UpdateMetricSetResponse Prelude.Int+updateMetricSetResponse_httpStatus = Lens.lens (\UpdateMetricSetResponse' {httpStatus} -> httpStatus) (\s@UpdateMetricSetResponse' {} a -> s {httpStatus = a} :: UpdateMetricSetResponse)++instance Prelude.NFData UpdateMetricSetResponse where+ rnf UpdateMetricSetResponse' {..} =+ Prelude.rnf metricSetArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutMetrics/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.LookoutMetrics.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.LookoutMetrics.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutMetrics.Lens+import Amazonka.LookoutMetrics.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.LookoutMetrics+import Test.Amazonka.LookoutMetrics.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "LookoutMetrics"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/LookoutMetrics.hs view
@@ -0,0 +1,638 @@+{-# 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.LookoutMetrics+-- 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.LookoutMetrics where++import Amazonka.LookoutMetrics+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.LookoutMetrics.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"+-- [ requestActivateAnomalyDetector $+-- newActivateAnomalyDetector+--+-- , requestBackTestAnomalyDetector $+-- newBackTestAnomalyDetector+--+-- , requestCreateAlert $+-- newCreateAlert+--+-- , requestCreateAnomalyDetector $+-- newCreateAnomalyDetector+--+-- , requestCreateMetricSet $+-- newCreateMetricSet+--+-- , requestDeactivateAnomalyDetector $+-- newDeactivateAnomalyDetector+--+-- , requestDeleteAlert $+-- newDeleteAlert+--+-- , requestDeleteAnomalyDetector $+-- newDeleteAnomalyDetector+--+-- , requestDescribeAlert $+-- newDescribeAlert+--+-- , requestDescribeAnomalyDetectionExecutions $+-- newDescribeAnomalyDetectionExecutions+--+-- , requestDescribeAnomalyDetector $+-- newDescribeAnomalyDetector+--+-- , requestDescribeMetricSet $+-- newDescribeMetricSet+--+-- , requestDetectMetricSetConfig $+-- newDetectMetricSetConfig+--+-- , requestGetAnomalyGroup $+-- newGetAnomalyGroup+--+-- , requestGetDataQualityMetrics $+-- newGetDataQualityMetrics+--+-- , requestGetFeedback $+-- newGetFeedback+--+-- , requestGetSampleData $+-- newGetSampleData+--+-- , requestListAlerts $+-- newListAlerts+--+-- , requestListAnomalyDetectors $+-- newListAnomalyDetectors+--+-- , requestListAnomalyGroupRelatedMetrics $+-- newListAnomalyGroupRelatedMetrics+--+-- , requestListAnomalyGroupSummaries $+-- newListAnomalyGroupSummaries+--+-- , requestListAnomalyGroupTimeSeries $+-- newListAnomalyGroupTimeSeries+--+-- , requestListMetricSets $+-- newListMetricSets+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPutFeedback $+-- newPutFeedback+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAlert $+-- newUpdateAlert+--+-- , requestUpdateAnomalyDetector $+-- newUpdateAnomalyDetector+--+-- , requestUpdateMetricSet $+-- newUpdateMetricSet+--+-- ]++-- , testGroup "response"+-- [ responseActivateAnomalyDetector $+-- newActivateAnomalyDetectorResponse+--+-- , responseBackTestAnomalyDetector $+-- newBackTestAnomalyDetectorResponse+--+-- , responseCreateAlert $+-- newCreateAlertResponse+--+-- , responseCreateAnomalyDetector $+-- newCreateAnomalyDetectorResponse+--+-- , responseCreateMetricSet $+-- newCreateMetricSetResponse+--+-- , responseDeactivateAnomalyDetector $+-- newDeactivateAnomalyDetectorResponse+--+-- , responseDeleteAlert $+-- newDeleteAlertResponse+--+-- , responseDeleteAnomalyDetector $+-- newDeleteAnomalyDetectorResponse+--+-- , responseDescribeAlert $+-- newDescribeAlertResponse+--+-- , responseDescribeAnomalyDetectionExecutions $+-- newDescribeAnomalyDetectionExecutionsResponse+--+-- , responseDescribeAnomalyDetector $+-- newDescribeAnomalyDetectorResponse+--+-- , responseDescribeMetricSet $+-- newDescribeMetricSetResponse+--+-- , responseDetectMetricSetConfig $+-- newDetectMetricSetConfigResponse+--+-- , responseGetAnomalyGroup $+-- newGetAnomalyGroupResponse+--+-- , responseGetDataQualityMetrics $+-- newGetDataQualityMetricsResponse+--+-- , responseGetFeedback $+-- newGetFeedbackResponse+--+-- , responseGetSampleData $+-- newGetSampleDataResponse+--+-- , responseListAlerts $+-- newListAlertsResponse+--+-- , responseListAnomalyDetectors $+-- newListAnomalyDetectorsResponse+--+-- , responseListAnomalyGroupRelatedMetrics $+-- newListAnomalyGroupRelatedMetricsResponse+--+-- , responseListAnomalyGroupSummaries $+-- newListAnomalyGroupSummariesResponse+--+-- , responseListAnomalyGroupTimeSeries $+-- newListAnomalyGroupTimeSeriesResponse+--+-- , responseListMetricSets $+-- newListMetricSetsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePutFeedback $+-- newPutFeedbackResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAlert $+-- newUpdateAlertResponse+--+-- , responseUpdateAnomalyDetector $+-- newUpdateAnomalyDetectorResponse+--+-- , responseUpdateMetricSet $+-- newUpdateMetricSetResponse+--+-- ]+-- ]++-- Requests++requestActivateAnomalyDetector :: ActivateAnomalyDetector -> TestTree+requestActivateAnomalyDetector =+ req+ "ActivateAnomalyDetector"+ "fixture/ActivateAnomalyDetector.yaml"++requestBackTestAnomalyDetector :: BackTestAnomalyDetector -> TestTree+requestBackTestAnomalyDetector =+ req+ "BackTestAnomalyDetector"+ "fixture/BackTestAnomalyDetector.yaml"++requestCreateAlert :: CreateAlert -> TestTree+requestCreateAlert =+ req+ "CreateAlert"+ "fixture/CreateAlert.yaml"++requestCreateAnomalyDetector :: CreateAnomalyDetector -> TestTree+requestCreateAnomalyDetector =+ req+ "CreateAnomalyDetector"+ "fixture/CreateAnomalyDetector.yaml"++requestCreateMetricSet :: CreateMetricSet -> TestTree+requestCreateMetricSet =+ req+ "CreateMetricSet"+ "fixture/CreateMetricSet.yaml"++requestDeactivateAnomalyDetector :: DeactivateAnomalyDetector -> TestTree+requestDeactivateAnomalyDetector =+ req+ "DeactivateAnomalyDetector"+ "fixture/DeactivateAnomalyDetector.yaml"++requestDeleteAlert :: DeleteAlert -> TestTree+requestDeleteAlert =+ req+ "DeleteAlert"+ "fixture/DeleteAlert.yaml"++requestDeleteAnomalyDetector :: DeleteAnomalyDetector -> TestTree+requestDeleteAnomalyDetector =+ req+ "DeleteAnomalyDetector"+ "fixture/DeleteAnomalyDetector.yaml"++requestDescribeAlert :: DescribeAlert -> TestTree+requestDescribeAlert =+ req+ "DescribeAlert"+ "fixture/DescribeAlert.yaml"++requestDescribeAnomalyDetectionExecutions :: DescribeAnomalyDetectionExecutions -> TestTree+requestDescribeAnomalyDetectionExecutions =+ req+ "DescribeAnomalyDetectionExecutions"+ "fixture/DescribeAnomalyDetectionExecutions.yaml"++requestDescribeAnomalyDetector :: DescribeAnomalyDetector -> TestTree+requestDescribeAnomalyDetector =+ req+ "DescribeAnomalyDetector"+ "fixture/DescribeAnomalyDetector.yaml"++requestDescribeMetricSet :: DescribeMetricSet -> TestTree+requestDescribeMetricSet =+ req+ "DescribeMetricSet"+ "fixture/DescribeMetricSet.yaml"++requestDetectMetricSetConfig :: DetectMetricSetConfig -> TestTree+requestDetectMetricSetConfig =+ req+ "DetectMetricSetConfig"+ "fixture/DetectMetricSetConfig.yaml"++requestGetAnomalyGroup :: GetAnomalyGroup -> TestTree+requestGetAnomalyGroup =+ req+ "GetAnomalyGroup"+ "fixture/GetAnomalyGroup.yaml"++requestGetDataQualityMetrics :: GetDataQualityMetrics -> TestTree+requestGetDataQualityMetrics =+ req+ "GetDataQualityMetrics"+ "fixture/GetDataQualityMetrics.yaml"++requestGetFeedback :: GetFeedback -> TestTree+requestGetFeedback =+ req+ "GetFeedback"+ "fixture/GetFeedback.yaml"++requestGetSampleData :: GetSampleData -> TestTree+requestGetSampleData =+ req+ "GetSampleData"+ "fixture/GetSampleData.yaml"++requestListAlerts :: ListAlerts -> TestTree+requestListAlerts =+ req+ "ListAlerts"+ "fixture/ListAlerts.yaml"++requestListAnomalyDetectors :: ListAnomalyDetectors -> TestTree+requestListAnomalyDetectors =+ req+ "ListAnomalyDetectors"+ "fixture/ListAnomalyDetectors.yaml"++requestListAnomalyGroupRelatedMetrics :: ListAnomalyGroupRelatedMetrics -> TestTree+requestListAnomalyGroupRelatedMetrics =+ req+ "ListAnomalyGroupRelatedMetrics"+ "fixture/ListAnomalyGroupRelatedMetrics.yaml"++requestListAnomalyGroupSummaries :: ListAnomalyGroupSummaries -> TestTree+requestListAnomalyGroupSummaries =+ req+ "ListAnomalyGroupSummaries"+ "fixture/ListAnomalyGroupSummaries.yaml"++requestListAnomalyGroupTimeSeries :: ListAnomalyGroupTimeSeries -> TestTree+requestListAnomalyGroupTimeSeries =+ req+ "ListAnomalyGroupTimeSeries"+ "fixture/ListAnomalyGroupTimeSeries.yaml"++requestListMetricSets :: ListMetricSets -> TestTree+requestListMetricSets =+ req+ "ListMetricSets"+ "fixture/ListMetricSets.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPutFeedback :: PutFeedback -> TestTree+requestPutFeedback =+ req+ "PutFeedback"+ "fixture/PutFeedback.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAlert :: UpdateAlert -> TestTree+requestUpdateAlert =+ req+ "UpdateAlert"+ "fixture/UpdateAlert.yaml"++requestUpdateAnomalyDetector :: UpdateAnomalyDetector -> TestTree+requestUpdateAnomalyDetector =+ req+ "UpdateAnomalyDetector"+ "fixture/UpdateAnomalyDetector.yaml"++requestUpdateMetricSet :: UpdateMetricSet -> TestTree+requestUpdateMetricSet =+ req+ "UpdateMetricSet"+ "fixture/UpdateMetricSet.yaml"++-- Responses++responseActivateAnomalyDetector :: ActivateAnomalyDetectorResponse -> TestTree+responseActivateAnomalyDetector =+ res+ "ActivateAnomalyDetectorResponse"+ "fixture/ActivateAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ActivateAnomalyDetector)++responseBackTestAnomalyDetector :: BackTestAnomalyDetectorResponse -> TestTree+responseBackTestAnomalyDetector =+ res+ "BackTestAnomalyDetectorResponse"+ "fixture/BackTestAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BackTestAnomalyDetector)++responseCreateAlert :: CreateAlertResponse -> TestTree+responseCreateAlert =+ res+ "CreateAlertResponse"+ "fixture/CreateAlertResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAlert)++responseCreateAnomalyDetector :: CreateAnomalyDetectorResponse -> TestTree+responseCreateAnomalyDetector =+ res+ "CreateAnomalyDetectorResponse"+ "fixture/CreateAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAnomalyDetector)++responseCreateMetricSet :: CreateMetricSetResponse -> TestTree+responseCreateMetricSet =+ res+ "CreateMetricSetResponse"+ "fixture/CreateMetricSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateMetricSet)++responseDeactivateAnomalyDetector :: DeactivateAnomalyDetectorResponse -> TestTree+responseDeactivateAnomalyDetector =+ res+ "DeactivateAnomalyDetectorResponse"+ "fixture/DeactivateAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeactivateAnomalyDetector)++responseDeleteAlert :: DeleteAlertResponse -> TestTree+responseDeleteAlert =+ res+ "DeleteAlertResponse"+ "fixture/DeleteAlertResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAlert)++responseDeleteAnomalyDetector :: DeleteAnomalyDetectorResponse -> TestTree+responseDeleteAnomalyDetector =+ res+ "DeleteAnomalyDetectorResponse"+ "fixture/DeleteAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAnomalyDetector)++responseDescribeAlert :: DescribeAlertResponse -> TestTree+responseDescribeAlert =+ res+ "DescribeAlertResponse"+ "fixture/DescribeAlertResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAlert)++responseDescribeAnomalyDetectionExecutions :: DescribeAnomalyDetectionExecutionsResponse -> TestTree+responseDescribeAnomalyDetectionExecutions =+ res+ "DescribeAnomalyDetectionExecutionsResponse"+ "fixture/DescribeAnomalyDetectionExecutionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAnomalyDetectionExecutions)++responseDescribeAnomalyDetector :: DescribeAnomalyDetectorResponse -> TestTree+responseDescribeAnomalyDetector =+ res+ "DescribeAnomalyDetectorResponse"+ "fixture/DescribeAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeAnomalyDetector)++responseDescribeMetricSet :: DescribeMetricSetResponse -> TestTree+responseDescribeMetricSet =+ res+ "DescribeMetricSetResponse"+ "fixture/DescribeMetricSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeMetricSet)++responseDetectMetricSetConfig :: DetectMetricSetConfigResponse -> TestTree+responseDetectMetricSetConfig =+ res+ "DetectMetricSetConfigResponse"+ "fixture/DetectMetricSetConfigResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DetectMetricSetConfig)++responseGetAnomalyGroup :: GetAnomalyGroupResponse -> TestTree+responseGetAnomalyGroup =+ res+ "GetAnomalyGroupResponse"+ "fixture/GetAnomalyGroupResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAnomalyGroup)++responseGetDataQualityMetrics :: GetDataQualityMetricsResponse -> TestTree+responseGetDataQualityMetrics =+ res+ "GetDataQualityMetricsResponse"+ "fixture/GetDataQualityMetricsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDataQualityMetrics)++responseGetFeedback :: GetFeedbackResponse -> TestTree+responseGetFeedback =+ res+ "GetFeedbackResponse"+ "fixture/GetFeedbackResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFeedback)++responseGetSampleData :: GetSampleDataResponse -> TestTree+responseGetSampleData =+ res+ "GetSampleDataResponse"+ "fixture/GetSampleDataResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSampleData)++responseListAlerts :: ListAlertsResponse -> TestTree+responseListAlerts =+ res+ "ListAlertsResponse"+ "fixture/ListAlertsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAlerts)++responseListAnomalyDetectors :: ListAnomalyDetectorsResponse -> TestTree+responseListAnomalyDetectors =+ res+ "ListAnomalyDetectorsResponse"+ "fixture/ListAnomalyDetectorsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAnomalyDetectors)++responseListAnomalyGroupRelatedMetrics :: ListAnomalyGroupRelatedMetricsResponse -> TestTree+responseListAnomalyGroupRelatedMetrics =+ res+ "ListAnomalyGroupRelatedMetricsResponse"+ "fixture/ListAnomalyGroupRelatedMetricsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAnomalyGroupRelatedMetrics)++responseListAnomalyGroupSummaries :: ListAnomalyGroupSummariesResponse -> TestTree+responseListAnomalyGroupSummaries =+ res+ "ListAnomalyGroupSummariesResponse"+ "fixture/ListAnomalyGroupSummariesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAnomalyGroupSummaries)++responseListAnomalyGroupTimeSeries :: ListAnomalyGroupTimeSeriesResponse -> TestTree+responseListAnomalyGroupTimeSeries =+ res+ "ListAnomalyGroupTimeSeriesResponse"+ "fixture/ListAnomalyGroupTimeSeriesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAnomalyGroupTimeSeries)++responseListMetricSets :: ListMetricSetsResponse -> TestTree+responseListMetricSets =+ res+ "ListMetricSetsResponse"+ "fixture/ListMetricSetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListMetricSets)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutFeedback :: PutFeedbackResponse -> TestTree+responsePutFeedback =+ res+ "PutFeedbackResponse"+ "fixture/PutFeedbackResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutFeedback)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAlert :: UpdateAlertResponse -> TestTree+responseUpdateAlert =+ res+ "UpdateAlertResponse"+ "fixture/UpdateAlertResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAlert)++responseUpdateAnomalyDetector :: UpdateAnomalyDetectorResponse -> TestTree+responseUpdateAnomalyDetector =+ res+ "UpdateAnomalyDetectorResponse"+ "fixture/UpdateAnomalyDetectorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAnomalyDetector)++responseUpdateMetricSet :: UpdateMetricSetResponse -> TestTree+responseUpdateMetricSet =+ res+ "UpdateMetricSetResponse"+ "fixture/UpdateMetricSetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateMetricSet)
+ test/Test/Amazonka/LookoutMetrics.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.LookoutMetrics+-- 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.LookoutMetrics+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/LookoutMetrics/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.LookoutMetrics.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.LookoutMetrics.Internal where