packages feed

amazonka-forecast (empty) → 2.0

raw patch · 280 files changed

+35193/−0 lines, 280 filesdep +amazonka-coredep +amazonka-forecastdep +amazonka-test

Dependencies added: amazonka-core, amazonka-forecast, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Forecast Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-06-26@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-forecast)+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.Forecast](http://hackage.haskell.org/package/amazonka-forecast/docs/Amazonka-Forecast.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-forecast` 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-forecast.cabal view
@@ -0,0 +1,225 @@+cabal-version:      2.2+name:               amazonka-forecast+version:            2.0+synopsis:           Amazon Forecast Service SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-06-26@ 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.Forecast.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.Forecast" 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-forecast++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.Forecast+    Amazonka.Forecast.CreateAutoPredictor+    Amazonka.Forecast.CreateDataset+    Amazonka.Forecast.CreateDatasetGroup+    Amazonka.Forecast.CreateDatasetImportJob+    Amazonka.Forecast.CreateExplainability+    Amazonka.Forecast.CreateExplainabilityExport+    Amazonka.Forecast.CreateForecast+    Amazonka.Forecast.CreateForecastExportJob+    Amazonka.Forecast.CreateMonitor+    Amazonka.Forecast.CreatePredictor+    Amazonka.Forecast.CreatePredictorBacktestExportJob+    Amazonka.Forecast.CreateWhatIfAnalysis+    Amazonka.Forecast.CreateWhatIfForecast+    Amazonka.Forecast.CreateWhatIfForecastExport+    Amazonka.Forecast.DeleteDataset+    Amazonka.Forecast.DeleteDatasetGroup+    Amazonka.Forecast.DeleteDatasetImportJob+    Amazonka.Forecast.DeleteExplainability+    Amazonka.Forecast.DeleteExplainabilityExport+    Amazonka.Forecast.DeleteForecast+    Amazonka.Forecast.DeleteForecastExportJob+    Amazonka.Forecast.DeleteMonitor+    Amazonka.Forecast.DeletePredictor+    Amazonka.Forecast.DeletePredictorBacktestExportJob+    Amazonka.Forecast.DeleteResourceTree+    Amazonka.Forecast.DeleteWhatIfAnalysis+    Amazonka.Forecast.DeleteWhatIfForecast+    Amazonka.Forecast.DeleteWhatIfForecastExport+    Amazonka.Forecast.DescribeAutoPredictor+    Amazonka.Forecast.DescribeDataset+    Amazonka.Forecast.DescribeDatasetGroup+    Amazonka.Forecast.DescribeDatasetImportJob+    Amazonka.Forecast.DescribeExplainability+    Amazonka.Forecast.DescribeExplainabilityExport+    Amazonka.Forecast.DescribeForecast+    Amazonka.Forecast.DescribeForecastExportJob+    Amazonka.Forecast.DescribeMonitor+    Amazonka.Forecast.DescribePredictor+    Amazonka.Forecast.DescribePredictorBacktestExportJob+    Amazonka.Forecast.DescribeWhatIfAnalysis+    Amazonka.Forecast.DescribeWhatIfForecast+    Amazonka.Forecast.DescribeWhatIfForecastExport+    Amazonka.Forecast.GetAccuracyMetrics+    Amazonka.Forecast.Lens+    Amazonka.Forecast.ListDatasetGroups+    Amazonka.Forecast.ListDatasetImportJobs+    Amazonka.Forecast.ListDatasets+    Amazonka.Forecast.ListExplainabilities+    Amazonka.Forecast.ListExplainabilityExports+    Amazonka.Forecast.ListForecastExportJobs+    Amazonka.Forecast.ListForecasts+    Amazonka.Forecast.ListMonitorEvaluations+    Amazonka.Forecast.ListMonitors+    Amazonka.Forecast.ListPredictorBacktestExportJobs+    Amazonka.Forecast.ListPredictors+    Amazonka.Forecast.ListTagsForResource+    Amazonka.Forecast.ListWhatIfAnalyses+    Amazonka.Forecast.ListWhatIfForecastExports+    Amazonka.Forecast.ListWhatIfForecasts+    Amazonka.Forecast.ResumeResource+    Amazonka.Forecast.StopResource+    Amazonka.Forecast.TagResource+    Amazonka.Forecast.Types+    Amazonka.Forecast.Types.Action+    Amazonka.Forecast.Types.AdditionalDataset+    Amazonka.Forecast.Types.AttributeConfig+    Amazonka.Forecast.Types.AttributeType+    Amazonka.Forecast.Types.AutoMLOverrideStrategy+    Amazonka.Forecast.Types.Baseline+    Amazonka.Forecast.Types.BaselineMetric+    Amazonka.Forecast.Types.CategoricalParameterRange+    Amazonka.Forecast.Types.Condition+    Amazonka.Forecast.Types.ContinuousParameterRange+    Amazonka.Forecast.Types.DataConfig+    Amazonka.Forecast.Types.DataDestination+    Amazonka.Forecast.Types.DatasetGroupSummary+    Amazonka.Forecast.Types.DatasetImportJobSummary+    Amazonka.Forecast.Types.DatasetSummary+    Amazonka.Forecast.Types.DatasetType+    Amazonka.Forecast.Types.DataSource+    Amazonka.Forecast.Types.DayOfWeek+    Amazonka.Forecast.Types.Domain+    Amazonka.Forecast.Types.EncryptionConfig+    Amazonka.Forecast.Types.ErrorMetric+    Amazonka.Forecast.Types.EvaluationParameters+    Amazonka.Forecast.Types.EvaluationResult+    Amazonka.Forecast.Types.EvaluationType+    Amazonka.Forecast.Types.ExplainabilityConfig+    Amazonka.Forecast.Types.ExplainabilityExportSummary+    Amazonka.Forecast.Types.ExplainabilityInfo+    Amazonka.Forecast.Types.ExplainabilitySummary+    Amazonka.Forecast.Types.Featurization+    Amazonka.Forecast.Types.FeaturizationConfig+    Amazonka.Forecast.Types.FeaturizationMethod+    Amazonka.Forecast.Types.FeaturizationMethodName+    Amazonka.Forecast.Types.Filter+    Amazonka.Forecast.Types.FilterConditionString+    Amazonka.Forecast.Types.ForecastExportJobSummary+    Amazonka.Forecast.Types.ForecastSummary+    Amazonka.Forecast.Types.HyperParameterTuningJobConfig+    Amazonka.Forecast.Types.InputDataConfig+    Amazonka.Forecast.Types.IntegerParameterRange+    Amazonka.Forecast.Types.MetricResult+    Amazonka.Forecast.Types.Metrics+    Amazonka.Forecast.Types.MonitorConfig+    Amazonka.Forecast.Types.MonitorDataSource+    Amazonka.Forecast.Types.MonitorInfo+    Amazonka.Forecast.Types.MonitorSummary+    Amazonka.Forecast.Types.Month+    Amazonka.Forecast.Types.Operation+    Amazonka.Forecast.Types.OptimizationMetric+    Amazonka.Forecast.Types.ParameterRanges+    Amazonka.Forecast.Types.PredictorBacktestExportJobSummary+    Amazonka.Forecast.Types.PredictorBaseline+    Amazonka.Forecast.Types.PredictorEvent+    Amazonka.Forecast.Types.PredictorExecution+    Amazonka.Forecast.Types.PredictorExecutionDetails+    Amazonka.Forecast.Types.PredictorMonitorEvaluation+    Amazonka.Forecast.Types.PredictorSummary+    Amazonka.Forecast.Types.ReferencePredictorSummary+    Amazonka.Forecast.Types.S3Config+    Amazonka.Forecast.Types.ScalingType+    Amazonka.Forecast.Types.Schema+    Amazonka.Forecast.Types.SchemaAttribute+    Amazonka.Forecast.Types.State+    Amazonka.Forecast.Types.Statistics+    Amazonka.Forecast.Types.SupplementaryFeature+    Amazonka.Forecast.Types.Tag+    Amazonka.Forecast.Types.TestWindowSummary+    Amazonka.Forecast.Types.TimeAlignmentBoundary+    Amazonka.Forecast.Types.TimePointGranularity+    Amazonka.Forecast.Types.TimeSeriesCondition+    Amazonka.Forecast.Types.TimeSeriesGranularity+    Amazonka.Forecast.Types.TimeSeriesIdentifiers+    Amazonka.Forecast.Types.TimeSeriesReplacementsDataSource+    Amazonka.Forecast.Types.TimeSeriesSelector+    Amazonka.Forecast.Types.TimeSeriesTransformation+    Amazonka.Forecast.Types.WeightedQuantileLoss+    Amazonka.Forecast.Types.WhatIfAnalysisSummary+    Amazonka.Forecast.Types.WhatIfForecastExportSummary+    Amazonka.Forecast.Types.WhatIfForecastSummary+    Amazonka.Forecast.Types.WindowSummary+    Amazonka.Forecast.UntagResource+    Amazonka.Forecast.UpdateDatasetGroup+    Amazonka.Forecast.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-forecast-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.Forecast+    Test.Amazonka.Forecast.Internal+    Test.Amazonka.Gen.Forecast++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-forecast+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateAutoPredictor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateAutoPredictorResponse.proto view
+ fixture/CreateDataset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateDatasetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateDatasetGroupResponse.proto view
+ fixture/CreateDatasetImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateDatasetImportJobResponse.proto view
+ fixture/CreateDatasetResponse.proto view
+ fixture/CreateExplainability.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateExplainabilityExport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateExplainabilityExportResponse.proto view
+ fixture/CreateExplainabilityResponse.proto view
+ fixture/CreateForecast.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateForecastExportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateForecastExportJobResponse.proto view
+ fixture/CreateForecastResponse.proto view
+ fixture/CreateMonitor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateMonitorResponse.proto view
+ fixture/CreatePredictor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreatePredictorBacktestExportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreatePredictorBacktestExportJobResponse.proto view
+ fixture/CreatePredictorResponse.proto view
+ fixture/CreateWhatIfAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateWhatIfAnalysisResponse.proto view
+ fixture/CreateWhatIfForecast.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateWhatIfForecastExport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/CreateWhatIfForecastExportResponse.proto view
+ fixture/CreateWhatIfForecastResponse.proto view
+ fixture/DeleteDataset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteDatasetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteDatasetGroupResponse.proto view
+ fixture/DeleteDatasetImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteDatasetImportJobResponse.proto view
+ fixture/DeleteDatasetResponse.proto view
+ fixture/DeleteExplainability.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteExplainabilityExport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteExplainabilityExportResponse.proto view
+ fixture/DeleteExplainabilityResponse.proto view
+ fixture/DeleteForecast.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteForecastExportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteForecastExportJobResponse.proto view
+ fixture/DeleteForecastResponse.proto view
+ fixture/DeleteMonitor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteMonitorResponse.proto view
+ fixture/DeletePredictor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeletePredictorBacktestExportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeletePredictorBacktestExportJobResponse.proto view
+ fixture/DeletePredictorResponse.proto view
+ fixture/DeleteResourceTree.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteResourceTreeResponse.proto view
+ fixture/DeleteWhatIfAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteWhatIfAnalysisResponse.proto view
+ fixture/DeleteWhatIfForecast.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteWhatIfForecastExport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DeleteWhatIfForecastExportResponse.proto view
+ fixture/DeleteWhatIfForecastResponse.proto view
+ fixture/DescribeAutoPredictor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeAutoPredictorResponse.proto view
+ fixture/DescribeDataset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeDatasetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeDatasetGroupResponse.proto view
+ fixture/DescribeDatasetImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeDatasetImportJobResponse.proto view
+ fixture/DescribeDatasetResponse.proto view
+ fixture/DescribeExplainability.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeExplainabilityExport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeExplainabilityExportResponse.proto view
+ fixture/DescribeExplainabilityResponse.proto view
+ fixture/DescribeForecast.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeForecastExportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeForecastExportJobResponse.proto view
+ fixture/DescribeForecastResponse.proto view
+ fixture/DescribeMonitor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeMonitorResponse.proto view
+ fixture/DescribePredictor.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribePredictorBacktestExportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribePredictorBacktestExportJobResponse.proto view
+ fixture/DescribePredictorResponse.proto view
+ fixture/DescribeWhatIfAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeWhatIfAnalysisResponse.proto view
+ fixture/DescribeWhatIfForecast.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeWhatIfForecastExport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/DescribeWhatIfForecastExportResponse.proto view
+ fixture/DescribeWhatIfForecastResponse.proto view
+ fixture/GetAccuracyMetrics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/GetAccuracyMetricsResponse.proto view
+ fixture/ListDatasetGroups.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListDatasetGroupsResponse.proto view
+ fixture/ListDatasetImportJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListDatasetImportJobsResponse.proto view
+ fixture/ListDatasets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListDatasetsResponse.proto view
+ fixture/ListExplainabilities.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListExplainabilitiesResponse.proto view
+ fixture/ListExplainabilityExports.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListExplainabilityExportsResponse.proto view
+ fixture/ListForecastExportJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListForecastExportJobsResponse.proto view
+ fixture/ListForecasts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListForecastsResponse.proto view
+ fixture/ListMonitorEvaluations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListMonitorEvaluationsResponse.proto view
+ fixture/ListMonitors.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListMonitorsResponse.proto view
+ fixture/ListPredictorBacktestExportJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListPredictorBacktestExportJobsResponse.proto view
+ fixture/ListPredictors.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListPredictorsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListWhatIfAnalyses.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListWhatIfAnalysesResponse.proto view
+ fixture/ListWhatIfForecastExports.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListWhatIfForecastExportsResponse.proto view
+ fixture/ListWhatIfForecasts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ListWhatIfForecastsResponse.proto view
+ fixture/ResumeResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/ResumeResourceResponse.proto view
+ fixture/StopResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/StopResourceResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/UpdateDatasetGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/forecast/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  forecast.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/UpdateDatasetGroupResponse.proto view
+ gen/Amazonka/Forecast.hs view
@@ -0,0 +1,820 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Forecast+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-06-26@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Provides APIs for creating and managing Amazon Forecast resources.+module Amazonka.Forecast+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** InvalidInputException+    _InvalidInputException,++    -- ** InvalidNextTokenException+    _InvalidNextTokenException,++    -- ** LimitExceededException+    _LimitExceededException,++    -- ** ResourceAlreadyExistsException+    _ResourceAlreadyExistsException,++    -- ** ResourceInUseException+    _ResourceInUseException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateAutoPredictor+    CreateAutoPredictor (CreateAutoPredictor'),+    newCreateAutoPredictor,+    CreateAutoPredictorResponse (CreateAutoPredictorResponse'),+    newCreateAutoPredictorResponse,++    -- ** CreateDataset+    CreateDataset (CreateDataset'),+    newCreateDataset,+    CreateDatasetResponse (CreateDatasetResponse'),+    newCreateDatasetResponse,++    -- ** CreateDatasetGroup+    CreateDatasetGroup (CreateDatasetGroup'),+    newCreateDatasetGroup,+    CreateDatasetGroupResponse (CreateDatasetGroupResponse'),+    newCreateDatasetGroupResponse,++    -- ** CreateDatasetImportJob+    CreateDatasetImportJob (CreateDatasetImportJob'),+    newCreateDatasetImportJob,+    CreateDatasetImportJobResponse (CreateDatasetImportJobResponse'),+    newCreateDatasetImportJobResponse,++    -- ** CreateExplainability+    CreateExplainability (CreateExplainability'),+    newCreateExplainability,+    CreateExplainabilityResponse (CreateExplainabilityResponse'),+    newCreateExplainabilityResponse,++    -- ** CreateExplainabilityExport+    CreateExplainabilityExport (CreateExplainabilityExport'),+    newCreateExplainabilityExport,+    CreateExplainabilityExportResponse (CreateExplainabilityExportResponse'),+    newCreateExplainabilityExportResponse,++    -- ** CreateForecast+    CreateForecast (CreateForecast'),+    newCreateForecast,+    CreateForecastResponse (CreateForecastResponse'),+    newCreateForecastResponse,++    -- ** CreateForecastExportJob+    CreateForecastExportJob (CreateForecastExportJob'),+    newCreateForecastExportJob,+    CreateForecastExportJobResponse (CreateForecastExportJobResponse'),+    newCreateForecastExportJobResponse,++    -- ** CreateMonitor+    CreateMonitor (CreateMonitor'),+    newCreateMonitor,+    CreateMonitorResponse (CreateMonitorResponse'),+    newCreateMonitorResponse,++    -- ** CreatePredictor+    CreatePredictor (CreatePredictor'),+    newCreatePredictor,+    CreatePredictorResponse (CreatePredictorResponse'),+    newCreatePredictorResponse,++    -- ** CreatePredictorBacktestExportJob+    CreatePredictorBacktestExportJob (CreatePredictorBacktestExportJob'),+    newCreatePredictorBacktestExportJob,+    CreatePredictorBacktestExportJobResponse (CreatePredictorBacktestExportJobResponse'),+    newCreatePredictorBacktestExportJobResponse,++    -- ** CreateWhatIfAnalysis+    CreateWhatIfAnalysis (CreateWhatIfAnalysis'),+    newCreateWhatIfAnalysis,+    CreateWhatIfAnalysisResponse (CreateWhatIfAnalysisResponse'),+    newCreateWhatIfAnalysisResponse,++    -- ** CreateWhatIfForecast+    CreateWhatIfForecast (CreateWhatIfForecast'),+    newCreateWhatIfForecast,+    CreateWhatIfForecastResponse (CreateWhatIfForecastResponse'),+    newCreateWhatIfForecastResponse,++    -- ** CreateWhatIfForecastExport+    CreateWhatIfForecastExport (CreateWhatIfForecastExport'),+    newCreateWhatIfForecastExport,+    CreateWhatIfForecastExportResponse (CreateWhatIfForecastExportResponse'),+    newCreateWhatIfForecastExportResponse,++    -- ** DeleteDataset+    DeleteDataset (DeleteDataset'),+    newDeleteDataset,+    DeleteDatasetResponse (DeleteDatasetResponse'),+    newDeleteDatasetResponse,++    -- ** DeleteDatasetGroup+    DeleteDatasetGroup (DeleteDatasetGroup'),+    newDeleteDatasetGroup,+    DeleteDatasetGroupResponse (DeleteDatasetGroupResponse'),+    newDeleteDatasetGroupResponse,++    -- ** DeleteDatasetImportJob+    DeleteDatasetImportJob (DeleteDatasetImportJob'),+    newDeleteDatasetImportJob,+    DeleteDatasetImportJobResponse (DeleteDatasetImportJobResponse'),+    newDeleteDatasetImportJobResponse,++    -- ** DeleteExplainability+    DeleteExplainability (DeleteExplainability'),+    newDeleteExplainability,+    DeleteExplainabilityResponse (DeleteExplainabilityResponse'),+    newDeleteExplainabilityResponse,++    -- ** DeleteExplainabilityExport+    DeleteExplainabilityExport (DeleteExplainabilityExport'),+    newDeleteExplainabilityExport,+    DeleteExplainabilityExportResponse (DeleteExplainabilityExportResponse'),+    newDeleteExplainabilityExportResponse,++    -- ** DeleteForecast+    DeleteForecast (DeleteForecast'),+    newDeleteForecast,+    DeleteForecastResponse (DeleteForecastResponse'),+    newDeleteForecastResponse,++    -- ** DeleteForecastExportJob+    DeleteForecastExportJob (DeleteForecastExportJob'),+    newDeleteForecastExportJob,+    DeleteForecastExportJobResponse (DeleteForecastExportJobResponse'),+    newDeleteForecastExportJobResponse,++    -- ** DeleteMonitor+    DeleteMonitor (DeleteMonitor'),+    newDeleteMonitor,+    DeleteMonitorResponse (DeleteMonitorResponse'),+    newDeleteMonitorResponse,++    -- ** DeletePredictor+    DeletePredictor (DeletePredictor'),+    newDeletePredictor,+    DeletePredictorResponse (DeletePredictorResponse'),+    newDeletePredictorResponse,++    -- ** DeletePredictorBacktestExportJob+    DeletePredictorBacktestExportJob (DeletePredictorBacktestExportJob'),+    newDeletePredictorBacktestExportJob,+    DeletePredictorBacktestExportJobResponse (DeletePredictorBacktestExportJobResponse'),+    newDeletePredictorBacktestExportJobResponse,++    -- ** DeleteResourceTree+    DeleteResourceTree (DeleteResourceTree'),+    newDeleteResourceTree,+    DeleteResourceTreeResponse (DeleteResourceTreeResponse'),+    newDeleteResourceTreeResponse,++    -- ** DeleteWhatIfAnalysis+    DeleteWhatIfAnalysis (DeleteWhatIfAnalysis'),+    newDeleteWhatIfAnalysis,+    DeleteWhatIfAnalysisResponse (DeleteWhatIfAnalysisResponse'),+    newDeleteWhatIfAnalysisResponse,++    -- ** DeleteWhatIfForecast+    DeleteWhatIfForecast (DeleteWhatIfForecast'),+    newDeleteWhatIfForecast,+    DeleteWhatIfForecastResponse (DeleteWhatIfForecastResponse'),+    newDeleteWhatIfForecastResponse,++    -- ** DeleteWhatIfForecastExport+    DeleteWhatIfForecastExport (DeleteWhatIfForecastExport'),+    newDeleteWhatIfForecastExport,+    DeleteWhatIfForecastExportResponse (DeleteWhatIfForecastExportResponse'),+    newDeleteWhatIfForecastExportResponse,++    -- ** DescribeAutoPredictor+    DescribeAutoPredictor (DescribeAutoPredictor'),+    newDescribeAutoPredictor,+    DescribeAutoPredictorResponse (DescribeAutoPredictorResponse'),+    newDescribeAutoPredictorResponse,++    -- ** DescribeDataset+    DescribeDataset (DescribeDataset'),+    newDescribeDataset,+    DescribeDatasetResponse (DescribeDatasetResponse'),+    newDescribeDatasetResponse,++    -- ** DescribeDatasetGroup+    DescribeDatasetGroup (DescribeDatasetGroup'),+    newDescribeDatasetGroup,+    DescribeDatasetGroupResponse (DescribeDatasetGroupResponse'),+    newDescribeDatasetGroupResponse,++    -- ** DescribeDatasetImportJob+    DescribeDatasetImportJob (DescribeDatasetImportJob'),+    newDescribeDatasetImportJob,+    DescribeDatasetImportJobResponse (DescribeDatasetImportJobResponse'),+    newDescribeDatasetImportJobResponse,++    -- ** DescribeExplainability+    DescribeExplainability (DescribeExplainability'),+    newDescribeExplainability,+    DescribeExplainabilityResponse (DescribeExplainabilityResponse'),+    newDescribeExplainabilityResponse,++    -- ** DescribeExplainabilityExport+    DescribeExplainabilityExport (DescribeExplainabilityExport'),+    newDescribeExplainabilityExport,+    DescribeExplainabilityExportResponse (DescribeExplainabilityExportResponse'),+    newDescribeExplainabilityExportResponse,++    -- ** DescribeForecast+    DescribeForecast (DescribeForecast'),+    newDescribeForecast,+    DescribeForecastResponse (DescribeForecastResponse'),+    newDescribeForecastResponse,++    -- ** DescribeForecastExportJob+    DescribeForecastExportJob (DescribeForecastExportJob'),+    newDescribeForecastExportJob,+    DescribeForecastExportJobResponse (DescribeForecastExportJobResponse'),+    newDescribeForecastExportJobResponse,++    -- ** DescribeMonitor+    DescribeMonitor (DescribeMonitor'),+    newDescribeMonitor,+    DescribeMonitorResponse (DescribeMonitorResponse'),+    newDescribeMonitorResponse,++    -- ** DescribePredictor+    DescribePredictor (DescribePredictor'),+    newDescribePredictor,+    DescribePredictorResponse (DescribePredictorResponse'),+    newDescribePredictorResponse,++    -- ** DescribePredictorBacktestExportJob+    DescribePredictorBacktestExportJob (DescribePredictorBacktestExportJob'),+    newDescribePredictorBacktestExportJob,+    DescribePredictorBacktestExportJobResponse (DescribePredictorBacktestExportJobResponse'),+    newDescribePredictorBacktestExportJobResponse,++    -- ** DescribeWhatIfAnalysis+    DescribeWhatIfAnalysis (DescribeWhatIfAnalysis'),+    newDescribeWhatIfAnalysis,+    DescribeWhatIfAnalysisResponse (DescribeWhatIfAnalysisResponse'),+    newDescribeWhatIfAnalysisResponse,++    -- ** DescribeWhatIfForecast+    DescribeWhatIfForecast (DescribeWhatIfForecast'),+    newDescribeWhatIfForecast,+    DescribeWhatIfForecastResponse (DescribeWhatIfForecastResponse'),+    newDescribeWhatIfForecastResponse,++    -- ** DescribeWhatIfForecastExport+    DescribeWhatIfForecastExport (DescribeWhatIfForecastExport'),+    newDescribeWhatIfForecastExport,+    DescribeWhatIfForecastExportResponse (DescribeWhatIfForecastExportResponse'),+    newDescribeWhatIfForecastExportResponse,++    -- ** GetAccuracyMetrics+    GetAccuracyMetrics (GetAccuracyMetrics'),+    newGetAccuracyMetrics,+    GetAccuracyMetricsResponse (GetAccuracyMetricsResponse'),+    newGetAccuracyMetricsResponse,++    -- ** ListDatasetGroups (Paginated)+    ListDatasetGroups (ListDatasetGroups'),+    newListDatasetGroups,+    ListDatasetGroupsResponse (ListDatasetGroupsResponse'),+    newListDatasetGroupsResponse,++    -- ** ListDatasetImportJobs (Paginated)+    ListDatasetImportJobs (ListDatasetImportJobs'),+    newListDatasetImportJobs,+    ListDatasetImportJobsResponse (ListDatasetImportJobsResponse'),+    newListDatasetImportJobsResponse,++    -- ** ListDatasets (Paginated)+    ListDatasets (ListDatasets'),+    newListDatasets,+    ListDatasetsResponse (ListDatasetsResponse'),+    newListDatasetsResponse,++    -- ** ListExplainabilities (Paginated)+    ListExplainabilities (ListExplainabilities'),+    newListExplainabilities,+    ListExplainabilitiesResponse (ListExplainabilitiesResponse'),+    newListExplainabilitiesResponse,++    -- ** ListExplainabilityExports (Paginated)+    ListExplainabilityExports (ListExplainabilityExports'),+    newListExplainabilityExports,+    ListExplainabilityExportsResponse (ListExplainabilityExportsResponse'),+    newListExplainabilityExportsResponse,++    -- ** ListForecastExportJobs (Paginated)+    ListForecastExportJobs (ListForecastExportJobs'),+    newListForecastExportJobs,+    ListForecastExportJobsResponse (ListForecastExportJobsResponse'),+    newListForecastExportJobsResponse,++    -- ** ListForecasts (Paginated)+    ListForecasts (ListForecasts'),+    newListForecasts,+    ListForecastsResponse (ListForecastsResponse'),+    newListForecastsResponse,++    -- ** ListMonitorEvaluations (Paginated)+    ListMonitorEvaluations (ListMonitorEvaluations'),+    newListMonitorEvaluations,+    ListMonitorEvaluationsResponse (ListMonitorEvaluationsResponse'),+    newListMonitorEvaluationsResponse,++    -- ** ListMonitors (Paginated)+    ListMonitors (ListMonitors'),+    newListMonitors,+    ListMonitorsResponse (ListMonitorsResponse'),+    newListMonitorsResponse,++    -- ** ListPredictorBacktestExportJobs (Paginated)+    ListPredictorBacktestExportJobs (ListPredictorBacktestExportJobs'),+    newListPredictorBacktestExportJobs,+    ListPredictorBacktestExportJobsResponse (ListPredictorBacktestExportJobsResponse'),+    newListPredictorBacktestExportJobsResponse,++    -- ** ListPredictors (Paginated)+    ListPredictors (ListPredictors'),+    newListPredictors,+    ListPredictorsResponse (ListPredictorsResponse'),+    newListPredictorsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListWhatIfAnalyses (Paginated)+    ListWhatIfAnalyses (ListWhatIfAnalyses'),+    newListWhatIfAnalyses,+    ListWhatIfAnalysesResponse (ListWhatIfAnalysesResponse'),+    newListWhatIfAnalysesResponse,++    -- ** ListWhatIfForecastExports (Paginated)+    ListWhatIfForecastExports (ListWhatIfForecastExports'),+    newListWhatIfForecastExports,+    ListWhatIfForecastExportsResponse (ListWhatIfForecastExportsResponse'),+    newListWhatIfForecastExportsResponse,++    -- ** ListWhatIfForecasts (Paginated)+    ListWhatIfForecasts (ListWhatIfForecasts'),+    newListWhatIfForecasts,+    ListWhatIfForecastsResponse (ListWhatIfForecastsResponse'),+    newListWhatIfForecastsResponse,++    -- ** ResumeResource+    ResumeResource (ResumeResource'),+    newResumeResource,+    ResumeResourceResponse (ResumeResourceResponse'),+    newResumeResourceResponse,++    -- ** StopResource+    StopResource (StopResource'),+    newStopResource,+    StopResourceResponse (StopResourceResponse'),+    newStopResourceResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateDatasetGroup+    UpdateDatasetGroup (UpdateDatasetGroup'),+    newUpdateDatasetGroup,+    UpdateDatasetGroupResponse (UpdateDatasetGroupResponse'),+    newUpdateDatasetGroupResponse,++    -- * Types++    -- ** AttributeType+    AttributeType (..),++    -- ** AutoMLOverrideStrategy+    AutoMLOverrideStrategy (..),++    -- ** Condition+    Condition (..),++    -- ** DatasetType+    DatasetType (..),++    -- ** DayOfWeek+    DayOfWeek (..),++    -- ** Domain+    Domain (..),++    -- ** EvaluationType+    EvaluationType (..),++    -- ** FeaturizationMethodName+    FeaturizationMethodName (..),++    -- ** FilterConditionString+    FilterConditionString (..),++    -- ** Month+    Month (..),++    -- ** Operation+    Operation (..),++    -- ** OptimizationMetric+    OptimizationMetric (..),++    -- ** ScalingType+    ScalingType (..),++    -- ** State+    State (..),++    -- ** TimePointGranularity+    TimePointGranularity (..),++    -- ** TimeSeriesGranularity+    TimeSeriesGranularity (..),++    -- ** Action+    Action (Action'),+    newAction,++    -- ** AdditionalDataset+    AdditionalDataset (AdditionalDataset'),+    newAdditionalDataset,++    -- ** AttributeConfig+    AttributeConfig (AttributeConfig'),+    newAttributeConfig,++    -- ** Baseline+    Baseline (Baseline'),+    newBaseline,++    -- ** BaselineMetric+    BaselineMetric (BaselineMetric'),+    newBaselineMetric,++    -- ** CategoricalParameterRange+    CategoricalParameterRange (CategoricalParameterRange'),+    newCategoricalParameterRange,++    -- ** ContinuousParameterRange+    ContinuousParameterRange (ContinuousParameterRange'),+    newContinuousParameterRange,++    -- ** DataConfig+    DataConfig (DataConfig'),+    newDataConfig,++    -- ** DataDestination+    DataDestination (DataDestination'),+    newDataDestination,++    -- ** DataSource+    DataSource (DataSource'),+    newDataSource,++    -- ** DatasetGroupSummary+    DatasetGroupSummary (DatasetGroupSummary'),+    newDatasetGroupSummary,++    -- ** DatasetImportJobSummary+    DatasetImportJobSummary (DatasetImportJobSummary'),+    newDatasetImportJobSummary,++    -- ** DatasetSummary+    DatasetSummary (DatasetSummary'),+    newDatasetSummary,++    -- ** EncryptionConfig+    EncryptionConfig (EncryptionConfig'),+    newEncryptionConfig,++    -- ** ErrorMetric+    ErrorMetric (ErrorMetric'),+    newErrorMetric,++    -- ** EvaluationParameters+    EvaluationParameters (EvaluationParameters'),+    newEvaluationParameters,++    -- ** EvaluationResult+    EvaluationResult (EvaluationResult'),+    newEvaluationResult,++    -- ** ExplainabilityConfig+    ExplainabilityConfig (ExplainabilityConfig'),+    newExplainabilityConfig,++    -- ** ExplainabilityExportSummary+    ExplainabilityExportSummary (ExplainabilityExportSummary'),+    newExplainabilityExportSummary,++    -- ** ExplainabilityInfo+    ExplainabilityInfo (ExplainabilityInfo'),+    newExplainabilityInfo,++    -- ** ExplainabilitySummary+    ExplainabilitySummary (ExplainabilitySummary'),+    newExplainabilitySummary,++    -- ** Featurization+    Featurization (Featurization'),+    newFeaturization,++    -- ** FeaturizationConfig+    FeaturizationConfig (FeaturizationConfig'),+    newFeaturizationConfig,++    -- ** FeaturizationMethod+    FeaturizationMethod (FeaturizationMethod'),+    newFeaturizationMethod,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** ForecastExportJobSummary+    ForecastExportJobSummary (ForecastExportJobSummary'),+    newForecastExportJobSummary,++    -- ** ForecastSummary+    ForecastSummary (ForecastSummary'),+    newForecastSummary,++    -- ** HyperParameterTuningJobConfig+    HyperParameterTuningJobConfig (HyperParameterTuningJobConfig'),+    newHyperParameterTuningJobConfig,++    -- ** InputDataConfig+    InputDataConfig (InputDataConfig'),+    newInputDataConfig,++    -- ** IntegerParameterRange+    IntegerParameterRange (IntegerParameterRange'),+    newIntegerParameterRange,++    -- ** MetricResult+    MetricResult (MetricResult'),+    newMetricResult,++    -- ** Metrics+    Metrics (Metrics'),+    newMetrics,++    -- ** MonitorConfig+    MonitorConfig (MonitorConfig'),+    newMonitorConfig,++    -- ** MonitorDataSource+    MonitorDataSource (MonitorDataSource'),+    newMonitorDataSource,++    -- ** MonitorInfo+    MonitorInfo (MonitorInfo'),+    newMonitorInfo,++    -- ** MonitorSummary+    MonitorSummary (MonitorSummary'),+    newMonitorSummary,++    -- ** ParameterRanges+    ParameterRanges (ParameterRanges'),+    newParameterRanges,++    -- ** PredictorBacktestExportJobSummary+    PredictorBacktestExportJobSummary (PredictorBacktestExportJobSummary'),+    newPredictorBacktestExportJobSummary,++    -- ** PredictorBaseline+    PredictorBaseline (PredictorBaseline'),+    newPredictorBaseline,++    -- ** PredictorEvent+    PredictorEvent (PredictorEvent'),+    newPredictorEvent,++    -- ** PredictorExecution+    PredictorExecution (PredictorExecution'),+    newPredictorExecution,++    -- ** PredictorExecutionDetails+    PredictorExecutionDetails (PredictorExecutionDetails'),+    newPredictorExecutionDetails,++    -- ** PredictorMonitorEvaluation+    PredictorMonitorEvaluation (PredictorMonitorEvaluation'),+    newPredictorMonitorEvaluation,++    -- ** PredictorSummary+    PredictorSummary (PredictorSummary'),+    newPredictorSummary,++    -- ** ReferencePredictorSummary+    ReferencePredictorSummary (ReferencePredictorSummary'),+    newReferencePredictorSummary,++    -- ** S3Config+    S3Config (S3Config'),+    newS3Config,++    -- ** Schema+    Schema (Schema'),+    newSchema,++    -- ** SchemaAttribute+    SchemaAttribute (SchemaAttribute'),+    newSchemaAttribute,++    -- ** Statistics+    Statistics (Statistics'),+    newStatistics,++    -- ** SupplementaryFeature+    SupplementaryFeature (SupplementaryFeature'),+    newSupplementaryFeature,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TestWindowSummary+    TestWindowSummary (TestWindowSummary'),+    newTestWindowSummary,++    -- ** TimeAlignmentBoundary+    TimeAlignmentBoundary (TimeAlignmentBoundary'),+    newTimeAlignmentBoundary,++    -- ** TimeSeriesCondition+    TimeSeriesCondition (TimeSeriesCondition'),+    newTimeSeriesCondition,++    -- ** TimeSeriesIdentifiers+    TimeSeriesIdentifiers (TimeSeriesIdentifiers'),+    newTimeSeriesIdentifiers,++    -- ** TimeSeriesReplacementsDataSource+    TimeSeriesReplacementsDataSource (TimeSeriesReplacementsDataSource'),+    newTimeSeriesReplacementsDataSource,++    -- ** TimeSeriesSelector+    TimeSeriesSelector (TimeSeriesSelector'),+    newTimeSeriesSelector,++    -- ** TimeSeriesTransformation+    TimeSeriesTransformation (TimeSeriesTransformation'),+    newTimeSeriesTransformation,++    -- ** WeightedQuantileLoss+    WeightedQuantileLoss (WeightedQuantileLoss'),+    newWeightedQuantileLoss,++    -- ** WhatIfAnalysisSummary+    WhatIfAnalysisSummary (WhatIfAnalysisSummary'),+    newWhatIfAnalysisSummary,++    -- ** WhatIfForecastExportSummary+    WhatIfForecastExportSummary (WhatIfForecastExportSummary'),+    newWhatIfForecastExportSummary,++    -- ** WhatIfForecastSummary+    WhatIfForecastSummary (WhatIfForecastSummary'),+    newWhatIfForecastSummary,++    -- ** WindowSummary+    WindowSummary (WindowSummary'),+    newWindowSummary,+  )+where++import Amazonka.Forecast.CreateAutoPredictor+import Amazonka.Forecast.CreateDataset+import Amazonka.Forecast.CreateDatasetGroup+import Amazonka.Forecast.CreateDatasetImportJob+import Amazonka.Forecast.CreateExplainability+import Amazonka.Forecast.CreateExplainabilityExport+import Amazonka.Forecast.CreateForecast+import Amazonka.Forecast.CreateForecastExportJob+import Amazonka.Forecast.CreateMonitor+import Amazonka.Forecast.CreatePredictor+import Amazonka.Forecast.CreatePredictorBacktestExportJob+import Amazonka.Forecast.CreateWhatIfAnalysis+import Amazonka.Forecast.CreateWhatIfForecast+import Amazonka.Forecast.CreateWhatIfForecastExport+import Amazonka.Forecast.DeleteDataset+import Amazonka.Forecast.DeleteDatasetGroup+import Amazonka.Forecast.DeleteDatasetImportJob+import Amazonka.Forecast.DeleteExplainability+import Amazonka.Forecast.DeleteExplainabilityExport+import Amazonka.Forecast.DeleteForecast+import Amazonka.Forecast.DeleteForecastExportJob+import Amazonka.Forecast.DeleteMonitor+import Amazonka.Forecast.DeletePredictor+import Amazonka.Forecast.DeletePredictorBacktestExportJob+import Amazonka.Forecast.DeleteResourceTree+import Amazonka.Forecast.DeleteWhatIfAnalysis+import Amazonka.Forecast.DeleteWhatIfForecast+import Amazonka.Forecast.DeleteWhatIfForecastExport+import Amazonka.Forecast.DescribeAutoPredictor+import Amazonka.Forecast.DescribeDataset+import Amazonka.Forecast.DescribeDatasetGroup+import Amazonka.Forecast.DescribeDatasetImportJob+import Amazonka.Forecast.DescribeExplainability+import Amazonka.Forecast.DescribeExplainabilityExport+import Amazonka.Forecast.DescribeForecast+import Amazonka.Forecast.DescribeForecastExportJob+import Amazonka.Forecast.DescribeMonitor+import Amazonka.Forecast.DescribePredictor+import Amazonka.Forecast.DescribePredictorBacktestExportJob+import Amazonka.Forecast.DescribeWhatIfAnalysis+import Amazonka.Forecast.DescribeWhatIfForecast+import Amazonka.Forecast.DescribeWhatIfForecastExport+import Amazonka.Forecast.GetAccuracyMetrics+import Amazonka.Forecast.Lens+import Amazonka.Forecast.ListDatasetGroups+import Amazonka.Forecast.ListDatasetImportJobs+import Amazonka.Forecast.ListDatasets+import Amazonka.Forecast.ListExplainabilities+import Amazonka.Forecast.ListExplainabilityExports+import Amazonka.Forecast.ListForecastExportJobs+import Amazonka.Forecast.ListForecasts+import Amazonka.Forecast.ListMonitorEvaluations+import Amazonka.Forecast.ListMonitors+import Amazonka.Forecast.ListPredictorBacktestExportJobs+import Amazonka.Forecast.ListPredictors+import Amazonka.Forecast.ListTagsForResource+import Amazonka.Forecast.ListWhatIfAnalyses+import Amazonka.Forecast.ListWhatIfForecastExports+import Amazonka.Forecast.ListWhatIfForecasts+import Amazonka.Forecast.ResumeResource+import Amazonka.Forecast.StopResource+import Amazonka.Forecast.TagResource+import Amazonka.Forecast.Types+import Amazonka.Forecast.UntagResource+import Amazonka.Forecast.UpdateDatasetGroup+import Amazonka.Forecast.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 'Forecast'.++-- $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/Forecast/CreateAutoPredictor.hs view
@@ -0,0 +1,592 @@+{-# 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.Forecast.CreateAutoPredictor+-- 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 Amazon Forecast predictor.+--+-- Amazon Forecast creates predictors with AutoPredictor, which involves+-- applying the optimal combination of algorithms to each time series in+-- your datasets. You can use CreateAutoPredictor to create new predictors+-- or upgrade\/retrain existing predictors.+--+-- __Creating new predictors__+--+-- The following parameters are required when creating a new predictor:+--+-- -   @PredictorName@ - A unique name for the predictor.+--+-- -   @DatasetGroupArn@ - The ARN of the dataset group used to train the+--     predictor.+--+-- -   @ForecastFrequency@ - The granularity of your forecasts (hourly,+--     daily, weekly, etc).+--+-- -   @ForecastHorizon@ - The number of time-steps that the model+--     predicts. The forecast horizon is also called the prediction length.+--+-- When creating a new predictor, do not specify a value for+-- @ReferencePredictorArn@.+--+-- __Upgrading and retraining predictors__+--+-- The following parameters are required when retraining or upgrading a+-- predictor:+--+-- -   @PredictorName@ - A unique name for the predictor.+--+-- -   @ReferencePredictorArn@ - The ARN of the predictor to retrain or+--     upgrade.+--+-- When upgrading or retraining a predictor, only specify values for the+-- @ReferencePredictorArn@ and @PredictorName@.+module Amazonka.Forecast.CreateAutoPredictor+  ( -- * Creating a Request+    CreateAutoPredictor (..),+    newCreateAutoPredictor,++    -- * Request Lenses+    createAutoPredictor_dataConfig,+    createAutoPredictor_encryptionConfig,+    createAutoPredictor_explainPredictor,+    createAutoPredictor_forecastDimensions,+    createAutoPredictor_forecastFrequency,+    createAutoPredictor_forecastHorizon,+    createAutoPredictor_forecastTypes,+    createAutoPredictor_monitorConfig,+    createAutoPredictor_optimizationMetric,+    createAutoPredictor_referencePredictorArn,+    createAutoPredictor_tags,+    createAutoPredictor_timeAlignmentBoundary,+    createAutoPredictor_predictorName,++    -- * Destructuring the Response+    CreateAutoPredictorResponse (..),+    newCreateAutoPredictorResponse,++    -- * Response Lenses+    createAutoPredictorResponse_predictorArn,+    createAutoPredictorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAutoPredictor' smart constructor.+data CreateAutoPredictor = CreateAutoPredictor'+  { -- | The data configuration for your dataset group and any additional+    -- datasets.+    dataConfig :: Prelude.Maybe DataConfig,+    encryptionConfig :: Prelude.Maybe EncryptionConfig,+    -- | Create an Explainability resource for the predictor.+    explainPredictor :: Prelude.Maybe Prelude.Bool,+    -- | An array of dimension (field) names that specify how to group the+    -- generated forecast.+    --+    -- For example, if you are generating forecasts for item sales across all+    -- your stores, and your dataset contains a @store_id@ field, you would+    -- specify @store_id@ as a dimension to group sales forecasts for each+    -- store.+    forecastDimensions :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The frequency of predictions in a forecast.+    --+    -- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+    -- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+    -- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+    -- and \"5min\" indicates every five minutes.+    --+    -- The frequency must be greater than or equal to the TARGET_TIME_SERIES+    -- dataset frequency.+    --+    -- When a RELATED_TIME_SERIES dataset is provided, the frequency must be+    -- equal to the RELATED_TIME_SERIES dataset frequency.+    forecastFrequency :: Prelude.Maybe Prelude.Text,+    -- | The number of time-steps that the model predicts. The forecast horizon+    -- is also called the prediction length.+    --+    -- The maximum forecast horizon is the lesser of 500 time-steps or 1\/4 of+    -- the TARGET_TIME_SERIES dataset length. If you are retraining an existing+    -- AutoPredictor, then the maximum forecast horizon is the lesser of 500+    -- time-steps or 1\/3 of the TARGET_TIME_SERIES dataset length.+    --+    -- If you are upgrading to an AutoPredictor or retraining an existing+    -- AutoPredictor, you cannot update the forecast horizon parameter. You can+    -- meet this requirement by providing longer time-series in the dataset.+    forecastHorizon :: Prelude.Maybe Prelude.Int,+    -- | The forecast types used to train a predictor. You can specify up to five+    -- forecast types. Forecast types can be quantiles from 0.01 to 0.99, by+    -- increments of 0.01 or higher. You can also specify the mean forecast+    -- with @mean@.+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The configuration details for predictor monitoring. Provide a name for+    -- the monitor resource to enable predictor monitoring.+    --+    -- Predictor monitoring allows you to see how your predictor\'s performance+    -- changes over time. For more information, see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring.html Predictor Monitoring>.+    monitorConfig :: Prelude.Maybe MonitorConfig,+    -- | The accuracy metric used to optimize the predictor.+    optimizationMetric :: Prelude.Maybe OptimizationMetric,+    -- | The ARN of the predictor to retrain or upgrade. This parameter is only+    -- used when retraining or upgrading a predictor. When creating a new+    -- predictor, do not specify a value for this parameter.+    --+    -- When upgrading or retraining a predictor, only specify values for the+    -- @ReferencePredictorArn@ and @PredictorName@. The value for+    -- @PredictorName@ must be a unique predictor name.+    referencePredictorArn :: Prelude.Maybe Prelude.Text,+    -- | Optional metadata to help you categorize and organize your predictors.+    -- Each tag consists of a key and an optional value, both of which you+    -- define. Tag keys and values are case sensitive.+    --+    -- The following restrictions apply to tags:+    --+    -- -   For each resource, each tag key must be unique and each tag key must+    --     have one value.+    --+    -- -   Maximum number of tags per resource: 50.+    --+    -- -   Maximum key length: 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length: 256 Unicode characters in UTF-8.+    --+    -- -   Accepted characters: all letters and numbers, spaces representable+    --     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+    --     across other services and resources, the character restrictions of+    --     those services also apply.+    --+    -- -   Key prefixes cannot include any upper or lowercase combination of+    --     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+    --     @aws@ as its prefix but the key does not, Forecast considers it to+    --     be a user tag and will count against the limit of 50 tags. Tags with+    --     only the key prefix of @aws@ do not count against your tags per+    --     resource limit. You cannot edit or delete tag keys with this prefix.+    tags :: Prelude.Maybe [Tag],+    -- | The time boundary Forecast uses to align and aggregate any data that+    -- doesn\'t align with your forecast frequency. Provide the unit of time+    -- and the time boundary as a key value pair. For more information on+    -- specifying a time boundary, see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#specifying-time-boundary Specifying a Time Boundary>.+    -- If you don\'t provide a time boundary, Forecast uses a set of+    -- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#default-time-boundaries Default Time Boundaries>.+    timeAlignmentBoundary :: Prelude.Maybe TimeAlignmentBoundary,+    -- | A unique name for the predictor+    predictorName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAutoPredictor' 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:+--+-- 'dataConfig', 'createAutoPredictor_dataConfig' - The data configuration for your dataset group and any additional+-- datasets.+--+-- 'encryptionConfig', 'createAutoPredictor_encryptionConfig' - Undocumented member.+--+-- 'explainPredictor', 'createAutoPredictor_explainPredictor' - Create an Explainability resource for the predictor.+--+-- 'forecastDimensions', 'createAutoPredictor_forecastDimensions' - An array of dimension (field) names that specify how to group the+-- generated forecast.+--+-- For example, if you are generating forecasts for item sales across all+-- your stores, and your dataset contains a @store_id@ field, you would+-- specify @store_id@ as a dimension to group sales forecasts for each+-- store.+--+-- 'forecastFrequency', 'createAutoPredictor_forecastFrequency' - The frequency of predictions in a forecast.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+-- and \"5min\" indicates every five minutes.+--+-- The frequency must be greater than or equal to the TARGET_TIME_SERIES+-- dataset frequency.+--+-- When a RELATED_TIME_SERIES dataset is provided, the frequency must be+-- equal to the RELATED_TIME_SERIES dataset frequency.+--+-- 'forecastHorizon', 'createAutoPredictor_forecastHorizon' - The number of time-steps that the model predicts. The forecast horizon+-- is also called the prediction length.+--+-- The maximum forecast horizon is the lesser of 500 time-steps or 1\/4 of+-- the TARGET_TIME_SERIES dataset length. If you are retraining an existing+-- AutoPredictor, then the maximum forecast horizon is the lesser of 500+-- time-steps or 1\/3 of the TARGET_TIME_SERIES dataset length.+--+-- If you are upgrading to an AutoPredictor or retraining an existing+-- AutoPredictor, you cannot update the forecast horizon parameter. You can+-- meet this requirement by providing longer time-series in the dataset.+--+-- 'forecastTypes', 'createAutoPredictor_forecastTypes' - The forecast types used to train a predictor. You can specify up to five+-- forecast types. Forecast types can be quantiles from 0.01 to 0.99, by+-- increments of 0.01 or higher. You can also specify the mean forecast+-- with @mean@.+--+-- 'monitorConfig', 'createAutoPredictor_monitorConfig' - The configuration details for predictor monitoring. Provide a name for+-- the monitor resource to enable predictor monitoring.+--+-- Predictor monitoring allows you to see how your predictor\'s performance+-- changes over time. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring.html Predictor Monitoring>.+--+-- 'optimizationMetric', 'createAutoPredictor_optimizationMetric' - The accuracy metric used to optimize the predictor.+--+-- 'referencePredictorArn', 'createAutoPredictor_referencePredictorArn' - The ARN of the predictor to retrain or upgrade. This parameter is only+-- used when retraining or upgrading a predictor. When creating a new+-- predictor, do not specify a value for this parameter.+--+-- When upgrading or retraining a predictor, only specify values for the+-- @ReferencePredictorArn@ and @PredictorName@. The value for+-- @PredictorName@ must be a unique predictor name.+--+-- 'tags', 'createAutoPredictor_tags' - Optional metadata to help you categorize and organize your predictors.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+--+-- 'timeAlignmentBoundary', 'createAutoPredictor_timeAlignmentBoundary' - The time boundary Forecast uses to align and aggregate any data that+-- doesn\'t align with your forecast frequency. Provide the unit of time+-- and the time boundary as a key value pair. For more information on+-- specifying a time boundary, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#specifying-time-boundary Specifying a Time Boundary>.+-- If you don\'t provide a time boundary, Forecast uses a set of+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#default-time-boundaries Default Time Boundaries>.+--+-- 'predictorName', 'createAutoPredictor_predictorName' - A unique name for the predictor+newCreateAutoPredictor ::+  -- | 'predictorName'+  Prelude.Text ->+  CreateAutoPredictor+newCreateAutoPredictor pPredictorName_ =+  CreateAutoPredictor'+    { dataConfig = Prelude.Nothing,+      encryptionConfig = Prelude.Nothing,+      explainPredictor = Prelude.Nothing,+      forecastDimensions = Prelude.Nothing,+      forecastFrequency = Prelude.Nothing,+      forecastHorizon = Prelude.Nothing,+      forecastTypes = Prelude.Nothing,+      monitorConfig = Prelude.Nothing,+      optimizationMetric = Prelude.Nothing,+      referencePredictorArn = Prelude.Nothing,+      tags = Prelude.Nothing,+      timeAlignmentBoundary = Prelude.Nothing,+      predictorName = pPredictorName_+    }++-- | The data configuration for your dataset group and any additional+-- datasets.+createAutoPredictor_dataConfig :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe DataConfig)+createAutoPredictor_dataConfig = Lens.lens (\CreateAutoPredictor' {dataConfig} -> dataConfig) (\s@CreateAutoPredictor' {} a -> s {dataConfig = a} :: CreateAutoPredictor)++-- | Undocumented member.+createAutoPredictor_encryptionConfig :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe EncryptionConfig)+createAutoPredictor_encryptionConfig = Lens.lens (\CreateAutoPredictor' {encryptionConfig} -> encryptionConfig) (\s@CreateAutoPredictor' {} a -> s {encryptionConfig = a} :: CreateAutoPredictor)++-- | Create an Explainability resource for the predictor.+createAutoPredictor_explainPredictor :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe Prelude.Bool)+createAutoPredictor_explainPredictor = Lens.lens (\CreateAutoPredictor' {explainPredictor} -> explainPredictor) (\s@CreateAutoPredictor' {} a -> s {explainPredictor = a} :: CreateAutoPredictor)++-- | An array of dimension (field) names that specify how to group the+-- generated forecast.+--+-- For example, if you are generating forecasts for item sales across all+-- your stores, and your dataset contains a @store_id@ field, you would+-- specify @store_id@ as a dimension to group sales forecasts for each+-- store.+createAutoPredictor_forecastDimensions :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createAutoPredictor_forecastDimensions = Lens.lens (\CreateAutoPredictor' {forecastDimensions} -> forecastDimensions) (\s@CreateAutoPredictor' {} a -> s {forecastDimensions = a} :: CreateAutoPredictor) Prelude.. Lens.mapping Lens.coerced++-- | The frequency of predictions in a forecast.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+-- and \"5min\" indicates every five minutes.+--+-- The frequency must be greater than or equal to the TARGET_TIME_SERIES+-- dataset frequency.+--+-- When a RELATED_TIME_SERIES dataset is provided, the frequency must be+-- equal to the RELATED_TIME_SERIES dataset frequency.+createAutoPredictor_forecastFrequency :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe Prelude.Text)+createAutoPredictor_forecastFrequency = Lens.lens (\CreateAutoPredictor' {forecastFrequency} -> forecastFrequency) (\s@CreateAutoPredictor' {} a -> s {forecastFrequency = a} :: CreateAutoPredictor)++-- | The number of time-steps that the model predicts. The forecast horizon+-- is also called the prediction length.+--+-- The maximum forecast horizon is the lesser of 500 time-steps or 1\/4 of+-- the TARGET_TIME_SERIES dataset length. If you are retraining an existing+-- AutoPredictor, then the maximum forecast horizon is the lesser of 500+-- time-steps or 1\/3 of the TARGET_TIME_SERIES dataset length.+--+-- If you are upgrading to an AutoPredictor or retraining an existing+-- AutoPredictor, you cannot update the forecast horizon parameter. You can+-- meet this requirement by providing longer time-series in the dataset.+createAutoPredictor_forecastHorizon :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe Prelude.Int)+createAutoPredictor_forecastHorizon = Lens.lens (\CreateAutoPredictor' {forecastHorizon} -> forecastHorizon) (\s@CreateAutoPredictor' {} a -> s {forecastHorizon = a} :: CreateAutoPredictor)++-- | The forecast types used to train a predictor. You can specify up to five+-- forecast types. Forecast types can be quantiles from 0.01 to 0.99, by+-- increments of 0.01 or higher. You can also specify the mean forecast+-- with @mean@.+createAutoPredictor_forecastTypes :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createAutoPredictor_forecastTypes = Lens.lens (\CreateAutoPredictor' {forecastTypes} -> forecastTypes) (\s@CreateAutoPredictor' {} a -> s {forecastTypes = a} :: CreateAutoPredictor) Prelude.. Lens.mapping Lens.coerced++-- | The configuration details for predictor monitoring. Provide a name for+-- the monitor resource to enable predictor monitoring.+--+-- Predictor monitoring allows you to see how your predictor\'s performance+-- changes over time. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring.html Predictor Monitoring>.+createAutoPredictor_monitorConfig :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe MonitorConfig)+createAutoPredictor_monitorConfig = Lens.lens (\CreateAutoPredictor' {monitorConfig} -> monitorConfig) (\s@CreateAutoPredictor' {} a -> s {monitorConfig = a} :: CreateAutoPredictor)++-- | The accuracy metric used to optimize the predictor.+createAutoPredictor_optimizationMetric :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe OptimizationMetric)+createAutoPredictor_optimizationMetric = Lens.lens (\CreateAutoPredictor' {optimizationMetric} -> optimizationMetric) (\s@CreateAutoPredictor' {} a -> s {optimizationMetric = a} :: CreateAutoPredictor)++-- | The ARN of the predictor to retrain or upgrade. This parameter is only+-- used when retraining or upgrading a predictor. When creating a new+-- predictor, do not specify a value for this parameter.+--+-- When upgrading or retraining a predictor, only specify values for the+-- @ReferencePredictorArn@ and @PredictorName@. The value for+-- @PredictorName@ must be a unique predictor name.+createAutoPredictor_referencePredictorArn :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe Prelude.Text)+createAutoPredictor_referencePredictorArn = Lens.lens (\CreateAutoPredictor' {referencePredictorArn} -> referencePredictorArn) (\s@CreateAutoPredictor' {} a -> s {referencePredictorArn = a} :: CreateAutoPredictor)++-- | Optional metadata to help you categorize and organize your predictors.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+createAutoPredictor_tags :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe [Tag])+createAutoPredictor_tags = Lens.lens (\CreateAutoPredictor' {tags} -> tags) (\s@CreateAutoPredictor' {} a -> s {tags = a} :: CreateAutoPredictor) Prelude.. Lens.mapping Lens.coerced++-- | The time boundary Forecast uses to align and aggregate any data that+-- doesn\'t align with your forecast frequency. Provide the unit of time+-- and the time boundary as a key value pair. For more information on+-- specifying a time boundary, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#specifying-time-boundary Specifying a Time Boundary>.+-- If you don\'t provide a time boundary, Forecast uses a set of+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#default-time-boundaries Default Time Boundaries>.+createAutoPredictor_timeAlignmentBoundary :: Lens.Lens' CreateAutoPredictor (Prelude.Maybe TimeAlignmentBoundary)+createAutoPredictor_timeAlignmentBoundary = Lens.lens (\CreateAutoPredictor' {timeAlignmentBoundary} -> timeAlignmentBoundary) (\s@CreateAutoPredictor' {} a -> s {timeAlignmentBoundary = a} :: CreateAutoPredictor)++-- | A unique name for the predictor+createAutoPredictor_predictorName :: Lens.Lens' CreateAutoPredictor Prelude.Text+createAutoPredictor_predictorName = Lens.lens (\CreateAutoPredictor' {predictorName} -> predictorName) (\s@CreateAutoPredictor' {} a -> s {predictorName = a} :: CreateAutoPredictor)++instance Core.AWSRequest CreateAutoPredictor where+  type+    AWSResponse CreateAutoPredictor =+      CreateAutoPredictorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateAutoPredictorResponse'+            Prelude.<$> (x Data..?> "PredictorArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateAutoPredictor where+  hashWithSalt _salt CreateAutoPredictor' {..} =+    _salt+      `Prelude.hashWithSalt` dataConfig+      `Prelude.hashWithSalt` encryptionConfig+      `Prelude.hashWithSalt` explainPredictor+      `Prelude.hashWithSalt` forecastDimensions+      `Prelude.hashWithSalt` forecastFrequency+      `Prelude.hashWithSalt` forecastHorizon+      `Prelude.hashWithSalt` forecastTypes+      `Prelude.hashWithSalt` monitorConfig+      `Prelude.hashWithSalt` optimizationMetric+      `Prelude.hashWithSalt` referencePredictorArn+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` timeAlignmentBoundary+      `Prelude.hashWithSalt` predictorName++instance Prelude.NFData CreateAutoPredictor where+  rnf CreateAutoPredictor' {..} =+    Prelude.rnf dataConfig+      `Prelude.seq` Prelude.rnf encryptionConfig+      `Prelude.seq` Prelude.rnf explainPredictor+      `Prelude.seq` Prelude.rnf forecastDimensions+      `Prelude.seq` Prelude.rnf forecastFrequency+      `Prelude.seq` Prelude.rnf forecastHorizon+      `Prelude.seq` Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf monitorConfig+      `Prelude.seq` Prelude.rnf optimizationMetric+      `Prelude.seq` Prelude.rnf referencePredictorArn+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf timeAlignmentBoundary+      `Prelude.seq` Prelude.rnf predictorName++instance Data.ToHeaders CreateAutoPredictor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateAutoPredictor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateAutoPredictor where+  toJSON CreateAutoPredictor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataConfig" Data..=) Prelude.<$> dataConfig,+            ("EncryptionConfig" Data..=)+              Prelude.<$> encryptionConfig,+            ("ExplainPredictor" Data..=)+              Prelude.<$> explainPredictor,+            ("ForecastDimensions" Data..=)+              Prelude.<$> forecastDimensions,+            ("ForecastFrequency" Data..=)+              Prelude.<$> forecastFrequency,+            ("ForecastHorizon" Data..=)+              Prelude.<$> forecastHorizon,+            ("ForecastTypes" Data..=) Prelude.<$> forecastTypes,+            ("MonitorConfig" Data..=) Prelude.<$> monitorConfig,+            ("OptimizationMetric" Data..=)+              Prelude.<$> optimizationMetric,+            ("ReferencePredictorArn" Data..=)+              Prelude.<$> referencePredictorArn,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TimeAlignmentBoundary" Data..=)+              Prelude.<$> timeAlignmentBoundary,+            Prelude.Just+              ("PredictorName" Data..= predictorName)+          ]+      )++instance Data.ToPath CreateAutoPredictor where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateAutoPredictor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAutoPredictorResponse' smart constructor.+data CreateAutoPredictorResponse = CreateAutoPredictorResponse'+  { -- | The Amazon Resource Name (ARN) of the predictor.+    predictorArn :: 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 'CreateAutoPredictorResponse' 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:+--+-- 'predictorArn', 'createAutoPredictorResponse_predictorArn' - The Amazon Resource Name (ARN) of the predictor.+--+-- 'httpStatus', 'createAutoPredictorResponse_httpStatus' - The response's http status code.+newCreateAutoPredictorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateAutoPredictorResponse+newCreateAutoPredictorResponse pHttpStatus_ =+  CreateAutoPredictorResponse'+    { predictorArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the predictor.+createAutoPredictorResponse_predictorArn :: Lens.Lens' CreateAutoPredictorResponse (Prelude.Maybe Prelude.Text)+createAutoPredictorResponse_predictorArn = Lens.lens (\CreateAutoPredictorResponse' {predictorArn} -> predictorArn) (\s@CreateAutoPredictorResponse' {} a -> s {predictorArn = a} :: CreateAutoPredictorResponse)++-- | The response's http status code.+createAutoPredictorResponse_httpStatus :: Lens.Lens' CreateAutoPredictorResponse Prelude.Int+createAutoPredictorResponse_httpStatus = Lens.lens (\CreateAutoPredictorResponse' {httpStatus} -> httpStatus) (\s@CreateAutoPredictorResponse' {} a -> s {httpStatus = a} :: CreateAutoPredictorResponse)++instance Prelude.NFData CreateAutoPredictorResponse where+  rnf CreateAutoPredictorResponse' {..} =+    Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateDataset.hs view
@@ -0,0 +1,450 @@+{-# 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.Forecast.CreateDataset+-- 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 Amazon Forecast dataset. The information about the dataset+-- that you provide helps Forecast understand how to consume the data for+-- model training. This includes the following:+--+-- -   /@DataFrequency@/ - How frequently your historical time-series data+--     is collected.+--+-- -   /@Domain@/ and /@DatasetType@/ - Each dataset has an associated+--     dataset domain and a type within the domain. Amazon Forecast+--     provides a list of predefined domains and types within each domain.+--     For each unique dataset domain and type within the domain, Amazon+--     Forecast requires your data to include a minimum set of predefined+--     fields.+--+-- -   /@Schema@/ - A schema specifies the fields in the dataset, including+--     the field name and data type.+--+-- After creating a dataset, you import your training data into it and add+-- the dataset to a dataset group. You use the dataset group to create a+-- predictor. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Importing datasets>.+--+-- To get a list of all your datasets, use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_ListDatasets.html ListDatasets>+-- operation.+--+-- For example Forecast datasets, see the+-- <https://github.com/aws-samples/amazon-forecast-samples Amazon Forecast Sample GitHub repository>.+--+-- The @Status@ of a dataset must be @ACTIVE@ before you can import+-- training data. Use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDataset.html DescribeDataset>+-- operation to get the status.+module Amazonka.Forecast.CreateDataset+  ( -- * Creating a Request+    CreateDataset (..),+    newCreateDataset,++    -- * Request Lenses+    createDataset_dataFrequency,+    createDataset_encryptionConfig,+    createDataset_tags,+    createDataset_datasetName,+    createDataset_domain,+    createDataset_datasetType,+    createDataset_schema,++    -- * Destructuring the Response+    CreateDatasetResponse (..),+    newCreateDatasetResponse,++    -- * Response Lenses+    createDatasetResponse_datasetArn,+    createDatasetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataset' smart constructor.+data CreateDataset = CreateDataset'+  { -- | The frequency of data collection. This parameter is required for+    -- RELATED_TIME_SERIES datasets.+    --+    -- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+    -- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+    -- minutes), and 1min (1 minute). For example, \"D\" indicates every day+    -- and \"15min\" indicates every 15 minutes.+    dataFrequency :: Prelude.Maybe Prelude.Text,+    -- | An AWS Key Management Service (KMS) key and the AWS Identity and Access+    -- Management (IAM) role that Amazon Forecast can assume to access the key.+    encryptionConfig :: Prelude.Maybe EncryptionConfig,+    -- | The optional metadata that you apply to the dataset to help you+    -- categorize and organize them. Each tag consists of a key and an optional+    -- value, both of which you define.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: Prelude.Maybe [Tag],+    -- | A name for the dataset.+    datasetName :: Prelude.Text,+    -- | The domain associated with the dataset. When you add a dataset to a+    -- dataset group, this value and the value specified for the @Domain@+    -- parameter of the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html CreateDatasetGroup>+    -- operation must match.+    --+    -- The @Domain@ and @DatasetType@ that you choose determine the fields that+    -- must be present in the training data that you import to the dataset. For+    -- example, if you choose the @RETAIL@ domain and @TARGET_TIME_SERIES@ as+    -- the @DatasetType@, Amazon Forecast requires @item_id@, @timestamp@, and+    -- @demand@ fields to be present in your data. For more information, see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Importing datasets>.+    domain :: Domain,+    -- | The dataset type. Valid values depend on the chosen @Domain@.+    datasetType :: DatasetType,+    -- | The schema for the dataset. The schema attributes and their order must+    -- match the fields in your data. The dataset @Domain@ and @DatasetType@+    -- that you choose determine the minimum required fields in your training+    -- data. For information about the required fields for a specific dataset+    -- domain and type, see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html Dataset Domains and Dataset Types>.+    schema :: Schema+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataset' 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:+--+-- 'dataFrequency', 'createDataset_dataFrequency' - The frequency of data collection. This parameter is required for+-- RELATED_TIME_SERIES datasets.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"D\" indicates every day+-- and \"15min\" indicates every 15 minutes.+--+-- 'encryptionConfig', 'createDataset_encryptionConfig' - An AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+--+-- 'tags', 'createDataset_tags' - The optional metadata that you apply to the dataset to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- 'datasetName', 'createDataset_datasetName' - A name for the dataset.+--+-- 'domain', 'createDataset_domain' - The domain associated with the dataset. When you add a dataset to a+-- dataset group, this value and the value specified for the @Domain@+-- parameter of the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html CreateDatasetGroup>+-- operation must match.+--+-- The @Domain@ and @DatasetType@ that you choose determine the fields that+-- must be present in the training data that you import to the dataset. For+-- example, if you choose the @RETAIL@ domain and @TARGET_TIME_SERIES@ as+-- the @DatasetType@, Amazon Forecast requires @item_id@, @timestamp@, and+-- @demand@ fields to be present in your data. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Importing datasets>.+--+-- 'datasetType', 'createDataset_datasetType' - The dataset type. Valid values depend on the chosen @Domain@.+--+-- 'schema', 'createDataset_schema' - The schema for the dataset. The schema attributes and their order must+-- match the fields in your data. The dataset @Domain@ and @DatasetType@+-- that you choose determine the minimum required fields in your training+-- data. For information about the required fields for a specific dataset+-- domain and type, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html Dataset Domains and Dataset Types>.+newCreateDataset ::+  -- | 'datasetName'+  Prelude.Text ->+  -- | 'domain'+  Domain ->+  -- | 'datasetType'+  DatasetType ->+  -- | 'schema'+  Schema ->+  CreateDataset+newCreateDataset+  pDatasetName_+  pDomain_+  pDatasetType_+  pSchema_ =+    CreateDataset'+      { dataFrequency = Prelude.Nothing,+        encryptionConfig = Prelude.Nothing,+        tags = Prelude.Nothing,+        datasetName = pDatasetName_,+        domain = pDomain_,+        datasetType = pDatasetType_,+        schema = pSchema_+      }++-- | The frequency of data collection. This parameter is required for+-- RELATED_TIME_SERIES datasets.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"D\" indicates every day+-- and \"15min\" indicates every 15 minutes.+createDataset_dataFrequency :: Lens.Lens' CreateDataset (Prelude.Maybe Prelude.Text)+createDataset_dataFrequency = Lens.lens (\CreateDataset' {dataFrequency} -> dataFrequency) (\s@CreateDataset' {} a -> s {dataFrequency = a} :: CreateDataset)++-- | An AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+createDataset_encryptionConfig :: Lens.Lens' CreateDataset (Prelude.Maybe EncryptionConfig)+createDataset_encryptionConfig = Lens.lens (\CreateDataset' {encryptionConfig} -> encryptionConfig) (\s@CreateDataset' {} a -> s {encryptionConfig = a} :: CreateDataset)++-- | The optional metadata that you apply to the dataset to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+createDataset_tags :: Lens.Lens' CreateDataset (Prelude.Maybe [Tag])+createDataset_tags = Lens.lens (\CreateDataset' {tags} -> tags) (\s@CreateDataset' {} a -> s {tags = a} :: CreateDataset) Prelude.. Lens.mapping Lens.coerced++-- | A name for the dataset.+createDataset_datasetName :: Lens.Lens' CreateDataset Prelude.Text+createDataset_datasetName = Lens.lens (\CreateDataset' {datasetName} -> datasetName) (\s@CreateDataset' {} a -> s {datasetName = a} :: CreateDataset)++-- | The domain associated with the dataset. When you add a dataset to a+-- dataset group, this value and the value specified for the @Domain@+-- parameter of the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html CreateDatasetGroup>+-- operation must match.+--+-- The @Domain@ and @DatasetType@ that you choose determine the fields that+-- must be present in the training data that you import to the dataset. For+-- example, if you choose the @RETAIL@ domain and @TARGET_TIME_SERIES@ as+-- the @DatasetType@, Amazon Forecast requires @item_id@, @timestamp@, and+-- @demand@ fields to be present in your data. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Importing datasets>.+createDataset_domain :: Lens.Lens' CreateDataset Domain+createDataset_domain = Lens.lens (\CreateDataset' {domain} -> domain) (\s@CreateDataset' {} a -> s {domain = a} :: CreateDataset)++-- | The dataset type. Valid values depend on the chosen @Domain@.+createDataset_datasetType :: Lens.Lens' CreateDataset DatasetType+createDataset_datasetType = Lens.lens (\CreateDataset' {datasetType} -> datasetType) (\s@CreateDataset' {} a -> s {datasetType = a} :: CreateDataset)++-- | The schema for the dataset. The schema attributes and their order must+-- match the fields in your data. The dataset @Domain@ and @DatasetType@+-- that you choose determine the minimum required fields in your training+-- data. For information about the required fields for a specific dataset+-- domain and type, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-domains-ds-types.html Dataset Domains and Dataset Types>.+createDataset_schema :: Lens.Lens' CreateDataset Schema+createDataset_schema = Lens.lens (\CreateDataset' {schema} -> schema) (\s@CreateDataset' {} a -> s {schema = a} :: CreateDataset)++instance Core.AWSRequest CreateDataset where+  type+    AWSResponse CreateDataset =+      CreateDatasetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDatasetResponse'+            Prelude.<$> (x Data..?> "DatasetArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDataset where+  hashWithSalt _salt CreateDataset' {..} =+    _salt+      `Prelude.hashWithSalt` dataFrequency+      `Prelude.hashWithSalt` encryptionConfig+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` datasetName+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` datasetType+      `Prelude.hashWithSalt` schema++instance Prelude.NFData CreateDataset where+  rnf CreateDataset' {..} =+    Prelude.rnf dataFrequency+      `Prelude.seq` Prelude.rnf encryptionConfig+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf datasetName+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf datasetType+      `Prelude.seq` Prelude.rnf schema++instance Data.ToHeaders CreateDataset where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateDataset" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDataset where+  toJSON CreateDataset' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataFrequency" Data..=) Prelude.<$> dataFrequency,+            ("EncryptionConfig" Data..=)+              Prelude.<$> encryptionConfig,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("DatasetName" Data..= datasetName),+            Prelude.Just ("Domain" Data..= domain),+            Prelude.Just ("DatasetType" Data..= datasetType),+            Prelude.Just ("Schema" Data..= schema)+          ]+      )++instance Data.ToPath CreateDataset where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDataset where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatasetResponse' smart constructor.+data CreateDatasetResponse = CreateDatasetResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    datasetArn :: 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 'CreateDatasetResponse' 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:+--+-- 'datasetArn', 'createDatasetResponse_datasetArn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'httpStatus', 'createDatasetResponse_httpStatus' - The response's http status code.+newCreateDatasetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDatasetResponse+newCreateDatasetResponse pHttpStatus_ =+  CreateDatasetResponse'+    { datasetArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset.+createDatasetResponse_datasetArn :: Lens.Lens' CreateDatasetResponse (Prelude.Maybe Prelude.Text)+createDatasetResponse_datasetArn = Lens.lens (\CreateDatasetResponse' {datasetArn} -> datasetArn) (\s@CreateDatasetResponse' {} a -> s {datasetArn = a} :: CreateDatasetResponse)++-- | The response's http status code.+createDatasetResponse_httpStatus :: Lens.Lens' CreateDatasetResponse Prelude.Int+createDatasetResponse_httpStatus = Lens.lens (\CreateDatasetResponse' {httpStatus} -> httpStatus) (\s@CreateDatasetResponse' {} a -> s {httpStatus = a} :: CreateDatasetResponse)++instance Prelude.NFData CreateDatasetResponse where+  rnf CreateDatasetResponse' {..} =+    Prelude.rnf datasetArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateDatasetGroup.hs view
@@ -0,0 +1,355 @@+{-# 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.Forecast.CreateDatasetGroup+-- 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 group, which holds a collection of related datasets.+-- You can add datasets to the dataset group when you create the dataset+-- group, or later by using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation.+--+-- After creating a dataset group and adding datasets, you use the dataset+-- group when you create a predictor. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Dataset groups>.+--+-- To get a list of all your datasets groups, use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_ListDatasetGroups.html ListDatasetGroups>+-- operation.+--+-- The @Status@ of a dataset group must be @ACTIVE@ before you can use the+-- dataset group to create a predictor. To get the status, use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetGroup.html DescribeDatasetGroup>+-- operation.+module Amazonka.Forecast.CreateDatasetGroup+  ( -- * Creating a Request+    CreateDatasetGroup (..),+    newCreateDatasetGroup,++    -- * Request Lenses+    createDatasetGroup_datasetArns,+    createDatasetGroup_tags,+    createDatasetGroup_datasetGroupName,+    createDatasetGroup_domain,++    -- * Destructuring the Response+    CreateDatasetGroupResponse (..),+    newCreateDatasetGroupResponse,++    -- * Response Lenses+    createDatasetGroupResponse_datasetGroupArn,+    createDatasetGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDatasetGroup' smart constructor.+data CreateDatasetGroup = CreateDatasetGroup'+  { -- | An array of Amazon Resource Names (ARNs) of the datasets that you want+    -- to include in the dataset group.+    datasetArns :: Prelude.Maybe [Prelude.Text],+    -- | The optional metadata that you apply to the dataset group to help you+    -- categorize and organize them. Each tag consists of a key and an optional+    -- value, both of which you define.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: Prelude.Maybe [Tag],+    -- | A name for the dataset group.+    datasetGroupName :: Prelude.Text,+    -- | The domain associated with the dataset group. When you add a dataset to+    -- a dataset group, this value and the value specified for the @Domain@+    -- parameter of the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+    -- operation must match.+    --+    -- The @Domain@ and @DatasetType@ that you choose determine the fields that+    -- must be present in training data that you import to a dataset. For+    -- example, if you choose the @RETAIL@ domain and @TARGET_TIME_SERIES@ as+    -- the @DatasetType@, Amazon Forecast requires that @item_id@, @timestamp@,+    -- and @demand@ fields are present in your data. For more information, see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Dataset groups>.+    domain :: Domain+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatasetGroup' 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:+--+-- 'datasetArns', 'createDatasetGroup_datasetArns' - An array of Amazon Resource Names (ARNs) of the datasets that you want+-- to include in the dataset group.+--+-- 'tags', 'createDatasetGroup_tags' - The optional metadata that you apply to the dataset group to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- 'datasetGroupName', 'createDatasetGroup_datasetGroupName' - A name for the dataset group.+--+-- 'domain', 'createDatasetGroup_domain' - The domain associated with the dataset group. When you add a dataset to+-- a dataset group, this value and the value specified for the @Domain@+-- parameter of the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation must match.+--+-- The @Domain@ and @DatasetType@ that you choose determine the fields that+-- must be present in training data that you import to a dataset. For+-- example, if you choose the @RETAIL@ domain and @TARGET_TIME_SERIES@ as+-- the @DatasetType@, Amazon Forecast requires that @item_id@, @timestamp@,+-- and @demand@ fields are present in your data. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Dataset groups>.+newCreateDatasetGroup ::+  -- | 'datasetGroupName'+  Prelude.Text ->+  -- | 'domain'+  Domain ->+  CreateDatasetGroup+newCreateDatasetGroup pDatasetGroupName_ pDomain_ =+  CreateDatasetGroup'+    { datasetArns = Prelude.Nothing,+      tags = Prelude.Nothing,+      datasetGroupName = pDatasetGroupName_,+      domain = pDomain_+    }++-- | An array of Amazon Resource Names (ARNs) of the datasets that you want+-- to include in the dataset group.+createDatasetGroup_datasetArns :: Lens.Lens' CreateDatasetGroup (Prelude.Maybe [Prelude.Text])+createDatasetGroup_datasetArns = Lens.lens (\CreateDatasetGroup' {datasetArns} -> datasetArns) (\s@CreateDatasetGroup' {} a -> s {datasetArns = a} :: CreateDatasetGroup) Prelude.. Lens.mapping Lens.coerced++-- | The optional metadata that you apply to the dataset group to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+createDatasetGroup_tags :: Lens.Lens' CreateDatasetGroup (Prelude.Maybe [Tag])+createDatasetGroup_tags = Lens.lens (\CreateDatasetGroup' {tags} -> tags) (\s@CreateDatasetGroup' {} a -> s {tags = a} :: CreateDatasetGroup) Prelude.. Lens.mapping Lens.coerced++-- | A name for the dataset group.+createDatasetGroup_datasetGroupName :: Lens.Lens' CreateDatasetGroup Prelude.Text+createDatasetGroup_datasetGroupName = Lens.lens (\CreateDatasetGroup' {datasetGroupName} -> datasetGroupName) (\s@CreateDatasetGroup' {} a -> s {datasetGroupName = a} :: CreateDatasetGroup)++-- | The domain associated with the dataset group. When you add a dataset to+-- a dataset group, this value and the value specified for the @Domain@+-- parameter of the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation must match.+--+-- The @Domain@ and @DatasetType@ that you choose determine the fields that+-- must be present in training data that you import to a dataset. For+-- example, if you choose the @RETAIL@ domain and @TARGET_TIME_SERIES@ as+-- the @DatasetType@, Amazon Forecast requires that @item_id@, @timestamp@,+-- and @demand@ fields are present in your data. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/howitworks-datasets-groups.html Dataset groups>.+createDatasetGroup_domain :: Lens.Lens' CreateDatasetGroup Domain+createDatasetGroup_domain = Lens.lens (\CreateDatasetGroup' {domain} -> domain) (\s@CreateDatasetGroup' {} a -> s {domain = a} :: CreateDatasetGroup)++instance Core.AWSRequest CreateDatasetGroup where+  type+    AWSResponse CreateDatasetGroup =+      CreateDatasetGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDatasetGroupResponse'+            Prelude.<$> (x Data..?> "DatasetGroupArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDatasetGroup where+  hashWithSalt _salt CreateDatasetGroup' {..} =+    _salt+      `Prelude.hashWithSalt` datasetArns+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` datasetGroupName+      `Prelude.hashWithSalt` domain++instance Prelude.NFData CreateDatasetGroup where+  rnf CreateDatasetGroup' {..} =+    Prelude.rnf datasetArns+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf datasetGroupName+      `Prelude.seq` Prelude.rnf domain++instance Data.ToHeaders CreateDatasetGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateDatasetGroup" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDatasetGroup where+  toJSON CreateDatasetGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DatasetArns" Data..=) Prelude.<$> datasetArns,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("DatasetGroupName" Data..= datasetGroupName),+            Prelude.Just ("Domain" Data..= domain)+          ]+      )++instance Data.ToPath CreateDatasetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDatasetGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatasetGroupResponse' smart constructor.+data CreateDatasetGroupResponse = CreateDatasetGroupResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset group.+    datasetGroupArn :: 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 'CreateDatasetGroupResponse' 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:+--+-- 'datasetGroupArn', 'createDatasetGroupResponse_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group.+--+-- 'httpStatus', 'createDatasetGroupResponse_httpStatus' - The response's http status code.+newCreateDatasetGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDatasetGroupResponse+newCreateDatasetGroupResponse pHttpStatus_ =+  CreateDatasetGroupResponse'+    { datasetGroupArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset group.+createDatasetGroupResponse_datasetGroupArn :: Lens.Lens' CreateDatasetGroupResponse (Prelude.Maybe Prelude.Text)+createDatasetGroupResponse_datasetGroupArn = Lens.lens (\CreateDatasetGroupResponse' {datasetGroupArn} -> datasetGroupArn) (\s@CreateDatasetGroupResponse' {} a -> s {datasetGroupArn = a} :: CreateDatasetGroupResponse)++-- | The response's http status code.+createDatasetGroupResponse_httpStatus :: Lens.Lens' CreateDatasetGroupResponse Prelude.Int+createDatasetGroupResponse_httpStatus = Lens.lens (\CreateDatasetGroupResponse' {httpStatus} -> httpStatus) (\s@CreateDatasetGroupResponse' {} a -> s {httpStatus = a} :: CreateDatasetGroupResponse)++instance Prelude.NFData CreateDatasetGroupResponse where+  rnf CreateDatasetGroupResponse' {..} =+    Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateDatasetImportJob.hs view
@@ -0,0 +1,535 @@+{-# 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.Forecast.CreateDatasetImportJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports your training data to an Amazon Forecast dataset. You provide+-- the location of your training data in an Amazon Simple Storage Service+-- (Amazon S3) bucket and the Amazon Resource Name (ARN) of the dataset+-- that you want to import the data to.+--+-- You must specify a+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DataSource.html DataSource>+-- object that includes an AWS Identity and Access Management (IAM) role+-- that Amazon Forecast can assume to access the data, as Amazon Forecast+-- makes a copy of your data and processes it in an internal AWS system.+-- For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-iam-roles.html Set up permissions>.+--+-- The training data must be in CSV or Parquet format. The delimiter must+-- be a comma (,).+--+-- You can specify the path to a specific file, the S3 bucket, or to a+-- folder in the S3 bucket. For the latter two cases, Amazon Forecast+-- imports all files up to the limit of 10,000 files.+--+-- Because dataset imports are not aggregated, your most recent dataset+-- import is the one that is used when training a predictor or generating a+-- forecast. Make sure that your most recent dataset import contains all of+-- the data you want to model off of, and not just the new data collected+-- since the previous import.+--+-- To get a list of all your dataset import jobs, filtered by specified+-- criteria, use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_ListDatasetImportJobs.html ListDatasetImportJobs>+-- operation.+module Amazonka.Forecast.CreateDatasetImportJob+  ( -- * Creating a Request+    CreateDatasetImportJob (..),+    newCreateDatasetImportJob,++    -- * Request Lenses+    createDatasetImportJob_format,+    createDatasetImportJob_geolocationFormat,+    createDatasetImportJob_tags,+    createDatasetImportJob_timeZone,+    createDatasetImportJob_timestampFormat,+    createDatasetImportJob_useGeolocationForTimeZone,+    createDatasetImportJob_datasetImportJobName,+    createDatasetImportJob_datasetArn,+    createDatasetImportJob_dataSource,++    -- * Destructuring the Response+    CreateDatasetImportJobResponse (..),+    newCreateDatasetImportJobResponse,++    -- * Response Lenses+    createDatasetImportJobResponse_datasetImportJobArn,+    createDatasetImportJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDatasetImportJob' smart constructor.+data CreateDatasetImportJob = CreateDatasetImportJob'+  { -- | The format of the imported data, CSV or PARQUET. The default value is+    -- CSV.+    format :: Prelude.Maybe Prelude.Text,+    -- | The format of the geolocation attribute. The geolocation attribute can+    -- be formatted in one of two ways:+    --+    -- -   @LAT_LONG@ - the latitude and longitude in decimal format (Example:+    --     47.61_-122.33).+    --+    -- -   @CC_POSTALCODE@ (US Only) - the country code (US), followed by the+    --     5-digit ZIP code (Example: US_98121).+    geolocationFormat :: Prelude.Maybe Prelude.Text,+    -- | The optional metadata that you apply to the dataset import job to help+    -- you categorize and organize them. Each tag consists of a key and an+    -- optional value, both of which you define.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: Prelude.Maybe [Tag],+    -- | A single time zone for every item in your dataset. This option is ideal+    -- for datasets with all timestamps within a single time zone, or if all+    -- timestamps are normalized to a single time zone.+    --+    -- Refer to the+    -- <http://joda-time.sourceforge.net/timezones.html Joda-Time API> for a+    -- complete list of valid time zone names.+    timeZone :: Prelude.Maybe Prelude.Text,+    -- | The format of timestamps in the dataset. The format that you specify+    -- depends on the @DataFrequency@ specified when the dataset was created.+    -- The following formats are supported+    --+    -- -   \"yyyy-MM-dd\"+    --+    --     For the following data frequencies: Y, M, W, and D+    --+    -- -   \"yyyy-MM-dd HH:mm:ss\"+    --+    --     For the following data frequencies: H, 30min, 15min, and 1min; and+    --     optionally, for: Y, M, W, and D+    --+    -- If the format isn\'t specified, Amazon Forecast expects the format to be+    -- \"yyyy-MM-dd HH:mm:ss\".+    timestampFormat :: Prelude.Maybe Prelude.Text,+    -- | Automatically derive time zone information from the geolocation+    -- attribute. This option is ideal for datasets that contain timestamps in+    -- multiple time zones and those timestamps are expressed in local time.+    useGeolocationForTimeZone :: Prelude.Maybe Prelude.Bool,+    -- | The name for the dataset import job. We recommend including the current+    -- timestamp in the name, for example, @20190721DatasetImport@. This can+    -- help you avoid getting a @ResourceAlreadyExistsException@ exception.+    datasetImportJobName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you+    -- want to import data to.+    datasetArn :: Prelude.Text,+    -- | The location of the training data to import and an AWS Identity and+    -- Access Management (IAM) role that Amazon Forecast can assume to access+    -- the data. The training data must be stored in an Amazon S3 bucket.+    --+    -- If encryption is used, @DataSource@ must include an AWS Key Management+    -- Service (KMS) key and the IAM role must allow Amazon Forecast permission+    -- to access the key. The KMS key and IAM role must match those specified+    -- in the @EncryptionConfig@ parameter of the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+    -- operation.+    dataSource :: DataSource+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatasetImportJob' 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:+--+-- 'format', 'createDatasetImportJob_format' - The format of the imported data, CSV or PARQUET. The default value is+-- CSV.+--+-- 'geolocationFormat', 'createDatasetImportJob_geolocationFormat' - The format of the geolocation attribute. The geolocation attribute can+-- be formatted in one of two ways:+--+-- -   @LAT_LONG@ - the latitude and longitude in decimal format (Example:+--     47.61_-122.33).+--+-- -   @CC_POSTALCODE@ (US Only) - the country code (US), followed by the+--     5-digit ZIP code (Example: US_98121).+--+-- 'tags', 'createDatasetImportJob_tags' - The optional metadata that you apply to the dataset import job to help+-- you categorize and organize them. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- 'timeZone', 'createDatasetImportJob_timeZone' - A single time zone for every item in your dataset. This option is ideal+-- for datasets with all timestamps within a single time zone, or if all+-- timestamps are normalized to a single time zone.+--+-- Refer to the+-- <http://joda-time.sourceforge.net/timezones.html Joda-Time API> for a+-- complete list of valid time zone names.+--+-- 'timestampFormat', 'createDatasetImportJob_timestampFormat' - The format of timestamps in the dataset. The format that you specify+-- depends on the @DataFrequency@ specified when the dataset was created.+-- The following formats are supported+--+-- -   \"yyyy-MM-dd\"+--+--     For the following data frequencies: Y, M, W, and D+--+-- -   \"yyyy-MM-dd HH:mm:ss\"+--+--     For the following data frequencies: H, 30min, 15min, and 1min; and+--     optionally, for: Y, M, W, and D+--+-- If the format isn\'t specified, Amazon Forecast expects the format to be+-- \"yyyy-MM-dd HH:mm:ss\".+--+-- 'useGeolocationForTimeZone', 'createDatasetImportJob_useGeolocationForTimeZone' - Automatically derive time zone information from the geolocation+-- attribute. This option is ideal for datasets that contain timestamps in+-- multiple time zones and those timestamps are expressed in local time.+--+-- 'datasetImportJobName', 'createDatasetImportJob_datasetImportJobName' - The name for the dataset import job. We recommend including the current+-- timestamp in the name, for example, @20190721DatasetImport@. This can+-- help you avoid getting a @ResourceAlreadyExistsException@ exception.+--+-- 'datasetArn', 'createDatasetImportJob_datasetArn' - The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you+-- want to import data to.+--+-- 'dataSource', 'createDatasetImportJob_dataSource' - The location of the training data to import and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the data. The training data must be stored in an Amazon S3 bucket.+--+-- If encryption is used, @DataSource@ must include an AWS Key Management+-- Service (KMS) key and the IAM role must allow Amazon Forecast permission+-- to access the key. The KMS key and IAM role must match those specified+-- in the @EncryptionConfig@ parameter of the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation.+newCreateDatasetImportJob ::+  -- | 'datasetImportJobName'+  Prelude.Text ->+  -- | 'datasetArn'+  Prelude.Text ->+  -- | 'dataSource'+  DataSource ->+  CreateDatasetImportJob+newCreateDatasetImportJob+  pDatasetImportJobName_+  pDatasetArn_+  pDataSource_ =+    CreateDatasetImportJob'+      { format = Prelude.Nothing,+        geolocationFormat = Prelude.Nothing,+        tags = Prelude.Nothing,+        timeZone = Prelude.Nothing,+        timestampFormat = Prelude.Nothing,+        useGeolocationForTimeZone = Prelude.Nothing,+        datasetImportJobName = pDatasetImportJobName_,+        datasetArn = pDatasetArn_,+        dataSource = pDataSource_+      }++-- | The format of the imported data, CSV or PARQUET. The default value is+-- CSV.+createDatasetImportJob_format :: Lens.Lens' CreateDatasetImportJob (Prelude.Maybe Prelude.Text)+createDatasetImportJob_format = Lens.lens (\CreateDatasetImportJob' {format} -> format) (\s@CreateDatasetImportJob' {} a -> s {format = a} :: CreateDatasetImportJob)++-- | The format of the geolocation attribute. The geolocation attribute can+-- be formatted in one of two ways:+--+-- -   @LAT_LONG@ - the latitude and longitude in decimal format (Example:+--     47.61_-122.33).+--+-- -   @CC_POSTALCODE@ (US Only) - the country code (US), followed by the+--     5-digit ZIP code (Example: US_98121).+createDatasetImportJob_geolocationFormat :: Lens.Lens' CreateDatasetImportJob (Prelude.Maybe Prelude.Text)+createDatasetImportJob_geolocationFormat = Lens.lens (\CreateDatasetImportJob' {geolocationFormat} -> geolocationFormat) (\s@CreateDatasetImportJob' {} a -> s {geolocationFormat = a} :: CreateDatasetImportJob)++-- | The optional metadata that you apply to the dataset import job to help+-- you categorize and organize them. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+createDatasetImportJob_tags :: Lens.Lens' CreateDatasetImportJob (Prelude.Maybe [Tag])+createDatasetImportJob_tags = Lens.lens (\CreateDatasetImportJob' {tags} -> tags) (\s@CreateDatasetImportJob' {} a -> s {tags = a} :: CreateDatasetImportJob) Prelude.. Lens.mapping Lens.coerced++-- | A single time zone for every item in your dataset. This option is ideal+-- for datasets with all timestamps within a single time zone, or if all+-- timestamps are normalized to a single time zone.+--+-- Refer to the+-- <http://joda-time.sourceforge.net/timezones.html Joda-Time API> for a+-- complete list of valid time zone names.+createDatasetImportJob_timeZone :: Lens.Lens' CreateDatasetImportJob (Prelude.Maybe Prelude.Text)+createDatasetImportJob_timeZone = Lens.lens (\CreateDatasetImportJob' {timeZone} -> timeZone) (\s@CreateDatasetImportJob' {} a -> s {timeZone = a} :: CreateDatasetImportJob)++-- | The format of timestamps in the dataset. The format that you specify+-- depends on the @DataFrequency@ specified when the dataset was created.+-- The following formats are supported+--+-- -   \"yyyy-MM-dd\"+--+--     For the following data frequencies: Y, M, W, and D+--+-- -   \"yyyy-MM-dd HH:mm:ss\"+--+--     For the following data frequencies: H, 30min, 15min, and 1min; and+--     optionally, for: Y, M, W, and D+--+-- If the format isn\'t specified, Amazon Forecast expects the format to be+-- \"yyyy-MM-dd HH:mm:ss\".+createDatasetImportJob_timestampFormat :: Lens.Lens' CreateDatasetImportJob (Prelude.Maybe Prelude.Text)+createDatasetImportJob_timestampFormat = Lens.lens (\CreateDatasetImportJob' {timestampFormat} -> timestampFormat) (\s@CreateDatasetImportJob' {} a -> s {timestampFormat = a} :: CreateDatasetImportJob)++-- | Automatically derive time zone information from the geolocation+-- attribute. This option is ideal for datasets that contain timestamps in+-- multiple time zones and those timestamps are expressed in local time.+createDatasetImportJob_useGeolocationForTimeZone :: Lens.Lens' CreateDatasetImportJob (Prelude.Maybe Prelude.Bool)+createDatasetImportJob_useGeolocationForTimeZone = Lens.lens (\CreateDatasetImportJob' {useGeolocationForTimeZone} -> useGeolocationForTimeZone) (\s@CreateDatasetImportJob' {} a -> s {useGeolocationForTimeZone = a} :: CreateDatasetImportJob)++-- | The name for the dataset import job. We recommend including the current+-- timestamp in the name, for example, @20190721DatasetImport@. This can+-- help you avoid getting a @ResourceAlreadyExistsException@ exception.+createDatasetImportJob_datasetImportJobName :: Lens.Lens' CreateDatasetImportJob Prelude.Text+createDatasetImportJob_datasetImportJobName = Lens.lens (\CreateDatasetImportJob' {datasetImportJobName} -> datasetImportJobName) (\s@CreateDatasetImportJob' {} a -> s {datasetImportJobName = a} :: CreateDatasetImportJob)++-- | The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you+-- want to import data to.+createDatasetImportJob_datasetArn :: Lens.Lens' CreateDatasetImportJob Prelude.Text+createDatasetImportJob_datasetArn = Lens.lens (\CreateDatasetImportJob' {datasetArn} -> datasetArn) (\s@CreateDatasetImportJob' {} a -> s {datasetArn = a} :: CreateDatasetImportJob)++-- | The location of the training data to import and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the data. The training data must be stored in an Amazon S3 bucket.+--+-- If encryption is used, @DataSource@ must include an AWS Key Management+-- Service (KMS) key and the IAM role must allow Amazon Forecast permission+-- to access the key. The KMS key and IAM role must match those specified+-- in the @EncryptionConfig@ parameter of the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation.+createDatasetImportJob_dataSource :: Lens.Lens' CreateDatasetImportJob DataSource+createDatasetImportJob_dataSource = Lens.lens (\CreateDatasetImportJob' {dataSource} -> dataSource) (\s@CreateDatasetImportJob' {} a -> s {dataSource = a} :: CreateDatasetImportJob)++instance Core.AWSRequest CreateDatasetImportJob where+  type+    AWSResponse CreateDatasetImportJob =+      CreateDatasetImportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDatasetImportJobResponse'+            Prelude.<$> (x Data..?> "DatasetImportJobArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDatasetImportJob where+  hashWithSalt _salt CreateDatasetImportJob' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` geolocationFormat+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` timeZone+      `Prelude.hashWithSalt` timestampFormat+      `Prelude.hashWithSalt` useGeolocationForTimeZone+      `Prelude.hashWithSalt` datasetImportJobName+      `Prelude.hashWithSalt` datasetArn+      `Prelude.hashWithSalt` dataSource++instance Prelude.NFData CreateDatasetImportJob where+  rnf CreateDatasetImportJob' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf geolocationFormat+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf timeZone+      `Prelude.seq` Prelude.rnf timestampFormat+      `Prelude.seq` Prelude.rnf useGeolocationForTimeZone+      `Prelude.seq` Prelude.rnf datasetImportJobName+      `Prelude.seq` Prelude.rnf datasetArn+      `Prelude.seq` Prelude.rnf dataSource++instance Data.ToHeaders CreateDatasetImportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateDatasetImportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDatasetImportJob where+  toJSON CreateDatasetImportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            ("GeolocationFormat" Data..=)+              Prelude.<$> geolocationFormat,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TimeZone" Data..=) Prelude.<$> timeZone,+            ("TimestampFormat" Data..=)+              Prelude.<$> timestampFormat,+            ("UseGeolocationForTimeZone" Data..=)+              Prelude.<$> useGeolocationForTimeZone,+            Prelude.Just+              ( "DatasetImportJobName"+                  Data..= datasetImportJobName+              ),+            Prelude.Just ("DatasetArn" Data..= datasetArn),+            Prelude.Just ("DataSource" Data..= dataSource)+          ]+      )++instance Data.ToPath CreateDatasetImportJob where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateDatasetImportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatasetImportJobResponse' smart constructor.+data CreateDatasetImportJobResponse = CreateDatasetImportJobResponse'+  { -- | The Amazon Resource Name (ARN) of the dataset import job.+    datasetImportJobArn :: 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 'CreateDatasetImportJobResponse' 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:+--+-- 'datasetImportJobArn', 'createDatasetImportJobResponse_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job.+--+-- 'httpStatus', 'createDatasetImportJobResponse_httpStatus' - The response's http status code.+newCreateDatasetImportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDatasetImportJobResponse+newCreateDatasetImportJobResponse pHttpStatus_ =+  CreateDatasetImportJobResponse'+    { datasetImportJobArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the dataset import job.+createDatasetImportJobResponse_datasetImportJobArn :: Lens.Lens' CreateDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+createDatasetImportJobResponse_datasetImportJobArn = Lens.lens (\CreateDatasetImportJobResponse' {datasetImportJobArn} -> datasetImportJobArn) (\s@CreateDatasetImportJobResponse' {} a -> s {datasetImportJobArn = a} :: CreateDatasetImportJobResponse)++-- | The response's http status code.+createDatasetImportJobResponse_httpStatus :: Lens.Lens' CreateDatasetImportJobResponse Prelude.Int+createDatasetImportJobResponse_httpStatus = Lens.lens (\CreateDatasetImportJobResponse' {httpStatus} -> httpStatus) (\s@CreateDatasetImportJobResponse' {} a -> s {httpStatus = a} :: CreateDatasetImportJobResponse)++instance+  Prelude.NFData+    CreateDatasetImportJobResponse+  where+  rnf CreateDatasetImportJobResponse' {..} =+    Prelude.rnf datasetImportJobArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateExplainability.hs view
@@ -0,0 +1,469 @@+{-# 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.Forecast.CreateExplainability+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Explainability is only available for Forecasts and Predictors generated+-- from an AutoPredictor (CreateAutoPredictor)+--+-- Creates an Amazon Forecast Explainability.+--+-- Explainability helps you better understand how the attributes in your+-- datasets impact forecast. Amazon Forecast uses a metric called Impact+-- scores to quantify the relative impact of each attribute and determine+-- whether they increase or decrease forecast values.+--+-- To enable Forecast Explainability, your predictor must include at least+-- one of the following: related time series, item metadata, or additional+-- datasets like Holidays and the Weather Index.+--+-- CreateExplainability accepts either a Predictor ARN or Forecast ARN. To+-- receive aggregated Impact scores for all time series and time points in+-- your datasets, provide a Predictor ARN. To receive Impact scores for+-- specific time series and time points, provide a Forecast ARN.+--+-- __CreateExplainability with a Predictor ARN__+--+-- You can only have one Explainability resource per predictor. If you+-- already enabled @ExplainPredictor@ in CreateAutoPredictor, that+-- predictor already has an Explainability resource.+--+-- The following parameters are required when providing a Predictor ARN:+--+-- -   @ExplainabilityName@ - A unique name for the Explainability.+--+-- -   @ResourceArn@ - The Arn of the predictor.+--+-- -   @TimePointGranularity@ - Must be set to “ALL”.+--+-- -   @TimeSeriesGranularity@ - Must be set to “ALL”.+--+-- Do not specify a value for the following parameters:+--+-- -   @DataSource@ - Only valid when TimeSeriesGranularity is “SPECIFIC”.+--+-- -   @Schema@ - Only valid when TimeSeriesGranularity is “SPECIFIC”.+--+-- -   @StartDateTime@ - Only valid when TimePointGranularity is+--     “SPECIFIC”.+--+-- -   @EndDateTime@ - Only valid when TimePointGranularity is “SPECIFIC”.+--+-- __CreateExplainability with a Forecast ARN__+--+-- You can specify a maximum of 50 time series and 500 time points.+--+-- The following parameters are required when providing a Predictor ARN:+--+-- -   @ExplainabilityName@ - A unique name for the Explainability.+--+-- -   @ResourceArn@ - The Arn of the forecast.+--+-- -   @TimePointGranularity@ - Either “ALL” or “SPECIFIC”.+--+-- -   @TimeSeriesGranularity@ - Either “ALL” or “SPECIFIC”.+--+-- If you set TimeSeriesGranularity to “SPECIFIC”, you must also provide+-- the following:+--+-- -   @DataSource@ - The S3 location of the CSV file specifying your time+--     series.+--+-- -   @Schema@ - The Schema defines the attributes and attribute types+--     listed in the Data Source.+--+-- If you set TimePointGranularity to “SPECIFIC”, you must also provide the+-- following:+--+-- -   @StartDateTime@ - The first timestamp in the range of time points.+--+-- -   @EndDateTime@ - The last timestamp in the range of time points.+module Amazonka.Forecast.CreateExplainability+  ( -- * Creating a Request+    CreateExplainability (..),+    newCreateExplainability,++    -- * Request Lenses+    createExplainability_dataSource,+    createExplainability_enableVisualization,+    createExplainability_endDateTime,+    createExplainability_schema,+    createExplainability_startDateTime,+    createExplainability_tags,+    createExplainability_explainabilityName,+    createExplainability_resourceArn,+    createExplainability_explainabilityConfig,++    -- * Destructuring the Response+    CreateExplainabilityResponse (..),+    newCreateExplainabilityResponse,++    -- * Response Lenses+    createExplainabilityResponse_explainabilityArn,+    createExplainabilityResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateExplainability' smart constructor.+data CreateExplainability = CreateExplainability'+  { dataSource :: Prelude.Maybe DataSource,+    -- | Create an Explainability visualization that is viewable within the AWS+    -- console.+    enableVisualization :: Prelude.Maybe Prelude.Bool,+    -- | If @TimePointGranularity@ is set to @SPECIFIC@, define the last time+    -- point for the Explainability.+    --+    -- Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example:+    -- 2015-01-01T20:00:00)+    endDateTime :: Prelude.Maybe Prelude.Text,+    schema :: Prelude.Maybe Schema,+    -- | If @TimePointGranularity@ is set to @SPECIFIC@, define the first point+    -- for the Explainability.+    --+    -- Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example:+    -- 2015-01-01T20:00:00)+    startDateTime :: Prelude.Maybe Prelude.Text,+    -- | Optional metadata to help you categorize and organize your resources.+    -- Each tag consists of a key and an optional value, both of which you+    -- define. Tag keys and values are case sensitive.+    --+    -- The following restrictions apply to tags:+    --+    -- -   For each resource, each tag key must be unique and each tag key must+    --     have one value.+    --+    -- -   Maximum number of tags per resource: 50.+    --+    -- -   Maximum key length: 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length: 256 Unicode characters in UTF-8.+    --+    -- -   Accepted characters: all letters and numbers, spaces representable+    --     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+    --     across other services and resources, the character restrictions of+    --     those services also apply.+    --+    -- -   Key prefixes cannot include any upper or lowercase combination of+    --     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+    --     @aws@ as its prefix but the key does not, Forecast considers it to+    --     be a user tag and will count against the limit of 50 tags. Tags with+    --     only the key prefix of @aws@ do not count against your tags per+    --     resource limit. You cannot edit or delete tag keys with this prefix.+    tags :: Prelude.Maybe [Tag],+    -- | A unique name for the Explainability.+    explainabilityName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Predictor or Forecast used to+    -- create the Explainability.+    resourceArn :: Prelude.Text,+    -- | The configuration settings that define the granularity of time series+    -- and time points for the Explainability.+    explainabilityConfig :: ExplainabilityConfig+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateExplainability' 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:+--+-- 'dataSource', 'createExplainability_dataSource' - Undocumented member.+--+-- 'enableVisualization', 'createExplainability_enableVisualization' - Create an Explainability visualization that is viewable within the AWS+-- console.+--+-- 'endDateTime', 'createExplainability_endDateTime' - If @TimePointGranularity@ is set to @SPECIFIC@, define the last time+-- point for the Explainability.+--+-- Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example:+-- 2015-01-01T20:00:00)+--+-- 'schema', 'createExplainability_schema' - Undocumented member.+--+-- 'startDateTime', 'createExplainability_startDateTime' - If @TimePointGranularity@ is set to @SPECIFIC@, define the first point+-- for the Explainability.+--+-- Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example:+-- 2015-01-01T20:00:00)+--+-- 'tags', 'createExplainability_tags' - Optional metadata to help you categorize and organize your resources.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+--+-- 'explainabilityName', 'createExplainability_explainabilityName' - A unique name for the Explainability.+--+-- 'resourceArn', 'createExplainability_resourceArn' - The Amazon Resource Name (ARN) of the Predictor or Forecast used to+-- create the Explainability.+--+-- 'explainabilityConfig', 'createExplainability_explainabilityConfig' - The configuration settings that define the granularity of time series+-- and time points for the Explainability.+newCreateExplainability ::+  -- | 'explainabilityName'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'explainabilityConfig'+  ExplainabilityConfig ->+  CreateExplainability+newCreateExplainability+  pExplainabilityName_+  pResourceArn_+  pExplainabilityConfig_ =+    CreateExplainability'+      { dataSource = Prelude.Nothing,+        enableVisualization = Prelude.Nothing,+        endDateTime = Prelude.Nothing,+        schema = Prelude.Nothing,+        startDateTime = Prelude.Nothing,+        tags = Prelude.Nothing,+        explainabilityName = pExplainabilityName_,+        resourceArn = pResourceArn_,+        explainabilityConfig = pExplainabilityConfig_+      }++-- | Undocumented member.+createExplainability_dataSource :: Lens.Lens' CreateExplainability (Prelude.Maybe DataSource)+createExplainability_dataSource = Lens.lens (\CreateExplainability' {dataSource} -> dataSource) (\s@CreateExplainability' {} a -> s {dataSource = a} :: CreateExplainability)++-- | Create an Explainability visualization that is viewable within the AWS+-- console.+createExplainability_enableVisualization :: Lens.Lens' CreateExplainability (Prelude.Maybe Prelude.Bool)+createExplainability_enableVisualization = Lens.lens (\CreateExplainability' {enableVisualization} -> enableVisualization) (\s@CreateExplainability' {} a -> s {enableVisualization = a} :: CreateExplainability)++-- | If @TimePointGranularity@ is set to @SPECIFIC@, define the last time+-- point for the Explainability.+--+-- Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example:+-- 2015-01-01T20:00:00)+createExplainability_endDateTime :: Lens.Lens' CreateExplainability (Prelude.Maybe Prelude.Text)+createExplainability_endDateTime = Lens.lens (\CreateExplainability' {endDateTime} -> endDateTime) (\s@CreateExplainability' {} a -> s {endDateTime = a} :: CreateExplainability)++-- | Undocumented member.+createExplainability_schema :: Lens.Lens' CreateExplainability (Prelude.Maybe Schema)+createExplainability_schema = Lens.lens (\CreateExplainability' {schema} -> schema) (\s@CreateExplainability' {} a -> s {schema = a} :: CreateExplainability)++-- | If @TimePointGranularity@ is set to @SPECIFIC@, define the first point+-- for the Explainability.+--+-- Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example:+-- 2015-01-01T20:00:00)+createExplainability_startDateTime :: Lens.Lens' CreateExplainability (Prelude.Maybe Prelude.Text)+createExplainability_startDateTime = Lens.lens (\CreateExplainability' {startDateTime} -> startDateTime) (\s@CreateExplainability' {} a -> s {startDateTime = a} :: CreateExplainability)++-- | Optional metadata to help you categorize and organize your resources.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+createExplainability_tags :: Lens.Lens' CreateExplainability (Prelude.Maybe [Tag])+createExplainability_tags = Lens.lens (\CreateExplainability' {tags} -> tags) (\s@CreateExplainability' {} a -> s {tags = a} :: CreateExplainability) Prelude.. Lens.mapping Lens.coerced++-- | A unique name for the Explainability.+createExplainability_explainabilityName :: Lens.Lens' CreateExplainability Prelude.Text+createExplainability_explainabilityName = Lens.lens (\CreateExplainability' {explainabilityName} -> explainabilityName) (\s@CreateExplainability' {} a -> s {explainabilityName = a} :: CreateExplainability)++-- | The Amazon Resource Name (ARN) of the Predictor or Forecast used to+-- create the Explainability.+createExplainability_resourceArn :: Lens.Lens' CreateExplainability Prelude.Text+createExplainability_resourceArn = Lens.lens (\CreateExplainability' {resourceArn} -> resourceArn) (\s@CreateExplainability' {} a -> s {resourceArn = a} :: CreateExplainability)++-- | The configuration settings that define the granularity of time series+-- and time points for the Explainability.+createExplainability_explainabilityConfig :: Lens.Lens' CreateExplainability ExplainabilityConfig+createExplainability_explainabilityConfig = Lens.lens (\CreateExplainability' {explainabilityConfig} -> explainabilityConfig) (\s@CreateExplainability' {} a -> s {explainabilityConfig = a} :: CreateExplainability)++instance Core.AWSRequest CreateExplainability where+  type+    AWSResponse CreateExplainability =+      CreateExplainabilityResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateExplainabilityResponse'+            Prelude.<$> (x Data..?> "ExplainabilityArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateExplainability where+  hashWithSalt _salt CreateExplainability' {..} =+    _salt+      `Prelude.hashWithSalt` dataSource+      `Prelude.hashWithSalt` enableVisualization+      `Prelude.hashWithSalt` endDateTime+      `Prelude.hashWithSalt` schema+      `Prelude.hashWithSalt` startDateTime+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` explainabilityName+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` explainabilityConfig++instance Prelude.NFData CreateExplainability where+  rnf CreateExplainability' {..} =+    Prelude.rnf dataSource+      `Prelude.seq` Prelude.rnf enableVisualization+      `Prelude.seq` Prelude.rnf endDateTime+      `Prelude.seq` Prelude.rnf schema+      `Prelude.seq` Prelude.rnf startDateTime+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf explainabilityName+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf explainabilityConfig++instance Data.ToHeaders CreateExplainability where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateExplainability" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateExplainability where+  toJSON CreateExplainability' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataSource" Data..=) Prelude.<$> dataSource,+            ("EnableVisualization" Data..=)+              Prelude.<$> enableVisualization,+            ("EndDateTime" Data..=) Prelude.<$> endDateTime,+            ("Schema" Data..=) Prelude.<$> schema,+            ("StartDateTime" Data..=) Prelude.<$> startDateTime,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ExplainabilityName" Data..= explainabilityName),+            Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just+              ( "ExplainabilityConfig"+                  Data..= explainabilityConfig+              )+          ]+      )++instance Data.ToPath CreateExplainability where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateExplainability where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateExplainabilityResponse' smart constructor.+data CreateExplainabilityResponse = CreateExplainabilityResponse'+  { -- | The Amazon Resource Name (ARN) of the Explainability.+    explainabilityArn :: 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 'CreateExplainabilityResponse' 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:+--+-- 'explainabilityArn', 'createExplainabilityResponse_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability.+--+-- 'httpStatus', 'createExplainabilityResponse_httpStatus' - The response's http status code.+newCreateExplainabilityResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateExplainabilityResponse+newCreateExplainabilityResponse pHttpStatus_ =+  CreateExplainabilityResponse'+    { explainabilityArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the Explainability.+createExplainabilityResponse_explainabilityArn :: Lens.Lens' CreateExplainabilityResponse (Prelude.Maybe Prelude.Text)+createExplainabilityResponse_explainabilityArn = Lens.lens (\CreateExplainabilityResponse' {explainabilityArn} -> explainabilityArn) (\s@CreateExplainabilityResponse' {} a -> s {explainabilityArn = a} :: CreateExplainabilityResponse)++-- | The response's http status code.+createExplainabilityResponse_httpStatus :: Lens.Lens' CreateExplainabilityResponse Prelude.Int+createExplainabilityResponse_httpStatus = Lens.lens (\CreateExplainabilityResponse' {httpStatus} -> httpStatus) (\s@CreateExplainabilityResponse' {} a -> s {httpStatus = a} :: CreateExplainabilityResponse)++instance Prelude.NFData CreateExplainabilityResponse where+  rnf CreateExplainabilityResponse' {..} =+    Prelude.rnf explainabilityArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateExplainabilityExport.hs view
@@ -0,0 +1,326 @@+{-# 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.Forecast.CreateExplainabilityExport+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Exports an Explainability resource created by the CreateExplainability+-- operation. Exported files are exported to an Amazon Simple Storage+-- Service (Amazon S3) bucket.+--+-- You must specify a DataDestination object that includes an Amazon S3+-- bucket and an AWS Identity and Access Management (IAM) role that Amazon+-- Forecast can assume to access the Amazon S3 bucket. For more+-- information, see aws-forecast-iam-roles.+--+-- The @Status@ of the export job must be @ACTIVE@ before you can access+-- the export in your Amazon S3 bucket. To get the status, use the+-- DescribeExplainabilityExport operation.+module Amazonka.Forecast.CreateExplainabilityExport+  ( -- * Creating a Request+    CreateExplainabilityExport (..),+    newCreateExplainabilityExport,++    -- * Request Lenses+    createExplainabilityExport_format,+    createExplainabilityExport_tags,+    createExplainabilityExport_explainabilityExportName,+    createExplainabilityExport_explainabilityArn,+    createExplainabilityExport_destination,++    -- * Destructuring the Response+    CreateExplainabilityExportResponse (..),+    newCreateExplainabilityExportResponse,++    -- * Response Lenses+    createExplainabilityExportResponse_explainabilityExportArn,+    createExplainabilityExportResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateExplainabilityExport' smart constructor.+data CreateExplainabilityExport = CreateExplainabilityExport'+  { -- | The format of the exported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | Optional metadata to help you categorize and organize your resources.+    -- Each tag consists of a key and an optional value, both of which you+    -- define. Tag keys and values are case sensitive.+    --+    -- The following restrictions apply to tags:+    --+    -- -   For each resource, each tag key must be unique and each tag key must+    --     have one value.+    --+    -- -   Maximum number of tags per resource: 50.+    --+    -- -   Maximum key length: 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length: 256 Unicode characters in UTF-8.+    --+    -- -   Accepted characters: all letters and numbers, spaces representable+    --     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+    --     across other services and resources, the character restrictions of+    --     those services also apply.+    --+    -- -   Key prefixes cannot include any upper or lowercase combination of+    --     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+    --     @aws@ as its prefix but the key does not, Forecast considers it to+    --     be a user tag and will count against the limit of 50 tags. Tags with+    --     only the key prefix of @aws@ do not count against your tags per+    --     resource limit. You cannot edit or delete tag keys with this prefix.+    tags :: Prelude.Maybe [Tag],+    -- | A unique name for the Explainability export.+    explainabilityExportName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Explainability to export.+    explainabilityArn :: Prelude.Text,+    destination :: DataDestination+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateExplainabilityExport' 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:+--+-- 'format', 'createExplainabilityExport_format' - The format of the exported data, CSV or PARQUET.+--+-- 'tags', 'createExplainabilityExport_tags' - Optional metadata to help you categorize and organize your resources.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+--+-- 'explainabilityExportName', 'createExplainabilityExport_explainabilityExportName' - A unique name for the Explainability export.+--+-- 'explainabilityArn', 'createExplainabilityExport_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability to export.+--+-- 'destination', 'createExplainabilityExport_destination' - Undocumented member.+newCreateExplainabilityExport ::+  -- | 'explainabilityExportName'+  Prelude.Text ->+  -- | 'explainabilityArn'+  Prelude.Text ->+  -- | 'destination'+  DataDestination ->+  CreateExplainabilityExport+newCreateExplainabilityExport+  pExplainabilityExportName_+  pExplainabilityArn_+  pDestination_ =+    CreateExplainabilityExport'+      { format =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        explainabilityExportName =+          pExplainabilityExportName_,+        explainabilityArn = pExplainabilityArn_,+        destination = pDestination_+      }++-- | The format of the exported data, CSV or PARQUET.+createExplainabilityExport_format :: Lens.Lens' CreateExplainabilityExport (Prelude.Maybe Prelude.Text)+createExplainabilityExport_format = Lens.lens (\CreateExplainabilityExport' {format} -> format) (\s@CreateExplainabilityExport' {} a -> s {format = a} :: CreateExplainabilityExport)++-- | Optional metadata to help you categorize and organize your resources.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+createExplainabilityExport_tags :: Lens.Lens' CreateExplainabilityExport (Prelude.Maybe [Tag])+createExplainabilityExport_tags = Lens.lens (\CreateExplainabilityExport' {tags} -> tags) (\s@CreateExplainabilityExport' {} a -> s {tags = a} :: CreateExplainabilityExport) Prelude.. Lens.mapping Lens.coerced++-- | A unique name for the Explainability export.+createExplainabilityExport_explainabilityExportName :: Lens.Lens' CreateExplainabilityExport Prelude.Text+createExplainabilityExport_explainabilityExportName = Lens.lens (\CreateExplainabilityExport' {explainabilityExportName} -> explainabilityExportName) (\s@CreateExplainabilityExport' {} a -> s {explainabilityExportName = a} :: CreateExplainabilityExport)++-- | The Amazon Resource Name (ARN) of the Explainability to export.+createExplainabilityExport_explainabilityArn :: Lens.Lens' CreateExplainabilityExport Prelude.Text+createExplainabilityExport_explainabilityArn = Lens.lens (\CreateExplainabilityExport' {explainabilityArn} -> explainabilityArn) (\s@CreateExplainabilityExport' {} a -> s {explainabilityArn = a} :: CreateExplainabilityExport)++-- | Undocumented member.+createExplainabilityExport_destination :: Lens.Lens' CreateExplainabilityExport DataDestination+createExplainabilityExport_destination = Lens.lens (\CreateExplainabilityExport' {destination} -> destination) (\s@CreateExplainabilityExport' {} a -> s {destination = a} :: CreateExplainabilityExport)++instance Core.AWSRequest CreateExplainabilityExport where+  type+    AWSResponse CreateExplainabilityExport =+      CreateExplainabilityExportResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateExplainabilityExportResponse'+            Prelude.<$> (x Data..?> "ExplainabilityExportArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateExplainabilityExport where+  hashWithSalt _salt CreateExplainabilityExport' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` explainabilityExportName+      `Prelude.hashWithSalt` explainabilityArn+      `Prelude.hashWithSalt` destination++instance Prelude.NFData CreateExplainabilityExport where+  rnf CreateExplainabilityExport' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf explainabilityExportName+      `Prelude.seq` Prelude.rnf explainabilityArn+      `Prelude.seq` Prelude.rnf destination++instance Data.ToHeaders CreateExplainabilityExport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateExplainabilityExport" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateExplainabilityExport where+  toJSON CreateExplainabilityExport' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "ExplainabilityExportName"+                  Data..= explainabilityExportName+              ),+            Prelude.Just+              ("ExplainabilityArn" Data..= explainabilityArn),+            Prelude.Just ("Destination" Data..= destination)+          ]+      )++instance Data.ToPath CreateExplainabilityExport where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateExplainabilityExport where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateExplainabilityExportResponse' smart constructor.+data CreateExplainabilityExportResponse = CreateExplainabilityExportResponse'+  { -- | The Amazon Resource Name (ARN) of the export.+    explainabilityExportArn :: 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 'CreateExplainabilityExportResponse' 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:+--+-- 'explainabilityExportArn', 'createExplainabilityExportResponse_explainabilityExportArn' - The Amazon Resource Name (ARN) of the export.+--+-- 'httpStatus', 'createExplainabilityExportResponse_httpStatus' - The response's http status code.+newCreateExplainabilityExportResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateExplainabilityExportResponse+newCreateExplainabilityExportResponse pHttpStatus_ =+  CreateExplainabilityExportResponse'+    { explainabilityExportArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the export.+createExplainabilityExportResponse_explainabilityExportArn :: Lens.Lens' CreateExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+createExplainabilityExportResponse_explainabilityExportArn = Lens.lens (\CreateExplainabilityExportResponse' {explainabilityExportArn} -> explainabilityExportArn) (\s@CreateExplainabilityExportResponse' {} a -> s {explainabilityExportArn = a} :: CreateExplainabilityExportResponse)++-- | The response's http status code.+createExplainabilityExportResponse_httpStatus :: Lens.Lens' CreateExplainabilityExportResponse Prelude.Int+createExplainabilityExportResponse_httpStatus = Lens.lens (\CreateExplainabilityExportResponse' {httpStatus} -> httpStatus) (\s@CreateExplainabilityExportResponse' {} a -> s {httpStatus = a} :: CreateExplainabilityExportResponse)++instance+  Prelude.NFData+    CreateExplainabilityExportResponse+  where+  rnf CreateExplainabilityExportResponse' {..} =+    Prelude.rnf explainabilityExportArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateForecast.hs view
@@ -0,0 +1,396 @@+{-# 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.Forecast.CreateForecast+-- 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 forecast for each item in the @TARGET_TIME_SERIES@ dataset+-- that was used to train the predictor. This is known as inference. To+-- retrieve the forecast for a single item at low latency, use the+-- operation. To export the complete forecast into your Amazon Simple+-- Storage Service (Amazon S3) bucket, use the CreateForecastExportJob+-- operation.+--+-- The range of the forecast is determined by the @ForecastHorizon@ value,+-- which you specify in the CreatePredictor request. When you query a+-- forecast, you can request a specific date range within the forecast.+--+-- To get a list of all your forecasts, use the ListForecasts operation.+--+-- The forecasts generated by Amazon Forecast are in the same time zone as+-- the dataset that was used to create the predictor.+--+-- For more information, see howitworks-forecast.+--+-- The @Status@ of the forecast must be @ACTIVE@ before you can query or+-- export the forecast. Use the DescribeForecast operation to get the+-- status.+--+-- By default, a forecast includes predictions for every item (@item_id@)+-- in the dataset group that was used to train the predictor. However, you+-- can use the @TimeSeriesSelector@ object to generate a forecast on a+-- subset of time series. Forecast creation is skipped for any time series+-- that you specify that are not in the input dataset. The forecast export+-- file will not contain these time series or their forecasted values.+module Amazonka.Forecast.CreateForecast+  ( -- * Creating a Request+    CreateForecast (..),+    newCreateForecast,++    -- * Request Lenses+    createForecast_forecastTypes,+    createForecast_tags,+    createForecast_timeSeriesSelector,+    createForecast_forecastName,+    createForecast_predictorArn,++    -- * Destructuring the Response+    CreateForecastResponse (..),+    newCreateForecastResponse,++    -- * Response Lenses+    createForecastResponse_forecastArn,+    createForecastResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateForecast' smart constructor.+data CreateForecast = CreateForecast'+  { -- | The quantiles at which probabilistic forecasts are generated. __You can+    -- currently specify up to 5 quantiles per forecast__. Accepted values+    -- include @0.01 to 0.99@ (increments of .01 only) and @mean@. The mean+    -- forecast is different from the median (0.50) when the distribution is+    -- not symmetric (for example, Beta and Negative Binomial).+    --+    -- The default quantiles are the quantiles you specified during predictor+    -- creation. If you didn\'t specify quantiles, the default values are+    -- @[\"0.1\", \"0.5\", \"0.9\"]@.+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The optional metadata that you apply to the forecast to help you+    -- categorize and organize them. Each tag consists of a key and an optional+    -- value, both of which you define.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: Prelude.Maybe [Tag],+    -- | Defines the set of time series that are used to create the forecasts in+    -- a @TimeSeriesIdentifiers@ object.+    --+    -- The @TimeSeriesIdentifiers@ object needs the following information:+    --+    -- -   @DataSource@+    --+    -- -   @Format@+    --+    -- -   @Schema@+    timeSeriesSelector :: Prelude.Maybe TimeSeriesSelector,+    -- | A name for the forecast.+    forecastName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor to use to generate the+    -- forecast.+    predictorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateForecast' 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:+--+-- 'forecastTypes', 'createForecast_forecastTypes' - The quantiles at which probabilistic forecasts are generated. __You can+-- currently specify up to 5 quantiles per forecast__. Accepted values+-- include @0.01 to 0.99@ (increments of .01 only) and @mean@. The mean+-- forecast is different from the median (0.50) when the distribution is+-- not symmetric (for example, Beta and Negative Binomial).+--+-- The default quantiles are the quantiles you specified during predictor+-- creation. If you didn\'t specify quantiles, the default values are+-- @[\"0.1\", \"0.5\", \"0.9\"]@.+--+-- 'tags', 'createForecast_tags' - The optional metadata that you apply to the forecast to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- 'timeSeriesSelector', 'createForecast_timeSeriesSelector' - Defines the set of time series that are used to create the forecasts in+-- a @TimeSeriesIdentifiers@ object.+--+-- The @TimeSeriesIdentifiers@ object needs the following information:+--+-- -   @DataSource@+--+-- -   @Format@+--+-- -   @Schema@+--+-- 'forecastName', 'createForecast_forecastName' - A name for the forecast.+--+-- 'predictorArn', 'createForecast_predictorArn' - The Amazon Resource Name (ARN) of the predictor to use to generate the+-- forecast.+newCreateForecast ::+  -- | 'forecastName'+  Prelude.Text ->+  -- | 'predictorArn'+  Prelude.Text ->+  CreateForecast+newCreateForecast pForecastName_ pPredictorArn_ =+  CreateForecast'+    { forecastTypes = Prelude.Nothing,+      tags = Prelude.Nothing,+      timeSeriesSelector = Prelude.Nothing,+      forecastName = pForecastName_,+      predictorArn = pPredictorArn_+    }++-- | The quantiles at which probabilistic forecasts are generated. __You can+-- currently specify up to 5 quantiles per forecast__. Accepted values+-- include @0.01 to 0.99@ (increments of .01 only) and @mean@. The mean+-- forecast is different from the median (0.50) when the distribution is+-- not symmetric (for example, Beta and Negative Binomial).+--+-- The default quantiles are the quantiles you specified during predictor+-- creation. If you didn\'t specify quantiles, the default values are+-- @[\"0.1\", \"0.5\", \"0.9\"]@.+createForecast_forecastTypes :: Lens.Lens' CreateForecast (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createForecast_forecastTypes = Lens.lens (\CreateForecast' {forecastTypes} -> forecastTypes) (\s@CreateForecast' {} a -> s {forecastTypes = a} :: CreateForecast) Prelude.. Lens.mapping Lens.coerced++-- | The optional metadata that you apply to the forecast to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+createForecast_tags :: Lens.Lens' CreateForecast (Prelude.Maybe [Tag])+createForecast_tags = Lens.lens (\CreateForecast' {tags} -> tags) (\s@CreateForecast' {} a -> s {tags = a} :: CreateForecast) Prelude.. Lens.mapping Lens.coerced++-- | Defines the set of time series that are used to create the forecasts in+-- a @TimeSeriesIdentifiers@ object.+--+-- The @TimeSeriesIdentifiers@ object needs the following information:+--+-- -   @DataSource@+--+-- -   @Format@+--+-- -   @Schema@+createForecast_timeSeriesSelector :: Lens.Lens' CreateForecast (Prelude.Maybe TimeSeriesSelector)+createForecast_timeSeriesSelector = Lens.lens (\CreateForecast' {timeSeriesSelector} -> timeSeriesSelector) (\s@CreateForecast' {} a -> s {timeSeriesSelector = a} :: CreateForecast)++-- | A name for the forecast.+createForecast_forecastName :: Lens.Lens' CreateForecast Prelude.Text+createForecast_forecastName = Lens.lens (\CreateForecast' {forecastName} -> forecastName) (\s@CreateForecast' {} a -> s {forecastName = a} :: CreateForecast)++-- | The Amazon Resource Name (ARN) of the predictor to use to generate the+-- forecast.+createForecast_predictorArn :: Lens.Lens' CreateForecast Prelude.Text+createForecast_predictorArn = Lens.lens (\CreateForecast' {predictorArn} -> predictorArn) (\s@CreateForecast' {} a -> s {predictorArn = a} :: CreateForecast)++instance Core.AWSRequest CreateForecast where+  type+    AWSResponse CreateForecast =+      CreateForecastResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateForecastResponse'+            Prelude.<$> (x Data..?> "ForecastArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateForecast where+  hashWithSalt _salt CreateForecast' {..} =+    _salt+      `Prelude.hashWithSalt` forecastTypes+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` timeSeriesSelector+      `Prelude.hashWithSalt` forecastName+      `Prelude.hashWithSalt` predictorArn++instance Prelude.NFData CreateForecast where+  rnf CreateForecast' {..} =+    Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf timeSeriesSelector+      `Prelude.seq` Prelude.rnf forecastName+      `Prelude.seq` Prelude.rnf predictorArn++instance Data.ToHeaders CreateForecast where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateForecast" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateForecast where+  toJSON CreateForecast' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ForecastTypes" Data..=) Prelude.<$> forecastTypes,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TimeSeriesSelector" Data..=)+              Prelude.<$> timeSeriesSelector,+            Prelude.Just ("ForecastName" Data..= forecastName),+            Prelude.Just ("PredictorArn" Data..= predictorArn)+          ]+      )++instance Data.ToPath CreateForecast where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateForecast where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateForecastResponse' smart constructor.+data CreateForecastResponse = CreateForecastResponse'+  { -- | The Amazon Resource Name (ARN) of the forecast.+    forecastArn :: 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 'CreateForecastResponse' 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:+--+-- 'forecastArn', 'createForecastResponse_forecastArn' - The Amazon Resource Name (ARN) of the forecast.+--+-- 'httpStatus', 'createForecastResponse_httpStatus' - The response's http status code.+newCreateForecastResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateForecastResponse+newCreateForecastResponse pHttpStatus_ =+  CreateForecastResponse'+    { forecastArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the forecast.+createForecastResponse_forecastArn :: Lens.Lens' CreateForecastResponse (Prelude.Maybe Prelude.Text)+createForecastResponse_forecastArn = Lens.lens (\CreateForecastResponse' {forecastArn} -> forecastArn) (\s@CreateForecastResponse' {} a -> s {forecastArn = a} :: CreateForecastResponse)++-- | The response's http status code.+createForecastResponse_httpStatus :: Lens.Lens' CreateForecastResponse Prelude.Int+createForecastResponse_httpStatus = Lens.lens (\CreateForecastResponse' {httpStatus} -> httpStatus) (\s@CreateForecastResponse' {} a -> s {httpStatus = a} :: CreateForecastResponse)++instance Prelude.NFData CreateForecastResponse where+  rnf CreateForecastResponse' {..} =+    Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateForecastExportJob.hs view
@@ -0,0 +1,367 @@+{-# 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.Forecast.CreateForecastExportJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Exports a forecast created by the CreateForecast operation to your+-- Amazon Simple Storage Service (Amazon S3) bucket. The forecast file name+-- will match the following conventions:+--+-- \<ForecastExportJobName>_\<ExportTimestamp>_\<PartNumber>+--+-- where the \<ExportTimestamp> component is in Java SimpleDateFormat+-- (yyyy-MM-ddTHH-mm-ssZ).+--+-- You must specify a DataDestination object that includes an AWS Identity+-- and Access Management (IAM) role that Amazon Forecast can assume to+-- access the Amazon S3 bucket. For more information, see+-- aws-forecast-iam-roles.+--+-- For more information, see howitworks-forecast.+--+-- To get a list of all your forecast export jobs, use the+-- ListForecastExportJobs operation.+--+-- The @Status@ of the forecast export job must be @ACTIVE@ before you can+-- access the forecast in your Amazon S3 bucket. To get the status, use the+-- DescribeForecastExportJob operation.+module Amazonka.Forecast.CreateForecastExportJob+  ( -- * Creating a Request+    CreateForecastExportJob (..),+    newCreateForecastExportJob,++    -- * Request Lenses+    createForecastExportJob_format,+    createForecastExportJob_tags,+    createForecastExportJob_forecastExportJobName,+    createForecastExportJob_forecastArn,+    createForecastExportJob_destination,++    -- * Destructuring the Response+    CreateForecastExportJobResponse (..),+    newCreateForecastExportJobResponse,++    -- * Response Lenses+    createForecastExportJobResponse_forecastExportJobArn,+    createForecastExportJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateForecastExportJob' smart constructor.+data CreateForecastExportJob = CreateForecastExportJob'+  { -- | The format of the exported data, CSV or PARQUET. The default value is+    -- CSV.+    format :: Prelude.Maybe Prelude.Text,+    -- | The optional metadata that you apply to the forecast export job to help+    -- you categorize and organize them. Each tag consists of a key and an+    -- optional value, both of which you define.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: Prelude.Maybe [Tag],+    -- | The name for the forecast export job.+    forecastExportJobName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the forecast that you want to export.+    forecastArn :: Prelude.Text,+    -- | The location where you want to save the forecast and an AWS Identity and+    -- Access Management (IAM) role that Amazon Forecast can assume to access+    -- the location. The forecast must be exported to an Amazon S3 bucket.+    --+    -- If encryption is used, @Destination@ must include an AWS Key Management+    -- Service (KMS) key. The IAM role must allow Amazon Forecast permission to+    -- access the key.+    destination :: DataDestination+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateForecastExportJob' 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:+--+-- 'format', 'createForecastExportJob_format' - The format of the exported data, CSV or PARQUET. The default value is+-- CSV.+--+-- 'tags', 'createForecastExportJob_tags' - The optional metadata that you apply to the forecast export job to help+-- you categorize and organize them. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- 'forecastExportJobName', 'createForecastExportJob_forecastExportJobName' - The name for the forecast export job.+--+-- 'forecastArn', 'createForecastExportJob_forecastArn' - The Amazon Resource Name (ARN) of the forecast that you want to export.+--+-- 'destination', 'createForecastExportJob_destination' - The location where you want to save the forecast and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the location. The forecast must be exported to an Amazon S3 bucket.+--+-- If encryption is used, @Destination@ must include an AWS Key Management+-- Service (KMS) key. The IAM role must allow Amazon Forecast permission to+-- access the key.+newCreateForecastExportJob ::+  -- | 'forecastExportJobName'+  Prelude.Text ->+  -- | 'forecastArn'+  Prelude.Text ->+  -- | 'destination'+  DataDestination ->+  CreateForecastExportJob+newCreateForecastExportJob+  pForecastExportJobName_+  pForecastArn_+  pDestination_ =+    CreateForecastExportJob'+      { format = Prelude.Nothing,+        tags = Prelude.Nothing,+        forecastExportJobName = pForecastExportJobName_,+        forecastArn = pForecastArn_,+        destination = pDestination_+      }++-- | The format of the exported data, CSV or PARQUET. The default value is+-- CSV.+createForecastExportJob_format :: Lens.Lens' CreateForecastExportJob (Prelude.Maybe Prelude.Text)+createForecastExportJob_format = Lens.lens (\CreateForecastExportJob' {format} -> format) (\s@CreateForecastExportJob' {} a -> s {format = a} :: CreateForecastExportJob)++-- | The optional metadata that you apply to the forecast export job to help+-- you categorize and organize them. Each tag consists of a key and an+-- optional value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+createForecastExportJob_tags :: Lens.Lens' CreateForecastExportJob (Prelude.Maybe [Tag])+createForecastExportJob_tags = Lens.lens (\CreateForecastExportJob' {tags} -> tags) (\s@CreateForecastExportJob' {} a -> s {tags = a} :: CreateForecastExportJob) Prelude.. Lens.mapping Lens.coerced++-- | The name for the forecast export job.+createForecastExportJob_forecastExportJobName :: Lens.Lens' CreateForecastExportJob Prelude.Text+createForecastExportJob_forecastExportJobName = Lens.lens (\CreateForecastExportJob' {forecastExportJobName} -> forecastExportJobName) (\s@CreateForecastExportJob' {} a -> s {forecastExportJobName = a} :: CreateForecastExportJob)++-- | The Amazon Resource Name (ARN) of the forecast that you want to export.+createForecastExportJob_forecastArn :: Lens.Lens' CreateForecastExportJob Prelude.Text+createForecastExportJob_forecastArn = Lens.lens (\CreateForecastExportJob' {forecastArn} -> forecastArn) (\s@CreateForecastExportJob' {} a -> s {forecastArn = a} :: CreateForecastExportJob)++-- | The location where you want to save the forecast and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the location. The forecast must be exported to an Amazon S3 bucket.+--+-- If encryption is used, @Destination@ must include an AWS Key Management+-- Service (KMS) key. The IAM role must allow Amazon Forecast permission to+-- access the key.+createForecastExportJob_destination :: Lens.Lens' CreateForecastExportJob DataDestination+createForecastExportJob_destination = Lens.lens (\CreateForecastExportJob' {destination} -> destination) (\s@CreateForecastExportJob' {} a -> s {destination = a} :: CreateForecastExportJob)++instance Core.AWSRequest CreateForecastExportJob where+  type+    AWSResponse CreateForecastExportJob =+      CreateForecastExportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateForecastExportJobResponse'+            Prelude.<$> (x Data..?> "ForecastExportJobArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateForecastExportJob where+  hashWithSalt _salt CreateForecastExportJob' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` forecastExportJobName+      `Prelude.hashWithSalt` forecastArn+      `Prelude.hashWithSalt` destination++instance Prelude.NFData CreateForecastExportJob where+  rnf CreateForecastExportJob' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf forecastExportJobName+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf destination++instance Data.ToHeaders CreateForecastExportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateForecastExportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateForecastExportJob where+  toJSON CreateForecastExportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "ForecastExportJobName"+                  Data..= forecastExportJobName+              ),+            Prelude.Just ("ForecastArn" Data..= forecastArn),+            Prelude.Just ("Destination" Data..= destination)+          ]+      )++instance Data.ToPath CreateForecastExportJob where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateForecastExportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateForecastExportJobResponse' smart constructor.+data CreateForecastExportJobResponse = CreateForecastExportJobResponse'+  { -- | The Amazon Resource Name (ARN) of the export job.+    forecastExportJobArn :: 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 'CreateForecastExportJobResponse' 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:+--+-- 'forecastExportJobArn', 'createForecastExportJobResponse_forecastExportJobArn' - The Amazon Resource Name (ARN) of the export job.+--+-- 'httpStatus', 'createForecastExportJobResponse_httpStatus' - The response's http status code.+newCreateForecastExportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateForecastExportJobResponse+newCreateForecastExportJobResponse pHttpStatus_ =+  CreateForecastExportJobResponse'+    { forecastExportJobArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the export job.+createForecastExportJobResponse_forecastExportJobArn :: Lens.Lens' CreateForecastExportJobResponse (Prelude.Maybe Prelude.Text)+createForecastExportJobResponse_forecastExportJobArn = Lens.lens (\CreateForecastExportJobResponse' {forecastExportJobArn} -> forecastExportJobArn) (\s@CreateForecastExportJobResponse' {} a -> s {forecastExportJobArn = a} :: CreateForecastExportJobResponse)++-- | The response's http status code.+createForecastExportJobResponse_httpStatus :: Lens.Lens' CreateForecastExportJobResponse Prelude.Int+createForecastExportJobResponse_httpStatus = Lens.lens (\CreateForecastExportJobResponse' {httpStatus} -> httpStatus) (\s@CreateForecastExportJobResponse' {} a -> s {httpStatus = a} :: CreateForecastExportJobResponse)++instance+  Prelude.NFData+    CreateForecastExportJobResponse+  where+  rnf CreateForecastExportJobResponse' {..} =+    Prelude.rnf forecastExportJobArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateMonitor.hs view
@@ -0,0 +1,210 @@+{-# 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.Forecast.CreateMonitor+-- 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 predictor monitor resource for an existing auto predictor.+-- Predictor monitoring allows you to see how your predictor\'s performance+-- changes over time. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring.html Predictor Monitoring>.+module Amazonka.Forecast.CreateMonitor+  ( -- * Creating a Request+    CreateMonitor (..),+    newCreateMonitor,++    -- * Request Lenses+    createMonitor_tags,+    createMonitor_monitorName,+    createMonitor_resourceArn,++    -- * Destructuring the Response+    CreateMonitorResponse (..),+    newCreateMonitorResponse,++    -- * Response Lenses+    createMonitorResponse_monitorArn,+    createMonitorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateMonitor' smart constructor.+data CreateMonitor = CreateMonitor'+  { -- | A list of+    -- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+    -- to apply to the monitor resource.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the monitor resource.+    monitorName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor to monitor.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMonitor' 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', 'createMonitor_tags' - A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the monitor resource.+--+-- 'monitorName', 'createMonitor_monitorName' - The name of the monitor resource.+--+-- 'resourceArn', 'createMonitor_resourceArn' - The Amazon Resource Name (ARN) of the predictor to monitor.+newCreateMonitor ::+  -- | 'monitorName'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  CreateMonitor+newCreateMonitor pMonitorName_ pResourceArn_ =+  CreateMonitor'+    { tags = Prelude.Nothing,+      monitorName = pMonitorName_,+      resourceArn = pResourceArn_+    }++-- | A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the monitor resource.+createMonitor_tags :: Lens.Lens' CreateMonitor (Prelude.Maybe [Tag])+createMonitor_tags = Lens.lens (\CreateMonitor' {tags} -> tags) (\s@CreateMonitor' {} a -> s {tags = a} :: CreateMonitor) Prelude.. Lens.mapping Lens.coerced++-- | The name of the monitor resource.+createMonitor_monitorName :: Lens.Lens' CreateMonitor Prelude.Text+createMonitor_monitorName = Lens.lens (\CreateMonitor' {monitorName} -> monitorName) (\s@CreateMonitor' {} a -> s {monitorName = a} :: CreateMonitor)++-- | The Amazon Resource Name (ARN) of the predictor to monitor.+createMonitor_resourceArn :: Lens.Lens' CreateMonitor Prelude.Text+createMonitor_resourceArn = Lens.lens (\CreateMonitor' {resourceArn} -> resourceArn) (\s@CreateMonitor' {} a -> s {resourceArn = a} :: CreateMonitor)++instance Core.AWSRequest CreateMonitor where+  type+    AWSResponse CreateMonitor =+      CreateMonitorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMonitorResponse'+            Prelude.<$> (x Data..?> "MonitorArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMonitor where+  hashWithSalt _salt CreateMonitor' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` monitorName+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData CreateMonitor where+  rnf CreateMonitor' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf monitorName+      `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders CreateMonitor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateMonitor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateMonitor where+  toJSON CreateMonitor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("MonitorName" Data..= monitorName),+            Prelude.Just ("ResourceArn" Data..= resourceArn)+          ]+      )++instance Data.ToPath CreateMonitor where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateMonitor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMonitorResponse' smart constructor.+data CreateMonitorResponse = CreateMonitorResponse'+  { -- | The Amazon Resource Name (ARN) of the monitor resource.+    monitorArn :: 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 'CreateMonitorResponse' 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:+--+-- 'monitorArn', 'createMonitorResponse_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource.+--+-- 'httpStatus', 'createMonitorResponse_httpStatus' - The response's http status code.+newCreateMonitorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMonitorResponse+newCreateMonitorResponse pHttpStatus_ =+  CreateMonitorResponse'+    { monitorArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the monitor resource.+createMonitorResponse_monitorArn :: Lens.Lens' CreateMonitorResponse (Prelude.Maybe Prelude.Text)+createMonitorResponse_monitorArn = Lens.lens (\CreateMonitorResponse' {monitorArn} -> monitorArn) (\s@CreateMonitorResponse' {} a -> s {monitorArn = a} :: CreateMonitorResponse)++-- | The response's http status code.+createMonitorResponse_httpStatus :: Lens.Lens' CreateMonitorResponse Prelude.Int+createMonitorResponse_httpStatus = Lens.lens (\CreateMonitorResponse' {httpStatus} -> httpStatus) (\s@CreateMonitorResponse' {} a -> s {httpStatus = a} :: CreateMonitorResponse)++instance Prelude.NFData CreateMonitorResponse where+  rnf CreateMonitorResponse' {..} =+    Prelude.rnf monitorArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreatePredictor.hs view
@@ -0,0 +1,746 @@+{-# 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.Forecast.CreatePredictor+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This operation creates a legacy predictor that does not include all the+-- predictor functionalities provided by Amazon Forecast. To create a+-- predictor that is compatible with all aspects of Forecast, use+-- CreateAutoPredictor.+--+-- Creates an Amazon Forecast predictor.+--+-- In the request, provide a dataset group and either specify an algorithm+-- or let Amazon Forecast choose an algorithm for you using AutoML. If you+-- specify an algorithm, you also can override algorithm-specific+-- hyperparameters.+--+-- Amazon Forecast uses the algorithm to train a predictor using the latest+-- version of the datasets in the specified dataset group. You can then+-- generate a forecast using the CreateForecast operation.+--+-- To see the evaluation metrics, use the GetAccuracyMetrics operation.+--+-- You can specify a featurization configuration to fill and aggregate the+-- data fields in the @TARGET_TIME_SERIES@ dataset to improve model+-- training. For more information, see FeaturizationConfig.+--+-- For RELATED_TIME_SERIES datasets, @CreatePredictor@ verifies that the+-- @DataFrequency@ specified when the dataset was created matches the+-- @ForecastFrequency@. TARGET_TIME_SERIES datasets don\'t have this+-- restriction. Amazon Forecast also verifies the delimiter and timestamp+-- format. For more information, see howitworks-datasets-groups.+--+-- By default, predictors are trained and evaluated at the 0.1 (P10), 0.5+-- (P50), and 0.9 (P90) quantiles. You can choose custom forecast types to+-- train and evaluate your predictor by setting the @ForecastTypes@.+--+-- __AutoML__+--+-- If you want Amazon Forecast to evaluate each algorithm and choose the+-- one that minimizes the @objective function@, set @PerformAutoML@ to+-- @true@. The @objective function@ is defined as the mean of the weighted+-- losses over the forecast types. By default, these are the p10, p50, and+-- p90 quantile losses. For more information, see EvaluationResult.+--+-- When AutoML is enabled, the following properties are disallowed:+--+-- -   @AlgorithmArn@+--+-- -   @HPOConfig@+--+-- -   @PerformHPO@+--+-- -   @TrainingParameters@+--+-- To get a list of all of your predictors, use the ListPredictors+-- operation.+--+-- Before you can use the predictor to create a forecast, the @Status@ of+-- the predictor must be @ACTIVE@, signifying that training has completed.+-- To get the status, use the DescribePredictor operation.+module Amazonka.Forecast.CreatePredictor+  ( -- * Creating a Request+    CreatePredictor (..),+    newCreatePredictor,++    -- * Request Lenses+    createPredictor_algorithmArn,+    createPredictor_autoMLOverrideStrategy,+    createPredictor_encryptionConfig,+    createPredictor_evaluationParameters,+    createPredictor_forecastTypes,+    createPredictor_hPOConfig,+    createPredictor_optimizationMetric,+    createPredictor_performAutoML,+    createPredictor_performHPO,+    createPredictor_tags,+    createPredictor_trainingParameters,+    createPredictor_predictorName,+    createPredictor_forecastHorizon,+    createPredictor_inputDataConfig,+    createPredictor_featurizationConfig,++    -- * Destructuring the Response+    CreatePredictorResponse (..),+    newCreatePredictorResponse,++    -- * Response Lenses+    createPredictorResponse_predictorArn,+    createPredictorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePredictor' smart constructor.+data CreatePredictor = CreatePredictor'+  { -- | The Amazon Resource Name (ARN) of the algorithm to use for model+    -- training. Required if @PerformAutoML@ is not set to @true@.+    --+    -- __Supported algorithms:__+    --+    -- -   @arn:aws:forecast:::algorithm\/ARIMA@+    --+    -- -   @arn:aws:forecast:::algorithm\/CNN-QR@+    --+    -- -   @arn:aws:forecast:::algorithm\/Deep_AR_Plus@+    --+    -- -   @arn:aws:forecast:::algorithm\/ETS@+    --+    -- -   @arn:aws:forecast:::algorithm\/NPTS@+    --+    -- -   @arn:aws:forecast:::algorithm\/Prophet@+    algorithmArn :: Prelude.Maybe Prelude.Text,+    -- | The @LatencyOptimized@ AutoML override strategy is only available in+    -- private beta. Contact AWS Support or your account manager to learn more+    -- about access privileges.+    --+    -- Used to overide the default AutoML strategy, which is to optimize+    -- predictor accuracy. To apply an AutoML strategy that minimizes training+    -- time, use @LatencyOptimized@.+    --+    -- This parameter is only valid for predictors trained using AutoML.+    autoMLOverrideStrategy :: Prelude.Maybe AutoMLOverrideStrategy,+    -- | An AWS Key Management Service (KMS) key and the AWS Identity and Access+    -- Management (IAM) role that Amazon Forecast can assume to access the key.+    encryptionConfig :: Prelude.Maybe EncryptionConfig,+    -- | Used to override the default evaluation parameters of the specified+    -- algorithm. Amazon Forecast evaluates a predictor by splitting a dataset+    -- into training data and testing data. The evaluation parameters define+    -- how to perform the split and the number of iterations.+    evaluationParameters :: Prelude.Maybe EvaluationParameters,+    -- | Specifies the forecast types used to train a predictor. You can specify+    -- up to five forecast types. Forecast types can be quantiles from 0.01 to+    -- 0.99, by increments of 0.01 or higher. You can also specify the mean+    -- forecast with @mean@.+    --+    -- The default value is @[\"0.10\", \"0.50\", \"0.9\"]@.+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | Provides hyperparameter override values for the algorithm. If you don\'t+    -- provide this parameter, Amazon Forecast uses default values. The+    -- individual algorithms specify which hyperparameters support+    -- hyperparameter optimization (HPO). For more information, see+    -- aws-forecast-choosing-recipes.+    --+    -- If you included the @HPOConfig@ object, you must set @PerformHPO@ to+    -- true.+    hPOConfig :: Prelude.Maybe HyperParameterTuningJobConfig,+    -- | The accuracy metric used to optimize the predictor.+    optimizationMetric :: Prelude.Maybe OptimizationMetric,+    -- | Whether to perform AutoML. When Amazon Forecast performs AutoML, it+    -- evaluates the algorithms it provides and chooses the best algorithm and+    -- configuration for your training dataset.+    --+    -- The default value is @false@. In this case, you are required to specify+    -- an algorithm.+    --+    -- Set @PerformAutoML@ to @true@ to have Amazon Forecast perform AutoML.+    -- This is a good option if you aren\'t sure which algorithm is suitable+    -- for your training data. In this case, @PerformHPO@ must be false.+    performAutoML :: Prelude.Maybe Prelude.Bool,+    -- | Whether to perform hyperparameter optimization (HPO). HPO finds optimal+    -- hyperparameter values for your training data. The process of performing+    -- HPO is known as running a hyperparameter tuning job.+    --+    -- The default value is @false@. In this case, Amazon Forecast uses default+    -- hyperparameter values from the chosen algorithm.+    --+    -- To override the default values, set @PerformHPO@ to @true@ and,+    -- optionally, supply the HyperParameterTuningJobConfig object. The tuning+    -- job specifies a metric to optimize, which hyperparameters participate in+    -- tuning, and the valid range for each tunable hyperparameter. In this+    -- case, you are required to specify an algorithm and @PerformAutoML@ must+    -- be false.+    --+    -- The following algorithms support HPO:+    --+    -- -   DeepAR++    --+    -- -   CNN-QR+    performHPO :: Prelude.Maybe Prelude.Bool,+    -- | The optional metadata that you apply to the predictor to help you+    -- categorize and organize them. Each tag consists of a key and an optional+    -- value, both of which you define.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: Prelude.Maybe [Tag],+    -- | The hyperparameters to override for model training. The hyperparameters+    -- that you can override are listed in the individual algorithms. For the+    -- list of supported algorithms, see aws-forecast-choosing-recipes.+    trainingParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | A name for the predictor.+    predictorName :: Prelude.Text,+    -- | Specifies the number of time-steps that the model is trained to predict.+    -- The forecast horizon is also called the prediction length.+    --+    -- For example, if you configure a dataset for daily data collection (using+    -- the @DataFrequency@ parameter of the CreateDataset operation) and set+    -- the forecast horizon to 10, the model returns predictions for 10 days.+    --+    -- The maximum forecast horizon is the lesser of 500 time-steps or 1\/3 of+    -- the TARGET_TIME_SERIES dataset length.+    forecastHorizon :: Prelude.Int,+    -- | Describes the dataset group that contains the data to use to train the+    -- predictor.+    inputDataConfig :: InputDataConfig,+    -- | The featurization configuration.+    featurizationConfig :: FeaturizationConfig+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePredictor' 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:+--+-- 'algorithmArn', 'createPredictor_algorithmArn' - The Amazon Resource Name (ARN) of the algorithm to use for model+-- training. Required if @PerformAutoML@ is not set to @true@.+--+-- __Supported algorithms:__+--+-- -   @arn:aws:forecast:::algorithm\/ARIMA@+--+-- -   @arn:aws:forecast:::algorithm\/CNN-QR@+--+-- -   @arn:aws:forecast:::algorithm\/Deep_AR_Plus@+--+-- -   @arn:aws:forecast:::algorithm\/ETS@+--+-- -   @arn:aws:forecast:::algorithm\/NPTS@+--+-- -   @arn:aws:forecast:::algorithm\/Prophet@+--+-- 'autoMLOverrideStrategy', 'createPredictor_autoMLOverrideStrategy' - The @LatencyOptimized@ AutoML override strategy is only available in+-- private beta. Contact AWS Support or your account manager to learn more+-- about access privileges.+--+-- Used to overide the default AutoML strategy, which is to optimize+-- predictor accuracy. To apply an AutoML strategy that minimizes training+-- time, use @LatencyOptimized@.+--+-- This parameter is only valid for predictors trained using AutoML.+--+-- 'encryptionConfig', 'createPredictor_encryptionConfig' - An AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+--+-- 'evaluationParameters', 'createPredictor_evaluationParameters' - Used to override the default evaluation parameters of the specified+-- algorithm. Amazon Forecast evaluates a predictor by splitting a dataset+-- into training data and testing data. The evaluation parameters define+-- how to perform the split and the number of iterations.+--+-- 'forecastTypes', 'createPredictor_forecastTypes' - Specifies the forecast types used to train a predictor. You can specify+-- up to five forecast types. Forecast types can be quantiles from 0.01 to+-- 0.99, by increments of 0.01 or higher. You can also specify the mean+-- forecast with @mean@.+--+-- The default value is @[\"0.10\", \"0.50\", \"0.9\"]@.+--+-- 'hPOConfig', 'createPredictor_hPOConfig' - Provides hyperparameter override values for the algorithm. If you don\'t+-- provide this parameter, Amazon Forecast uses default values. The+-- individual algorithms specify which hyperparameters support+-- hyperparameter optimization (HPO). For more information, see+-- aws-forecast-choosing-recipes.+--+-- If you included the @HPOConfig@ object, you must set @PerformHPO@ to+-- true.+--+-- 'optimizationMetric', 'createPredictor_optimizationMetric' - The accuracy metric used to optimize the predictor.+--+-- 'performAutoML', 'createPredictor_performAutoML' - Whether to perform AutoML. When Amazon Forecast performs AutoML, it+-- evaluates the algorithms it provides and chooses the best algorithm and+-- configuration for your training dataset.+--+-- The default value is @false@. In this case, you are required to specify+-- an algorithm.+--+-- Set @PerformAutoML@ to @true@ to have Amazon Forecast perform AutoML.+-- This is a good option if you aren\'t sure which algorithm is suitable+-- for your training data. In this case, @PerformHPO@ must be false.+--+-- 'performHPO', 'createPredictor_performHPO' - Whether to perform hyperparameter optimization (HPO). HPO finds optimal+-- hyperparameter values for your training data. The process of performing+-- HPO is known as running a hyperparameter tuning job.+--+-- The default value is @false@. In this case, Amazon Forecast uses default+-- hyperparameter values from the chosen algorithm.+--+-- To override the default values, set @PerformHPO@ to @true@ and,+-- optionally, supply the HyperParameterTuningJobConfig object. The tuning+-- job specifies a metric to optimize, which hyperparameters participate in+-- tuning, and the valid range for each tunable hyperparameter. In this+-- case, you are required to specify an algorithm and @PerformAutoML@ must+-- be false.+--+-- The following algorithms support HPO:+--+-- -   DeepAR++--+-- -   CNN-QR+--+-- 'tags', 'createPredictor_tags' - The optional metadata that you apply to the predictor to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- 'trainingParameters', 'createPredictor_trainingParameters' - The hyperparameters to override for model training. The hyperparameters+-- that you can override are listed in the individual algorithms. For the+-- list of supported algorithms, see aws-forecast-choosing-recipes.+--+-- 'predictorName', 'createPredictor_predictorName' - A name for the predictor.+--+-- 'forecastHorizon', 'createPredictor_forecastHorizon' - Specifies the number of time-steps that the model is trained to predict.+-- The forecast horizon is also called the prediction length.+--+-- For example, if you configure a dataset for daily data collection (using+-- the @DataFrequency@ parameter of the CreateDataset operation) and set+-- the forecast horizon to 10, the model returns predictions for 10 days.+--+-- The maximum forecast horizon is the lesser of 500 time-steps or 1\/3 of+-- the TARGET_TIME_SERIES dataset length.+--+-- 'inputDataConfig', 'createPredictor_inputDataConfig' - Describes the dataset group that contains the data to use to train the+-- predictor.+--+-- 'featurizationConfig', 'createPredictor_featurizationConfig' - The featurization configuration.+newCreatePredictor ::+  -- | 'predictorName'+  Prelude.Text ->+  -- | 'forecastHorizon'+  Prelude.Int ->+  -- | 'inputDataConfig'+  InputDataConfig ->+  -- | 'featurizationConfig'+  FeaturizationConfig ->+  CreatePredictor+newCreatePredictor+  pPredictorName_+  pForecastHorizon_+  pInputDataConfig_+  pFeaturizationConfig_ =+    CreatePredictor'+      { algorithmArn = Prelude.Nothing,+        autoMLOverrideStrategy = Prelude.Nothing,+        encryptionConfig = Prelude.Nothing,+        evaluationParameters = Prelude.Nothing,+        forecastTypes = Prelude.Nothing,+        hPOConfig = Prelude.Nothing,+        optimizationMetric = Prelude.Nothing,+        performAutoML = Prelude.Nothing,+        performHPO = Prelude.Nothing,+        tags = Prelude.Nothing,+        trainingParameters = Prelude.Nothing,+        predictorName = pPredictorName_,+        forecastHorizon = pForecastHorizon_,+        inputDataConfig = pInputDataConfig_,+        featurizationConfig = pFeaturizationConfig_+      }++-- | The Amazon Resource Name (ARN) of the algorithm to use for model+-- training. Required if @PerformAutoML@ is not set to @true@.+--+-- __Supported algorithms:__+--+-- -   @arn:aws:forecast:::algorithm\/ARIMA@+--+-- -   @arn:aws:forecast:::algorithm\/CNN-QR@+--+-- -   @arn:aws:forecast:::algorithm\/Deep_AR_Plus@+--+-- -   @arn:aws:forecast:::algorithm\/ETS@+--+-- -   @arn:aws:forecast:::algorithm\/NPTS@+--+-- -   @arn:aws:forecast:::algorithm\/Prophet@+createPredictor_algorithmArn :: Lens.Lens' CreatePredictor (Prelude.Maybe Prelude.Text)+createPredictor_algorithmArn = Lens.lens (\CreatePredictor' {algorithmArn} -> algorithmArn) (\s@CreatePredictor' {} a -> s {algorithmArn = a} :: CreatePredictor)++-- | The @LatencyOptimized@ AutoML override strategy is only available in+-- private beta. Contact AWS Support or your account manager to learn more+-- about access privileges.+--+-- Used to overide the default AutoML strategy, which is to optimize+-- predictor accuracy. To apply an AutoML strategy that minimizes training+-- time, use @LatencyOptimized@.+--+-- This parameter is only valid for predictors trained using AutoML.+createPredictor_autoMLOverrideStrategy :: Lens.Lens' CreatePredictor (Prelude.Maybe AutoMLOverrideStrategy)+createPredictor_autoMLOverrideStrategy = Lens.lens (\CreatePredictor' {autoMLOverrideStrategy} -> autoMLOverrideStrategy) (\s@CreatePredictor' {} a -> s {autoMLOverrideStrategy = a} :: CreatePredictor)++-- | An AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+createPredictor_encryptionConfig :: Lens.Lens' CreatePredictor (Prelude.Maybe EncryptionConfig)+createPredictor_encryptionConfig = Lens.lens (\CreatePredictor' {encryptionConfig} -> encryptionConfig) (\s@CreatePredictor' {} a -> s {encryptionConfig = a} :: CreatePredictor)++-- | Used to override the default evaluation parameters of the specified+-- algorithm. Amazon Forecast evaluates a predictor by splitting a dataset+-- into training data and testing data. The evaluation parameters define+-- how to perform the split and the number of iterations.+createPredictor_evaluationParameters :: Lens.Lens' CreatePredictor (Prelude.Maybe EvaluationParameters)+createPredictor_evaluationParameters = Lens.lens (\CreatePredictor' {evaluationParameters} -> evaluationParameters) (\s@CreatePredictor' {} a -> s {evaluationParameters = a} :: CreatePredictor)++-- | Specifies the forecast types used to train a predictor. You can specify+-- up to five forecast types. Forecast types can be quantiles from 0.01 to+-- 0.99, by increments of 0.01 or higher. You can also specify the mean+-- forecast with @mean@.+--+-- The default value is @[\"0.10\", \"0.50\", \"0.9\"]@.+createPredictor_forecastTypes :: Lens.Lens' CreatePredictor (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+createPredictor_forecastTypes = Lens.lens (\CreatePredictor' {forecastTypes} -> forecastTypes) (\s@CreatePredictor' {} a -> s {forecastTypes = a} :: CreatePredictor) Prelude.. Lens.mapping Lens.coerced++-- | Provides hyperparameter override values for the algorithm. If you don\'t+-- provide this parameter, Amazon Forecast uses default values. The+-- individual algorithms specify which hyperparameters support+-- hyperparameter optimization (HPO). For more information, see+-- aws-forecast-choosing-recipes.+--+-- If you included the @HPOConfig@ object, you must set @PerformHPO@ to+-- true.+createPredictor_hPOConfig :: Lens.Lens' CreatePredictor (Prelude.Maybe HyperParameterTuningJobConfig)+createPredictor_hPOConfig = Lens.lens (\CreatePredictor' {hPOConfig} -> hPOConfig) (\s@CreatePredictor' {} a -> s {hPOConfig = a} :: CreatePredictor)++-- | The accuracy metric used to optimize the predictor.+createPredictor_optimizationMetric :: Lens.Lens' CreatePredictor (Prelude.Maybe OptimizationMetric)+createPredictor_optimizationMetric = Lens.lens (\CreatePredictor' {optimizationMetric} -> optimizationMetric) (\s@CreatePredictor' {} a -> s {optimizationMetric = a} :: CreatePredictor)++-- | Whether to perform AutoML. When Amazon Forecast performs AutoML, it+-- evaluates the algorithms it provides and chooses the best algorithm and+-- configuration for your training dataset.+--+-- The default value is @false@. In this case, you are required to specify+-- an algorithm.+--+-- Set @PerformAutoML@ to @true@ to have Amazon Forecast perform AutoML.+-- This is a good option if you aren\'t sure which algorithm is suitable+-- for your training data. In this case, @PerformHPO@ must be false.+createPredictor_performAutoML :: Lens.Lens' CreatePredictor (Prelude.Maybe Prelude.Bool)+createPredictor_performAutoML = Lens.lens (\CreatePredictor' {performAutoML} -> performAutoML) (\s@CreatePredictor' {} a -> s {performAutoML = a} :: CreatePredictor)++-- | Whether to perform hyperparameter optimization (HPO). HPO finds optimal+-- hyperparameter values for your training data. The process of performing+-- HPO is known as running a hyperparameter tuning job.+--+-- The default value is @false@. In this case, Amazon Forecast uses default+-- hyperparameter values from the chosen algorithm.+--+-- To override the default values, set @PerformHPO@ to @true@ and,+-- optionally, supply the HyperParameterTuningJobConfig object. The tuning+-- job specifies a metric to optimize, which hyperparameters participate in+-- tuning, and the valid range for each tunable hyperparameter. In this+-- case, you are required to specify an algorithm and @PerformAutoML@ must+-- be false.+--+-- The following algorithms support HPO:+--+-- -   DeepAR++--+-- -   CNN-QR+createPredictor_performHPO :: Lens.Lens' CreatePredictor (Prelude.Maybe Prelude.Bool)+createPredictor_performHPO = Lens.lens (\CreatePredictor' {performHPO} -> performHPO) (\s@CreatePredictor' {} a -> s {performHPO = a} :: CreatePredictor)++-- | The optional metadata that you apply to the predictor to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+createPredictor_tags :: Lens.Lens' CreatePredictor (Prelude.Maybe [Tag])+createPredictor_tags = Lens.lens (\CreatePredictor' {tags} -> tags) (\s@CreatePredictor' {} a -> s {tags = a} :: CreatePredictor) Prelude.. Lens.mapping Lens.coerced++-- | The hyperparameters to override for model training. The hyperparameters+-- that you can override are listed in the individual algorithms. For the+-- list of supported algorithms, see aws-forecast-choosing-recipes.+createPredictor_trainingParameters :: Lens.Lens' CreatePredictor (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPredictor_trainingParameters = Lens.lens (\CreatePredictor' {trainingParameters} -> trainingParameters) (\s@CreatePredictor' {} a -> s {trainingParameters = a} :: CreatePredictor) Prelude.. Lens.mapping Lens.coerced++-- | A name for the predictor.+createPredictor_predictorName :: Lens.Lens' CreatePredictor Prelude.Text+createPredictor_predictorName = Lens.lens (\CreatePredictor' {predictorName} -> predictorName) (\s@CreatePredictor' {} a -> s {predictorName = a} :: CreatePredictor)++-- | Specifies the number of time-steps that the model is trained to predict.+-- The forecast horizon is also called the prediction length.+--+-- For example, if you configure a dataset for daily data collection (using+-- the @DataFrequency@ parameter of the CreateDataset operation) and set+-- the forecast horizon to 10, the model returns predictions for 10 days.+--+-- The maximum forecast horizon is the lesser of 500 time-steps or 1\/3 of+-- the TARGET_TIME_SERIES dataset length.+createPredictor_forecastHorizon :: Lens.Lens' CreatePredictor Prelude.Int+createPredictor_forecastHorizon = Lens.lens (\CreatePredictor' {forecastHorizon} -> forecastHorizon) (\s@CreatePredictor' {} a -> s {forecastHorizon = a} :: CreatePredictor)++-- | Describes the dataset group that contains the data to use to train the+-- predictor.+createPredictor_inputDataConfig :: Lens.Lens' CreatePredictor InputDataConfig+createPredictor_inputDataConfig = Lens.lens (\CreatePredictor' {inputDataConfig} -> inputDataConfig) (\s@CreatePredictor' {} a -> s {inputDataConfig = a} :: CreatePredictor)++-- | The featurization configuration.+createPredictor_featurizationConfig :: Lens.Lens' CreatePredictor FeaturizationConfig+createPredictor_featurizationConfig = Lens.lens (\CreatePredictor' {featurizationConfig} -> featurizationConfig) (\s@CreatePredictor' {} a -> s {featurizationConfig = a} :: CreatePredictor)++instance Core.AWSRequest CreatePredictor where+  type+    AWSResponse CreatePredictor =+      CreatePredictorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreatePredictorResponse'+            Prelude.<$> (x Data..?> "PredictorArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreatePredictor where+  hashWithSalt _salt CreatePredictor' {..} =+    _salt+      `Prelude.hashWithSalt` algorithmArn+      `Prelude.hashWithSalt` autoMLOverrideStrategy+      `Prelude.hashWithSalt` encryptionConfig+      `Prelude.hashWithSalt` evaluationParameters+      `Prelude.hashWithSalt` forecastTypes+      `Prelude.hashWithSalt` hPOConfig+      `Prelude.hashWithSalt` optimizationMetric+      `Prelude.hashWithSalt` performAutoML+      `Prelude.hashWithSalt` performHPO+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` trainingParameters+      `Prelude.hashWithSalt` predictorName+      `Prelude.hashWithSalt` forecastHorizon+      `Prelude.hashWithSalt` inputDataConfig+      `Prelude.hashWithSalt` featurizationConfig++instance Prelude.NFData CreatePredictor where+  rnf CreatePredictor' {..} =+    Prelude.rnf algorithmArn+      `Prelude.seq` Prelude.rnf autoMLOverrideStrategy+      `Prelude.seq` Prelude.rnf encryptionConfig+      `Prelude.seq` Prelude.rnf evaluationParameters+      `Prelude.seq` Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf hPOConfig+      `Prelude.seq` Prelude.rnf optimizationMetric+      `Prelude.seq` Prelude.rnf performAutoML+      `Prelude.seq` Prelude.rnf performHPO+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf trainingParameters+      `Prelude.seq` Prelude.rnf predictorName+      `Prelude.seq` Prelude.rnf forecastHorizon+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf featurizationConfig++instance Data.ToHeaders CreatePredictor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreatePredictor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreatePredictor where+  toJSON CreatePredictor' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlgorithmArn" Data..=) Prelude.<$> algorithmArn,+            ("AutoMLOverrideStrategy" Data..=)+              Prelude.<$> autoMLOverrideStrategy,+            ("EncryptionConfig" Data..=)+              Prelude.<$> encryptionConfig,+            ("EvaluationParameters" Data..=)+              Prelude.<$> evaluationParameters,+            ("ForecastTypes" Data..=) Prelude.<$> forecastTypes,+            ("HPOConfig" Data..=) Prelude.<$> hPOConfig,+            ("OptimizationMetric" Data..=)+              Prelude.<$> optimizationMetric,+            ("PerformAutoML" Data..=) Prelude.<$> performAutoML,+            ("PerformHPO" Data..=) Prelude.<$> performHPO,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TrainingParameters" Data..=)+              Prelude.<$> trainingParameters,+            Prelude.Just ("PredictorName" Data..= predictorName),+            Prelude.Just+              ("ForecastHorizon" Data..= forecastHorizon),+            Prelude.Just+              ("InputDataConfig" Data..= inputDataConfig),+            Prelude.Just+              ("FeaturizationConfig" Data..= featurizationConfig)+          ]+      )++instance Data.ToPath CreatePredictor where+  toPath = Prelude.const "/"++instance Data.ToQuery CreatePredictor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePredictorResponse' smart constructor.+data CreatePredictorResponse = CreatePredictorResponse'+  { -- | The Amazon Resource Name (ARN) of the predictor.+    predictorArn :: 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 'CreatePredictorResponse' 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:+--+-- 'predictorArn', 'createPredictorResponse_predictorArn' - The Amazon Resource Name (ARN) of the predictor.+--+-- 'httpStatus', 'createPredictorResponse_httpStatus' - The response's http status code.+newCreatePredictorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreatePredictorResponse+newCreatePredictorResponse pHttpStatus_ =+  CreatePredictorResponse'+    { predictorArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the predictor.+createPredictorResponse_predictorArn :: Lens.Lens' CreatePredictorResponse (Prelude.Maybe Prelude.Text)+createPredictorResponse_predictorArn = Lens.lens (\CreatePredictorResponse' {predictorArn} -> predictorArn) (\s@CreatePredictorResponse' {} a -> s {predictorArn = a} :: CreatePredictorResponse)++-- | The response's http status code.+createPredictorResponse_httpStatus :: Lens.Lens' CreatePredictorResponse Prelude.Int+createPredictorResponse_httpStatus = Lens.lens (\CreatePredictorResponse' {httpStatus} -> httpStatus) (\s@CreatePredictorResponse' {} a -> s {httpStatus = a} :: CreatePredictorResponse)++instance Prelude.NFData CreatePredictorResponse where+  rnf CreatePredictorResponse' {..} =+    Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreatePredictorBacktestExportJob.hs view
@@ -0,0 +1,357 @@+{-# 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.Forecast.CreatePredictorBacktestExportJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Exports backtest forecasts and accuracy metrics generated by the+-- CreateAutoPredictor or CreatePredictor operations. Two folders+-- containing CSV or Parquet files are exported to your specified S3+-- bucket.+--+-- The export file names will match the following conventions:+--+-- @\<ExportJobName>_\<ExportTimestamp>_\<PartNumber>.csv@+--+-- The \<ExportTimestamp> component is in Java SimpleDate format+-- (yyyy-MM-ddTHH-mm-ssZ).+--+-- You must specify a DataDestination object that includes an Amazon S3+-- bucket and an AWS Identity and Access Management (IAM) role that Amazon+-- Forecast can assume to access the Amazon S3 bucket. For more+-- information, see aws-forecast-iam-roles.+--+-- The @Status@ of the export job must be @ACTIVE@ before you can access+-- the export in your Amazon S3 bucket. To get the status, use the+-- DescribePredictorBacktestExportJob operation.+module Amazonka.Forecast.CreatePredictorBacktestExportJob+  ( -- * Creating a Request+    CreatePredictorBacktestExportJob (..),+    newCreatePredictorBacktestExportJob,++    -- * Request Lenses+    createPredictorBacktestExportJob_format,+    createPredictorBacktestExportJob_tags,+    createPredictorBacktestExportJob_predictorBacktestExportJobName,+    createPredictorBacktestExportJob_predictorArn,+    createPredictorBacktestExportJob_destination,++    -- * Destructuring the Response+    CreatePredictorBacktestExportJobResponse (..),+    newCreatePredictorBacktestExportJobResponse,++    -- * Response Lenses+    createPredictorBacktestExportJobResponse_predictorBacktestExportJobArn,+    createPredictorBacktestExportJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePredictorBacktestExportJob' smart constructor.+data CreatePredictorBacktestExportJob = CreatePredictorBacktestExportJob'+  { -- | The format of the exported data, CSV or PARQUET. The default value is+    -- CSV.+    format :: Prelude.Maybe Prelude.Text,+    -- | Optional metadata to help you categorize and organize your backtests.+    -- Each tag consists of a key and an optional value, both of which you+    -- define. Tag keys and values are case sensitive.+    --+    -- The following restrictions apply to tags:+    --+    -- -   For each resource, each tag key must be unique and each tag key must+    --     have one value.+    --+    -- -   Maximum number of tags per resource: 50.+    --+    -- -   Maximum key length: 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length: 256 Unicode characters in UTF-8.+    --+    -- -   Accepted characters: all letters and numbers, spaces representable+    --     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+    --     across other services and resources, the character restrictions of+    --     those services also apply.+    --+    -- -   Key prefixes cannot include any upper or lowercase combination of+    --     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+    --     @aws@ as its prefix but the key does not, Forecast considers it to+    --     be a user tag and will count against the limit of 50 tags. Tags with+    --     only the key prefix of @aws@ do not count against your tags per+    --     resource limit. You cannot edit or delete tag keys with this prefix.+    tags :: Prelude.Maybe [Tag],+    -- | The name for the backtest export job.+    predictorBacktestExportJobName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor that you want to export.+    predictorArn :: Prelude.Text,+    destination :: DataDestination+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePredictorBacktestExportJob' 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:+--+-- 'format', 'createPredictorBacktestExportJob_format' - The format of the exported data, CSV or PARQUET. The default value is+-- CSV.+--+-- 'tags', 'createPredictorBacktestExportJob_tags' - Optional metadata to help you categorize and organize your backtests.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+--+-- 'predictorBacktestExportJobName', 'createPredictorBacktestExportJob_predictorBacktestExportJobName' - The name for the backtest export job.+--+-- 'predictorArn', 'createPredictorBacktestExportJob_predictorArn' - The Amazon Resource Name (ARN) of the predictor that you want to export.+--+-- 'destination', 'createPredictorBacktestExportJob_destination' - Undocumented member.+newCreatePredictorBacktestExportJob ::+  -- | 'predictorBacktestExportJobName'+  Prelude.Text ->+  -- | 'predictorArn'+  Prelude.Text ->+  -- | 'destination'+  DataDestination ->+  CreatePredictorBacktestExportJob+newCreatePredictorBacktestExportJob+  pPredictorBacktestExportJobName_+  pPredictorArn_+  pDestination_ =+    CreatePredictorBacktestExportJob'+      { format =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        predictorBacktestExportJobName =+          pPredictorBacktestExportJobName_,+        predictorArn = pPredictorArn_,+        destination = pDestination_+      }++-- | The format of the exported data, CSV or PARQUET. The default value is+-- CSV.+createPredictorBacktestExportJob_format :: Lens.Lens' CreatePredictorBacktestExportJob (Prelude.Maybe Prelude.Text)+createPredictorBacktestExportJob_format = Lens.lens (\CreatePredictorBacktestExportJob' {format} -> format) (\s@CreatePredictorBacktestExportJob' {} a -> s {format = a} :: CreatePredictorBacktestExportJob)++-- | Optional metadata to help you categorize and organize your backtests.+-- Each tag consists of a key and an optional value, both of which you+-- define. Tag keys and values are case sensitive.+--+-- The following restrictions apply to tags:+--+-- -   For each resource, each tag key must be unique and each tag key must+--     have one value.+--+-- -   Maximum number of tags per resource: 50.+--+-- -   Maximum key length: 128 Unicode characters in UTF-8.+--+-- -   Maximum value length: 256 Unicode characters in UTF-8.+--+-- -   Accepted characters: all letters and numbers, spaces representable+--     in UTF-8, and + - = . _ : \/ \@. If your tagging schema is used+--     across other services and resources, the character restrictions of+--     those services also apply.+--+-- -   Key prefixes cannot include any upper or lowercase combination of+--     @aws:@ or @AWS:@. Values can have this prefix. If a tag value has+--     @aws@ as its prefix but the key does not, Forecast considers it to+--     be a user tag and will count against the limit of 50 tags. Tags with+--     only the key prefix of @aws@ do not count against your tags per+--     resource limit. You cannot edit or delete tag keys with this prefix.+createPredictorBacktestExportJob_tags :: Lens.Lens' CreatePredictorBacktestExportJob (Prelude.Maybe [Tag])+createPredictorBacktestExportJob_tags = Lens.lens (\CreatePredictorBacktestExportJob' {tags} -> tags) (\s@CreatePredictorBacktestExportJob' {} a -> s {tags = a} :: CreatePredictorBacktestExportJob) Prelude.. Lens.mapping Lens.coerced++-- | The name for the backtest export job.+createPredictorBacktestExportJob_predictorBacktestExportJobName :: Lens.Lens' CreatePredictorBacktestExportJob Prelude.Text+createPredictorBacktestExportJob_predictorBacktestExportJobName = Lens.lens (\CreatePredictorBacktestExportJob' {predictorBacktestExportJobName} -> predictorBacktestExportJobName) (\s@CreatePredictorBacktestExportJob' {} a -> s {predictorBacktestExportJobName = a} :: CreatePredictorBacktestExportJob)++-- | The Amazon Resource Name (ARN) of the predictor that you want to export.+createPredictorBacktestExportJob_predictorArn :: Lens.Lens' CreatePredictorBacktestExportJob Prelude.Text+createPredictorBacktestExportJob_predictorArn = Lens.lens (\CreatePredictorBacktestExportJob' {predictorArn} -> predictorArn) (\s@CreatePredictorBacktestExportJob' {} a -> s {predictorArn = a} :: CreatePredictorBacktestExportJob)++-- | Undocumented member.+createPredictorBacktestExportJob_destination :: Lens.Lens' CreatePredictorBacktestExportJob DataDestination+createPredictorBacktestExportJob_destination = Lens.lens (\CreatePredictorBacktestExportJob' {destination} -> destination) (\s@CreatePredictorBacktestExportJob' {} a -> s {destination = a} :: CreatePredictorBacktestExportJob)++instance+  Core.AWSRequest+    CreatePredictorBacktestExportJob+  where+  type+    AWSResponse CreatePredictorBacktestExportJob =+      CreatePredictorBacktestExportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreatePredictorBacktestExportJobResponse'+            Prelude.<$> (x Data..?> "PredictorBacktestExportJobArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreatePredictorBacktestExportJob+  where+  hashWithSalt+    _salt+    CreatePredictorBacktestExportJob' {..} =+      _salt+        `Prelude.hashWithSalt` format+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` predictorBacktestExportJobName+        `Prelude.hashWithSalt` predictorArn+        `Prelude.hashWithSalt` destination++instance+  Prelude.NFData+    CreatePredictorBacktestExportJob+  where+  rnf CreatePredictorBacktestExportJob' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf predictorBacktestExportJobName+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf destination++instance+  Data.ToHeaders+    CreatePredictorBacktestExportJob+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreatePredictorBacktestExportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreatePredictorBacktestExportJob where+  toJSON CreatePredictorBacktestExportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "PredictorBacktestExportJobName"+                  Data..= predictorBacktestExportJobName+              ),+            Prelude.Just ("PredictorArn" Data..= predictorArn),+            Prelude.Just ("Destination" Data..= destination)+          ]+      )++instance Data.ToPath CreatePredictorBacktestExportJob where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    CreatePredictorBacktestExportJob+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePredictorBacktestExportJobResponse' smart constructor.+data CreatePredictorBacktestExportJobResponse = CreatePredictorBacktestExportJobResponse'+  { -- | The Amazon Resource Name (ARN) of the predictor backtest export job that+    -- you want to export.+    predictorBacktestExportJobArn :: 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 'CreatePredictorBacktestExportJobResponse' 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:+--+-- 'predictorBacktestExportJobArn', 'createPredictorBacktestExportJobResponse_predictorBacktestExportJobArn' - The Amazon Resource Name (ARN) of the predictor backtest export job that+-- you want to export.+--+-- 'httpStatus', 'createPredictorBacktestExportJobResponse_httpStatus' - The response's http status code.+newCreatePredictorBacktestExportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreatePredictorBacktestExportJobResponse+newCreatePredictorBacktestExportJobResponse+  pHttpStatus_ =+    CreatePredictorBacktestExportJobResponse'+      { predictorBacktestExportJobArn =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name (ARN) of the predictor backtest export job that+-- you want to export.+createPredictorBacktestExportJobResponse_predictorBacktestExportJobArn :: Lens.Lens' CreatePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+createPredictorBacktestExportJobResponse_predictorBacktestExportJobArn = Lens.lens (\CreatePredictorBacktestExportJobResponse' {predictorBacktestExportJobArn} -> predictorBacktestExportJobArn) (\s@CreatePredictorBacktestExportJobResponse' {} a -> s {predictorBacktestExportJobArn = a} :: CreatePredictorBacktestExportJobResponse)++-- | The response's http status code.+createPredictorBacktestExportJobResponse_httpStatus :: Lens.Lens' CreatePredictorBacktestExportJobResponse Prelude.Int+createPredictorBacktestExportJobResponse_httpStatus = Lens.lens (\CreatePredictorBacktestExportJobResponse' {httpStatus} -> httpStatus) (\s@CreatePredictorBacktestExportJobResponse' {} a -> s {httpStatus = a} :: CreatePredictorBacktestExportJobResponse)++instance+  Prelude.NFData+    CreatePredictorBacktestExportJobResponse+  where+  rnf CreatePredictorBacktestExportJobResponse' {..} =+    Prelude.rnf predictorBacktestExportJobArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateWhatIfAnalysis.hs view
@@ -0,0 +1,279 @@+{-# 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.Forecast.CreateWhatIfAnalysis+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- What-if analysis is a scenario modeling technique where you make a+-- hypothetical change to a time series and compare the forecasts generated+-- by these changes against the baseline, unchanged time series. It is+-- important to remember that the purpose of a what-if analysis is to+-- understand how a forecast can change given different modifications to+-- the baseline time series.+--+-- For example, imagine you are a clothing retailer who is considering an+-- end of season sale to clear space for new styles. After creating a+-- baseline forecast, you can use a what-if analysis to investigate how+-- different sales tactics might affect your goals. You could create a+-- scenario where everything is given a 25% markdown and another where+-- everything is given a fixed dollar markdown. You can create a scenario+-- where the sale lasts for 1 week and another where the sale lasts for 1+-- month. Your what-if analysis enables you to compare many different+-- scenarios against each other.+--+-- Note that a what-if analysis is meant to display what the forecasting+-- model has learned and how it will behave in the scenarios that you are+-- evaluating. Do not blindly use the results of the what-if analysis to+-- make business decisions. For instance, forecasts might not be accurate+-- for novel scenarios where there is no reference available to determine+-- whether a forecast is good.+--+-- The TimeSeriesSelector object defines the items that you want in the+-- what-if analysis.+module Amazonka.Forecast.CreateWhatIfAnalysis+  ( -- * Creating a Request+    CreateWhatIfAnalysis (..),+    newCreateWhatIfAnalysis,++    -- * Request Lenses+    createWhatIfAnalysis_tags,+    createWhatIfAnalysis_timeSeriesSelector,+    createWhatIfAnalysis_whatIfAnalysisName,+    createWhatIfAnalysis_forecastArn,++    -- * Destructuring the Response+    CreateWhatIfAnalysisResponse (..),+    newCreateWhatIfAnalysisResponse,++    -- * Response Lenses+    createWhatIfAnalysisResponse_whatIfAnalysisArn,+    createWhatIfAnalysisResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWhatIfAnalysis' smart constructor.+data CreateWhatIfAnalysis = CreateWhatIfAnalysis'+  { -- | A list of+    -- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+    -- to apply to the what if forecast.+    tags :: Prelude.Maybe [Tag],+    -- | Defines the set of time series that are used in the what-if analysis+    -- with a @TimeSeriesIdentifiers@ object. What-if analyses are performed+    -- only for the time series in this object.+    --+    -- The @TimeSeriesIdentifiers@ object needs the following information:+    --+    -- -   @DataSource@+    --+    -- -   @Format@+    --+    -- -   @Schema@+    timeSeriesSelector :: Prelude.Maybe TimeSeriesSelector,+    -- | The name of the what-if analysis. Each name must be unique.+    whatIfAnalysisName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the baseline forecast.+    forecastArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWhatIfAnalysis' 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', 'createWhatIfAnalysis_tags' - A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the what if forecast.+--+-- 'timeSeriesSelector', 'createWhatIfAnalysis_timeSeriesSelector' - Defines the set of time series that are used in the what-if analysis+-- with a @TimeSeriesIdentifiers@ object. What-if analyses are performed+-- only for the time series in this object.+--+-- The @TimeSeriesIdentifiers@ object needs the following information:+--+-- -   @DataSource@+--+-- -   @Format@+--+-- -   @Schema@+--+-- 'whatIfAnalysisName', 'createWhatIfAnalysis_whatIfAnalysisName' - The name of the what-if analysis. Each name must be unique.+--+-- 'forecastArn', 'createWhatIfAnalysis_forecastArn' - The Amazon Resource Name (ARN) of the baseline forecast.+newCreateWhatIfAnalysis ::+  -- | 'whatIfAnalysisName'+  Prelude.Text ->+  -- | 'forecastArn'+  Prelude.Text ->+  CreateWhatIfAnalysis+newCreateWhatIfAnalysis+  pWhatIfAnalysisName_+  pForecastArn_ =+    CreateWhatIfAnalysis'+      { tags = Prelude.Nothing,+        timeSeriesSelector = Prelude.Nothing,+        whatIfAnalysisName = pWhatIfAnalysisName_,+        forecastArn = pForecastArn_+      }++-- | A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the what if forecast.+createWhatIfAnalysis_tags :: Lens.Lens' CreateWhatIfAnalysis (Prelude.Maybe [Tag])+createWhatIfAnalysis_tags = Lens.lens (\CreateWhatIfAnalysis' {tags} -> tags) (\s@CreateWhatIfAnalysis' {} a -> s {tags = a} :: CreateWhatIfAnalysis) Prelude.. Lens.mapping Lens.coerced++-- | Defines the set of time series that are used in the what-if analysis+-- with a @TimeSeriesIdentifiers@ object. What-if analyses are performed+-- only for the time series in this object.+--+-- The @TimeSeriesIdentifiers@ object needs the following information:+--+-- -   @DataSource@+--+-- -   @Format@+--+-- -   @Schema@+createWhatIfAnalysis_timeSeriesSelector :: Lens.Lens' CreateWhatIfAnalysis (Prelude.Maybe TimeSeriesSelector)+createWhatIfAnalysis_timeSeriesSelector = Lens.lens (\CreateWhatIfAnalysis' {timeSeriesSelector} -> timeSeriesSelector) (\s@CreateWhatIfAnalysis' {} a -> s {timeSeriesSelector = a} :: CreateWhatIfAnalysis)++-- | The name of the what-if analysis. Each name must be unique.+createWhatIfAnalysis_whatIfAnalysisName :: Lens.Lens' CreateWhatIfAnalysis Prelude.Text+createWhatIfAnalysis_whatIfAnalysisName = Lens.lens (\CreateWhatIfAnalysis' {whatIfAnalysisName} -> whatIfAnalysisName) (\s@CreateWhatIfAnalysis' {} a -> s {whatIfAnalysisName = a} :: CreateWhatIfAnalysis)++-- | The Amazon Resource Name (ARN) of the baseline forecast.+createWhatIfAnalysis_forecastArn :: Lens.Lens' CreateWhatIfAnalysis Prelude.Text+createWhatIfAnalysis_forecastArn = Lens.lens (\CreateWhatIfAnalysis' {forecastArn} -> forecastArn) (\s@CreateWhatIfAnalysis' {} a -> s {forecastArn = a} :: CreateWhatIfAnalysis)++instance Core.AWSRequest CreateWhatIfAnalysis where+  type+    AWSResponse CreateWhatIfAnalysis =+      CreateWhatIfAnalysisResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWhatIfAnalysisResponse'+            Prelude.<$> (x Data..?> "WhatIfAnalysisArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWhatIfAnalysis where+  hashWithSalt _salt CreateWhatIfAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` timeSeriesSelector+      `Prelude.hashWithSalt` whatIfAnalysisName+      `Prelude.hashWithSalt` forecastArn++instance Prelude.NFData CreateWhatIfAnalysis where+  rnf CreateWhatIfAnalysis' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf timeSeriesSelector+      `Prelude.seq` Prelude.rnf whatIfAnalysisName+      `Prelude.seq` Prelude.rnf forecastArn++instance Data.ToHeaders CreateWhatIfAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateWhatIfAnalysis" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWhatIfAnalysis where+  toJSON CreateWhatIfAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            ("TimeSeriesSelector" Data..=)+              Prelude.<$> timeSeriesSelector,+            Prelude.Just+              ("WhatIfAnalysisName" Data..= whatIfAnalysisName),+            Prelude.Just ("ForecastArn" Data..= forecastArn)+          ]+      )++instance Data.ToPath CreateWhatIfAnalysis where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateWhatIfAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWhatIfAnalysisResponse' smart constructor.+data CreateWhatIfAnalysisResponse = CreateWhatIfAnalysisResponse'+  { -- | The Amazon Resource Name (ARN) of the what-if analysis.+    whatIfAnalysisArn :: 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 'CreateWhatIfAnalysisResponse' 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:+--+-- 'whatIfAnalysisArn', 'createWhatIfAnalysisResponse_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis.+--+-- 'httpStatus', 'createWhatIfAnalysisResponse_httpStatus' - The response's http status code.+newCreateWhatIfAnalysisResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWhatIfAnalysisResponse+newCreateWhatIfAnalysisResponse pHttpStatus_ =+  CreateWhatIfAnalysisResponse'+    { whatIfAnalysisArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the what-if analysis.+createWhatIfAnalysisResponse_whatIfAnalysisArn :: Lens.Lens' CreateWhatIfAnalysisResponse (Prelude.Maybe Prelude.Text)+createWhatIfAnalysisResponse_whatIfAnalysisArn = Lens.lens (\CreateWhatIfAnalysisResponse' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@CreateWhatIfAnalysisResponse' {} a -> s {whatIfAnalysisArn = a} :: CreateWhatIfAnalysisResponse)++-- | The response's http status code.+createWhatIfAnalysisResponse_httpStatus :: Lens.Lens' CreateWhatIfAnalysisResponse Prelude.Int+createWhatIfAnalysisResponse_httpStatus = Lens.lens (\CreateWhatIfAnalysisResponse' {httpStatus} -> httpStatus) (\s@CreateWhatIfAnalysisResponse' {} a -> s {httpStatus = a} :: CreateWhatIfAnalysisResponse)++instance Prelude.NFData CreateWhatIfAnalysisResponse where+  rnf CreateWhatIfAnalysisResponse' {..} =+    Prelude.rnf whatIfAnalysisArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateWhatIfForecast.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.Forecast.CreateWhatIfForecast+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A what-if forecast is a forecast that is created from a modified version+-- of the baseline forecast. Each what-if forecast incorporates either a+-- replacement dataset or a set of transformations to the original dataset.+module Amazonka.Forecast.CreateWhatIfForecast+  ( -- * Creating a Request+    CreateWhatIfForecast (..),+    newCreateWhatIfForecast,++    -- * Request Lenses+    createWhatIfForecast_tags,+    createWhatIfForecast_timeSeriesReplacementsDataSource,+    createWhatIfForecast_timeSeriesTransformations,+    createWhatIfForecast_whatIfForecastName,+    createWhatIfForecast_whatIfAnalysisArn,++    -- * Destructuring the Response+    CreateWhatIfForecastResponse (..),+    newCreateWhatIfForecastResponse,++    -- * Response Lenses+    createWhatIfForecastResponse_whatIfForecastArn,+    createWhatIfForecastResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWhatIfForecast' smart constructor.+data CreateWhatIfForecast = CreateWhatIfForecast'+  { -- | A list of+    -- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+    -- to apply to the what if forecast.+    tags :: Prelude.Maybe [Tag],+    -- | The replacement time series dataset, which contains the rows that you+    -- want to change in the related time series dataset. A replacement time+    -- series does not need to contain all rows that are in the baseline+    -- related time series. Include only the rows (measure-dimension+    -- combinations) that you want to include in the what-if forecast. This+    -- dataset is merged with the original time series to create a transformed+    -- dataset that is used for the what-if analysis.+    --+    -- This dataset should contain the items to modify (such as item_id or+    -- workforce_type), any relevant dimensions, the timestamp column, and at+    -- least one of the related time series columns. This file should not+    -- contain duplicate timestamps for the same time series.+    --+    -- Timestamps and item_ids not included in this dataset are not included in+    -- the what-if analysis.+    timeSeriesReplacementsDataSource :: Prelude.Maybe TimeSeriesReplacementsDataSource,+    -- | The transformations that are applied to the baseline time series. Each+    -- transformation contains an action and a set of conditions. An action is+    -- applied only when all conditions are met. If no conditions are provided,+    -- the action is applied to all items.+    timeSeriesTransformations :: Prelude.Maybe [TimeSeriesTransformation],+    -- | The name of the what-if forecast. Names must be unique within each+    -- what-if analysis.+    whatIfForecastName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the what-if analysis.+    whatIfAnalysisArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWhatIfForecast' 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', 'createWhatIfForecast_tags' - A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the what if forecast.+--+-- 'timeSeriesReplacementsDataSource', 'createWhatIfForecast_timeSeriesReplacementsDataSource' - The replacement time series dataset, which contains the rows that you+-- want to change in the related time series dataset. A replacement time+-- series does not need to contain all rows that are in the baseline+-- related time series. Include only the rows (measure-dimension+-- combinations) that you want to include in the what-if forecast. This+-- dataset is merged with the original time series to create a transformed+-- dataset that is used for the what-if analysis.+--+-- This dataset should contain the items to modify (such as item_id or+-- workforce_type), any relevant dimensions, the timestamp column, and at+-- least one of the related time series columns. This file should not+-- contain duplicate timestamps for the same time series.+--+-- Timestamps and item_ids not included in this dataset are not included in+-- the what-if analysis.+--+-- 'timeSeriesTransformations', 'createWhatIfForecast_timeSeriesTransformations' - The transformations that are applied to the baseline time series. Each+-- transformation contains an action and a set of conditions. An action is+-- applied only when all conditions are met. If no conditions are provided,+-- the action is applied to all items.+--+-- 'whatIfForecastName', 'createWhatIfForecast_whatIfForecastName' - The name of the what-if forecast. Names must be unique within each+-- what-if analysis.+--+-- 'whatIfAnalysisArn', 'createWhatIfForecast_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis.+newCreateWhatIfForecast ::+  -- | 'whatIfForecastName'+  Prelude.Text ->+  -- | 'whatIfAnalysisArn'+  Prelude.Text ->+  CreateWhatIfForecast+newCreateWhatIfForecast+  pWhatIfForecastName_+  pWhatIfAnalysisArn_ =+    CreateWhatIfForecast'+      { tags = Prelude.Nothing,+        timeSeriesReplacementsDataSource = Prelude.Nothing,+        timeSeriesTransformations = Prelude.Nothing,+        whatIfForecastName = pWhatIfForecastName_,+        whatIfAnalysisArn = pWhatIfAnalysisArn_+      }++-- | A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the what if forecast.+createWhatIfForecast_tags :: Lens.Lens' CreateWhatIfForecast (Prelude.Maybe [Tag])+createWhatIfForecast_tags = Lens.lens (\CreateWhatIfForecast' {tags} -> tags) (\s@CreateWhatIfForecast' {} a -> s {tags = a} :: CreateWhatIfForecast) Prelude.. Lens.mapping Lens.coerced++-- | The replacement time series dataset, which contains the rows that you+-- want to change in the related time series dataset. A replacement time+-- series does not need to contain all rows that are in the baseline+-- related time series. Include only the rows (measure-dimension+-- combinations) that you want to include in the what-if forecast. This+-- dataset is merged with the original time series to create a transformed+-- dataset that is used for the what-if analysis.+--+-- This dataset should contain the items to modify (such as item_id or+-- workforce_type), any relevant dimensions, the timestamp column, and at+-- least one of the related time series columns. This file should not+-- contain duplicate timestamps for the same time series.+--+-- Timestamps and item_ids not included in this dataset are not included in+-- the what-if analysis.+createWhatIfForecast_timeSeriesReplacementsDataSource :: Lens.Lens' CreateWhatIfForecast (Prelude.Maybe TimeSeriesReplacementsDataSource)+createWhatIfForecast_timeSeriesReplacementsDataSource = Lens.lens (\CreateWhatIfForecast' {timeSeriesReplacementsDataSource} -> timeSeriesReplacementsDataSource) (\s@CreateWhatIfForecast' {} a -> s {timeSeriesReplacementsDataSource = a} :: CreateWhatIfForecast)++-- | The transformations that are applied to the baseline time series. Each+-- transformation contains an action and a set of conditions. An action is+-- applied only when all conditions are met. If no conditions are provided,+-- the action is applied to all items.+createWhatIfForecast_timeSeriesTransformations :: Lens.Lens' CreateWhatIfForecast (Prelude.Maybe [TimeSeriesTransformation])+createWhatIfForecast_timeSeriesTransformations = Lens.lens (\CreateWhatIfForecast' {timeSeriesTransformations} -> timeSeriesTransformations) (\s@CreateWhatIfForecast' {} a -> s {timeSeriesTransformations = a} :: CreateWhatIfForecast) Prelude.. Lens.mapping Lens.coerced++-- | The name of the what-if forecast. Names must be unique within each+-- what-if analysis.+createWhatIfForecast_whatIfForecastName :: Lens.Lens' CreateWhatIfForecast Prelude.Text+createWhatIfForecast_whatIfForecastName = Lens.lens (\CreateWhatIfForecast' {whatIfForecastName} -> whatIfForecastName) (\s@CreateWhatIfForecast' {} a -> s {whatIfForecastName = a} :: CreateWhatIfForecast)++-- | The Amazon Resource Name (ARN) of the what-if analysis.+createWhatIfForecast_whatIfAnalysisArn :: Lens.Lens' CreateWhatIfForecast Prelude.Text+createWhatIfForecast_whatIfAnalysisArn = Lens.lens (\CreateWhatIfForecast' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@CreateWhatIfForecast' {} a -> s {whatIfAnalysisArn = a} :: CreateWhatIfForecast)++instance Core.AWSRequest CreateWhatIfForecast where+  type+    AWSResponse CreateWhatIfForecast =+      CreateWhatIfForecastResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWhatIfForecastResponse'+            Prelude.<$> (x Data..?> "WhatIfForecastArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWhatIfForecast where+  hashWithSalt _salt CreateWhatIfForecast' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` timeSeriesReplacementsDataSource+      `Prelude.hashWithSalt` timeSeriesTransformations+      `Prelude.hashWithSalt` whatIfForecastName+      `Prelude.hashWithSalt` whatIfAnalysisArn++instance Prelude.NFData CreateWhatIfForecast where+  rnf CreateWhatIfForecast' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf timeSeriesReplacementsDataSource+      `Prelude.seq` Prelude.rnf timeSeriesTransformations+      `Prelude.seq` Prelude.rnf whatIfForecastName+      `Prelude.seq` Prelude.rnf whatIfAnalysisArn++instance Data.ToHeaders CreateWhatIfForecast where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateWhatIfForecast" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWhatIfForecast where+  toJSON CreateWhatIfForecast' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            ("TimeSeriesReplacementsDataSource" Data..=)+              Prelude.<$> timeSeriesReplacementsDataSource,+            ("TimeSeriesTransformations" Data..=)+              Prelude.<$> timeSeriesTransformations,+            Prelude.Just+              ("WhatIfForecastName" Data..= whatIfForecastName),+            Prelude.Just+              ("WhatIfAnalysisArn" Data..= whatIfAnalysisArn)+          ]+      )++instance Data.ToPath CreateWhatIfForecast where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateWhatIfForecast where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWhatIfForecastResponse' smart constructor.+data CreateWhatIfForecastResponse = CreateWhatIfForecastResponse'+  { -- | The Amazon Resource Name (ARN) of the what-if forecast.+    whatIfForecastArn :: 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 'CreateWhatIfForecastResponse' 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:+--+-- 'whatIfForecastArn', 'createWhatIfForecastResponse_whatIfForecastArn' - The Amazon Resource Name (ARN) of the what-if forecast.+--+-- 'httpStatus', 'createWhatIfForecastResponse_httpStatus' - The response's http status code.+newCreateWhatIfForecastResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWhatIfForecastResponse+newCreateWhatIfForecastResponse pHttpStatus_ =+  CreateWhatIfForecastResponse'+    { whatIfForecastArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the what-if forecast.+createWhatIfForecastResponse_whatIfForecastArn :: Lens.Lens' CreateWhatIfForecastResponse (Prelude.Maybe Prelude.Text)+createWhatIfForecastResponse_whatIfForecastArn = Lens.lens (\CreateWhatIfForecastResponse' {whatIfForecastArn} -> whatIfForecastArn) (\s@CreateWhatIfForecastResponse' {} a -> s {whatIfForecastArn = a} :: CreateWhatIfForecastResponse)++-- | The response's http status code.+createWhatIfForecastResponse_httpStatus :: Lens.Lens' CreateWhatIfForecastResponse Prelude.Int+createWhatIfForecastResponse_httpStatus = Lens.lens (\CreateWhatIfForecastResponse' {httpStatus} -> httpStatus) (\s@CreateWhatIfForecastResponse' {} a -> s {httpStatus = a} :: CreateWhatIfForecastResponse)++instance Prelude.NFData CreateWhatIfForecastResponse where+  rnf CreateWhatIfForecastResponse' {..} =+    Prelude.rnf whatIfForecastArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/CreateWhatIfForecastExport.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.Forecast.CreateWhatIfForecastExport+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Exports a forecast created by the CreateWhatIfForecast operation to your+-- Amazon Simple Storage Service (Amazon S3) bucket. The forecast file name+-- will match the following conventions:+--+-- @≈\<ForecastExportJobName>_\<ExportTimestamp>_\<PartNumber>@+--+-- The \<ExportTimestamp> component is in Java SimpleDateFormat+-- (yyyy-MM-ddTHH-mm-ssZ).+--+-- You must specify a DataDestination object that includes an AWS Identity+-- and Access Management (IAM) role that Amazon Forecast can assume to+-- access the Amazon S3 bucket. For more information, see+-- aws-forecast-iam-roles.+--+-- For more information, see howitworks-forecast.+--+-- To get a list of all your what-if forecast export jobs, use the+-- ListWhatIfForecastExports operation.+--+-- The @Status@ of the forecast export job must be @ACTIVE@ before you can+-- access the forecast in your Amazon S3 bucket. To get the status, use the+-- DescribeWhatIfForecastExport operation.+module Amazonka.Forecast.CreateWhatIfForecastExport+  ( -- * Creating a Request+    CreateWhatIfForecastExport (..),+    newCreateWhatIfForecastExport,++    -- * Request Lenses+    createWhatIfForecastExport_format,+    createWhatIfForecastExport_tags,+    createWhatIfForecastExport_whatIfForecastExportName,+    createWhatIfForecastExport_whatIfForecastArns,+    createWhatIfForecastExport_destination,++    -- * Destructuring the Response+    CreateWhatIfForecastExportResponse (..),+    newCreateWhatIfForecastExportResponse,++    -- * Response Lenses+    createWhatIfForecastExportResponse_whatIfForecastExportArn,+    createWhatIfForecastExportResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWhatIfForecastExport' smart constructor.+data CreateWhatIfForecastExport = CreateWhatIfForecastExport'+  { -- | The format of the exported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | A list of+    -- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+    -- to apply to the what if forecast.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the what-if forecast to export.+    whatIfForecastExportName :: Prelude.Text,+    -- | The list of what-if forecast Amazon Resource Names (ARNs) to export.+    whatIfForecastArns :: Prelude.NonEmpty Prelude.Text,+    -- | The location where you want to save the forecast and an AWS Identity and+    -- Access Management (IAM) role that Amazon Forecast can assume to access+    -- the location. The forecast must be exported to an Amazon S3 bucket.+    --+    -- If encryption is used, @Destination@ must include an AWS Key Management+    -- Service (KMS) key. The IAM role must allow Amazon Forecast permission to+    -- access the key.+    destination :: DataDestination+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWhatIfForecastExport' 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:+--+-- 'format', 'createWhatIfForecastExport_format' - The format of the exported data, CSV or PARQUET.+--+-- 'tags', 'createWhatIfForecastExport_tags' - A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the what if forecast.+--+-- 'whatIfForecastExportName', 'createWhatIfForecastExport_whatIfForecastExportName' - The name of the what-if forecast to export.+--+-- 'whatIfForecastArns', 'createWhatIfForecastExport_whatIfForecastArns' - The list of what-if forecast Amazon Resource Names (ARNs) to export.+--+-- 'destination', 'createWhatIfForecastExport_destination' - The location where you want to save the forecast and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the location. The forecast must be exported to an Amazon S3 bucket.+--+-- If encryption is used, @Destination@ must include an AWS Key Management+-- Service (KMS) key. The IAM role must allow Amazon Forecast permission to+-- access the key.+newCreateWhatIfForecastExport ::+  -- | 'whatIfForecastExportName'+  Prelude.Text ->+  -- | 'whatIfForecastArns'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'destination'+  DataDestination ->+  CreateWhatIfForecastExport+newCreateWhatIfForecastExport+  pWhatIfForecastExportName_+  pWhatIfForecastArns_+  pDestination_ =+    CreateWhatIfForecastExport'+      { format =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        whatIfForecastExportName =+          pWhatIfForecastExportName_,+        whatIfForecastArns =+          Lens.coerced Lens.# pWhatIfForecastArns_,+        destination = pDestination_+      }++-- | The format of the exported data, CSV or PARQUET.+createWhatIfForecastExport_format :: Lens.Lens' CreateWhatIfForecastExport (Prelude.Maybe Prelude.Text)+createWhatIfForecastExport_format = Lens.lens (\CreateWhatIfForecastExport' {format} -> format) (\s@CreateWhatIfForecastExport' {} a -> s {format = a} :: CreateWhatIfForecastExport)++-- | A list of+-- <https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html tags>+-- to apply to the what if forecast.+createWhatIfForecastExport_tags :: Lens.Lens' CreateWhatIfForecastExport (Prelude.Maybe [Tag])+createWhatIfForecastExport_tags = Lens.lens (\CreateWhatIfForecastExport' {tags} -> tags) (\s@CreateWhatIfForecastExport' {} a -> s {tags = a} :: CreateWhatIfForecastExport) Prelude.. Lens.mapping Lens.coerced++-- | The name of the what-if forecast to export.+createWhatIfForecastExport_whatIfForecastExportName :: Lens.Lens' CreateWhatIfForecastExport Prelude.Text+createWhatIfForecastExport_whatIfForecastExportName = Lens.lens (\CreateWhatIfForecastExport' {whatIfForecastExportName} -> whatIfForecastExportName) (\s@CreateWhatIfForecastExport' {} a -> s {whatIfForecastExportName = a} :: CreateWhatIfForecastExport)++-- | The list of what-if forecast Amazon Resource Names (ARNs) to export.+createWhatIfForecastExport_whatIfForecastArns :: Lens.Lens' CreateWhatIfForecastExport (Prelude.NonEmpty Prelude.Text)+createWhatIfForecastExport_whatIfForecastArns = Lens.lens (\CreateWhatIfForecastExport' {whatIfForecastArns} -> whatIfForecastArns) (\s@CreateWhatIfForecastExport' {} a -> s {whatIfForecastArns = a} :: CreateWhatIfForecastExport) Prelude.. Lens.coerced++-- | The location where you want to save the forecast and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the location. The forecast must be exported to an Amazon S3 bucket.+--+-- If encryption is used, @Destination@ must include an AWS Key Management+-- Service (KMS) key. The IAM role must allow Amazon Forecast permission to+-- access the key.+createWhatIfForecastExport_destination :: Lens.Lens' CreateWhatIfForecastExport DataDestination+createWhatIfForecastExport_destination = Lens.lens (\CreateWhatIfForecastExport' {destination} -> destination) (\s@CreateWhatIfForecastExport' {} a -> s {destination = a} :: CreateWhatIfForecastExport)++instance Core.AWSRequest CreateWhatIfForecastExport where+  type+    AWSResponse CreateWhatIfForecastExport =+      CreateWhatIfForecastExportResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWhatIfForecastExportResponse'+            Prelude.<$> (x Data..?> "WhatIfForecastExportArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWhatIfForecastExport where+  hashWithSalt _salt CreateWhatIfForecastExport' {..} =+    _salt+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` whatIfForecastExportName+      `Prelude.hashWithSalt` whatIfForecastArns+      `Prelude.hashWithSalt` destination++instance Prelude.NFData CreateWhatIfForecastExport where+  rnf CreateWhatIfForecastExport' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf whatIfForecastExportName+      `Prelude.seq` Prelude.rnf whatIfForecastArns+      `Prelude.seq` Prelude.rnf destination++instance Data.ToHeaders CreateWhatIfForecastExport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.CreateWhatIfForecastExport" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWhatIfForecastExport where+  toJSON CreateWhatIfForecastExport' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "WhatIfForecastExportName"+                  Data..= whatIfForecastExportName+              ),+            Prelude.Just+              ("WhatIfForecastArns" Data..= whatIfForecastArns),+            Prelude.Just ("Destination" Data..= destination)+          ]+      )++instance Data.ToPath CreateWhatIfForecastExport where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateWhatIfForecastExport where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWhatIfForecastExportResponse' smart constructor.+data CreateWhatIfForecastExportResponse = CreateWhatIfForecastExportResponse'+  { -- | The Amazon Resource Name (ARN) of the what-if forecast.+    whatIfForecastExportArn :: 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 'CreateWhatIfForecastExportResponse' 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:+--+-- 'whatIfForecastExportArn', 'createWhatIfForecastExportResponse_whatIfForecastExportArn' - The Amazon Resource Name (ARN) of the what-if forecast.+--+-- 'httpStatus', 'createWhatIfForecastExportResponse_httpStatus' - The response's http status code.+newCreateWhatIfForecastExportResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWhatIfForecastExportResponse+newCreateWhatIfForecastExportResponse pHttpStatus_ =+  CreateWhatIfForecastExportResponse'+    { whatIfForecastExportArn =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the what-if forecast.+createWhatIfForecastExportResponse_whatIfForecastExportArn :: Lens.Lens' CreateWhatIfForecastExportResponse (Prelude.Maybe Prelude.Text)+createWhatIfForecastExportResponse_whatIfForecastExportArn = Lens.lens (\CreateWhatIfForecastExportResponse' {whatIfForecastExportArn} -> whatIfForecastExportArn) (\s@CreateWhatIfForecastExportResponse' {} a -> s {whatIfForecastExportArn = a} :: CreateWhatIfForecastExportResponse)++-- | The response's http status code.+createWhatIfForecastExportResponse_httpStatus :: Lens.Lens' CreateWhatIfForecastExportResponse Prelude.Int+createWhatIfForecastExportResponse_httpStatus = Lens.lens (\CreateWhatIfForecastExportResponse' {httpStatus} -> httpStatus) (\s@CreateWhatIfForecastExportResponse' {} a -> s {httpStatus = a} :: CreateWhatIfForecastExportResponse)++instance+  Prelude.NFData+    CreateWhatIfForecastExportResponse+  where+  rnf CreateWhatIfForecastExportResponse' {..} =+    Prelude.rnf whatIfForecastExportArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DeleteDataset.hs view
@@ -0,0 +1,142 @@+{-# 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.Forecast.DeleteDataset+-- 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 Amazon Forecast dataset that was created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation. You can only delete datasets that have a status of @ACTIVE@+-- or @CREATE_FAILED@. To get the status use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDataset.html DescribeDataset>+-- operation.+--+-- Forecast does not automatically update any dataset groups that contain+-- the deleted dataset. In order to update the dataset group, use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation, omitting the deleted dataset\'s ARN.+module Amazonka.Forecast.DeleteDataset+  ( -- * Creating a Request+    DeleteDataset (..),+    newDeleteDataset,++    -- * Request Lenses+    deleteDataset_datasetArn,++    -- * Destructuring the Response+    DeleteDatasetResponse (..),+    newDeleteDatasetResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDataset' smart constructor.+data DeleteDataset = DeleteDataset'+  { -- | The Amazon Resource Name (ARN) of the dataset to delete.+    datasetArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataset' 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:+--+-- 'datasetArn', 'deleteDataset_datasetArn' - The Amazon Resource Name (ARN) of the dataset to delete.+newDeleteDataset ::+  -- | 'datasetArn'+  Prelude.Text ->+  DeleteDataset+newDeleteDataset pDatasetArn_ =+  DeleteDataset' {datasetArn = pDatasetArn_}++-- | The Amazon Resource Name (ARN) of the dataset to delete.+deleteDataset_datasetArn :: Lens.Lens' DeleteDataset Prelude.Text+deleteDataset_datasetArn = Lens.lens (\DeleteDataset' {datasetArn} -> datasetArn) (\s@DeleteDataset' {} a -> s {datasetArn = a} :: DeleteDataset)++instance Core.AWSRequest DeleteDataset where+  type+    AWSResponse DeleteDataset =+      DeleteDatasetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteDatasetResponse'++instance Prelude.Hashable DeleteDataset where+  hashWithSalt _salt DeleteDataset' {..} =+    _salt `Prelude.hashWithSalt` datasetArn++instance Prelude.NFData DeleteDataset where+  rnf DeleteDataset' {..} = Prelude.rnf datasetArn++instance Data.ToHeaders DeleteDataset where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteDataset" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteDataset where+  toJSON DeleteDataset' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("DatasetArn" Data..= datasetArn)]+      )++instance Data.ToPath DeleteDataset where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDataset where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatasetResponse' smart constructor.+data DeleteDatasetResponse = DeleteDatasetResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatasetResponse' 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.+newDeleteDatasetResponse ::+  DeleteDatasetResponse+newDeleteDatasetResponse = DeleteDatasetResponse'++instance Prelude.NFData DeleteDatasetResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteDatasetGroup.hs view
@@ -0,0 +1,148 @@+{-# 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.Forecast.DeleteDatasetGroup+-- 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 dataset group created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html CreateDatasetGroup>+-- operation. You can only delete dataset groups that have a status of+-- @ACTIVE@, @CREATE_FAILED@, or @UPDATE_FAILED@. To get the status, use+-- the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetGroup.html DescribeDatasetGroup>+-- operation.+--+-- This operation deletes only the dataset group, not the datasets in the+-- group.+module Amazonka.Forecast.DeleteDatasetGroup+  ( -- * Creating a Request+    DeleteDatasetGroup (..),+    newDeleteDatasetGroup,++    -- * Request Lenses+    deleteDatasetGroup_datasetGroupArn,++    -- * Destructuring the Response+    DeleteDatasetGroupResponse (..),+    newDeleteDatasetGroupResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDatasetGroup' smart constructor.+data DeleteDatasetGroup = DeleteDatasetGroup'+  { -- | The Amazon Resource Name (ARN) of the dataset group to delete.+    datasetGroupArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatasetGroup' 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:+--+-- 'datasetGroupArn', 'deleteDatasetGroup_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group to delete.+newDeleteDatasetGroup ::+  -- | 'datasetGroupArn'+  Prelude.Text ->+  DeleteDatasetGroup+newDeleteDatasetGroup pDatasetGroupArn_ =+  DeleteDatasetGroup'+    { datasetGroupArn =+        pDatasetGroupArn_+    }++-- | The Amazon Resource Name (ARN) of the dataset group to delete.+deleteDatasetGroup_datasetGroupArn :: Lens.Lens' DeleteDatasetGroup Prelude.Text+deleteDatasetGroup_datasetGroupArn = Lens.lens (\DeleteDatasetGroup' {datasetGroupArn} -> datasetGroupArn) (\s@DeleteDatasetGroup' {} a -> s {datasetGroupArn = a} :: DeleteDatasetGroup)++instance Core.AWSRequest DeleteDatasetGroup where+  type+    AWSResponse DeleteDatasetGroup =+      DeleteDatasetGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteDatasetGroupResponse'++instance Prelude.Hashable DeleteDatasetGroup where+  hashWithSalt _salt DeleteDatasetGroup' {..} =+    _salt `Prelude.hashWithSalt` datasetGroupArn++instance Prelude.NFData DeleteDatasetGroup where+  rnf DeleteDatasetGroup' {..} =+    Prelude.rnf datasetGroupArn++instance Data.ToHeaders DeleteDatasetGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteDatasetGroup" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteDatasetGroup where+  toJSON DeleteDatasetGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DatasetGroupArn" Data..= datasetGroupArn)+          ]+      )++instance Data.ToPath DeleteDatasetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDatasetGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatasetGroupResponse' smart constructor.+data DeleteDatasetGroupResponse = DeleteDatasetGroupResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatasetGroupResponse' 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.+newDeleteDatasetGroupResponse ::+  DeleteDatasetGroupResponse+newDeleteDatasetGroupResponse =+  DeleteDatasetGroupResponse'++instance Prelude.NFData DeleteDatasetGroupResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteDatasetImportJob.hs view
@@ -0,0 +1,148 @@+{-# 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.Forecast.DeleteDatasetImportJob+-- 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 dataset import job created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation. You can delete only dataset import jobs that have a status of+-- @ACTIVE@ or @CREATE_FAILED@. To get the status, use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetImportJob.html DescribeDatasetImportJob>+-- operation.+module Amazonka.Forecast.DeleteDatasetImportJob+  ( -- * Creating a Request+    DeleteDatasetImportJob (..),+    newDeleteDatasetImportJob,++    -- * Request Lenses+    deleteDatasetImportJob_datasetImportJobArn,++    -- * Destructuring the Response+    DeleteDatasetImportJobResponse (..),+    newDeleteDatasetImportJobResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDatasetImportJob' smart constructor.+data DeleteDatasetImportJob = DeleteDatasetImportJob'+  { -- | The Amazon Resource Name (ARN) of the dataset import job to delete.+    datasetImportJobArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatasetImportJob' 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:+--+-- 'datasetImportJobArn', 'deleteDatasetImportJob_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job to delete.+newDeleteDatasetImportJob ::+  -- | 'datasetImportJobArn'+  Prelude.Text ->+  DeleteDatasetImportJob+newDeleteDatasetImportJob pDatasetImportJobArn_ =+  DeleteDatasetImportJob'+    { datasetImportJobArn =+        pDatasetImportJobArn_+    }++-- | The Amazon Resource Name (ARN) of the dataset import job to delete.+deleteDatasetImportJob_datasetImportJobArn :: Lens.Lens' DeleteDatasetImportJob Prelude.Text+deleteDatasetImportJob_datasetImportJobArn = Lens.lens (\DeleteDatasetImportJob' {datasetImportJobArn} -> datasetImportJobArn) (\s@DeleteDatasetImportJob' {} a -> s {datasetImportJobArn = a} :: DeleteDatasetImportJob)++instance Core.AWSRequest DeleteDatasetImportJob where+  type+    AWSResponse DeleteDatasetImportJob =+      DeleteDatasetImportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeleteDatasetImportJobResponse'++instance Prelude.Hashable DeleteDatasetImportJob where+  hashWithSalt _salt DeleteDatasetImportJob' {..} =+    _salt `Prelude.hashWithSalt` datasetImportJobArn++instance Prelude.NFData DeleteDatasetImportJob where+  rnf DeleteDatasetImportJob' {..} =+    Prelude.rnf datasetImportJobArn++instance Data.ToHeaders DeleteDatasetImportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteDatasetImportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteDatasetImportJob where+  toJSON DeleteDatasetImportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DatasetImportJobArn" Data..= datasetImportJobArn)+          ]+      )++instance Data.ToPath DeleteDatasetImportJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteDatasetImportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatasetImportJobResponse' smart constructor.+data DeleteDatasetImportJobResponse = DeleteDatasetImportJobResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatasetImportJobResponse' 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.+newDeleteDatasetImportJobResponse ::+  DeleteDatasetImportJobResponse+newDeleteDatasetImportJobResponse =+  DeleteDatasetImportJobResponse'++instance+  Prelude.NFData+    DeleteDatasetImportJobResponse+  where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteExplainability.hs view
@@ -0,0 +1,143 @@+{-# 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.Forecast.DeleteExplainability+-- 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 Explainability resource.+--+-- You can delete only predictor that have a status of @ACTIVE@ or+-- @CREATE_FAILED@. To get the status, use the DescribeExplainability+-- operation.+module Amazonka.Forecast.DeleteExplainability+  ( -- * Creating a Request+    DeleteExplainability (..),+    newDeleteExplainability,++    -- * Request Lenses+    deleteExplainability_explainabilityArn,++    -- * Destructuring the Response+    DeleteExplainabilityResponse (..),+    newDeleteExplainabilityResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteExplainability' smart constructor.+data DeleteExplainability = DeleteExplainability'+  { -- | The Amazon Resource Name (ARN) of the Explainability resource to delete.+    explainabilityArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExplainability' 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:+--+-- 'explainabilityArn', 'deleteExplainability_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability resource to delete.+newDeleteExplainability ::+  -- | 'explainabilityArn'+  Prelude.Text ->+  DeleteExplainability+newDeleteExplainability pExplainabilityArn_ =+  DeleteExplainability'+    { explainabilityArn =+        pExplainabilityArn_+    }++-- | The Amazon Resource Name (ARN) of the Explainability resource to delete.+deleteExplainability_explainabilityArn :: Lens.Lens' DeleteExplainability Prelude.Text+deleteExplainability_explainabilityArn = Lens.lens (\DeleteExplainability' {explainabilityArn} -> explainabilityArn) (\s@DeleteExplainability' {} a -> s {explainabilityArn = a} :: DeleteExplainability)++instance Core.AWSRequest DeleteExplainability where+  type+    AWSResponse DeleteExplainability =+      DeleteExplainabilityResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteExplainabilityResponse'++instance Prelude.Hashable DeleteExplainability where+  hashWithSalt _salt DeleteExplainability' {..} =+    _salt `Prelude.hashWithSalt` explainabilityArn++instance Prelude.NFData DeleteExplainability where+  rnf DeleteExplainability' {..} =+    Prelude.rnf explainabilityArn++instance Data.ToHeaders DeleteExplainability where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteExplainability" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteExplainability where+  toJSON DeleteExplainability' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ExplainabilityArn" Data..= explainabilityArn)+          ]+      )++instance Data.ToPath DeleteExplainability where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteExplainability where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteExplainabilityResponse' smart constructor.+data DeleteExplainabilityResponse = DeleteExplainabilityResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExplainabilityResponse' 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.+newDeleteExplainabilityResponse ::+  DeleteExplainabilityResponse+newDeleteExplainabilityResponse =+  DeleteExplainabilityResponse'++instance Prelude.NFData DeleteExplainabilityResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteExplainabilityExport.hs view
@@ -0,0 +1,147 @@+{-# 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.Forecast.DeleteExplainabilityExport+-- 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 Explainability export.+module Amazonka.Forecast.DeleteExplainabilityExport+  ( -- * Creating a Request+    DeleteExplainabilityExport (..),+    newDeleteExplainabilityExport,++    -- * Request Lenses+    deleteExplainabilityExport_explainabilityExportArn,++    -- * Destructuring the Response+    DeleteExplainabilityExportResponse (..),+    newDeleteExplainabilityExportResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteExplainabilityExport' smart constructor.+data DeleteExplainabilityExport = DeleteExplainabilityExport'+  { -- | The Amazon Resource Name (ARN) of the Explainability export to delete.+    explainabilityExportArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExplainabilityExport' 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:+--+-- 'explainabilityExportArn', 'deleteExplainabilityExport_explainabilityExportArn' - The Amazon Resource Name (ARN) of the Explainability export to delete.+newDeleteExplainabilityExport ::+  -- | 'explainabilityExportArn'+  Prelude.Text ->+  DeleteExplainabilityExport+newDeleteExplainabilityExport+  pExplainabilityExportArn_ =+    DeleteExplainabilityExport'+      { explainabilityExportArn =+          pExplainabilityExportArn_+      }++-- | The Amazon Resource Name (ARN) of the Explainability export to delete.+deleteExplainabilityExport_explainabilityExportArn :: Lens.Lens' DeleteExplainabilityExport Prelude.Text+deleteExplainabilityExport_explainabilityExportArn = Lens.lens (\DeleteExplainabilityExport' {explainabilityExportArn} -> explainabilityExportArn) (\s@DeleteExplainabilityExport' {} a -> s {explainabilityExportArn = a} :: DeleteExplainabilityExport)++instance Core.AWSRequest DeleteExplainabilityExport where+  type+    AWSResponse DeleteExplainabilityExport =+      DeleteExplainabilityExportResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeleteExplainabilityExportResponse'++instance Prelude.Hashable DeleteExplainabilityExport where+  hashWithSalt _salt DeleteExplainabilityExport' {..} =+    _salt+      `Prelude.hashWithSalt` explainabilityExportArn++instance Prelude.NFData DeleteExplainabilityExport where+  rnf DeleteExplainabilityExport' {..} =+    Prelude.rnf explainabilityExportArn++instance Data.ToHeaders DeleteExplainabilityExport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteExplainabilityExport" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteExplainabilityExport where+  toJSON DeleteExplainabilityExport' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ExplainabilityExportArn"+                  Data..= explainabilityExportArn+              )+          ]+      )++instance Data.ToPath DeleteExplainabilityExport where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteExplainabilityExport where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteExplainabilityExportResponse' smart constructor.+data DeleteExplainabilityExportResponse = DeleteExplainabilityExportResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteExplainabilityExportResponse' 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.+newDeleteExplainabilityExportResponse ::+  DeleteExplainabilityExportResponse+newDeleteExplainabilityExportResponse =+  DeleteExplainabilityExportResponse'++instance+  Prelude.NFData+    DeleteExplainabilityExportResponse+  where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteForecast.hs view
@@ -0,0 +1,137 @@+{-# 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.Forecast.DeleteForecast+-- 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 forecast created using the CreateForecast operation. You can+-- delete only forecasts that have a status of @ACTIVE@ or @CREATE_FAILED@.+-- To get the status, use the DescribeForecast operation.+--+-- You can\'t delete a forecast while it is being exported. After a+-- forecast is deleted, you can no longer query the forecast.+module Amazonka.Forecast.DeleteForecast+  ( -- * Creating a Request+    DeleteForecast (..),+    newDeleteForecast,++    -- * Request Lenses+    deleteForecast_forecastArn,++    -- * Destructuring the Response+    DeleteForecastResponse (..),+    newDeleteForecastResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteForecast' smart constructor.+data DeleteForecast = DeleteForecast'+  { -- | The Amazon Resource Name (ARN) of the forecast to delete.+    forecastArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteForecast' 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:+--+-- 'forecastArn', 'deleteForecast_forecastArn' - The Amazon Resource Name (ARN) of the forecast to delete.+newDeleteForecast ::+  -- | 'forecastArn'+  Prelude.Text ->+  DeleteForecast+newDeleteForecast pForecastArn_ =+  DeleteForecast' {forecastArn = pForecastArn_}++-- | The Amazon Resource Name (ARN) of the forecast to delete.+deleteForecast_forecastArn :: Lens.Lens' DeleteForecast Prelude.Text+deleteForecast_forecastArn = Lens.lens (\DeleteForecast' {forecastArn} -> forecastArn) (\s@DeleteForecast' {} a -> s {forecastArn = a} :: DeleteForecast)++instance Core.AWSRequest DeleteForecast where+  type+    AWSResponse DeleteForecast =+      DeleteForecastResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteForecastResponse'++instance Prelude.Hashable DeleteForecast where+  hashWithSalt _salt DeleteForecast' {..} =+    _salt `Prelude.hashWithSalt` forecastArn++instance Prelude.NFData DeleteForecast where+  rnf DeleteForecast' {..} = Prelude.rnf forecastArn++instance Data.ToHeaders DeleteForecast where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteForecast" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteForecast where+  toJSON DeleteForecast' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ForecastArn" Data..= forecastArn)]+      )++instance Data.ToPath DeleteForecast where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteForecast where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteForecastResponse' smart constructor.+data DeleteForecastResponse = DeleteForecastResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteForecastResponse' 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.+newDeleteForecastResponse ::+  DeleteForecastResponse+newDeleteForecastResponse = DeleteForecastResponse'++instance Prelude.NFData DeleteForecastResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteForecastExportJob.hs view
@@ -0,0 +1,148 @@+{-# 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.Forecast.DeleteForecastExportJob+-- 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 forecast export job created using the CreateForecastExportJob+-- operation. You can delete only export jobs that have a status of+-- @ACTIVE@ or @CREATE_FAILED@. To get the status, use the+-- DescribeForecastExportJob operation.+module Amazonka.Forecast.DeleteForecastExportJob+  ( -- * Creating a Request+    DeleteForecastExportJob (..),+    newDeleteForecastExportJob,++    -- * Request Lenses+    deleteForecastExportJob_forecastExportJobArn,++    -- * Destructuring the Response+    DeleteForecastExportJobResponse (..),+    newDeleteForecastExportJobResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteForecastExportJob' smart constructor.+data DeleteForecastExportJob = DeleteForecastExportJob'+  { -- | The Amazon Resource Name (ARN) of the forecast export job to delete.+    forecastExportJobArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteForecastExportJob' 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:+--+-- 'forecastExportJobArn', 'deleteForecastExportJob_forecastExportJobArn' - The Amazon Resource Name (ARN) of the forecast export job to delete.+newDeleteForecastExportJob ::+  -- | 'forecastExportJobArn'+  Prelude.Text ->+  DeleteForecastExportJob+newDeleteForecastExportJob pForecastExportJobArn_ =+  DeleteForecastExportJob'+    { forecastExportJobArn =+        pForecastExportJobArn_+    }++-- | The Amazon Resource Name (ARN) of the forecast export job to delete.+deleteForecastExportJob_forecastExportJobArn :: Lens.Lens' DeleteForecastExportJob Prelude.Text+deleteForecastExportJob_forecastExportJobArn = Lens.lens (\DeleteForecastExportJob' {forecastExportJobArn} -> forecastExportJobArn) (\s@DeleteForecastExportJob' {} a -> s {forecastExportJobArn = a} :: DeleteForecastExportJob)++instance Core.AWSRequest DeleteForecastExportJob where+  type+    AWSResponse DeleteForecastExportJob =+      DeleteForecastExportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeleteForecastExportJobResponse'++instance Prelude.Hashable DeleteForecastExportJob where+  hashWithSalt _salt DeleteForecastExportJob' {..} =+    _salt `Prelude.hashWithSalt` forecastExportJobArn++instance Prelude.NFData DeleteForecastExportJob where+  rnf DeleteForecastExportJob' {..} =+    Prelude.rnf forecastExportJobArn++instance Data.ToHeaders DeleteForecastExportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteForecastExportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteForecastExportJob where+  toJSON DeleteForecastExportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ForecastExportJobArn"+                  Data..= forecastExportJobArn+              )+          ]+      )++instance Data.ToPath DeleteForecastExportJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteForecastExportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteForecastExportJobResponse' smart constructor.+data DeleteForecastExportJobResponse = DeleteForecastExportJobResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteForecastExportJobResponse' 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.+newDeleteForecastExportJobResponse ::+  DeleteForecastExportJobResponse+newDeleteForecastExportJobResponse =+  DeleteForecastExportJobResponse'++instance+  Prelude.NFData+    DeleteForecastExportJobResponse+  where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteMonitor.hs view
@@ -0,0 +1,134 @@+{-# 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.Forecast.DeleteMonitor+-- 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 monitor resource. You can only delete a monitor resource with+-- a status of @ACTIVE@, @ACTIVE_STOPPED@, @CREATE_FAILED@, or+-- @CREATE_STOPPED@.+module Amazonka.Forecast.DeleteMonitor+  ( -- * Creating a Request+    DeleteMonitor (..),+    newDeleteMonitor,++    -- * Request Lenses+    deleteMonitor_monitorArn,++    -- * Destructuring the Response+    DeleteMonitorResponse (..),+    newDeleteMonitorResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteMonitor' smart constructor.+data DeleteMonitor = DeleteMonitor'+  { -- | The Amazon Resource Name (ARN) of the monitor resource to delete.+    monitorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMonitor' 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:+--+-- 'monitorArn', 'deleteMonitor_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource to delete.+newDeleteMonitor ::+  -- | 'monitorArn'+  Prelude.Text ->+  DeleteMonitor+newDeleteMonitor pMonitorArn_ =+  DeleteMonitor' {monitorArn = pMonitorArn_}++-- | The Amazon Resource Name (ARN) of the monitor resource to delete.+deleteMonitor_monitorArn :: Lens.Lens' DeleteMonitor Prelude.Text+deleteMonitor_monitorArn = Lens.lens (\DeleteMonitor' {monitorArn} -> monitorArn) (\s@DeleteMonitor' {} a -> s {monitorArn = a} :: DeleteMonitor)++instance Core.AWSRequest DeleteMonitor where+  type+    AWSResponse DeleteMonitor =+      DeleteMonitorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteMonitorResponse'++instance Prelude.Hashable DeleteMonitor where+  hashWithSalt _salt DeleteMonitor' {..} =+    _salt `Prelude.hashWithSalt` monitorArn++instance Prelude.NFData DeleteMonitor where+  rnf DeleteMonitor' {..} = Prelude.rnf monitorArn++instance Data.ToHeaders DeleteMonitor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteMonitor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteMonitor where+  toJSON DeleteMonitor' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MonitorArn" Data..= monitorArn)]+      )++instance Data.ToPath DeleteMonitor where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteMonitor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMonitorResponse' smart constructor.+data DeleteMonitorResponse = DeleteMonitorResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMonitorResponse' 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.+newDeleteMonitorResponse ::+  DeleteMonitorResponse+newDeleteMonitorResponse = DeleteMonitorResponse'++instance Prelude.NFData DeleteMonitorResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeletePredictor.hs view
@@ -0,0 +1,135 @@+{-# 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.Forecast.DeletePredictor+-- 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 predictor created using the DescribePredictor or+-- CreatePredictor operations. You can delete only predictor that have a+-- status of @ACTIVE@ or @CREATE_FAILED@. To get the status, use the+-- DescribePredictor operation.+module Amazonka.Forecast.DeletePredictor+  ( -- * Creating a Request+    DeletePredictor (..),+    newDeletePredictor,++    -- * Request Lenses+    deletePredictor_predictorArn,++    -- * Destructuring the Response+    DeletePredictorResponse (..),+    newDeletePredictorResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePredictor' smart constructor.+data DeletePredictor = DeletePredictor'+  { -- | The Amazon Resource Name (ARN) of the predictor to delete.+    predictorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePredictor' 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:+--+-- 'predictorArn', 'deletePredictor_predictorArn' - The Amazon Resource Name (ARN) of the predictor to delete.+newDeletePredictor ::+  -- | 'predictorArn'+  Prelude.Text ->+  DeletePredictor+newDeletePredictor pPredictorArn_ =+  DeletePredictor' {predictorArn = pPredictorArn_}++-- | The Amazon Resource Name (ARN) of the predictor to delete.+deletePredictor_predictorArn :: Lens.Lens' DeletePredictor Prelude.Text+deletePredictor_predictorArn = Lens.lens (\DeletePredictor' {predictorArn} -> predictorArn) (\s@DeletePredictor' {} a -> s {predictorArn = a} :: DeletePredictor)++instance Core.AWSRequest DeletePredictor where+  type+    AWSResponse DeletePredictor =+      DeletePredictorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeletePredictorResponse'++instance Prelude.Hashable DeletePredictor where+  hashWithSalt _salt DeletePredictor' {..} =+    _salt `Prelude.hashWithSalt` predictorArn++instance Prelude.NFData DeletePredictor where+  rnf DeletePredictor' {..} = Prelude.rnf predictorArn++instance Data.ToHeaders DeletePredictor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeletePredictor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeletePredictor where+  toJSON DeletePredictor' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("PredictorArn" Data..= predictorArn)]+      )++instance Data.ToPath DeletePredictor where+  toPath = Prelude.const "/"++instance Data.ToQuery DeletePredictor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePredictorResponse' smart constructor.+data DeletePredictorResponse = DeletePredictorResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePredictorResponse' 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.+newDeletePredictorResponse ::+  DeletePredictorResponse+newDeletePredictorResponse = DeletePredictorResponse'++instance Prelude.NFData DeletePredictorResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeletePredictorBacktestExportJob.hs view
@@ -0,0 +1,167 @@+{-# 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.Forecast.DeletePredictorBacktestExportJob+-- 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 predictor backtest export job.+module Amazonka.Forecast.DeletePredictorBacktestExportJob+  ( -- * Creating a Request+    DeletePredictorBacktestExportJob (..),+    newDeletePredictorBacktestExportJob,++    -- * Request Lenses+    deletePredictorBacktestExportJob_predictorBacktestExportJobArn,++    -- * Destructuring the Response+    DeletePredictorBacktestExportJobResponse (..),+    newDeletePredictorBacktestExportJobResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePredictorBacktestExportJob' smart constructor.+data DeletePredictorBacktestExportJob = DeletePredictorBacktestExportJob'+  { -- | The Amazon Resource Name (ARN) of the predictor backtest export job to+    -- delete.+    predictorBacktestExportJobArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePredictorBacktestExportJob' 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:+--+-- 'predictorBacktestExportJobArn', 'deletePredictorBacktestExportJob_predictorBacktestExportJobArn' - The Amazon Resource Name (ARN) of the predictor backtest export job to+-- delete.+newDeletePredictorBacktestExportJob ::+  -- | 'predictorBacktestExportJobArn'+  Prelude.Text ->+  DeletePredictorBacktestExportJob+newDeletePredictorBacktestExportJob+  pPredictorBacktestExportJobArn_ =+    DeletePredictorBacktestExportJob'+      { predictorBacktestExportJobArn =+          pPredictorBacktestExportJobArn_+      }++-- | The Amazon Resource Name (ARN) of the predictor backtest export job to+-- delete.+deletePredictorBacktestExportJob_predictorBacktestExportJobArn :: Lens.Lens' DeletePredictorBacktestExportJob Prelude.Text+deletePredictorBacktestExportJob_predictorBacktestExportJobArn = Lens.lens (\DeletePredictorBacktestExportJob' {predictorBacktestExportJobArn} -> predictorBacktestExportJobArn) (\s@DeletePredictorBacktestExportJob' {} a -> s {predictorBacktestExportJobArn = a} :: DeletePredictorBacktestExportJob)++instance+  Core.AWSRequest+    DeletePredictorBacktestExportJob+  where+  type+    AWSResponse DeletePredictorBacktestExportJob =+      DeletePredictorBacktestExportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeletePredictorBacktestExportJobResponse'++instance+  Prelude.Hashable+    DeletePredictorBacktestExportJob+  where+  hashWithSalt+    _salt+    DeletePredictorBacktestExportJob' {..} =+      _salt+        `Prelude.hashWithSalt` predictorBacktestExportJobArn++instance+  Prelude.NFData+    DeletePredictorBacktestExportJob+  where+  rnf DeletePredictorBacktestExportJob' {..} =+    Prelude.rnf predictorBacktestExportJobArn++instance+  Data.ToHeaders+    DeletePredictorBacktestExportJob+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeletePredictorBacktestExportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeletePredictorBacktestExportJob where+  toJSON DeletePredictorBacktestExportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "PredictorBacktestExportJobArn"+                  Data..= predictorBacktestExportJobArn+              )+          ]+      )++instance Data.ToPath DeletePredictorBacktestExportJob where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DeletePredictorBacktestExportJob+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePredictorBacktestExportJobResponse' smart constructor.+data DeletePredictorBacktestExportJobResponse = DeletePredictorBacktestExportJobResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePredictorBacktestExportJobResponse' 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.+newDeletePredictorBacktestExportJobResponse ::+  DeletePredictorBacktestExportJobResponse+newDeletePredictorBacktestExportJobResponse =+  DeletePredictorBacktestExportJobResponse'++instance+  Prelude.NFData+    DeletePredictorBacktestExportJobResponse+  where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteResourceTree.hs view
@@ -0,0 +1,157 @@+{-# 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.Forecast.DeleteResourceTree+-- 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 entire resource tree. This operation will delete the parent+-- resource and its child resources.+--+-- Child resources are resources that were created from another resource.+-- For example, when a forecast is generated from a predictor, the forecast+-- is the child resource and the predictor is the parent resource.+--+-- Amazon Forecast resources possess the following parent-child resource+-- hierarchies:+--+-- -   __Dataset__: dataset import jobs+--+-- -   __Dataset Group__: predictors, predictor backtest export jobs,+--     forecasts, forecast export jobs+--+-- -   __Predictor__: predictor backtest export jobs, forecasts, forecast+--     export jobs+--+-- -   __Forecast__: forecast export jobs+--+-- @DeleteResourceTree@ will only delete Amazon Forecast resources, and+-- will not delete datasets or exported files stored in Amazon S3.+module Amazonka.Forecast.DeleteResourceTree+  ( -- * Creating a Request+    DeleteResourceTree (..),+    newDeleteResourceTree,++    -- * Request Lenses+    deleteResourceTree_resourceArn,++    -- * Destructuring the Response+    DeleteResourceTreeResponse (..),+    newDeleteResourceTreeResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteResourceTree' smart constructor.+data DeleteResourceTree = DeleteResourceTree'+  { -- | The Amazon Resource Name (ARN) of the parent resource to delete. All+    -- child resources of the parent resource will also be deleted.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourceTree' 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', 'deleteResourceTree_resourceArn' - The Amazon Resource Name (ARN) of the parent resource to delete. All+-- child resources of the parent resource will also be deleted.+newDeleteResourceTree ::+  -- | 'resourceArn'+  Prelude.Text ->+  DeleteResourceTree+newDeleteResourceTree pResourceArn_ =+  DeleteResourceTree' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the parent resource to delete. All+-- child resources of the parent resource will also be deleted.+deleteResourceTree_resourceArn :: Lens.Lens' DeleteResourceTree Prelude.Text+deleteResourceTree_resourceArn = Lens.lens (\DeleteResourceTree' {resourceArn} -> resourceArn) (\s@DeleteResourceTree' {} a -> s {resourceArn = a} :: DeleteResourceTree)++instance Core.AWSRequest DeleteResourceTree where+  type+    AWSResponse DeleteResourceTree =+      DeleteResourceTreeResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteResourceTreeResponse'++instance Prelude.Hashable DeleteResourceTree where+  hashWithSalt _salt DeleteResourceTree' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData DeleteResourceTree where+  rnf DeleteResourceTree' {..} = Prelude.rnf resourceArn++instance Data.ToHeaders DeleteResourceTree where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteResourceTree" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteResourceTree where+  toJSON DeleteResourceTree' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath DeleteResourceTree where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteResourceTree where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResourceTreeResponse' smart constructor.+data DeleteResourceTreeResponse = DeleteResourceTreeResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourceTreeResponse' 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.+newDeleteResourceTreeResponse ::+  DeleteResourceTreeResponse+newDeleteResourceTreeResponse =+  DeleteResourceTreeResponse'++instance Prelude.NFData DeleteResourceTreeResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteWhatIfAnalysis.hs view
@@ -0,0 +1,148 @@+{-# 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.Forecast.DeleteWhatIfAnalysis+-- 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 what-if analysis created using the CreateWhatIfAnalysis+-- operation. You can delete only what-if analyses that have a status of+-- @ACTIVE@ or @CREATE_FAILED@. To get the status, use the+-- DescribeWhatIfAnalysis operation.+--+-- You can\'t delete a what-if analysis while any of its forecasts are+-- being exported.+module Amazonka.Forecast.DeleteWhatIfAnalysis+  ( -- * Creating a Request+    DeleteWhatIfAnalysis (..),+    newDeleteWhatIfAnalysis,++    -- * Request Lenses+    deleteWhatIfAnalysis_whatIfAnalysisArn,++    -- * Destructuring the Response+    DeleteWhatIfAnalysisResponse (..),+    newDeleteWhatIfAnalysisResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWhatIfAnalysis' smart constructor.+data DeleteWhatIfAnalysis = DeleteWhatIfAnalysis'+  { -- | The Amazon Resource Name (ARN) of the what-if analysis that you want to+    -- delete.+    whatIfAnalysisArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWhatIfAnalysis' 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:+--+-- 'whatIfAnalysisArn', 'deleteWhatIfAnalysis_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis that you want to+-- delete.+newDeleteWhatIfAnalysis ::+  -- | 'whatIfAnalysisArn'+  Prelude.Text ->+  DeleteWhatIfAnalysis+newDeleteWhatIfAnalysis pWhatIfAnalysisArn_ =+  DeleteWhatIfAnalysis'+    { whatIfAnalysisArn =+        pWhatIfAnalysisArn_+    }++-- | The Amazon Resource Name (ARN) of the what-if analysis that you want to+-- delete.+deleteWhatIfAnalysis_whatIfAnalysisArn :: Lens.Lens' DeleteWhatIfAnalysis Prelude.Text+deleteWhatIfAnalysis_whatIfAnalysisArn = Lens.lens (\DeleteWhatIfAnalysis' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@DeleteWhatIfAnalysis' {} a -> s {whatIfAnalysisArn = a} :: DeleteWhatIfAnalysis)++instance Core.AWSRequest DeleteWhatIfAnalysis where+  type+    AWSResponse DeleteWhatIfAnalysis =+      DeleteWhatIfAnalysisResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteWhatIfAnalysisResponse'++instance Prelude.Hashable DeleteWhatIfAnalysis where+  hashWithSalt _salt DeleteWhatIfAnalysis' {..} =+    _salt `Prelude.hashWithSalt` whatIfAnalysisArn++instance Prelude.NFData DeleteWhatIfAnalysis where+  rnf DeleteWhatIfAnalysis' {..} =+    Prelude.rnf whatIfAnalysisArn++instance Data.ToHeaders DeleteWhatIfAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteWhatIfAnalysis" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteWhatIfAnalysis where+  toJSON DeleteWhatIfAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("WhatIfAnalysisArn" Data..= whatIfAnalysisArn)+          ]+      )++instance Data.ToPath DeleteWhatIfAnalysis where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteWhatIfAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWhatIfAnalysisResponse' smart constructor.+data DeleteWhatIfAnalysisResponse = DeleteWhatIfAnalysisResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWhatIfAnalysisResponse' 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.+newDeleteWhatIfAnalysisResponse ::+  DeleteWhatIfAnalysisResponse+newDeleteWhatIfAnalysisResponse =+  DeleteWhatIfAnalysisResponse'++instance Prelude.NFData DeleteWhatIfAnalysisResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteWhatIfForecast.hs view
@@ -0,0 +1,149 @@+{-# 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.Forecast.DeleteWhatIfForecast+-- 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 what-if forecast created using the CreateWhatIfForecast+-- operation. You can delete only what-if forecasts that have a status of+-- @ACTIVE@ or @CREATE_FAILED@. To get the status, use the+-- DescribeWhatIfForecast operation.+--+-- You can\'t delete a what-if forecast while it is being exported. After a+-- what-if forecast is deleted, you can no longer query the what-if+-- analysis.+module Amazonka.Forecast.DeleteWhatIfForecast+  ( -- * Creating a Request+    DeleteWhatIfForecast (..),+    newDeleteWhatIfForecast,++    -- * Request Lenses+    deleteWhatIfForecast_whatIfForecastArn,++    -- * Destructuring the Response+    DeleteWhatIfForecastResponse (..),+    newDeleteWhatIfForecastResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWhatIfForecast' smart constructor.+data DeleteWhatIfForecast = DeleteWhatIfForecast'+  { -- | The Amazon Resource Name (ARN) of the what-if forecast that you want to+    -- delete.+    whatIfForecastArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWhatIfForecast' 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:+--+-- 'whatIfForecastArn', 'deleteWhatIfForecast_whatIfForecastArn' - The Amazon Resource Name (ARN) of the what-if forecast that you want to+-- delete.+newDeleteWhatIfForecast ::+  -- | 'whatIfForecastArn'+  Prelude.Text ->+  DeleteWhatIfForecast+newDeleteWhatIfForecast pWhatIfForecastArn_ =+  DeleteWhatIfForecast'+    { whatIfForecastArn =+        pWhatIfForecastArn_+    }++-- | The Amazon Resource Name (ARN) of the what-if forecast that you want to+-- delete.+deleteWhatIfForecast_whatIfForecastArn :: Lens.Lens' DeleteWhatIfForecast Prelude.Text+deleteWhatIfForecast_whatIfForecastArn = Lens.lens (\DeleteWhatIfForecast' {whatIfForecastArn} -> whatIfForecastArn) (\s@DeleteWhatIfForecast' {} a -> s {whatIfForecastArn = a} :: DeleteWhatIfForecast)++instance Core.AWSRequest DeleteWhatIfForecast where+  type+    AWSResponse DeleteWhatIfForecast =+      DeleteWhatIfForecastResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull DeleteWhatIfForecastResponse'++instance Prelude.Hashable DeleteWhatIfForecast where+  hashWithSalt _salt DeleteWhatIfForecast' {..} =+    _salt `Prelude.hashWithSalt` whatIfForecastArn++instance Prelude.NFData DeleteWhatIfForecast where+  rnf DeleteWhatIfForecast' {..} =+    Prelude.rnf whatIfForecastArn++instance Data.ToHeaders DeleteWhatIfForecast where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteWhatIfForecast" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteWhatIfForecast where+  toJSON DeleteWhatIfForecast' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("WhatIfForecastArn" Data..= whatIfForecastArn)+          ]+      )++instance Data.ToPath DeleteWhatIfForecast where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteWhatIfForecast where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWhatIfForecastResponse' smart constructor.+data DeleteWhatIfForecastResponse = DeleteWhatIfForecastResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWhatIfForecastResponse' 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.+newDeleteWhatIfForecastResponse ::+  DeleteWhatIfForecastResponse+newDeleteWhatIfForecastResponse =+  DeleteWhatIfForecastResponse'++instance Prelude.NFData DeleteWhatIfForecastResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/DeleteWhatIfForecastExport.hs view
@@ -0,0 +1,153 @@+{-# 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.Forecast.DeleteWhatIfForecastExport+-- 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 what-if forecast export created using the+-- CreateWhatIfForecastExport operation. You can delete only what-if+-- forecast exports that have a status of @ACTIVE@ or @CREATE_FAILED@. To+-- get the status, use the DescribeWhatIfForecastExport operation.+module Amazonka.Forecast.DeleteWhatIfForecastExport+  ( -- * Creating a Request+    DeleteWhatIfForecastExport (..),+    newDeleteWhatIfForecastExport,++    -- * Request Lenses+    deleteWhatIfForecastExport_whatIfForecastExportArn,++    -- * Destructuring the Response+    DeleteWhatIfForecastExportResponse (..),+    newDeleteWhatIfForecastExportResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWhatIfForecastExport' smart constructor.+data DeleteWhatIfForecastExport = DeleteWhatIfForecastExport'+  { -- | The Amazon Resource Name (ARN) of the what-if forecast export that you+    -- want to delete.+    whatIfForecastExportArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWhatIfForecastExport' 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:+--+-- 'whatIfForecastExportArn', 'deleteWhatIfForecastExport_whatIfForecastExportArn' - The Amazon Resource Name (ARN) of the what-if forecast export that you+-- want to delete.+newDeleteWhatIfForecastExport ::+  -- | 'whatIfForecastExportArn'+  Prelude.Text ->+  DeleteWhatIfForecastExport+newDeleteWhatIfForecastExport+  pWhatIfForecastExportArn_ =+    DeleteWhatIfForecastExport'+      { whatIfForecastExportArn =+          pWhatIfForecastExportArn_+      }++-- | The Amazon Resource Name (ARN) of the what-if forecast export that you+-- want to delete.+deleteWhatIfForecastExport_whatIfForecastExportArn :: Lens.Lens' DeleteWhatIfForecastExport Prelude.Text+deleteWhatIfForecastExport_whatIfForecastExportArn = Lens.lens (\DeleteWhatIfForecastExport' {whatIfForecastExportArn} -> whatIfForecastExportArn) (\s@DeleteWhatIfForecastExport' {} a -> s {whatIfForecastExportArn = a} :: DeleteWhatIfForecastExport)++instance Core.AWSRequest DeleteWhatIfForecastExport where+  type+    AWSResponse DeleteWhatIfForecastExport =+      DeleteWhatIfForecastExportResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull+      DeleteWhatIfForecastExportResponse'++instance Prelude.Hashable DeleteWhatIfForecastExport where+  hashWithSalt _salt DeleteWhatIfForecastExport' {..} =+    _salt+      `Prelude.hashWithSalt` whatIfForecastExportArn++instance Prelude.NFData DeleteWhatIfForecastExport where+  rnf DeleteWhatIfForecastExport' {..} =+    Prelude.rnf whatIfForecastExportArn++instance Data.ToHeaders DeleteWhatIfForecastExport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DeleteWhatIfForecastExport" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteWhatIfForecastExport where+  toJSON DeleteWhatIfForecastExport' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "WhatIfForecastExportArn"+                  Data..= whatIfForecastExportArn+              )+          ]+      )++instance Data.ToPath DeleteWhatIfForecastExport where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteWhatIfForecastExport where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWhatIfForecastExportResponse' smart constructor.+data DeleteWhatIfForecastExportResponse = DeleteWhatIfForecastExportResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWhatIfForecastExportResponse' 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.+newDeleteWhatIfForecastExportResponse ::+  DeleteWhatIfForecastExportResponse+newDeleteWhatIfForecastExportResponse =+  DeleteWhatIfForecastExportResponse'++instance+  Prelude.NFData+    DeleteWhatIfForecastExportResponse+  where+  rnf _ = ()
+ gen/Amazonka/Forecast/DescribeAutoPredictor.hs view
@@ -0,0 +1,489 @@+{-# 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.Forecast.DescribeAutoPredictor+-- 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 predictor created using the CreateAutoPredictor operation.+module Amazonka.Forecast.DescribeAutoPredictor+  ( -- * Creating a Request+    DescribeAutoPredictor (..),+    newDescribeAutoPredictor,++    -- * Request Lenses+    describeAutoPredictor_predictorArn,++    -- * Destructuring the Response+    DescribeAutoPredictorResponse (..),+    newDescribeAutoPredictorResponse,++    -- * Response Lenses+    describeAutoPredictorResponse_creationTime,+    describeAutoPredictorResponse_dataConfig,+    describeAutoPredictorResponse_datasetImportJobArns,+    describeAutoPredictorResponse_encryptionConfig,+    describeAutoPredictorResponse_estimatedTimeRemainingInMinutes,+    describeAutoPredictorResponse_explainabilityInfo,+    describeAutoPredictorResponse_forecastDimensions,+    describeAutoPredictorResponse_forecastFrequency,+    describeAutoPredictorResponse_forecastHorizon,+    describeAutoPredictorResponse_forecastTypes,+    describeAutoPredictorResponse_lastModificationTime,+    describeAutoPredictorResponse_message,+    describeAutoPredictorResponse_monitorInfo,+    describeAutoPredictorResponse_optimizationMetric,+    describeAutoPredictorResponse_predictorArn,+    describeAutoPredictorResponse_predictorName,+    describeAutoPredictorResponse_referencePredictorSummary,+    describeAutoPredictorResponse_status,+    describeAutoPredictorResponse_timeAlignmentBoundary,+    describeAutoPredictorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeAutoPredictor' smart constructor.+data DescribeAutoPredictor = DescribeAutoPredictor'+  { -- | The Amazon Resource Name (ARN) of the predictor.+    predictorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAutoPredictor' 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:+--+-- 'predictorArn', 'describeAutoPredictor_predictorArn' - The Amazon Resource Name (ARN) of the predictor.+newDescribeAutoPredictor ::+  -- | 'predictorArn'+  Prelude.Text ->+  DescribeAutoPredictor+newDescribeAutoPredictor pPredictorArn_ =+  DescribeAutoPredictor'+    { predictorArn =+        pPredictorArn_+    }++-- | The Amazon Resource Name (ARN) of the predictor.+describeAutoPredictor_predictorArn :: Lens.Lens' DescribeAutoPredictor Prelude.Text+describeAutoPredictor_predictorArn = Lens.lens (\DescribeAutoPredictor' {predictorArn} -> predictorArn) (\s@DescribeAutoPredictor' {} a -> s {predictorArn = a} :: DescribeAutoPredictor)++instance Core.AWSRequest DescribeAutoPredictor where+  type+    AWSResponse DescribeAutoPredictor =+      DescribeAutoPredictorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAutoPredictorResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "DataConfig")+            Prelude.<*> ( x+                            Data..?> "DatasetImportJobArns"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "EncryptionConfig")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "ExplainabilityInfo")+            Prelude.<*> (x Data..?> "ForecastDimensions")+            Prelude.<*> (x Data..?> "ForecastFrequency")+            Prelude.<*> (x Data..?> "ForecastHorizon")+            Prelude.<*> (x Data..?> "ForecastTypes")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "MonitorInfo")+            Prelude.<*> (x Data..?> "OptimizationMetric")+            Prelude.<*> (x Data..?> "PredictorArn")+            Prelude.<*> (x Data..?> "PredictorName")+            Prelude.<*> (x Data..?> "ReferencePredictorSummary")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TimeAlignmentBoundary")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeAutoPredictor where+  hashWithSalt _salt DescribeAutoPredictor' {..} =+    _salt `Prelude.hashWithSalt` predictorArn++instance Prelude.NFData DescribeAutoPredictor where+  rnf DescribeAutoPredictor' {..} =+    Prelude.rnf predictorArn++instance Data.ToHeaders DescribeAutoPredictor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeAutoPredictor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeAutoPredictor where+  toJSON DescribeAutoPredictor' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("PredictorArn" Data..= predictorArn)]+      )++instance Data.ToPath DescribeAutoPredictor where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeAutoPredictor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeAutoPredictorResponse' smart constructor.+data DescribeAutoPredictorResponse = DescribeAutoPredictorResponse'+  { -- | The timestamp of the CreateAutoPredictor request.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The data configuration for your dataset group and any additional+    -- datasets.+    dataConfig :: Prelude.Maybe DataConfig,+    -- | An array of the ARNs of the dataset import jobs used to import training+    -- data for the predictor.+    datasetImportJobArns :: Prelude.Maybe [Prelude.Text],+    encryptionConfig :: Prelude.Maybe EncryptionConfig,+    -- | The estimated time remaining in minutes for the predictor training job+    -- to complete.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | Provides the status and ARN of the Predictor Explainability.+    explainabilityInfo :: Prelude.Maybe ExplainabilityInfo,+    -- | An array of dimension (field) names that specify the attributes used to+    -- group your time series.+    forecastDimensions :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The frequency of predictions in a forecast.+    --+    -- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+    -- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+    -- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+    -- and \"5min\" indicates every five minutes.+    forecastFrequency :: Prelude.Maybe Prelude.Text,+    -- | The number of time-steps that the model predicts. The forecast horizon+    -- is also called the prediction length.+    forecastHorizon :: Prelude.Maybe Prelude.Int,+    -- | The forecast types used during predictor training. Default value is+    -- [\"0.1\",\"0.5\",\"0.9\"].+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | In the event of an error, a message detailing the cause of the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | A object with the Amazon Resource Name (ARN) and status of the monitor+    -- resource.+    monitorInfo :: Prelude.Maybe MonitorInfo,+    -- | The accuracy metric used to optimize the predictor.+    optimizationMetric :: Prelude.Maybe OptimizationMetric,+    -- | The Amazon Resource Name (ARN) of the predictor+    predictorArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the predictor.+    predictorName :: Prelude.Maybe Prelude.Text,+    -- | The ARN and state of the reference predictor. This parameter is only+    -- valid for retrained or upgraded predictors.+    referencePredictorSummary :: Prelude.Maybe ReferencePredictorSummary,+    -- | The status of the predictor. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text,+    -- | The time boundary Forecast uses when aggregating data.+    timeAlignmentBoundary :: Prelude.Maybe TimeAlignmentBoundary,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAutoPredictorResponse' 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:+--+-- 'creationTime', 'describeAutoPredictorResponse_creationTime' - The timestamp of the CreateAutoPredictor request.+--+-- 'dataConfig', 'describeAutoPredictorResponse_dataConfig' - The data configuration for your dataset group and any additional+-- datasets.+--+-- 'datasetImportJobArns', 'describeAutoPredictorResponse_datasetImportJobArns' - An array of the ARNs of the dataset import jobs used to import training+-- data for the predictor.+--+-- 'encryptionConfig', 'describeAutoPredictorResponse_encryptionConfig' - Undocumented member.+--+-- 'estimatedTimeRemainingInMinutes', 'describeAutoPredictorResponse_estimatedTimeRemainingInMinutes' - The estimated time remaining in minutes for the predictor training job+-- to complete.+--+-- 'explainabilityInfo', 'describeAutoPredictorResponse_explainabilityInfo' - Provides the status and ARN of the Predictor Explainability.+--+-- 'forecastDimensions', 'describeAutoPredictorResponse_forecastDimensions' - An array of dimension (field) names that specify the attributes used to+-- group your time series.+--+-- 'forecastFrequency', 'describeAutoPredictorResponse_forecastFrequency' - The frequency of predictions in a forecast.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+-- and \"5min\" indicates every five minutes.+--+-- 'forecastHorizon', 'describeAutoPredictorResponse_forecastHorizon' - The number of time-steps that the model predicts. The forecast horizon+-- is also called the prediction length.+--+-- 'forecastTypes', 'describeAutoPredictorResponse_forecastTypes' - The forecast types used during predictor training. Default value is+-- [\"0.1\",\"0.5\",\"0.9\"].+--+-- 'lastModificationTime', 'describeAutoPredictorResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeAutoPredictorResponse_message' - In the event of an error, a message detailing the cause of the error.+--+-- 'monitorInfo', 'describeAutoPredictorResponse_monitorInfo' - A object with the Amazon Resource Name (ARN) and status of the monitor+-- resource.+--+-- 'optimizationMetric', 'describeAutoPredictorResponse_optimizationMetric' - The accuracy metric used to optimize the predictor.+--+-- 'predictorArn', 'describeAutoPredictorResponse_predictorArn' - The Amazon Resource Name (ARN) of the predictor+--+-- 'predictorName', 'describeAutoPredictorResponse_predictorName' - The name of the predictor.+--+-- 'referencePredictorSummary', 'describeAutoPredictorResponse_referencePredictorSummary' - The ARN and state of the reference predictor. This parameter is only+-- valid for retrained or upgraded predictors.+--+-- 'status', 'describeAutoPredictorResponse_status' - The status of the predictor. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- 'timeAlignmentBoundary', 'describeAutoPredictorResponse_timeAlignmentBoundary' - The time boundary Forecast uses when aggregating data.+--+-- 'httpStatus', 'describeAutoPredictorResponse_httpStatus' - The response's http status code.+newDescribeAutoPredictorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAutoPredictorResponse+newDescribeAutoPredictorResponse pHttpStatus_ =+  DescribeAutoPredictorResponse'+    { creationTime =+        Prelude.Nothing,+      dataConfig = Prelude.Nothing,+      datasetImportJobArns = Prelude.Nothing,+      encryptionConfig = Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      explainabilityInfo = Prelude.Nothing,+      forecastDimensions = Prelude.Nothing,+      forecastFrequency = Prelude.Nothing,+      forecastHorizon = Prelude.Nothing,+      forecastTypes = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      monitorInfo = Prelude.Nothing,+      optimizationMetric = Prelude.Nothing,+      predictorArn = Prelude.Nothing,+      predictorName = Prelude.Nothing,+      referencePredictorSummary = Prelude.Nothing,+      status = Prelude.Nothing,+      timeAlignmentBoundary = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The timestamp of the CreateAutoPredictor request.+describeAutoPredictorResponse_creationTime :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.UTCTime)+describeAutoPredictorResponse_creationTime = Lens.lens (\DescribeAutoPredictorResponse' {creationTime} -> creationTime) (\s@DescribeAutoPredictorResponse' {} a -> s {creationTime = a} :: DescribeAutoPredictorResponse) Prelude.. Lens.mapping Data._Time++-- | The data configuration for your dataset group and any additional+-- datasets.+describeAutoPredictorResponse_dataConfig :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe DataConfig)+describeAutoPredictorResponse_dataConfig = Lens.lens (\DescribeAutoPredictorResponse' {dataConfig} -> dataConfig) (\s@DescribeAutoPredictorResponse' {} a -> s {dataConfig = a} :: DescribeAutoPredictorResponse)++-- | An array of the ARNs of the dataset import jobs used to import training+-- data for the predictor.+describeAutoPredictorResponse_datasetImportJobArns :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe [Prelude.Text])+describeAutoPredictorResponse_datasetImportJobArns = Lens.lens (\DescribeAutoPredictorResponse' {datasetImportJobArns} -> datasetImportJobArns) (\s@DescribeAutoPredictorResponse' {} a -> s {datasetImportJobArns = a} :: DescribeAutoPredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeAutoPredictorResponse_encryptionConfig :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe EncryptionConfig)+describeAutoPredictorResponse_encryptionConfig = Lens.lens (\DescribeAutoPredictorResponse' {encryptionConfig} -> encryptionConfig) (\s@DescribeAutoPredictorResponse' {} a -> s {encryptionConfig = a} :: DescribeAutoPredictorResponse)++-- | The estimated time remaining in minutes for the predictor training job+-- to complete.+describeAutoPredictorResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Integer)+describeAutoPredictorResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeAutoPredictorResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeAutoPredictorResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeAutoPredictorResponse)++-- | Provides the status and ARN of the Predictor Explainability.+describeAutoPredictorResponse_explainabilityInfo :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe ExplainabilityInfo)+describeAutoPredictorResponse_explainabilityInfo = Lens.lens (\DescribeAutoPredictorResponse' {explainabilityInfo} -> explainabilityInfo) (\s@DescribeAutoPredictorResponse' {} a -> s {explainabilityInfo = a} :: DescribeAutoPredictorResponse)++-- | An array of dimension (field) names that specify the attributes used to+-- group your time series.+describeAutoPredictorResponse_forecastDimensions :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeAutoPredictorResponse_forecastDimensions = Lens.lens (\DescribeAutoPredictorResponse' {forecastDimensions} -> forecastDimensions) (\s@DescribeAutoPredictorResponse' {} a -> s {forecastDimensions = a} :: DescribeAutoPredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The frequency of predictions in a forecast.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+-- and \"5min\" indicates every five minutes.+describeAutoPredictorResponse_forecastFrequency :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Text)+describeAutoPredictorResponse_forecastFrequency = Lens.lens (\DescribeAutoPredictorResponse' {forecastFrequency} -> forecastFrequency) (\s@DescribeAutoPredictorResponse' {} a -> s {forecastFrequency = a} :: DescribeAutoPredictorResponse)++-- | The number of time-steps that the model predicts. The forecast horizon+-- is also called the prediction length.+describeAutoPredictorResponse_forecastHorizon :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Int)+describeAutoPredictorResponse_forecastHorizon = Lens.lens (\DescribeAutoPredictorResponse' {forecastHorizon} -> forecastHorizon) (\s@DescribeAutoPredictorResponse' {} a -> s {forecastHorizon = a} :: DescribeAutoPredictorResponse)++-- | The forecast types used during predictor training. Default value is+-- [\"0.1\",\"0.5\",\"0.9\"].+describeAutoPredictorResponse_forecastTypes :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeAutoPredictorResponse_forecastTypes = Lens.lens (\DescribeAutoPredictorResponse' {forecastTypes} -> forecastTypes) (\s@DescribeAutoPredictorResponse' {} a -> s {forecastTypes = a} :: DescribeAutoPredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeAutoPredictorResponse_lastModificationTime :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.UTCTime)+describeAutoPredictorResponse_lastModificationTime = Lens.lens (\DescribeAutoPredictorResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeAutoPredictorResponse' {} a -> s {lastModificationTime = a} :: DescribeAutoPredictorResponse) Prelude.. Lens.mapping Data._Time++-- | In the event of an error, a message detailing the cause of the error.+describeAutoPredictorResponse_message :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Text)+describeAutoPredictorResponse_message = Lens.lens (\DescribeAutoPredictorResponse' {message} -> message) (\s@DescribeAutoPredictorResponse' {} a -> s {message = a} :: DescribeAutoPredictorResponse)++-- | A object with the Amazon Resource Name (ARN) and status of the monitor+-- resource.+describeAutoPredictorResponse_monitorInfo :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe MonitorInfo)+describeAutoPredictorResponse_monitorInfo = Lens.lens (\DescribeAutoPredictorResponse' {monitorInfo} -> monitorInfo) (\s@DescribeAutoPredictorResponse' {} a -> s {monitorInfo = a} :: DescribeAutoPredictorResponse)++-- | The accuracy metric used to optimize the predictor.+describeAutoPredictorResponse_optimizationMetric :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe OptimizationMetric)+describeAutoPredictorResponse_optimizationMetric = Lens.lens (\DescribeAutoPredictorResponse' {optimizationMetric} -> optimizationMetric) (\s@DescribeAutoPredictorResponse' {} a -> s {optimizationMetric = a} :: DescribeAutoPredictorResponse)++-- | The Amazon Resource Name (ARN) of the predictor+describeAutoPredictorResponse_predictorArn :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Text)+describeAutoPredictorResponse_predictorArn = Lens.lens (\DescribeAutoPredictorResponse' {predictorArn} -> predictorArn) (\s@DescribeAutoPredictorResponse' {} a -> s {predictorArn = a} :: DescribeAutoPredictorResponse)++-- | The name of the predictor.+describeAutoPredictorResponse_predictorName :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Text)+describeAutoPredictorResponse_predictorName = Lens.lens (\DescribeAutoPredictorResponse' {predictorName} -> predictorName) (\s@DescribeAutoPredictorResponse' {} a -> s {predictorName = a} :: DescribeAutoPredictorResponse)++-- | The ARN and state of the reference predictor. This parameter is only+-- valid for retrained or upgraded predictors.+describeAutoPredictorResponse_referencePredictorSummary :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe ReferencePredictorSummary)+describeAutoPredictorResponse_referencePredictorSummary = Lens.lens (\DescribeAutoPredictorResponse' {referencePredictorSummary} -> referencePredictorSummary) (\s@DescribeAutoPredictorResponse' {} a -> s {referencePredictorSummary = a} :: DescribeAutoPredictorResponse)++-- | The status of the predictor. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+describeAutoPredictorResponse_status :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe Prelude.Text)+describeAutoPredictorResponse_status = Lens.lens (\DescribeAutoPredictorResponse' {status} -> status) (\s@DescribeAutoPredictorResponse' {} a -> s {status = a} :: DescribeAutoPredictorResponse)++-- | The time boundary Forecast uses when aggregating data.+describeAutoPredictorResponse_timeAlignmentBoundary :: Lens.Lens' DescribeAutoPredictorResponse (Prelude.Maybe TimeAlignmentBoundary)+describeAutoPredictorResponse_timeAlignmentBoundary = Lens.lens (\DescribeAutoPredictorResponse' {timeAlignmentBoundary} -> timeAlignmentBoundary) (\s@DescribeAutoPredictorResponse' {} a -> s {timeAlignmentBoundary = a} :: DescribeAutoPredictorResponse)++-- | The response's http status code.+describeAutoPredictorResponse_httpStatus :: Lens.Lens' DescribeAutoPredictorResponse Prelude.Int+describeAutoPredictorResponse_httpStatus = Lens.lens (\DescribeAutoPredictorResponse' {httpStatus} -> httpStatus) (\s@DescribeAutoPredictorResponse' {} a -> s {httpStatus = a} :: DescribeAutoPredictorResponse)++instance Prelude.NFData DescribeAutoPredictorResponse where+  rnf DescribeAutoPredictorResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf dataConfig+      `Prelude.seq` Prelude.rnf datasetImportJobArns+      `Prelude.seq` Prelude.rnf encryptionConfig+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf explainabilityInfo+      `Prelude.seq` Prelude.rnf forecastDimensions+      `Prelude.seq` Prelude.rnf forecastFrequency+      `Prelude.seq` Prelude.rnf forecastHorizon+      `Prelude.seq` Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf monitorInfo+      `Prelude.seq` Prelude.rnf optimizationMetric+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf predictorName+      `Prelude.seq` Prelude.rnf+        referencePredictorSummary+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf+        timeAlignmentBoundary+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeDataset.hs view
@@ -0,0 +1,380 @@+{-# 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.Forecast.DescribeDataset+-- 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 Amazon Forecast dataset created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation.+--+-- In addition to listing the parameters specified in the @CreateDataset@+-- request, this operation includes the following dataset properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Status@+module Amazonka.Forecast.DescribeDataset+  ( -- * Creating a Request+    DescribeDataset (..),+    newDescribeDataset,++    -- * Request Lenses+    describeDataset_datasetArn,++    -- * Destructuring the Response+    DescribeDatasetResponse (..),+    newDescribeDatasetResponse,++    -- * Response Lenses+    describeDatasetResponse_creationTime,+    describeDatasetResponse_dataFrequency,+    describeDatasetResponse_datasetArn,+    describeDatasetResponse_datasetName,+    describeDatasetResponse_datasetType,+    describeDatasetResponse_domain,+    describeDatasetResponse_encryptionConfig,+    describeDatasetResponse_lastModificationTime,+    describeDatasetResponse_schema,+    describeDatasetResponse_status,+    describeDatasetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataset' smart constructor.+data DescribeDataset = DescribeDataset'+  { -- | The Amazon Resource Name (ARN) of the dataset.+    datasetArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataset' 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:+--+-- 'datasetArn', 'describeDataset_datasetArn' - The Amazon Resource Name (ARN) of the dataset.+newDescribeDataset ::+  -- | 'datasetArn'+  Prelude.Text ->+  DescribeDataset+newDescribeDataset pDatasetArn_ =+  DescribeDataset' {datasetArn = pDatasetArn_}++-- | The Amazon Resource Name (ARN) of the dataset.+describeDataset_datasetArn :: Lens.Lens' DescribeDataset Prelude.Text+describeDataset_datasetArn = Lens.lens (\DescribeDataset' {datasetArn} -> datasetArn) (\s@DescribeDataset' {} a -> s {datasetArn = a} :: DescribeDataset)++instance Core.AWSRequest DescribeDataset where+  type+    AWSResponse DescribeDataset =+      DescribeDatasetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDatasetResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "DataFrequency")+            Prelude.<*> (x Data..?> "DatasetArn")+            Prelude.<*> (x Data..?> "DatasetName")+            Prelude.<*> (x Data..?> "DatasetType")+            Prelude.<*> (x Data..?> "Domain")+            Prelude.<*> (x Data..?> "EncryptionConfig")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Schema")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDataset where+  hashWithSalt _salt DescribeDataset' {..} =+    _salt `Prelude.hashWithSalt` datasetArn++instance Prelude.NFData DescribeDataset where+  rnf DescribeDataset' {..} = Prelude.rnf datasetArn++instance Data.ToHeaders DescribeDataset where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeDataset" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeDataset where+  toJSON DescribeDataset' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("DatasetArn" Data..= datasetArn)]+      )++instance Data.ToPath DescribeDataset where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDataset where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDatasetResponse' smart constructor.+data DescribeDatasetResponse = DescribeDatasetResponse'+  { -- | When the dataset was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The frequency of data collection.+    --+    -- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+    -- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+    -- minutes), and 1min (1 minute). For example, \"M\" indicates every month+    -- and \"30min\" indicates every 30 minutes.+    dataFrequency :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the dataset.+    datasetArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the dataset.+    datasetName :: Prelude.Maybe Prelude.Text,+    -- | The dataset type.+    datasetType :: Prelude.Maybe DatasetType,+    -- | The domain associated with the dataset.+    domain :: Prelude.Maybe Domain,+    -- | The AWS Key Management Service (KMS) key and the AWS Identity and Access+    -- Management (IAM) role that Amazon Forecast can assume to access the key.+    encryptionConfig :: Prelude.Maybe EncryptionConfig,+    -- | When you create a dataset, @LastModificationTime@ is the same as+    -- @CreationTime@. While data is being imported to the dataset,+    -- @LastModificationTime@ is the current time of the @DescribeDataset@+    -- call. After a+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+    -- operation has finished, @LastModificationTime@ is when the import job+    -- completed or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | An array of @SchemaAttribute@ objects that specify the dataset fields.+    -- Each @SchemaAttribute@ specifies the name and data type of a field.+    schema :: Prelude.Maybe Schema,+    -- | The status of the dataset. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- -   @UPDATE_PENDING@, @UPDATE_IN_PROGRESS@, @UPDATE_FAILED@+    --+    -- The @UPDATE@ states apply while data is imported to the dataset from a+    -- call to the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+    -- operation and reflect the status of the dataset import job. For example,+    -- when the import job status is @CREATE_IN_PROGRESS@, the status of the+    -- dataset is @UPDATE_IN_PROGRESS@.+    --+    -- The @Status@ of the dataset must be @ACTIVE@ before you can import+    -- training data.+    status :: 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 'DescribeDatasetResponse' 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:+--+-- 'creationTime', 'describeDatasetResponse_creationTime' - When the dataset was created.+--+-- 'dataFrequency', 'describeDatasetResponse_dataFrequency' - The frequency of data collection.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"M\" indicates every month+-- and \"30min\" indicates every 30 minutes.+--+-- 'datasetArn', 'describeDatasetResponse_datasetArn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'datasetName', 'describeDatasetResponse_datasetName' - The name of the dataset.+--+-- 'datasetType', 'describeDatasetResponse_datasetType' - The dataset type.+--+-- 'domain', 'describeDatasetResponse_domain' - The domain associated with the dataset.+--+-- 'encryptionConfig', 'describeDatasetResponse_encryptionConfig' - The AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+--+-- 'lastModificationTime', 'describeDatasetResponse_lastModificationTime' - When you create a dataset, @LastModificationTime@ is the same as+-- @CreationTime@. While data is being imported to the dataset,+-- @LastModificationTime@ is the current time of the @DescribeDataset@+-- call. After a+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation has finished, @LastModificationTime@ is when the import job+-- completed or failed.+--+-- 'schema', 'describeDatasetResponse_schema' - An array of @SchemaAttribute@ objects that specify the dataset fields.+-- Each @SchemaAttribute@ specifies the name and data type of a field.+--+-- 'status', 'describeDatasetResponse_status' - The status of the dataset. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @UPDATE_PENDING@, @UPDATE_IN_PROGRESS@, @UPDATE_FAILED@+--+-- The @UPDATE@ states apply while data is imported to the dataset from a+-- call to the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation and reflect the status of the dataset import job. For example,+-- when the import job status is @CREATE_IN_PROGRESS@, the status of the+-- dataset is @UPDATE_IN_PROGRESS@.+--+-- The @Status@ of the dataset must be @ACTIVE@ before you can import+-- training data.+--+-- 'httpStatus', 'describeDatasetResponse_httpStatus' - The response's http status code.+newDescribeDatasetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDatasetResponse+newDescribeDatasetResponse pHttpStatus_ =+  DescribeDatasetResponse'+    { creationTime =+        Prelude.Nothing,+      dataFrequency = Prelude.Nothing,+      datasetArn = Prelude.Nothing,+      datasetName = Prelude.Nothing,+      datasetType = Prelude.Nothing,+      domain = Prelude.Nothing,+      encryptionConfig = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      schema = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the dataset was created.+describeDatasetResponse_creationTime :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.UTCTime)+describeDatasetResponse_creationTime = Lens.lens (\DescribeDatasetResponse' {creationTime} -> creationTime) (\s@DescribeDatasetResponse' {} a -> s {creationTime = a} :: DescribeDatasetResponse) Prelude.. Lens.mapping Data._Time++-- | The frequency of data collection.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"M\" indicates every month+-- and \"30min\" indicates every 30 minutes.+describeDatasetResponse_dataFrequency :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)+describeDatasetResponse_dataFrequency = Lens.lens (\DescribeDatasetResponse' {dataFrequency} -> dataFrequency) (\s@DescribeDatasetResponse' {} a -> s {dataFrequency = a} :: DescribeDatasetResponse)++-- | The Amazon Resource Name (ARN) of the dataset.+describeDatasetResponse_datasetArn :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)+describeDatasetResponse_datasetArn = Lens.lens (\DescribeDatasetResponse' {datasetArn} -> datasetArn) (\s@DescribeDatasetResponse' {} a -> s {datasetArn = a} :: DescribeDatasetResponse)++-- | The name of the dataset.+describeDatasetResponse_datasetName :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)+describeDatasetResponse_datasetName = Lens.lens (\DescribeDatasetResponse' {datasetName} -> datasetName) (\s@DescribeDatasetResponse' {} a -> s {datasetName = a} :: DescribeDatasetResponse)++-- | The dataset type.+describeDatasetResponse_datasetType :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe DatasetType)+describeDatasetResponse_datasetType = Lens.lens (\DescribeDatasetResponse' {datasetType} -> datasetType) (\s@DescribeDatasetResponse' {} a -> s {datasetType = a} :: DescribeDatasetResponse)++-- | The domain associated with the dataset.+describeDatasetResponse_domain :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Domain)+describeDatasetResponse_domain = Lens.lens (\DescribeDatasetResponse' {domain} -> domain) (\s@DescribeDatasetResponse' {} a -> s {domain = a} :: DescribeDatasetResponse)++-- | The AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+describeDatasetResponse_encryptionConfig :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe EncryptionConfig)+describeDatasetResponse_encryptionConfig = Lens.lens (\DescribeDatasetResponse' {encryptionConfig} -> encryptionConfig) (\s@DescribeDatasetResponse' {} a -> s {encryptionConfig = a} :: DescribeDatasetResponse)++-- | When you create a dataset, @LastModificationTime@ is the same as+-- @CreationTime@. While data is being imported to the dataset,+-- @LastModificationTime@ is the current time of the @DescribeDataset@+-- call. After a+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation has finished, @LastModificationTime@ is when the import job+-- completed or failed.+describeDatasetResponse_lastModificationTime :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.UTCTime)+describeDatasetResponse_lastModificationTime = Lens.lens (\DescribeDatasetResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeDatasetResponse' {} a -> s {lastModificationTime = a} :: DescribeDatasetResponse) Prelude.. Lens.mapping Data._Time++-- | An array of @SchemaAttribute@ objects that specify the dataset fields.+-- Each @SchemaAttribute@ specifies the name and data type of a field.+describeDatasetResponse_schema :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Schema)+describeDatasetResponse_schema = Lens.lens (\DescribeDatasetResponse' {schema} -> schema) (\s@DescribeDatasetResponse' {} a -> s {schema = a} :: DescribeDatasetResponse)++-- | The status of the dataset. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @UPDATE_PENDING@, @UPDATE_IN_PROGRESS@, @UPDATE_FAILED@+--+-- The @UPDATE@ states apply while data is imported to the dataset from a+-- call to the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation and reflect the status of the dataset import job. For example,+-- when the import job status is @CREATE_IN_PROGRESS@, the status of the+-- dataset is @UPDATE_IN_PROGRESS@.+--+-- The @Status@ of the dataset must be @ACTIVE@ before you can import+-- training data.+describeDatasetResponse_status :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe Prelude.Text)+describeDatasetResponse_status = Lens.lens (\DescribeDatasetResponse' {status} -> status) (\s@DescribeDatasetResponse' {} a -> s {status = a} :: DescribeDatasetResponse)++-- | The response's http status code.+describeDatasetResponse_httpStatus :: Lens.Lens' DescribeDatasetResponse Prelude.Int+describeDatasetResponse_httpStatus = Lens.lens (\DescribeDatasetResponse' {httpStatus} -> httpStatus) (\s@DescribeDatasetResponse' {} a -> s {httpStatus = a} :: DescribeDatasetResponse)++instance Prelude.NFData DescribeDatasetResponse where+  rnf DescribeDatasetResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf dataFrequency+      `Prelude.seq` Prelude.rnf datasetArn+      `Prelude.seq` Prelude.rnf datasetName+      `Prelude.seq` Prelude.rnf datasetType+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf encryptionConfig+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf schema+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeDatasetGroup.hs view
@@ -0,0 +1,320 @@+{-# 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.Forecast.DescribeDatasetGroup+-- 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 group created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html CreateDatasetGroup>+-- operation.+--+-- In addition to listing the parameters provided in the+-- @CreateDatasetGroup@ request, this operation includes the following+-- properties:+--+-- -   @DatasetArns@ - The datasets belonging to the group.+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Status@+module Amazonka.Forecast.DescribeDatasetGroup+  ( -- * Creating a Request+    DescribeDatasetGroup (..),+    newDescribeDatasetGroup,++    -- * Request Lenses+    describeDatasetGroup_datasetGroupArn,++    -- * Destructuring the Response+    DescribeDatasetGroupResponse (..),+    newDescribeDatasetGroupResponse,++    -- * Response Lenses+    describeDatasetGroupResponse_creationTime,+    describeDatasetGroupResponse_datasetArns,+    describeDatasetGroupResponse_datasetGroupArn,+    describeDatasetGroupResponse_datasetGroupName,+    describeDatasetGroupResponse_domain,+    describeDatasetGroupResponse_lastModificationTime,+    describeDatasetGroupResponse_status,+    describeDatasetGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDatasetGroup' smart constructor.+data DescribeDatasetGroup = DescribeDatasetGroup'+  { -- | The Amazon Resource Name (ARN) of the dataset group.+    datasetGroupArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDatasetGroup' 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:+--+-- 'datasetGroupArn', 'describeDatasetGroup_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group.+newDescribeDatasetGroup ::+  -- | 'datasetGroupArn'+  Prelude.Text ->+  DescribeDatasetGroup+newDescribeDatasetGroup pDatasetGroupArn_ =+  DescribeDatasetGroup'+    { datasetGroupArn =+        pDatasetGroupArn_+    }++-- | The Amazon Resource Name (ARN) of the dataset group.+describeDatasetGroup_datasetGroupArn :: Lens.Lens' DescribeDatasetGroup Prelude.Text+describeDatasetGroup_datasetGroupArn = Lens.lens (\DescribeDatasetGroup' {datasetGroupArn} -> datasetGroupArn) (\s@DescribeDatasetGroup' {} a -> s {datasetGroupArn = a} :: DescribeDatasetGroup)++instance Core.AWSRequest DescribeDatasetGroup where+  type+    AWSResponse DescribeDatasetGroup =+      DescribeDatasetGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDatasetGroupResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "DatasetArns" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "DatasetGroupArn")+            Prelude.<*> (x Data..?> "DatasetGroupName")+            Prelude.<*> (x Data..?> "Domain")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDatasetGroup where+  hashWithSalt _salt DescribeDatasetGroup' {..} =+    _salt `Prelude.hashWithSalt` datasetGroupArn++instance Prelude.NFData DescribeDatasetGroup where+  rnf DescribeDatasetGroup' {..} =+    Prelude.rnf datasetGroupArn++instance Data.ToHeaders DescribeDatasetGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeDatasetGroup" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeDatasetGroup where+  toJSON DescribeDatasetGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DatasetGroupArn" Data..= datasetGroupArn)+          ]+      )++instance Data.ToPath DescribeDatasetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDatasetGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDatasetGroupResponse' smart constructor.+data DescribeDatasetGroupResponse = DescribeDatasetGroupResponse'+  { -- | When the dataset group was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | An array of Amazon Resource Names (ARNs) of the datasets contained in+    -- the dataset group.+    datasetArns :: Prelude.Maybe [Prelude.Text],+    -- | The ARN of the dataset group.+    datasetGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the dataset group.+    datasetGroupName :: Prelude.Maybe Prelude.Text,+    -- | The domain associated with the dataset group.+    domain :: Prelude.Maybe Domain,+    -- | When the dataset group was created or last updated from a call to the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+    -- operation. While the dataset group is being updated,+    -- @LastModificationTime@ is the current time of the @DescribeDatasetGroup@+    -- call.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | The status of the dataset group. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- -   @UPDATE_PENDING@, @UPDATE_IN_PROGRESS@, @UPDATE_FAILED@+    --+    -- The @UPDATE@ states apply when you call the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+    -- operation.+    --+    -- The @Status@ of the dataset group must be @ACTIVE@ before you can use+    -- the dataset group to create a predictor.+    status :: 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 'DescribeDatasetGroupResponse' 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:+--+-- 'creationTime', 'describeDatasetGroupResponse_creationTime' - When the dataset group was created.+--+-- 'datasetArns', 'describeDatasetGroupResponse_datasetArns' - An array of Amazon Resource Names (ARNs) of the datasets contained in+-- the dataset group.+--+-- 'datasetGroupArn', 'describeDatasetGroupResponse_datasetGroupArn' - The ARN of the dataset group.+--+-- 'datasetGroupName', 'describeDatasetGroupResponse_datasetGroupName' - The name of the dataset group.+--+-- 'domain', 'describeDatasetGroupResponse_domain' - The domain associated with the dataset group.+--+-- 'lastModificationTime', 'describeDatasetGroupResponse_lastModificationTime' - When the dataset group was created or last updated from a call to the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation. While the dataset group is being updated,+-- @LastModificationTime@ is the current time of the @DescribeDatasetGroup@+-- call.+--+-- 'status', 'describeDatasetGroupResponse_status' - The status of the dataset group. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @UPDATE_PENDING@, @UPDATE_IN_PROGRESS@, @UPDATE_FAILED@+--+-- The @UPDATE@ states apply when you call the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation.+--+-- The @Status@ of the dataset group must be @ACTIVE@ before you can use+-- the dataset group to create a predictor.+--+-- 'httpStatus', 'describeDatasetGroupResponse_httpStatus' - The response's http status code.+newDescribeDatasetGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDatasetGroupResponse+newDescribeDatasetGroupResponse pHttpStatus_ =+  DescribeDatasetGroupResponse'+    { creationTime =+        Prelude.Nothing,+      datasetArns = Prelude.Nothing,+      datasetGroupArn = Prelude.Nothing,+      datasetGroupName = Prelude.Nothing,+      domain = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the dataset group was created.+describeDatasetGroupResponse_creationTime :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe Prelude.UTCTime)+describeDatasetGroupResponse_creationTime = Lens.lens (\DescribeDatasetGroupResponse' {creationTime} -> creationTime) (\s@DescribeDatasetGroupResponse' {} a -> s {creationTime = a} :: DescribeDatasetGroupResponse) Prelude.. Lens.mapping Data._Time++-- | An array of Amazon Resource Names (ARNs) of the datasets contained in+-- the dataset group.+describeDatasetGroupResponse_datasetArns :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe [Prelude.Text])+describeDatasetGroupResponse_datasetArns = Lens.lens (\DescribeDatasetGroupResponse' {datasetArns} -> datasetArns) (\s@DescribeDatasetGroupResponse' {} a -> s {datasetArns = a} :: DescribeDatasetGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the dataset group.+describeDatasetGroupResponse_datasetGroupArn :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe Prelude.Text)+describeDatasetGroupResponse_datasetGroupArn = Lens.lens (\DescribeDatasetGroupResponse' {datasetGroupArn} -> datasetGroupArn) (\s@DescribeDatasetGroupResponse' {} a -> s {datasetGroupArn = a} :: DescribeDatasetGroupResponse)++-- | The name of the dataset group.+describeDatasetGroupResponse_datasetGroupName :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe Prelude.Text)+describeDatasetGroupResponse_datasetGroupName = Lens.lens (\DescribeDatasetGroupResponse' {datasetGroupName} -> datasetGroupName) (\s@DescribeDatasetGroupResponse' {} a -> s {datasetGroupName = a} :: DescribeDatasetGroupResponse)++-- | The domain associated with the dataset group.+describeDatasetGroupResponse_domain :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe Domain)+describeDatasetGroupResponse_domain = Lens.lens (\DescribeDatasetGroupResponse' {domain} -> domain) (\s@DescribeDatasetGroupResponse' {} a -> s {domain = a} :: DescribeDatasetGroupResponse)++-- | When the dataset group was created or last updated from a call to the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation. While the dataset group is being updated,+-- @LastModificationTime@ is the current time of the @DescribeDatasetGroup@+-- call.+describeDatasetGroupResponse_lastModificationTime :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe Prelude.UTCTime)+describeDatasetGroupResponse_lastModificationTime = Lens.lens (\DescribeDatasetGroupResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeDatasetGroupResponse' {} a -> s {lastModificationTime = a} :: DescribeDatasetGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the dataset group. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @UPDATE_PENDING@, @UPDATE_IN_PROGRESS@, @UPDATE_FAILED@+--+-- The @UPDATE@ states apply when you call the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation.+--+-- The @Status@ of the dataset group must be @ACTIVE@ before you can use+-- the dataset group to create a predictor.+describeDatasetGroupResponse_status :: Lens.Lens' DescribeDatasetGroupResponse (Prelude.Maybe Prelude.Text)+describeDatasetGroupResponse_status = Lens.lens (\DescribeDatasetGroupResponse' {status} -> status) (\s@DescribeDatasetGroupResponse' {} a -> s {status = a} :: DescribeDatasetGroupResponse)++-- | The response's http status code.+describeDatasetGroupResponse_httpStatus :: Lens.Lens' DescribeDatasetGroupResponse Prelude.Int+describeDatasetGroupResponse_httpStatus = Lens.lens (\DescribeDatasetGroupResponse' {httpStatus} -> httpStatus) (\s@DescribeDatasetGroupResponse' {} a -> s {httpStatus = a} :: DescribeDatasetGroupResponse)++instance Prelude.NFData DescribeDatasetGroupResponse where+  rnf DescribeDatasetGroupResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetArns+      `Prelude.seq` Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf datasetGroupName+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeDatasetImportJob.hs view
@@ -0,0 +1,500 @@+{-# 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.Forecast.DescribeDatasetImportJob+-- 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 import job created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation.+--+-- In addition to listing the parameters provided in the+-- @CreateDatasetImportJob@ request, this operation includes the following+-- properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @DataSize@+--+-- -   @FieldStatistics@+--+-- -   @Status@+--+-- -   @Message@ - If an error occurred, information about the error.+module Amazonka.Forecast.DescribeDatasetImportJob+  ( -- * Creating a Request+    DescribeDatasetImportJob (..),+    newDescribeDatasetImportJob,++    -- * Request Lenses+    describeDatasetImportJob_datasetImportJobArn,++    -- * Destructuring the Response+    DescribeDatasetImportJobResponse (..),+    newDescribeDatasetImportJobResponse,++    -- * Response Lenses+    describeDatasetImportJobResponse_creationTime,+    describeDatasetImportJobResponse_dataSize,+    describeDatasetImportJobResponse_dataSource,+    describeDatasetImportJobResponse_datasetArn,+    describeDatasetImportJobResponse_datasetImportJobArn,+    describeDatasetImportJobResponse_datasetImportJobName,+    describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes,+    describeDatasetImportJobResponse_fieldStatistics,+    describeDatasetImportJobResponse_format,+    describeDatasetImportJobResponse_geolocationFormat,+    describeDatasetImportJobResponse_lastModificationTime,+    describeDatasetImportJobResponse_message,+    describeDatasetImportJobResponse_status,+    describeDatasetImportJobResponse_timeZone,+    describeDatasetImportJobResponse_timestampFormat,+    describeDatasetImportJobResponse_useGeolocationForTimeZone,+    describeDatasetImportJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDatasetImportJob' smart constructor.+data DescribeDatasetImportJob = DescribeDatasetImportJob'+  { -- | The Amazon Resource Name (ARN) of the dataset import job.+    datasetImportJobArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDatasetImportJob' 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:+--+-- 'datasetImportJobArn', 'describeDatasetImportJob_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job.+newDescribeDatasetImportJob ::+  -- | 'datasetImportJobArn'+  Prelude.Text ->+  DescribeDatasetImportJob+newDescribeDatasetImportJob pDatasetImportJobArn_ =+  DescribeDatasetImportJob'+    { datasetImportJobArn =+        pDatasetImportJobArn_+    }++-- | The Amazon Resource Name (ARN) of the dataset import job.+describeDatasetImportJob_datasetImportJobArn :: Lens.Lens' DescribeDatasetImportJob Prelude.Text+describeDatasetImportJob_datasetImportJobArn = Lens.lens (\DescribeDatasetImportJob' {datasetImportJobArn} -> datasetImportJobArn) (\s@DescribeDatasetImportJob' {} a -> s {datasetImportJobArn = a} :: DescribeDatasetImportJob)++instance Core.AWSRequest DescribeDatasetImportJob where+  type+    AWSResponse DescribeDatasetImportJob =+      DescribeDatasetImportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDatasetImportJobResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "DataSize")+            Prelude.<*> (x Data..?> "DataSource")+            Prelude.<*> (x Data..?> "DatasetArn")+            Prelude.<*> (x Data..?> "DatasetImportJobArn")+            Prelude.<*> (x Data..?> "DatasetImportJobName")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> ( x+                            Data..?> "FieldStatistics"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "Format")+            Prelude.<*> (x Data..?> "GeolocationFormat")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TimeZone")+            Prelude.<*> (x Data..?> "TimestampFormat")+            Prelude.<*> (x Data..?> "UseGeolocationForTimeZone")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDatasetImportJob where+  hashWithSalt _salt DescribeDatasetImportJob' {..} =+    _salt `Prelude.hashWithSalt` datasetImportJobArn++instance Prelude.NFData DescribeDatasetImportJob where+  rnf DescribeDatasetImportJob' {..} =+    Prelude.rnf datasetImportJobArn++instance Data.ToHeaders DescribeDatasetImportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeDatasetImportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeDatasetImportJob where+  toJSON DescribeDatasetImportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DatasetImportJobArn" Data..= datasetImportJobArn)+          ]+      )++instance Data.ToPath DescribeDatasetImportJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeDatasetImportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDatasetImportJobResponse' smart constructor.+data DescribeDatasetImportJobResponse = DescribeDatasetImportJobResponse'+  { -- | When the dataset import job was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The size of the dataset in gigabytes (GB) after the import job has+    -- finished.+    dataSize :: Prelude.Maybe Prelude.Double,+    -- | The location of the training data to import and an AWS Identity and+    -- Access Management (IAM) role that Amazon Forecast can assume to access+    -- the data.+    --+    -- If encryption is used, @DataSource@ includes an AWS Key Management+    -- Service (KMS) key.+    dataSource :: Prelude.Maybe DataSource,+    -- | The Amazon Resource Name (ARN) of the dataset that the training data was+    -- imported to.+    datasetArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the dataset import job.+    datasetImportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the dataset import job.+    datasetImportJobName :: Prelude.Maybe Prelude.Text,+    -- | The estimated time remaining in minutes for the dataset import job to+    -- complete.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | Statistical information about each field in the input data.+    fieldStatistics :: Prelude.Maybe (Prelude.HashMap Prelude.Text Statistics),+    -- | The format of the imported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | The format of the geolocation attribute. Valid Values:@\"LAT_LONG\"@ and+    -- @\"CC_POSTALCODE\"@.+    geolocationFormat :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the dataset import job. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    status :: Prelude.Maybe Prelude.Text,+    -- | The single time zone applied to every item in the dataset+    timeZone :: Prelude.Maybe Prelude.Text,+    -- | The format of timestamps in the dataset. The format that you specify+    -- depends on the @DataFrequency@ specified when the dataset was created.+    -- The following formats are supported+    --+    -- -   \"yyyy-MM-dd\"+    --+    --     For the following data frequencies: Y, M, W, and D+    --+    -- -   \"yyyy-MM-dd HH:mm:ss\"+    --+    --     For the following data frequencies: H, 30min, 15min, and 1min; and+    --     optionally, for: Y, M, W, and D+    timestampFormat :: Prelude.Maybe Prelude.Text,+    -- | Whether @TimeZone@ is automatically derived from the geolocation+    -- attribute.+    useGeolocationForTimeZone :: Prelude.Maybe Prelude.Bool,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDatasetImportJobResponse' 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:+--+-- 'creationTime', 'describeDatasetImportJobResponse_creationTime' - When the dataset import job was created.+--+-- 'dataSize', 'describeDatasetImportJobResponse_dataSize' - The size of the dataset in gigabytes (GB) after the import job has+-- finished.+--+-- 'dataSource', 'describeDatasetImportJobResponse_dataSource' - The location of the training data to import and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the data.+--+-- If encryption is used, @DataSource@ includes an AWS Key Management+-- Service (KMS) key.+--+-- 'datasetArn', 'describeDatasetImportJobResponse_datasetArn' - The Amazon Resource Name (ARN) of the dataset that the training data was+-- imported to.+--+-- 'datasetImportJobArn', 'describeDatasetImportJobResponse_datasetImportJobArn' - The ARN of the dataset import job.+--+-- 'datasetImportJobName', 'describeDatasetImportJobResponse_datasetImportJobName' - The name of the dataset import job.+--+-- 'estimatedTimeRemainingInMinutes', 'describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes' - The estimated time remaining in minutes for the dataset import job to+-- complete.+--+-- 'fieldStatistics', 'describeDatasetImportJobResponse_fieldStatistics' - Statistical information about each field in the input data.+--+-- 'format', 'describeDatasetImportJobResponse_format' - The format of the imported data, CSV or PARQUET.+--+-- 'geolocationFormat', 'describeDatasetImportJobResponse_geolocationFormat' - The format of the geolocation attribute. Valid Values:@\"LAT_LONG\"@ and+-- @\"CC_POSTALCODE\"@.+--+-- 'lastModificationTime', 'describeDatasetImportJobResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeDatasetImportJobResponse_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'describeDatasetImportJobResponse_status' - The status of the dataset import job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- 'timeZone', 'describeDatasetImportJobResponse_timeZone' - The single time zone applied to every item in the dataset+--+-- 'timestampFormat', 'describeDatasetImportJobResponse_timestampFormat' - The format of timestamps in the dataset. The format that you specify+-- depends on the @DataFrequency@ specified when the dataset was created.+-- The following formats are supported+--+-- -   \"yyyy-MM-dd\"+--+--     For the following data frequencies: Y, M, W, and D+--+-- -   \"yyyy-MM-dd HH:mm:ss\"+--+--     For the following data frequencies: H, 30min, 15min, and 1min; and+--     optionally, for: Y, M, W, and D+--+-- 'useGeolocationForTimeZone', 'describeDatasetImportJobResponse_useGeolocationForTimeZone' - Whether @TimeZone@ is automatically derived from the geolocation+-- attribute.+--+-- 'httpStatus', 'describeDatasetImportJobResponse_httpStatus' - The response's http status code.+newDescribeDatasetImportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDatasetImportJobResponse+newDescribeDatasetImportJobResponse pHttpStatus_ =+  DescribeDatasetImportJobResponse'+    { creationTime =+        Prelude.Nothing,+      dataSize = Prelude.Nothing,+      dataSource = Prelude.Nothing,+      datasetArn = Prelude.Nothing,+      datasetImportJobArn = Prelude.Nothing,+      datasetImportJobName = Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      fieldStatistics = Prelude.Nothing,+      format = Prelude.Nothing,+      geolocationFormat = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      timeZone = Prelude.Nothing,+      timestampFormat = Prelude.Nothing,+      useGeolocationForTimeZone =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the dataset import job was created.+describeDatasetImportJobResponse_creationTime :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.UTCTime)+describeDatasetImportJobResponse_creationTime = Lens.lens (\DescribeDatasetImportJobResponse' {creationTime} -> creationTime) (\s@DescribeDatasetImportJobResponse' {} a -> s {creationTime = a} :: DescribeDatasetImportJobResponse) Prelude.. Lens.mapping Data._Time++-- | The size of the dataset in gigabytes (GB) after the import job has+-- finished.+describeDatasetImportJobResponse_dataSize :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Double)+describeDatasetImportJobResponse_dataSize = Lens.lens (\DescribeDatasetImportJobResponse' {dataSize} -> dataSize) (\s@DescribeDatasetImportJobResponse' {} a -> s {dataSize = a} :: DescribeDatasetImportJobResponse)++-- | The location of the training data to import and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the data.+--+-- If encryption is used, @DataSource@ includes an AWS Key Management+-- Service (KMS) key.+describeDatasetImportJobResponse_dataSource :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe DataSource)+describeDatasetImportJobResponse_dataSource = Lens.lens (\DescribeDatasetImportJobResponse' {dataSource} -> dataSource) (\s@DescribeDatasetImportJobResponse' {} a -> s {dataSource = a} :: DescribeDatasetImportJobResponse)++-- | The Amazon Resource Name (ARN) of the dataset that the training data was+-- imported to.+describeDatasetImportJobResponse_datasetArn :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_datasetArn = Lens.lens (\DescribeDatasetImportJobResponse' {datasetArn} -> datasetArn) (\s@DescribeDatasetImportJobResponse' {} a -> s {datasetArn = a} :: DescribeDatasetImportJobResponse)++-- | The ARN of the dataset import job.+describeDatasetImportJobResponse_datasetImportJobArn :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_datasetImportJobArn = Lens.lens (\DescribeDatasetImportJobResponse' {datasetImportJobArn} -> datasetImportJobArn) (\s@DescribeDatasetImportJobResponse' {} a -> s {datasetImportJobArn = a} :: DescribeDatasetImportJobResponse)++-- | The name of the dataset import job.+describeDatasetImportJobResponse_datasetImportJobName :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_datasetImportJobName = Lens.lens (\DescribeDatasetImportJobResponse' {datasetImportJobName} -> datasetImportJobName) (\s@DescribeDatasetImportJobResponse' {} a -> s {datasetImportJobName = a} :: DescribeDatasetImportJobResponse)++-- | The estimated time remaining in minutes for the dataset import job to+-- complete.+describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Integer)+describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeDatasetImportJobResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeDatasetImportJobResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeDatasetImportJobResponse)++-- | Statistical information about each field in the input data.+describeDatasetImportJobResponse_fieldStatistics :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Statistics))+describeDatasetImportJobResponse_fieldStatistics = Lens.lens (\DescribeDatasetImportJobResponse' {fieldStatistics} -> fieldStatistics) (\s@DescribeDatasetImportJobResponse' {} a -> s {fieldStatistics = a} :: DescribeDatasetImportJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The format of the imported data, CSV or PARQUET.+describeDatasetImportJobResponse_format :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_format = Lens.lens (\DescribeDatasetImportJobResponse' {format} -> format) (\s@DescribeDatasetImportJobResponse' {} a -> s {format = a} :: DescribeDatasetImportJobResponse)++-- | The format of the geolocation attribute. Valid Values:@\"LAT_LONG\"@ and+-- @\"CC_POSTALCODE\"@.+describeDatasetImportJobResponse_geolocationFormat :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_geolocationFormat = Lens.lens (\DescribeDatasetImportJobResponse' {geolocationFormat} -> geolocationFormat) (\s@DescribeDatasetImportJobResponse' {} a -> s {geolocationFormat = a} :: DescribeDatasetImportJobResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeDatasetImportJobResponse_lastModificationTime :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.UTCTime)+describeDatasetImportJobResponse_lastModificationTime = Lens.lens (\DescribeDatasetImportJobResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeDatasetImportJobResponse' {} a -> s {lastModificationTime = a} :: DescribeDatasetImportJobResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describeDatasetImportJobResponse_message :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_message = Lens.lens (\DescribeDatasetImportJobResponse' {message} -> message) (\s@DescribeDatasetImportJobResponse' {} a -> s {message = a} :: DescribeDatasetImportJobResponse)++-- | The status of the dataset import job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+describeDatasetImportJobResponse_status :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_status = Lens.lens (\DescribeDatasetImportJobResponse' {status} -> status) (\s@DescribeDatasetImportJobResponse' {} a -> s {status = a} :: DescribeDatasetImportJobResponse)++-- | The single time zone applied to every item in the dataset+describeDatasetImportJobResponse_timeZone :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_timeZone = Lens.lens (\DescribeDatasetImportJobResponse' {timeZone} -> timeZone) (\s@DescribeDatasetImportJobResponse' {} a -> s {timeZone = a} :: DescribeDatasetImportJobResponse)++-- | The format of timestamps in the dataset. The format that you specify+-- depends on the @DataFrequency@ specified when the dataset was created.+-- The following formats are supported+--+-- -   \"yyyy-MM-dd\"+--+--     For the following data frequencies: Y, M, W, and D+--+-- -   \"yyyy-MM-dd HH:mm:ss\"+--+--     For the following data frequencies: H, 30min, 15min, and 1min; and+--     optionally, for: Y, M, W, and D+describeDatasetImportJobResponse_timestampFormat :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Text)+describeDatasetImportJobResponse_timestampFormat = Lens.lens (\DescribeDatasetImportJobResponse' {timestampFormat} -> timestampFormat) (\s@DescribeDatasetImportJobResponse' {} a -> s {timestampFormat = a} :: DescribeDatasetImportJobResponse)++-- | Whether @TimeZone@ is automatically derived from the geolocation+-- attribute.+describeDatasetImportJobResponse_useGeolocationForTimeZone :: Lens.Lens' DescribeDatasetImportJobResponse (Prelude.Maybe Prelude.Bool)+describeDatasetImportJobResponse_useGeolocationForTimeZone = Lens.lens (\DescribeDatasetImportJobResponse' {useGeolocationForTimeZone} -> useGeolocationForTimeZone) (\s@DescribeDatasetImportJobResponse' {} a -> s {useGeolocationForTimeZone = a} :: DescribeDatasetImportJobResponse)++-- | The response's http status code.+describeDatasetImportJobResponse_httpStatus :: Lens.Lens' DescribeDatasetImportJobResponse Prelude.Int+describeDatasetImportJobResponse_httpStatus = Lens.lens (\DescribeDatasetImportJobResponse' {httpStatus} -> httpStatus) (\s@DescribeDatasetImportJobResponse' {} a -> s {httpStatus = a} :: DescribeDatasetImportJobResponse)++instance+  Prelude.NFData+    DescribeDatasetImportJobResponse+  where+  rnf DescribeDatasetImportJobResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf dataSize+      `Prelude.seq` Prelude.rnf dataSource+      `Prelude.seq` Prelude.rnf datasetArn+      `Prelude.seq` Prelude.rnf datasetImportJobArn+      `Prelude.seq` Prelude.rnf datasetImportJobName+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf fieldStatistics+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf geolocationFormat+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf timeZone+      `Prelude.seq` Prelude.rnf timestampFormat+      `Prelude.seq` Prelude.rnf useGeolocationForTimeZone+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeExplainability.hs view
@@ -0,0 +1,405 @@+{-# 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.Forecast.DescribeExplainability+-- 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 Explainability resource created using the+-- CreateExplainability operation.+module Amazonka.Forecast.DescribeExplainability+  ( -- * Creating a Request+    DescribeExplainability (..),+    newDescribeExplainability,++    -- * Request Lenses+    describeExplainability_explainabilityArn,++    -- * Destructuring the Response+    DescribeExplainabilityResponse (..),+    newDescribeExplainabilityResponse,++    -- * Response Lenses+    describeExplainabilityResponse_creationTime,+    describeExplainabilityResponse_dataSource,+    describeExplainabilityResponse_enableVisualization,+    describeExplainabilityResponse_endDateTime,+    describeExplainabilityResponse_estimatedTimeRemainingInMinutes,+    describeExplainabilityResponse_explainabilityArn,+    describeExplainabilityResponse_explainabilityConfig,+    describeExplainabilityResponse_explainabilityName,+    describeExplainabilityResponse_lastModificationTime,+    describeExplainabilityResponse_message,+    describeExplainabilityResponse_resourceArn,+    describeExplainabilityResponse_schema,+    describeExplainabilityResponse_startDateTime,+    describeExplainabilityResponse_status,+    describeExplainabilityResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeExplainability' smart constructor.+data DescribeExplainability = DescribeExplainability'+  { -- | The Amazon Resource Name (ARN) of the Explaianability to describe.+    explainabilityArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeExplainability' 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:+--+-- 'explainabilityArn', 'describeExplainability_explainabilityArn' - The Amazon Resource Name (ARN) of the Explaianability to describe.+newDescribeExplainability ::+  -- | 'explainabilityArn'+  Prelude.Text ->+  DescribeExplainability+newDescribeExplainability pExplainabilityArn_ =+  DescribeExplainability'+    { explainabilityArn =+        pExplainabilityArn_+    }++-- | The Amazon Resource Name (ARN) of the Explaianability to describe.+describeExplainability_explainabilityArn :: Lens.Lens' DescribeExplainability Prelude.Text+describeExplainability_explainabilityArn = Lens.lens (\DescribeExplainability' {explainabilityArn} -> explainabilityArn) (\s@DescribeExplainability' {} a -> s {explainabilityArn = a} :: DescribeExplainability)++instance Core.AWSRequest DescribeExplainability where+  type+    AWSResponse DescribeExplainability =+      DescribeExplainabilityResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeExplainabilityResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "DataSource")+            Prelude.<*> (x Data..?> "EnableVisualization")+            Prelude.<*> (x Data..?> "EndDateTime")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "ExplainabilityArn")+            Prelude.<*> (x Data..?> "ExplainabilityConfig")+            Prelude.<*> (x Data..?> "ExplainabilityName")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "ResourceArn")+            Prelude.<*> (x Data..?> "Schema")+            Prelude.<*> (x Data..?> "StartDateTime")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeExplainability where+  hashWithSalt _salt DescribeExplainability' {..} =+    _salt `Prelude.hashWithSalt` explainabilityArn++instance Prelude.NFData DescribeExplainability where+  rnf DescribeExplainability' {..} =+    Prelude.rnf explainabilityArn++instance Data.ToHeaders DescribeExplainability where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeExplainability" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeExplainability where+  toJSON DescribeExplainability' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ExplainabilityArn" Data..= explainabilityArn)+          ]+      )++instance Data.ToPath DescribeExplainability where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeExplainability where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeExplainabilityResponse' smart constructor.+data DescribeExplainabilityResponse = DescribeExplainabilityResponse'+  { -- | When the Explainability resource was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    dataSource :: Prelude.Maybe DataSource,+    -- | Whether the visualization was enabled for the Explainability resource.+    enableVisualization :: Prelude.Maybe Prelude.Bool,+    -- | If @TimePointGranularity@ is set to @SPECIFIC@, the last time point in+    -- the Explainability.+    endDateTime :: Prelude.Maybe Prelude.Text,+    -- | The estimated time remaining in minutes for the CreateExplainability job+    -- to complete.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | The Amazon Resource Name (ARN) of the Explainability.+    explainabilityArn :: Prelude.Maybe Prelude.Text,+    -- | The configuration settings that define the granularity of time series+    -- and time points for the Explainability.+    explainabilityConfig :: Prelude.Maybe ExplainabilityConfig,+    -- | The name of the Explainability.+    explainabilityName :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, a message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Predictor or Forecast used to+    -- create the Explainability resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    schema :: Prelude.Maybe Schema,+    -- | If @TimePointGranularity@ is set to @SPECIFIC@, the first time point in+    -- the Explainability.+    startDateTime :: Prelude.Maybe Prelude.Text,+    -- | The status of the Explainability resource. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: 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 'DescribeExplainabilityResponse' 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:+--+-- 'creationTime', 'describeExplainabilityResponse_creationTime' - When the Explainability resource was created.+--+-- 'dataSource', 'describeExplainabilityResponse_dataSource' - Undocumented member.+--+-- 'enableVisualization', 'describeExplainabilityResponse_enableVisualization' - Whether the visualization was enabled for the Explainability resource.+--+-- 'endDateTime', 'describeExplainabilityResponse_endDateTime' - If @TimePointGranularity@ is set to @SPECIFIC@, the last time point in+-- the Explainability.+--+-- 'estimatedTimeRemainingInMinutes', 'describeExplainabilityResponse_estimatedTimeRemainingInMinutes' - The estimated time remaining in minutes for the CreateExplainability job+-- to complete.+--+-- 'explainabilityArn', 'describeExplainabilityResponse_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability.+--+-- 'explainabilityConfig', 'describeExplainabilityResponse_explainabilityConfig' - The configuration settings that define the granularity of time series+-- and time points for the Explainability.+--+-- 'explainabilityName', 'describeExplainabilityResponse_explainabilityName' - The name of the Explainability.+--+-- 'lastModificationTime', 'describeExplainabilityResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeExplainabilityResponse_message' - If an error occurred, a message about the error.+--+-- 'resourceArn', 'describeExplainabilityResponse_resourceArn' - The Amazon Resource Name (ARN) of the Predictor or Forecast used to+-- create the Explainability resource.+--+-- 'schema', 'describeExplainabilityResponse_schema' - Undocumented member.+--+-- 'startDateTime', 'describeExplainabilityResponse_startDateTime' - If @TimePointGranularity@ is set to @SPECIFIC@, the first time point in+-- the Explainability.+--+-- 'status', 'describeExplainabilityResponse_status' - The status of the Explainability resource. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- 'httpStatus', 'describeExplainabilityResponse_httpStatus' - The response's http status code.+newDescribeExplainabilityResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeExplainabilityResponse+newDescribeExplainabilityResponse pHttpStatus_ =+  DescribeExplainabilityResponse'+    { creationTime =+        Prelude.Nothing,+      dataSource = Prelude.Nothing,+      enableVisualization = Prelude.Nothing,+      endDateTime = Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      explainabilityArn = Prelude.Nothing,+      explainabilityConfig = Prelude.Nothing,+      explainabilityName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      schema = Prelude.Nothing,+      startDateTime = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the Explainability resource was created.+describeExplainabilityResponse_creationTime :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.UTCTime)+describeExplainabilityResponse_creationTime = Lens.lens (\DescribeExplainabilityResponse' {creationTime} -> creationTime) (\s@DescribeExplainabilityResponse' {} a -> s {creationTime = a} :: DescribeExplainabilityResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+describeExplainabilityResponse_dataSource :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe DataSource)+describeExplainabilityResponse_dataSource = Lens.lens (\DescribeExplainabilityResponse' {dataSource} -> dataSource) (\s@DescribeExplainabilityResponse' {} a -> s {dataSource = a} :: DescribeExplainabilityResponse)++-- | Whether the visualization was enabled for the Explainability resource.+describeExplainabilityResponse_enableVisualization :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Bool)+describeExplainabilityResponse_enableVisualization = Lens.lens (\DescribeExplainabilityResponse' {enableVisualization} -> enableVisualization) (\s@DescribeExplainabilityResponse' {} a -> s {enableVisualization = a} :: DescribeExplainabilityResponse)++-- | If @TimePointGranularity@ is set to @SPECIFIC@, the last time point in+-- the Explainability.+describeExplainabilityResponse_endDateTime :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_endDateTime = Lens.lens (\DescribeExplainabilityResponse' {endDateTime} -> endDateTime) (\s@DescribeExplainabilityResponse' {} a -> s {endDateTime = a} :: DescribeExplainabilityResponse)++-- | The estimated time remaining in minutes for the CreateExplainability job+-- to complete.+describeExplainabilityResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Integer)+describeExplainabilityResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeExplainabilityResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeExplainabilityResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeExplainabilityResponse)++-- | The Amazon Resource Name (ARN) of the Explainability.+describeExplainabilityResponse_explainabilityArn :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_explainabilityArn = Lens.lens (\DescribeExplainabilityResponse' {explainabilityArn} -> explainabilityArn) (\s@DescribeExplainabilityResponse' {} a -> s {explainabilityArn = a} :: DescribeExplainabilityResponse)++-- | The configuration settings that define the granularity of time series+-- and time points for the Explainability.+describeExplainabilityResponse_explainabilityConfig :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe ExplainabilityConfig)+describeExplainabilityResponse_explainabilityConfig = Lens.lens (\DescribeExplainabilityResponse' {explainabilityConfig} -> explainabilityConfig) (\s@DescribeExplainabilityResponse' {} a -> s {explainabilityConfig = a} :: DescribeExplainabilityResponse)++-- | The name of the Explainability.+describeExplainabilityResponse_explainabilityName :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_explainabilityName = Lens.lens (\DescribeExplainabilityResponse' {explainabilityName} -> explainabilityName) (\s@DescribeExplainabilityResponse' {} a -> s {explainabilityName = a} :: DescribeExplainabilityResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeExplainabilityResponse_lastModificationTime :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.UTCTime)+describeExplainabilityResponse_lastModificationTime = Lens.lens (\DescribeExplainabilityResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeExplainabilityResponse' {} a -> s {lastModificationTime = a} :: DescribeExplainabilityResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, a message about the error.+describeExplainabilityResponse_message :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_message = Lens.lens (\DescribeExplainabilityResponse' {message} -> message) (\s@DescribeExplainabilityResponse' {} a -> s {message = a} :: DescribeExplainabilityResponse)++-- | The Amazon Resource Name (ARN) of the Predictor or Forecast used to+-- create the Explainability resource.+describeExplainabilityResponse_resourceArn :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_resourceArn = Lens.lens (\DescribeExplainabilityResponse' {resourceArn} -> resourceArn) (\s@DescribeExplainabilityResponse' {} a -> s {resourceArn = a} :: DescribeExplainabilityResponse)++-- | Undocumented member.+describeExplainabilityResponse_schema :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Schema)+describeExplainabilityResponse_schema = Lens.lens (\DescribeExplainabilityResponse' {schema} -> schema) (\s@DescribeExplainabilityResponse' {} a -> s {schema = a} :: DescribeExplainabilityResponse)++-- | If @TimePointGranularity@ is set to @SPECIFIC@, the first time point in+-- the Explainability.+describeExplainabilityResponse_startDateTime :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_startDateTime = Lens.lens (\DescribeExplainabilityResponse' {startDateTime} -> startDateTime) (\s@DescribeExplainabilityResponse' {} a -> s {startDateTime = a} :: DescribeExplainabilityResponse)++-- | The status of the Explainability resource. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+describeExplainabilityResponse_status :: Lens.Lens' DescribeExplainabilityResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityResponse_status = Lens.lens (\DescribeExplainabilityResponse' {status} -> status) (\s@DescribeExplainabilityResponse' {} a -> s {status = a} :: DescribeExplainabilityResponse)++-- | The response's http status code.+describeExplainabilityResponse_httpStatus :: Lens.Lens' DescribeExplainabilityResponse Prelude.Int+describeExplainabilityResponse_httpStatus = Lens.lens (\DescribeExplainabilityResponse' {httpStatus} -> httpStatus) (\s@DescribeExplainabilityResponse' {} a -> s {httpStatus = a} :: DescribeExplainabilityResponse)++instance+  Prelude.NFData+    DescribeExplainabilityResponse+  where+  rnf DescribeExplainabilityResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf dataSource+      `Prelude.seq` Prelude.rnf enableVisualization+      `Prelude.seq` Prelude.rnf endDateTime+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf explainabilityArn+      `Prelude.seq` Prelude.rnf explainabilityConfig+      `Prelude.seq` Prelude.rnf explainabilityName+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf schema+      `Prelude.seq` Prelude.rnf startDateTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeExplainabilityExport.hs view
@@ -0,0 +1,340 @@+{-# 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.Forecast.DescribeExplainabilityExport+-- 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 Explainability export created using the+-- CreateExplainabilityExport operation.+module Amazonka.Forecast.DescribeExplainabilityExport+  ( -- * Creating a Request+    DescribeExplainabilityExport (..),+    newDescribeExplainabilityExport,++    -- * Request Lenses+    describeExplainabilityExport_explainabilityExportArn,++    -- * Destructuring the Response+    DescribeExplainabilityExportResponse (..),+    newDescribeExplainabilityExportResponse,++    -- * Response Lenses+    describeExplainabilityExportResponse_creationTime,+    describeExplainabilityExportResponse_destination,+    describeExplainabilityExportResponse_explainabilityArn,+    describeExplainabilityExportResponse_explainabilityExportArn,+    describeExplainabilityExportResponse_explainabilityExportName,+    describeExplainabilityExportResponse_format,+    describeExplainabilityExportResponse_lastModificationTime,+    describeExplainabilityExportResponse_message,+    describeExplainabilityExportResponse_status,+    describeExplainabilityExportResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeExplainabilityExport' smart constructor.+data DescribeExplainabilityExport = DescribeExplainabilityExport'+  { -- | The Amazon Resource Name (ARN) of the Explainability export.+    explainabilityExportArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeExplainabilityExport' 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:+--+-- 'explainabilityExportArn', 'describeExplainabilityExport_explainabilityExportArn' - The Amazon Resource Name (ARN) of the Explainability export.+newDescribeExplainabilityExport ::+  -- | 'explainabilityExportArn'+  Prelude.Text ->+  DescribeExplainabilityExport+newDescribeExplainabilityExport+  pExplainabilityExportArn_ =+    DescribeExplainabilityExport'+      { explainabilityExportArn =+          pExplainabilityExportArn_+      }++-- | The Amazon Resource Name (ARN) of the Explainability export.+describeExplainabilityExport_explainabilityExportArn :: Lens.Lens' DescribeExplainabilityExport Prelude.Text+describeExplainabilityExport_explainabilityExportArn = Lens.lens (\DescribeExplainabilityExport' {explainabilityExportArn} -> explainabilityExportArn) (\s@DescribeExplainabilityExport' {} a -> s {explainabilityExportArn = a} :: DescribeExplainabilityExport)++instance Core.AWSRequest DescribeExplainabilityExport where+  type+    AWSResponse DescribeExplainabilityExport =+      DescribeExplainabilityExportResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeExplainabilityExportResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "Destination")+            Prelude.<*> (x Data..?> "ExplainabilityArn")+            Prelude.<*> (x Data..?> "ExplainabilityExportArn")+            Prelude.<*> (x Data..?> "ExplainabilityExportName")+            Prelude.<*> (x Data..?> "Format")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeExplainabilityExport+  where+  hashWithSalt _salt DescribeExplainabilityExport' {..} =+    _salt+      `Prelude.hashWithSalt` explainabilityExportArn++instance Prelude.NFData DescribeExplainabilityExport where+  rnf DescribeExplainabilityExport' {..} =+    Prelude.rnf explainabilityExportArn++instance Data.ToHeaders DescribeExplainabilityExport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeExplainabilityExport" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeExplainabilityExport where+  toJSON DescribeExplainabilityExport' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ExplainabilityExportArn"+                  Data..= explainabilityExportArn+              )+          ]+      )++instance Data.ToPath DescribeExplainabilityExport where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeExplainabilityExport where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeExplainabilityExportResponse' smart constructor.+data DescribeExplainabilityExportResponse = DescribeExplainabilityExportResponse'+  { -- | When the Explainability export was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    destination :: Prelude.Maybe DataDestination,+    -- | The Amazon Resource Name (ARN) of the Explainability export.+    explainabilityArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Explainability export.+    explainabilityExportArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the Explainability export.+    explainabilityExportName :: Prelude.Maybe Prelude.Text,+    -- | The format of the exported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about any errors that occurred during the export.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the Explainability export. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: 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 'DescribeExplainabilityExportResponse' 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:+--+-- 'creationTime', 'describeExplainabilityExportResponse_creationTime' - When the Explainability export was created.+--+-- 'destination', 'describeExplainabilityExportResponse_destination' - Undocumented member.+--+-- 'explainabilityArn', 'describeExplainabilityExportResponse_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability export.+--+-- 'explainabilityExportArn', 'describeExplainabilityExportResponse_explainabilityExportArn' - The Amazon Resource Name (ARN) of the Explainability export.+--+-- 'explainabilityExportName', 'describeExplainabilityExportResponse_explainabilityExportName' - The name of the Explainability export.+--+-- 'format', 'describeExplainabilityExportResponse_format' - The format of the exported data, CSV or PARQUET.+--+-- 'lastModificationTime', 'describeExplainabilityExportResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeExplainabilityExportResponse_message' - Information about any errors that occurred during the export.+--+-- 'status', 'describeExplainabilityExportResponse_status' - The status of the Explainability export. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- 'httpStatus', 'describeExplainabilityExportResponse_httpStatus' - The response's http status code.+newDescribeExplainabilityExportResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeExplainabilityExportResponse+newDescribeExplainabilityExportResponse pHttpStatus_ =+  DescribeExplainabilityExportResponse'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      explainabilityArn = Prelude.Nothing,+      explainabilityExportArn =+        Prelude.Nothing,+      explainabilityExportName =+        Prelude.Nothing,+      format = Prelude.Nothing,+      lastModificationTime =+        Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the Explainability export was created.+describeExplainabilityExportResponse_creationTime :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.UTCTime)+describeExplainabilityExportResponse_creationTime = Lens.lens (\DescribeExplainabilityExportResponse' {creationTime} -> creationTime) (\s@DescribeExplainabilityExportResponse' {} a -> s {creationTime = a} :: DescribeExplainabilityExportResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+describeExplainabilityExportResponse_destination :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe DataDestination)+describeExplainabilityExportResponse_destination = Lens.lens (\DescribeExplainabilityExportResponse' {destination} -> destination) (\s@DescribeExplainabilityExportResponse' {} a -> s {destination = a} :: DescribeExplainabilityExportResponse)++-- | The Amazon Resource Name (ARN) of the Explainability export.+describeExplainabilityExportResponse_explainabilityArn :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityExportResponse_explainabilityArn = Lens.lens (\DescribeExplainabilityExportResponse' {explainabilityArn} -> explainabilityArn) (\s@DescribeExplainabilityExportResponse' {} a -> s {explainabilityArn = a} :: DescribeExplainabilityExportResponse)++-- | The Amazon Resource Name (ARN) of the Explainability export.+describeExplainabilityExportResponse_explainabilityExportArn :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityExportResponse_explainabilityExportArn = Lens.lens (\DescribeExplainabilityExportResponse' {explainabilityExportArn} -> explainabilityExportArn) (\s@DescribeExplainabilityExportResponse' {} a -> s {explainabilityExportArn = a} :: DescribeExplainabilityExportResponse)++-- | The name of the Explainability export.+describeExplainabilityExportResponse_explainabilityExportName :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityExportResponse_explainabilityExportName = Lens.lens (\DescribeExplainabilityExportResponse' {explainabilityExportName} -> explainabilityExportName) (\s@DescribeExplainabilityExportResponse' {} a -> s {explainabilityExportName = a} :: DescribeExplainabilityExportResponse)++-- | The format of the exported data, CSV or PARQUET.+describeExplainabilityExportResponse_format :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityExportResponse_format = Lens.lens (\DescribeExplainabilityExportResponse' {format} -> format) (\s@DescribeExplainabilityExportResponse' {} a -> s {format = a} :: DescribeExplainabilityExportResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeExplainabilityExportResponse_lastModificationTime :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.UTCTime)+describeExplainabilityExportResponse_lastModificationTime = Lens.lens (\DescribeExplainabilityExportResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeExplainabilityExportResponse' {} a -> s {lastModificationTime = a} :: DescribeExplainabilityExportResponse) Prelude.. Lens.mapping Data._Time++-- | Information about any errors that occurred during the export.+describeExplainabilityExportResponse_message :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityExportResponse_message = Lens.lens (\DescribeExplainabilityExportResponse' {message} -> message) (\s@DescribeExplainabilityExportResponse' {} a -> s {message = a} :: DescribeExplainabilityExportResponse)++-- | The status of the Explainability export. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+describeExplainabilityExportResponse_status :: Lens.Lens' DescribeExplainabilityExportResponse (Prelude.Maybe Prelude.Text)+describeExplainabilityExportResponse_status = Lens.lens (\DescribeExplainabilityExportResponse' {status} -> status) (\s@DescribeExplainabilityExportResponse' {} a -> s {status = a} :: DescribeExplainabilityExportResponse)++-- | The response's http status code.+describeExplainabilityExportResponse_httpStatus :: Lens.Lens' DescribeExplainabilityExportResponse Prelude.Int+describeExplainabilityExportResponse_httpStatus = Lens.lens (\DescribeExplainabilityExportResponse' {httpStatus} -> httpStatus) (\s@DescribeExplainabilityExportResponse' {} a -> s {httpStatus = a} :: DescribeExplainabilityExportResponse)++instance+  Prelude.NFData+    DescribeExplainabilityExportResponse+  where+  rnf DescribeExplainabilityExportResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf explainabilityArn+      `Prelude.seq` Prelude.rnf explainabilityExportArn+      `Prelude.seq` Prelude.rnf explainabilityExportName+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeForecast.hs view
@@ -0,0 +1,374 @@+{-# 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.Forecast.DescribeForecast+-- 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 forecast created using the CreateForecast operation.+--+-- In addition to listing the properties provided in the @CreateForecast@+-- request, this operation lists the following properties:+--+-- -   @DatasetGroupArn@ - The dataset group that provided the training+--     data.+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Status@+--+-- -   @Message@ - If an error occurred, information about the error.+module Amazonka.Forecast.DescribeForecast+  ( -- * Creating a Request+    DescribeForecast (..),+    newDescribeForecast,++    -- * Request Lenses+    describeForecast_forecastArn,++    -- * Destructuring the Response+    DescribeForecastResponse (..),+    newDescribeForecastResponse,++    -- * Response Lenses+    describeForecastResponse_creationTime,+    describeForecastResponse_datasetGroupArn,+    describeForecastResponse_estimatedTimeRemainingInMinutes,+    describeForecastResponse_forecastArn,+    describeForecastResponse_forecastName,+    describeForecastResponse_forecastTypes,+    describeForecastResponse_lastModificationTime,+    describeForecastResponse_message,+    describeForecastResponse_predictorArn,+    describeForecastResponse_status,+    describeForecastResponse_timeSeriesSelector,+    describeForecastResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeForecast' smart constructor.+data DescribeForecast = DescribeForecast'+  { -- | The Amazon Resource Name (ARN) of the forecast.+    forecastArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeForecast' 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:+--+-- 'forecastArn', 'describeForecast_forecastArn' - The Amazon Resource Name (ARN) of the forecast.+newDescribeForecast ::+  -- | 'forecastArn'+  Prelude.Text ->+  DescribeForecast+newDescribeForecast pForecastArn_ =+  DescribeForecast' {forecastArn = pForecastArn_}++-- | The Amazon Resource Name (ARN) of the forecast.+describeForecast_forecastArn :: Lens.Lens' DescribeForecast Prelude.Text+describeForecast_forecastArn = Lens.lens (\DescribeForecast' {forecastArn} -> forecastArn) (\s@DescribeForecast' {} a -> s {forecastArn = a} :: DescribeForecast)++instance Core.AWSRequest DescribeForecast where+  type+    AWSResponse DescribeForecast =+      DescribeForecastResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeForecastResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "DatasetGroupArn")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "ForecastArn")+            Prelude.<*> (x Data..?> "ForecastName")+            Prelude.<*> (x Data..?> "ForecastTypes")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "PredictorArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TimeSeriesSelector")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeForecast where+  hashWithSalt _salt DescribeForecast' {..} =+    _salt `Prelude.hashWithSalt` forecastArn++instance Prelude.NFData DescribeForecast where+  rnf DescribeForecast' {..} = Prelude.rnf forecastArn++instance Data.ToHeaders DescribeForecast where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeForecast" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeForecast where+  toJSON DescribeForecast' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ForecastArn" Data..= forecastArn)]+      )++instance Data.ToPath DescribeForecast where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeForecast where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeForecastResponse' smart constructor.+data DescribeForecastResponse = DescribeForecastResponse'+  { -- | When the forecast creation task was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The ARN of the dataset group that provided the data used to train the+    -- predictor.+    datasetGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The estimated time remaining in minutes for the forecast job to+    -- complete.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | The forecast ARN as specified in the request.+    forecastArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the forecast.+    forecastName :: Prelude.Maybe Prelude.Text,+    -- | The quantiles at which probabilistic forecasts were generated.+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the predictor used to generate the forecast.+    predictorArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the forecast. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the forecast must be @ACTIVE@ before you can query or+    -- export the forecast.+    status :: Prelude.Maybe Prelude.Text,+    -- | The time series to include in the forecast.+    timeSeriesSelector :: Prelude.Maybe TimeSeriesSelector,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeForecastResponse' 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:+--+-- 'creationTime', 'describeForecastResponse_creationTime' - When the forecast creation task was created.+--+-- 'datasetGroupArn', 'describeForecastResponse_datasetGroupArn' - The ARN of the dataset group that provided the data used to train the+-- predictor.+--+-- 'estimatedTimeRemainingInMinutes', 'describeForecastResponse_estimatedTimeRemainingInMinutes' - The estimated time remaining in minutes for the forecast job to+-- complete.+--+-- 'forecastArn', 'describeForecastResponse_forecastArn' - The forecast ARN as specified in the request.+--+-- 'forecastName', 'describeForecastResponse_forecastName' - The name of the forecast.+--+-- 'forecastTypes', 'describeForecastResponse_forecastTypes' - The quantiles at which probabilistic forecasts were generated.+--+-- 'lastModificationTime', 'describeForecastResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeForecastResponse_message' - If an error occurred, an informational message about the error.+--+-- 'predictorArn', 'describeForecastResponse_predictorArn' - The ARN of the predictor used to generate the forecast.+--+-- 'status', 'describeForecastResponse_status' - The status of the forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast must be @ACTIVE@ before you can query or+-- export the forecast.+--+-- 'timeSeriesSelector', 'describeForecastResponse_timeSeriesSelector' - The time series to include in the forecast.+--+-- 'httpStatus', 'describeForecastResponse_httpStatus' - The response's http status code.+newDescribeForecastResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeForecastResponse+newDescribeForecastResponse pHttpStatus_ =+  DescribeForecastResponse'+    { creationTime =+        Prelude.Nothing,+      datasetGroupArn = Prelude.Nothing,+      estimatedTimeRemainingInMinutes = Prelude.Nothing,+      forecastArn = Prelude.Nothing,+      forecastName = Prelude.Nothing,+      forecastTypes = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      predictorArn = Prelude.Nothing,+      status = Prelude.Nothing,+      timeSeriesSelector = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the forecast creation task was created.+describeForecastResponse_creationTime :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.UTCTime)+describeForecastResponse_creationTime = Lens.lens (\DescribeForecastResponse' {creationTime} -> creationTime) (\s@DescribeForecastResponse' {} a -> s {creationTime = a} :: DescribeForecastResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of the dataset group that provided the data used to train the+-- predictor.+describeForecastResponse_datasetGroupArn :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Text)+describeForecastResponse_datasetGroupArn = Lens.lens (\DescribeForecastResponse' {datasetGroupArn} -> datasetGroupArn) (\s@DescribeForecastResponse' {} a -> s {datasetGroupArn = a} :: DescribeForecastResponse)++-- | The estimated time remaining in minutes for the forecast job to+-- complete.+describeForecastResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Integer)+describeForecastResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeForecastResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeForecastResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeForecastResponse)++-- | The forecast ARN as specified in the request.+describeForecastResponse_forecastArn :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Text)+describeForecastResponse_forecastArn = Lens.lens (\DescribeForecastResponse' {forecastArn} -> forecastArn) (\s@DescribeForecastResponse' {} a -> s {forecastArn = a} :: DescribeForecastResponse)++-- | The name of the forecast.+describeForecastResponse_forecastName :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Text)+describeForecastResponse_forecastName = Lens.lens (\DescribeForecastResponse' {forecastName} -> forecastName) (\s@DescribeForecastResponse' {} a -> s {forecastName = a} :: DescribeForecastResponse)++-- | The quantiles at which probabilistic forecasts were generated.+describeForecastResponse_forecastTypes :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeForecastResponse_forecastTypes = Lens.lens (\DescribeForecastResponse' {forecastTypes} -> forecastTypes) (\s@DescribeForecastResponse' {} a -> s {forecastTypes = a} :: DescribeForecastResponse) Prelude.. Lens.mapping Lens.coerced++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeForecastResponse_lastModificationTime :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.UTCTime)+describeForecastResponse_lastModificationTime = Lens.lens (\DescribeForecastResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeForecastResponse' {} a -> s {lastModificationTime = a} :: DescribeForecastResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describeForecastResponse_message :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Text)+describeForecastResponse_message = Lens.lens (\DescribeForecastResponse' {message} -> message) (\s@DescribeForecastResponse' {} a -> s {message = a} :: DescribeForecastResponse)++-- | The ARN of the predictor used to generate the forecast.+describeForecastResponse_predictorArn :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Text)+describeForecastResponse_predictorArn = Lens.lens (\DescribeForecastResponse' {predictorArn} -> predictorArn) (\s@DescribeForecastResponse' {} a -> s {predictorArn = a} :: DescribeForecastResponse)++-- | The status of the forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast must be @ACTIVE@ before you can query or+-- export the forecast.+describeForecastResponse_status :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe Prelude.Text)+describeForecastResponse_status = Lens.lens (\DescribeForecastResponse' {status} -> status) (\s@DescribeForecastResponse' {} a -> s {status = a} :: DescribeForecastResponse)++-- | The time series to include in the forecast.+describeForecastResponse_timeSeriesSelector :: Lens.Lens' DescribeForecastResponse (Prelude.Maybe TimeSeriesSelector)+describeForecastResponse_timeSeriesSelector = Lens.lens (\DescribeForecastResponse' {timeSeriesSelector} -> timeSeriesSelector) (\s@DescribeForecastResponse' {} a -> s {timeSeriesSelector = a} :: DescribeForecastResponse)++-- | The response's http status code.+describeForecastResponse_httpStatus :: Lens.Lens' DescribeForecastResponse Prelude.Int+describeForecastResponse_httpStatus = Lens.lens (\DescribeForecastResponse' {httpStatus} -> httpStatus) (\s@DescribeForecastResponse' {} a -> s {httpStatus = a} :: DescribeForecastResponse)++instance Prelude.NFData DescribeForecastResponse where+  rnf DescribeForecastResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf forecastName+      `Prelude.seq` Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf timeSeriesSelector+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeForecastExportJob.hs view
@@ -0,0 +1,357 @@+{-# 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.Forecast.DescribeForecastExportJob+-- 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 forecast export job created using the+-- CreateForecastExportJob operation.+--+-- In addition to listing the properties provided by the user in the+-- @CreateForecastExportJob@ request, this operation lists the following+-- properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Status@+--+-- -   @Message@ - If an error occurred, information about the error.+module Amazonka.Forecast.DescribeForecastExportJob+  ( -- * Creating a Request+    DescribeForecastExportJob (..),+    newDescribeForecastExportJob,++    -- * Request Lenses+    describeForecastExportJob_forecastExportJobArn,++    -- * Destructuring the Response+    DescribeForecastExportJobResponse (..),+    newDescribeForecastExportJobResponse,++    -- * Response Lenses+    describeForecastExportJobResponse_creationTime,+    describeForecastExportJobResponse_destination,+    describeForecastExportJobResponse_forecastArn,+    describeForecastExportJobResponse_forecastExportJobArn,+    describeForecastExportJobResponse_forecastExportJobName,+    describeForecastExportJobResponse_format,+    describeForecastExportJobResponse_lastModificationTime,+    describeForecastExportJobResponse_message,+    describeForecastExportJobResponse_status,+    describeForecastExportJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeForecastExportJob' smart constructor.+data DescribeForecastExportJob = DescribeForecastExportJob'+  { -- | The Amazon Resource Name (ARN) of the forecast export job.+    forecastExportJobArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeForecastExportJob' 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:+--+-- 'forecastExportJobArn', 'describeForecastExportJob_forecastExportJobArn' - The Amazon Resource Name (ARN) of the forecast export job.+newDescribeForecastExportJob ::+  -- | 'forecastExportJobArn'+  Prelude.Text ->+  DescribeForecastExportJob+newDescribeForecastExportJob pForecastExportJobArn_ =+  DescribeForecastExportJob'+    { forecastExportJobArn =+        pForecastExportJobArn_+    }++-- | The Amazon Resource Name (ARN) of the forecast export job.+describeForecastExportJob_forecastExportJobArn :: Lens.Lens' DescribeForecastExportJob Prelude.Text+describeForecastExportJob_forecastExportJobArn = Lens.lens (\DescribeForecastExportJob' {forecastExportJobArn} -> forecastExportJobArn) (\s@DescribeForecastExportJob' {} a -> s {forecastExportJobArn = a} :: DescribeForecastExportJob)++instance Core.AWSRequest DescribeForecastExportJob where+  type+    AWSResponse DescribeForecastExportJob =+      DescribeForecastExportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeForecastExportJobResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "Destination")+            Prelude.<*> (x Data..?> "ForecastArn")+            Prelude.<*> (x Data..?> "ForecastExportJobArn")+            Prelude.<*> (x Data..?> "ForecastExportJobName")+            Prelude.<*> (x Data..?> "Format")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeForecastExportJob where+  hashWithSalt _salt DescribeForecastExportJob' {..} =+    _salt `Prelude.hashWithSalt` forecastExportJobArn++instance Prelude.NFData DescribeForecastExportJob where+  rnf DescribeForecastExportJob' {..} =+    Prelude.rnf forecastExportJobArn++instance Data.ToHeaders DescribeForecastExportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeForecastExportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeForecastExportJob where+  toJSON DescribeForecastExportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ForecastExportJobArn"+                  Data..= forecastExportJobArn+              )+          ]+      )++instance Data.ToPath DescribeForecastExportJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeForecastExportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeForecastExportJobResponse' smart constructor.+data DescribeForecastExportJobResponse = DescribeForecastExportJobResponse'+  { -- | When the forecast export job was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The path to the Amazon Simple Storage Service (Amazon S3) bucket where+    -- the forecast is exported.+    destination :: Prelude.Maybe DataDestination,+    -- | The Amazon Resource Name (ARN) of the exported forecast.+    forecastArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the forecast export job.+    forecastExportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the forecast export job.+    forecastExportJobName :: Prelude.Maybe Prelude.Text,+    -- | The format of the exported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the forecast export job. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the forecast export job must be @ACTIVE@ before you can+    -- access the forecast in your S3 bucket.+    status :: 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 'DescribeForecastExportJobResponse' 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:+--+-- 'creationTime', 'describeForecastExportJobResponse_creationTime' - When the forecast export job was created.+--+-- 'destination', 'describeForecastExportJobResponse_destination' - The path to the Amazon Simple Storage Service (Amazon S3) bucket where+-- the forecast is exported.+--+-- 'forecastArn', 'describeForecastExportJobResponse_forecastArn' - The Amazon Resource Name (ARN) of the exported forecast.+--+-- 'forecastExportJobArn', 'describeForecastExportJobResponse_forecastExportJobArn' - The ARN of the forecast export job.+--+-- 'forecastExportJobName', 'describeForecastExportJobResponse_forecastExportJobName' - The name of the forecast export job.+--+-- 'format', 'describeForecastExportJobResponse_format' - The format of the exported data, CSV or PARQUET.+--+-- 'lastModificationTime', 'describeForecastExportJobResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeForecastExportJobResponse_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'describeForecastExportJobResponse_status' - The status of the forecast export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast export job must be @ACTIVE@ before you can+-- access the forecast in your S3 bucket.+--+-- 'httpStatus', 'describeForecastExportJobResponse_httpStatus' - The response's http status code.+newDescribeForecastExportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeForecastExportJobResponse+newDescribeForecastExportJobResponse pHttpStatus_ =+  DescribeForecastExportJobResponse'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      forecastArn = Prelude.Nothing,+      forecastExportJobArn = Prelude.Nothing,+      forecastExportJobName = Prelude.Nothing,+      format = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the forecast export job was created.+describeForecastExportJobResponse_creationTime :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.UTCTime)+describeForecastExportJobResponse_creationTime = Lens.lens (\DescribeForecastExportJobResponse' {creationTime} -> creationTime) (\s@DescribeForecastExportJobResponse' {} a -> s {creationTime = a} :: DescribeForecastExportJobResponse) Prelude.. Lens.mapping Data._Time++-- | The path to the Amazon Simple Storage Service (Amazon S3) bucket where+-- the forecast is exported.+describeForecastExportJobResponse_destination :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe DataDestination)+describeForecastExportJobResponse_destination = Lens.lens (\DescribeForecastExportJobResponse' {destination} -> destination) (\s@DescribeForecastExportJobResponse' {} a -> s {destination = a} :: DescribeForecastExportJobResponse)++-- | The Amazon Resource Name (ARN) of the exported forecast.+describeForecastExportJobResponse_forecastArn :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.Text)+describeForecastExportJobResponse_forecastArn = Lens.lens (\DescribeForecastExportJobResponse' {forecastArn} -> forecastArn) (\s@DescribeForecastExportJobResponse' {} a -> s {forecastArn = a} :: DescribeForecastExportJobResponse)++-- | The ARN of the forecast export job.+describeForecastExportJobResponse_forecastExportJobArn :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.Text)+describeForecastExportJobResponse_forecastExportJobArn = Lens.lens (\DescribeForecastExportJobResponse' {forecastExportJobArn} -> forecastExportJobArn) (\s@DescribeForecastExportJobResponse' {} a -> s {forecastExportJobArn = a} :: DescribeForecastExportJobResponse)++-- | The name of the forecast export job.+describeForecastExportJobResponse_forecastExportJobName :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.Text)+describeForecastExportJobResponse_forecastExportJobName = Lens.lens (\DescribeForecastExportJobResponse' {forecastExportJobName} -> forecastExportJobName) (\s@DescribeForecastExportJobResponse' {} a -> s {forecastExportJobName = a} :: DescribeForecastExportJobResponse)++-- | The format of the exported data, CSV or PARQUET.+describeForecastExportJobResponse_format :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.Text)+describeForecastExportJobResponse_format = Lens.lens (\DescribeForecastExportJobResponse' {format} -> format) (\s@DescribeForecastExportJobResponse' {} a -> s {format = a} :: DescribeForecastExportJobResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeForecastExportJobResponse_lastModificationTime :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.UTCTime)+describeForecastExportJobResponse_lastModificationTime = Lens.lens (\DescribeForecastExportJobResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeForecastExportJobResponse' {} a -> s {lastModificationTime = a} :: DescribeForecastExportJobResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describeForecastExportJobResponse_message :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.Text)+describeForecastExportJobResponse_message = Lens.lens (\DescribeForecastExportJobResponse' {message} -> message) (\s@DescribeForecastExportJobResponse' {} a -> s {message = a} :: DescribeForecastExportJobResponse)++-- | The status of the forecast export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast export job must be @ACTIVE@ before you can+-- access the forecast in your S3 bucket.+describeForecastExportJobResponse_status :: Lens.Lens' DescribeForecastExportJobResponse (Prelude.Maybe Prelude.Text)+describeForecastExportJobResponse_status = Lens.lens (\DescribeForecastExportJobResponse' {status} -> status) (\s@DescribeForecastExportJobResponse' {} a -> s {status = a} :: DescribeForecastExportJobResponse)++-- | The response's http status code.+describeForecastExportJobResponse_httpStatus :: Lens.Lens' DescribeForecastExportJobResponse Prelude.Int+describeForecastExportJobResponse_httpStatus = Lens.lens (\DescribeForecastExportJobResponse' {httpStatus} -> httpStatus) (\s@DescribeForecastExportJobResponse' {} a -> s {httpStatus = a} :: DescribeForecastExportJobResponse)++instance+  Prelude.NFData+    DescribeForecastExportJobResponse+  where+  rnf DescribeForecastExportJobResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf forecastExportJobArn+      `Prelude.seq` Prelude.rnf forecastExportJobName+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeMonitor.hs view
@@ -0,0 +1,313 @@+{-# 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.Forecast.DescribeMonitor+-- 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 monitor resource. In addition to listing the properties+-- provided in the CreateMonitor request, this operation lists the+-- following properties:+--+-- -   @Baseline@+--+-- -   @CreationTime@+--+-- -   @LastEvaluationTime@+--+-- -   @LastEvaluationState@+--+-- -   @LastModificationTime@+--+-- -   @Message@+--+-- -   @Status@+module Amazonka.Forecast.DescribeMonitor+  ( -- * Creating a Request+    DescribeMonitor (..),+    newDescribeMonitor,++    -- * Request Lenses+    describeMonitor_monitorArn,++    -- * Destructuring the Response+    DescribeMonitorResponse (..),+    newDescribeMonitorResponse,++    -- * Response Lenses+    describeMonitorResponse_baseline,+    describeMonitorResponse_creationTime,+    describeMonitorResponse_estimatedEvaluationTimeRemainingInMinutes,+    describeMonitorResponse_lastEvaluationState,+    describeMonitorResponse_lastEvaluationTime,+    describeMonitorResponse_lastModificationTime,+    describeMonitorResponse_message,+    describeMonitorResponse_monitorArn,+    describeMonitorResponse_monitorName,+    describeMonitorResponse_resourceArn,+    describeMonitorResponse_status,+    describeMonitorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeMonitor' smart constructor.+data DescribeMonitor = DescribeMonitor'+  { -- | The Amazon Resource Name (ARN) of the monitor resource to describe.+    monitorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeMonitor' 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:+--+-- 'monitorArn', 'describeMonitor_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource to describe.+newDescribeMonitor ::+  -- | 'monitorArn'+  Prelude.Text ->+  DescribeMonitor+newDescribeMonitor pMonitorArn_ =+  DescribeMonitor' {monitorArn = pMonitorArn_}++-- | The Amazon Resource Name (ARN) of the monitor resource to describe.+describeMonitor_monitorArn :: Lens.Lens' DescribeMonitor Prelude.Text+describeMonitor_monitorArn = Lens.lens (\DescribeMonitor' {monitorArn} -> monitorArn) (\s@DescribeMonitor' {} a -> s {monitorArn = a} :: DescribeMonitor)++instance Core.AWSRequest DescribeMonitor where+  type+    AWSResponse DescribeMonitor =+      DescribeMonitorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeMonitorResponse'+            Prelude.<$> (x Data..?> "Baseline")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> ( x+                            Data..?> "EstimatedEvaluationTimeRemainingInMinutes"+                        )+            Prelude.<*> (x Data..?> "LastEvaluationState")+            Prelude.<*> (x Data..?> "LastEvaluationTime")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "MonitorArn")+            Prelude.<*> (x Data..?> "MonitorName")+            Prelude.<*> (x Data..?> "ResourceArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeMonitor where+  hashWithSalt _salt DescribeMonitor' {..} =+    _salt `Prelude.hashWithSalt` monitorArn++instance Prelude.NFData DescribeMonitor where+  rnf DescribeMonitor' {..} = Prelude.rnf monitorArn++instance Data.ToHeaders DescribeMonitor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeMonitor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeMonitor where+  toJSON DescribeMonitor' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MonitorArn" Data..= monitorArn)]+      )++instance Data.ToPath DescribeMonitor where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeMonitor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeMonitorResponse' smart constructor.+data DescribeMonitorResponse = DescribeMonitorResponse'+  { -- | Metrics you can use as a baseline for comparison purposes. Use these+    -- values you interpret monitoring results for an auto predictor.+    baseline :: Prelude.Maybe Baseline,+    -- | The timestamp for when the monitor resource was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The estimated number of minutes remaining before the monitor resource+    -- finishes its current evaluation.+    estimatedEvaluationTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | The state of the monitor\'s latest evaluation.+    lastEvaluationState :: Prelude.Maybe Prelude.Text,+    -- | The timestamp of the latest evaluation completed by the monitor.+    lastEvaluationTime :: Prelude.Maybe Data.POSIX,+    -- | The timestamp of the latest modification to the monitor.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | An error message, if any, for the monitor.+    message :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the monitor resource described.+    monitorArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the monitor.+    monitorName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the auto predictor being monitored.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the monitor resource.+    status :: 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 'DescribeMonitorResponse' 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:+--+-- 'baseline', 'describeMonitorResponse_baseline' - Metrics you can use as a baseline for comparison purposes. Use these+-- values you interpret monitoring results for an auto predictor.+--+-- 'creationTime', 'describeMonitorResponse_creationTime' - The timestamp for when the monitor resource was created.+--+-- 'estimatedEvaluationTimeRemainingInMinutes', 'describeMonitorResponse_estimatedEvaluationTimeRemainingInMinutes' - The estimated number of minutes remaining before the monitor resource+-- finishes its current evaluation.+--+-- 'lastEvaluationState', 'describeMonitorResponse_lastEvaluationState' - The state of the monitor\'s latest evaluation.+--+-- 'lastEvaluationTime', 'describeMonitorResponse_lastEvaluationTime' - The timestamp of the latest evaluation completed by the monitor.+--+-- 'lastModificationTime', 'describeMonitorResponse_lastModificationTime' - The timestamp of the latest modification to the monitor.+--+-- 'message', 'describeMonitorResponse_message' - An error message, if any, for the monitor.+--+-- 'monitorArn', 'describeMonitorResponse_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource described.+--+-- 'monitorName', 'describeMonitorResponse_monitorName' - The name of the monitor.+--+-- 'resourceArn', 'describeMonitorResponse_resourceArn' - The Amazon Resource Name (ARN) of the auto predictor being monitored.+--+-- 'status', 'describeMonitorResponse_status' - The status of the monitor resource.+--+-- 'httpStatus', 'describeMonitorResponse_httpStatus' - The response's http status code.+newDescribeMonitorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeMonitorResponse+newDescribeMonitorResponse pHttpStatus_ =+  DescribeMonitorResponse'+    { baseline =+        Prelude.Nothing,+      creationTime = Prelude.Nothing,+      estimatedEvaluationTimeRemainingInMinutes =+        Prelude.Nothing,+      lastEvaluationState = Prelude.Nothing,+      lastEvaluationTime = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      monitorArn = Prelude.Nothing,+      monitorName = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Metrics you can use as a baseline for comparison purposes. Use these+-- values you interpret monitoring results for an auto predictor.+describeMonitorResponse_baseline :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Baseline)+describeMonitorResponse_baseline = Lens.lens (\DescribeMonitorResponse' {baseline} -> baseline) (\s@DescribeMonitorResponse' {} a -> s {baseline = a} :: DescribeMonitorResponse)++-- | The timestamp for when the monitor resource was created.+describeMonitorResponse_creationTime :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.UTCTime)+describeMonitorResponse_creationTime = Lens.lens (\DescribeMonitorResponse' {creationTime} -> creationTime) (\s@DescribeMonitorResponse' {} a -> s {creationTime = a} :: DescribeMonitorResponse) Prelude.. Lens.mapping Data._Time++-- | The estimated number of minutes remaining before the monitor resource+-- finishes its current evaluation.+describeMonitorResponse_estimatedEvaluationTimeRemainingInMinutes :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Integer)+describeMonitorResponse_estimatedEvaluationTimeRemainingInMinutes = Lens.lens (\DescribeMonitorResponse' {estimatedEvaluationTimeRemainingInMinutes} -> estimatedEvaluationTimeRemainingInMinutes) (\s@DescribeMonitorResponse' {} a -> s {estimatedEvaluationTimeRemainingInMinutes = a} :: DescribeMonitorResponse)++-- | The state of the monitor\'s latest evaluation.+describeMonitorResponse_lastEvaluationState :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Text)+describeMonitorResponse_lastEvaluationState = Lens.lens (\DescribeMonitorResponse' {lastEvaluationState} -> lastEvaluationState) (\s@DescribeMonitorResponse' {} a -> s {lastEvaluationState = a} :: DescribeMonitorResponse)++-- | The timestamp of the latest evaluation completed by the monitor.+describeMonitorResponse_lastEvaluationTime :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.UTCTime)+describeMonitorResponse_lastEvaluationTime = Lens.lens (\DescribeMonitorResponse' {lastEvaluationTime} -> lastEvaluationTime) (\s@DescribeMonitorResponse' {} a -> s {lastEvaluationTime = a} :: DescribeMonitorResponse) Prelude.. Lens.mapping Data._Time++-- | The timestamp of the latest modification to the monitor.+describeMonitorResponse_lastModificationTime :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.UTCTime)+describeMonitorResponse_lastModificationTime = Lens.lens (\DescribeMonitorResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeMonitorResponse' {} a -> s {lastModificationTime = a} :: DescribeMonitorResponse) Prelude.. Lens.mapping Data._Time++-- | An error message, if any, for the monitor.+describeMonitorResponse_message :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Text)+describeMonitorResponse_message = Lens.lens (\DescribeMonitorResponse' {message} -> message) (\s@DescribeMonitorResponse' {} a -> s {message = a} :: DescribeMonitorResponse)++-- | The Amazon Resource Name (ARN) of the monitor resource described.+describeMonitorResponse_monitorArn :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Text)+describeMonitorResponse_monitorArn = Lens.lens (\DescribeMonitorResponse' {monitorArn} -> monitorArn) (\s@DescribeMonitorResponse' {} a -> s {monitorArn = a} :: DescribeMonitorResponse)++-- | The name of the monitor.+describeMonitorResponse_monitorName :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Text)+describeMonitorResponse_monitorName = Lens.lens (\DescribeMonitorResponse' {monitorName} -> monitorName) (\s@DescribeMonitorResponse' {} a -> s {monitorName = a} :: DescribeMonitorResponse)++-- | The Amazon Resource Name (ARN) of the auto predictor being monitored.+describeMonitorResponse_resourceArn :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Text)+describeMonitorResponse_resourceArn = Lens.lens (\DescribeMonitorResponse' {resourceArn} -> resourceArn) (\s@DescribeMonitorResponse' {} a -> s {resourceArn = a} :: DescribeMonitorResponse)++-- | The status of the monitor resource.+describeMonitorResponse_status :: Lens.Lens' DescribeMonitorResponse (Prelude.Maybe Prelude.Text)+describeMonitorResponse_status = Lens.lens (\DescribeMonitorResponse' {status} -> status) (\s@DescribeMonitorResponse' {} a -> s {status = a} :: DescribeMonitorResponse)++-- | The response's http status code.+describeMonitorResponse_httpStatus :: Lens.Lens' DescribeMonitorResponse Prelude.Int+describeMonitorResponse_httpStatus = Lens.lens (\DescribeMonitorResponse' {httpStatus} -> httpStatus) (\s@DescribeMonitorResponse' {} a -> s {httpStatus = a} :: DescribeMonitorResponse)++instance Prelude.NFData DescribeMonitorResponse where+  rnf DescribeMonitorResponse' {..} =+    Prelude.rnf baseline+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf estimatedEvaluationTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf lastEvaluationState+      `Prelude.seq` Prelude.rnf lastEvaluationTime+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf monitorArn+      `Prelude.seq` Prelude.rnf monitorName+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribePredictor.hs view
@@ -0,0 +1,616 @@+{-# 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.Forecast.DescribePredictor+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This operation is only valid for legacy predictors created with+-- CreatePredictor. If you are not using a legacy predictor, use+-- DescribeAutoPredictor.+--+-- Describes a predictor created using the CreatePredictor operation.+--+-- In addition to listing the properties provided in the @CreatePredictor@+-- request, this operation lists the following properties:+--+-- -   @DatasetImportJobArns@ - The dataset import jobs used to import+--     training data.+--+-- -   @AutoMLAlgorithmArns@ - If AutoML is performed, the algorithms that+--     were evaluated.+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Status@+--+-- -   @Message@ - If an error occurred, information about the error.+module Amazonka.Forecast.DescribePredictor+  ( -- * Creating a Request+    DescribePredictor (..),+    newDescribePredictor,++    -- * Request Lenses+    describePredictor_predictorArn,++    -- * Destructuring the Response+    DescribePredictorResponse (..),+    newDescribePredictorResponse,++    -- * Response Lenses+    describePredictorResponse_algorithmArn,+    describePredictorResponse_autoMLAlgorithmArns,+    describePredictorResponse_autoMLOverrideStrategy,+    describePredictorResponse_creationTime,+    describePredictorResponse_datasetImportJobArns,+    describePredictorResponse_encryptionConfig,+    describePredictorResponse_estimatedTimeRemainingInMinutes,+    describePredictorResponse_evaluationParameters,+    describePredictorResponse_featurizationConfig,+    describePredictorResponse_forecastHorizon,+    describePredictorResponse_forecastTypes,+    describePredictorResponse_hPOConfig,+    describePredictorResponse_inputDataConfig,+    describePredictorResponse_isAutoPredictor,+    describePredictorResponse_lastModificationTime,+    describePredictorResponse_message,+    describePredictorResponse_optimizationMetric,+    describePredictorResponse_performAutoML,+    describePredictorResponse_performHPO,+    describePredictorResponse_predictorArn,+    describePredictorResponse_predictorExecutionDetails,+    describePredictorResponse_predictorName,+    describePredictorResponse_status,+    describePredictorResponse_trainingParameters,+    describePredictorResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePredictor' smart constructor.+data DescribePredictor = DescribePredictor'+  { -- | The Amazon Resource Name (ARN) of the predictor that you want+    -- information about.+    predictorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePredictor' 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:+--+-- 'predictorArn', 'describePredictor_predictorArn' - The Amazon Resource Name (ARN) of the predictor that you want+-- information about.+newDescribePredictor ::+  -- | 'predictorArn'+  Prelude.Text ->+  DescribePredictor+newDescribePredictor pPredictorArn_ =+  DescribePredictor' {predictorArn = pPredictorArn_}++-- | The Amazon Resource Name (ARN) of the predictor that you want+-- information about.+describePredictor_predictorArn :: Lens.Lens' DescribePredictor Prelude.Text+describePredictor_predictorArn = Lens.lens (\DescribePredictor' {predictorArn} -> predictorArn) (\s@DescribePredictor' {} a -> s {predictorArn = a} :: DescribePredictor)++instance Core.AWSRequest DescribePredictor where+  type+    AWSResponse DescribePredictor =+      DescribePredictorResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePredictorResponse'+            Prelude.<$> (x Data..?> "AlgorithmArn")+            Prelude.<*> ( x+                            Data..?> "AutoMLAlgorithmArns"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "AutoMLOverrideStrategy")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> ( x+                            Data..?> "DatasetImportJobArns"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "EncryptionConfig")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "EvaluationParameters")+            Prelude.<*> (x Data..?> "FeaturizationConfig")+            Prelude.<*> (x Data..?> "ForecastHorizon")+            Prelude.<*> (x Data..?> "ForecastTypes")+            Prelude.<*> (x Data..?> "HPOConfig")+            Prelude.<*> (x Data..?> "InputDataConfig")+            Prelude.<*> (x Data..?> "IsAutoPredictor")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "OptimizationMetric")+            Prelude.<*> (x Data..?> "PerformAutoML")+            Prelude.<*> (x Data..?> "PerformHPO")+            Prelude.<*> (x Data..?> "PredictorArn")+            Prelude.<*> (x Data..?> "PredictorExecutionDetails")+            Prelude.<*> (x Data..?> "PredictorName")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> ( x+                            Data..?> "TrainingParameters"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribePredictor where+  hashWithSalt _salt DescribePredictor' {..} =+    _salt `Prelude.hashWithSalt` predictorArn++instance Prelude.NFData DescribePredictor where+  rnf DescribePredictor' {..} = Prelude.rnf predictorArn++instance Data.ToHeaders DescribePredictor where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribePredictor" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribePredictor where+  toJSON DescribePredictor' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("PredictorArn" Data..= predictorArn)]+      )++instance Data.ToPath DescribePredictor where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribePredictor where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePredictorResponse' smart constructor.+data DescribePredictorResponse = DescribePredictorResponse'+  { -- | The Amazon Resource Name (ARN) of the algorithm used for model training.+    algorithmArn :: Prelude.Maybe Prelude.Text,+    -- | When @PerformAutoML@ is specified, the ARN of the chosen algorithm.+    autoMLAlgorithmArns :: Prelude.Maybe [Prelude.Text],+    -- | The @LatencyOptimized@ AutoML override strategy is only available in+    -- private beta. Contact AWS Support or your account manager to learn more+    -- about access privileges.+    --+    -- The AutoML strategy used to train the predictor. Unless+    -- @LatencyOptimized@ is specified, the AutoML strategy optimizes predictor+    -- accuracy.+    --+    -- This parameter is only valid for predictors trained using AutoML.+    autoMLOverrideStrategy :: Prelude.Maybe AutoMLOverrideStrategy,+    -- | When the model training task was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | An array of the ARNs of the dataset import jobs used to import training+    -- data for the predictor.+    datasetImportJobArns :: Prelude.Maybe [Prelude.Text],+    -- | An AWS Key Management Service (KMS) key and the AWS Identity and Access+    -- Management (IAM) role that Amazon Forecast can assume to access the key.+    encryptionConfig :: Prelude.Maybe EncryptionConfig,+    -- | The estimated time remaining in minutes for the predictor training job+    -- to complete.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | Used to override the default evaluation parameters of the specified+    -- algorithm. Amazon Forecast evaluates a predictor by splitting a dataset+    -- into training data and testing data. The evaluation parameters define+    -- how to perform the split and the number of iterations.+    evaluationParameters :: Prelude.Maybe EvaluationParameters,+    -- | The featurization configuration.+    featurizationConfig :: Prelude.Maybe FeaturizationConfig,+    -- | The number of time-steps of the forecast. The forecast horizon is also+    -- called the prediction length.+    forecastHorizon :: Prelude.Maybe Prelude.Int,+    -- | The forecast types used during predictor training. Default value is+    -- @[\"0.1\",\"0.5\",\"0.9\"]@+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The hyperparameter override values for the algorithm.+    hPOConfig :: Prelude.Maybe HyperParameterTuningJobConfig,+    -- | Describes the dataset group that contains the data to use to train the+    -- predictor.+    inputDataConfig :: Prelude.Maybe InputDataConfig,+    -- | Whether the predictor was created with CreateAutoPredictor.+    isAutoPredictor :: Prelude.Maybe Prelude.Bool,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The accuracy metric used to optimize the predictor.+    optimizationMetric :: Prelude.Maybe OptimizationMetric,+    -- | Whether the predictor is set to perform AutoML.+    performAutoML :: Prelude.Maybe Prelude.Bool,+    -- | Whether the predictor is set to perform hyperparameter optimization+    -- (HPO).+    performHPO :: Prelude.Maybe Prelude.Bool,+    -- | The ARN of the predictor.+    predictorArn :: Prelude.Maybe Prelude.Text,+    -- | Details on the the status and results of the backtests performed to+    -- evaluate the accuracy of the predictor. You specify the number of+    -- backtests to perform when you call the operation.+    predictorExecutionDetails :: Prelude.Maybe PredictorExecutionDetails,+    -- | The name of the predictor.+    predictorName :: Prelude.Maybe Prelude.Text,+    -- | The status of the predictor. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- The @Status@ of the predictor must be @ACTIVE@ before you can use the+    -- predictor to create a forecast.+    status :: Prelude.Maybe Prelude.Text,+    -- | The default training parameters or overrides selected during model+    -- training. When running AutoML or choosing HPO with CNN-QR or DeepAR+,+    -- the optimized values for the chosen hyperparameters are returned. For+    -- more information, see aws-forecast-choosing-recipes.+    trainingParameters :: 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 'DescribePredictorResponse' 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:+--+-- 'algorithmArn', 'describePredictorResponse_algorithmArn' - The Amazon Resource Name (ARN) of the algorithm used for model training.+--+-- 'autoMLAlgorithmArns', 'describePredictorResponse_autoMLAlgorithmArns' - When @PerformAutoML@ is specified, the ARN of the chosen algorithm.+--+-- 'autoMLOverrideStrategy', 'describePredictorResponse_autoMLOverrideStrategy' - The @LatencyOptimized@ AutoML override strategy is only available in+-- private beta. Contact AWS Support or your account manager to learn more+-- about access privileges.+--+-- The AutoML strategy used to train the predictor. Unless+-- @LatencyOptimized@ is specified, the AutoML strategy optimizes predictor+-- accuracy.+--+-- This parameter is only valid for predictors trained using AutoML.+--+-- 'creationTime', 'describePredictorResponse_creationTime' - When the model training task was created.+--+-- 'datasetImportJobArns', 'describePredictorResponse_datasetImportJobArns' - An array of the ARNs of the dataset import jobs used to import training+-- data for the predictor.+--+-- 'encryptionConfig', 'describePredictorResponse_encryptionConfig' - An AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+--+-- 'estimatedTimeRemainingInMinutes', 'describePredictorResponse_estimatedTimeRemainingInMinutes' - The estimated time remaining in minutes for the predictor training job+-- to complete.+--+-- 'evaluationParameters', 'describePredictorResponse_evaluationParameters' - Used to override the default evaluation parameters of the specified+-- algorithm. Amazon Forecast evaluates a predictor by splitting a dataset+-- into training data and testing data. The evaluation parameters define+-- how to perform the split and the number of iterations.+--+-- 'featurizationConfig', 'describePredictorResponse_featurizationConfig' - The featurization configuration.+--+-- 'forecastHorizon', 'describePredictorResponse_forecastHorizon' - The number of time-steps of the forecast. The forecast horizon is also+-- called the prediction length.+--+-- 'forecastTypes', 'describePredictorResponse_forecastTypes' - The forecast types used during predictor training. Default value is+-- @[\"0.1\",\"0.5\",\"0.9\"]@+--+-- 'hPOConfig', 'describePredictorResponse_hPOConfig' - The hyperparameter override values for the algorithm.+--+-- 'inputDataConfig', 'describePredictorResponse_inputDataConfig' - Describes the dataset group that contains the data to use to train the+-- predictor.+--+-- 'isAutoPredictor', 'describePredictorResponse_isAutoPredictor' - Whether the predictor was created with CreateAutoPredictor.+--+-- 'lastModificationTime', 'describePredictorResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describePredictorResponse_message' - If an error occurred, an informational message about the error.+--+-- 'optimizationMetric', 'describePredictorResponse_optimizationMetric' - The accuracy metric used to optimize the predictor.+--+-- 'performAutoML', 'describePredictorResponse_performAutoML' - Whether the predictor is set to perform AutoML.+--+-- 'performHPO', 'describePredictorResponse_performHPO' - Whether the predictor is set to perform hyperparameter optimization+-- (HPO).+--+-- 'predictorArn', 'describePredictorResponse_predictorArn' - The ARN of the predictor.+--+-- 'predictorExecutionDetails', 'describePredictorResponse_predictorExecutionDetails' - Details on the the status and results of the backtests performed to+-- evaluate the accuracy of the predictor. You specify the number of+-- backtests to perform when you call the operation.+--+-- 'predictorName', 'describePredictorResponse_predictorName' - The name of the predictor.+--+-- 'status', 'describePredictorResponse_status' - The status of the predictor. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- The @Status@ of the predictor must be @ACTIVE@ before you can use the+-- predictor to create a forecast.+--+-- 'trainingParameters', 'describePredictorResponse_trainingParameters' - The default training parameters or overrides selected during model+-- training. When running AutoML or choosing HPO with CNN-QR or DeepAR+,+-- the optimized values for the chosen hyperparameters are returned. For+-- more information, see aws-forecast-choosing-recipes.+--+-- 'httpStatus', 'describePredictorResponse_httpStatus' - The response's http status code.+newDescribePredictorResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribePredictorResponse+newDescribePredictorResponse pHttpStatus_ =+  DescribePredictorResponse'+    { algorithmArn =+        Prelude.Nothing,+      autoMLAlgorithmArns = Prelude.Nothing,+      autoMLOverrideStrategy = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      datasetImportJobArns = Prelude.Nothing,+      encryptionConfig = Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      evaluationParameters = Prelude.Nothing,+      featurizationConfig = Prelude.Nothing,+      forecastHorizon = Prelude.Nothing,+      forecastTypes = Prelude.Nothing,+      hPOConfig = Prelude.Nothing,+      inputDataConfig = Prelude.Nothing,+      isAutoPredictor = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      optimizationMetric = Prelude.Nothing,+      performAutoML = Prelude.Nothing,+      performHPO = Prelude.Nothing,+      predictorArn = Prelude.Nothing,+      predictorExecutionDetails = Prelude.Nothing,+      predictorName = Prelude.Nothing,+      status = Prelude.Nothing,+      trainingParameters = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the algorithm used for model training.+describePredictorResponse_algorithmArn :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Text)+describePredictorResponse_algorithmArn = Lens.lens (\DescribePredictorResponse' {algorithmArn} -> algorithmArn) (\s@DescribePredictorResponse' {} a -> s {algorithmArn = a} :: DescribePredictorResponse)++-- | When @PerformAutoML@ is specified, the ARN of the chosen algorithm.+describePredictorResponse_autoMLAlgorithmArns :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe [Prelude.Text])+describePredictorResponse_autoMLAlgorithmArns = Lens.lens (\DescribePredictorResponse' {autoMLAlgorithmArns} -> autoMLAlgorithmArns) (\s@DescribePredictorResponse' {} a -> s {autoMLAlgorithmArns = a} :: DescribePredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The @LatencyOptimized@ AutoML override strategy is only available in+-- private beta. Contact AWS Support or your account manager to learn more+-- about access privileges.+--+-- The AutoML strategy used to train the predictor. Unless+-- @LatencyOptimized@ is specified, the AutoML strategy optimizes predictor+-- accuracy.+--+-- This parameter is only valid for predictors trained using AutoML.+describePredictorResponse_autoMLOverrideStrategy :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe AutoMLOverrideStrategy)+describePredictorResponse_autoMLOverrideStrategy = Lens.lens (\DescribePredictorResponse' {autoMLOverrideStrategy} -> autoMLOverrideStrategy) (\s@DescribePredictorResponse' {} a -> s {autoMLOverrideStrategy = a} :: DescribePredictorResponse)++-- | When the model training task was created.+describePredictorResponse_creationTime :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.UTCTime)+describePredictorResponse_creationTime = Lens.lens (\DescribePredictorResponse' {creationTime} -> creationTime) (\s@DescribePredictorResponse' {} a -> s {creationTime = a} :: DescribePredictorResponse) Prelude.. Lens.mapping Data._Time++-- | An array of the ARNs of the dataset import jobs used to import training+-- data for the predictor.+describePredictorResponse_datasetImportJobArns :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe [Prelude.Text])+describePredictorResponse_datasetImportJobArns = Lens.lens (\DescribePredictorResponse' {datasetImportJobArns} -> datasetImportJobArns) (\s@DescribePredictorResponse' {} a -> s {datasetImportJobArns = a} :: DescribePredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | An AWS Key Management Service (KMS) key and the AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+describePredictorResponse_encryptionConfig :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe EncryptionConfig)+describePredictorResponse_encryptionConfig = Lens.lens (\DescribePredictorResponse' {encryptionConfig} -> encryptionConfig) (\s@DescribePredictorResponse' {} a -> s {encryptionConfig = a} :: DescribePredictorResponse)++-- | The estimated time remaining in minutes for the predictor training job+-- to complete.+describePredictorResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Integer)+describePredictorResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribePredictorResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribePredictorResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribePredictorResponse)++-- | Used to override the default evaluation parameters of the specified+-- algorithm. Amazon Forecast evaluates a predictor by splitting a dataset+-- into training data and testing data. The evaluation parameters define+-- how to perform the split and the number of iterations.+describePredictorResponse_evaluationParameters :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe EvaluationParameters)+describePredictorResponse_evaluationParameters = Lens.lens (\DescribePredictorResponse' {evaluationParameters} -> evaluationParameters) (\s@DescribePredictorResponse' {} a -> s {evaluationParameters = a} :: DescribePredictorResponse)++-- | The featurization configuration.+describePredictorResponse_featurizationConfig :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe FeaturizationConfig)+describePredictorResponse_featurizationConfig = Lens.lens (\DescribePredictorResponse' {featurizationConfig} -> featurizationConfig) (\s@DescribePredictorResponse' {} a -> s {featurizationConfig = a} :: DescribePredictorResponse)++-- | The number of time-steps of the forecast. The forecast horizon is also+-- called the prediction length.+describePredictorResponse_forecastHorizon :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Int)+describePredictorResponse_forecastHorizon = Lens.lens (\DescribePredictorResponse' {forecastHorizon} -> forecastHorizon) (\s@DescribePredictorResponse' {} a -> s {forecastHorizon = a} :: DescribePredictorResponse)++-- | The forecast types used during predictor training. Default value is+-- @[\"0.1\",\"0.5\",\"0.9\"]@+describePredictorResponse_forecastTypes :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describePredictorResponse_forecastTypes = Lens.lens (\DescribePredictorResponse' {forecastTypes} -> forecastTypes) (\s@DescribePredictorResponse' {} a -> s {forecastTypes = a} :: DescribePredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The hyperparameter override values for the algorithm.+describePredictorResponse_hPOConfig :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe HyperParameterTuningJobConfig)+describePredictorResponse_hPOConfig = Lens.lens (\DescribePredictorResponse' {hPOConfig} -> hPOConfig) (\s@DescribePredictorResponse' {} a -> s {hPOConfig = a} :: DescribePredictorResponse)++-- | Describes the dataset group that contains the data to use to train the+-- predictor.+describePredictorResponse_inputDataConfig :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe InputDataConfig)+describePredictorResponse_inputDataConfig = Lens.lens (\DescribePredictorResponse' {inputDataConfig} -> inputDataConfig) (\s@DescribePredictorResponse' {} a -> s {inputDataConfig = a} :: DescribePredictorResponse)++-- | Whether the predictor was created with CreateAutoPredictor.+describePredictorResponse_isAutoPredictor :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Bool)+describePredictorResponse_isAutoPredictor = Lens.lens (\DescribePredictorResponse' {isAutoPredictor} -> isAutoPredictor) (\s@DescribePredictorResponse' {} a -> s {isAutoPredictor = a} :: DescribePredictorResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describePredictorResponse_lastModificationTime :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.UTCTime)+describePredictorResponse_lastModificationTime = Lens.lens (\DescribePredictorResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribePredictorResponse' {} a -> s {lastModificationTime = a} :: DescribePredictorResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describePredictorResponse_message :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Text)+describePredictorResponse_message = Lens.lens (\DescribePredictorResponse' {message} -> message) (\s@DescribePredictorResponse' {} a -> s {message = a} :: DescribePredictorResponse)++-- | The accuracy metric used to optimize the predictor.+describePredictorResponse_optimizationMetric :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe OptimizationMetric)+describePredictorResponse_optimizationMetric = Lens.lens (\DescribePredictorResponse' {optimizationMetric} -> optimizationMetric) (\s@DescribePredictorResponse' {} a -> s {optimizationMetric = a} :: DescribePredictorResponse)++-- | Whether the predictor is set to perform AutoML.+describePredictorResponse_performAutoML :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Bool)+describePredictorResponse_performAutoML = Lens.lens (\DescribePredictorResponse' {performAutoML} -> performAutoML) (\s@DescribePredictorResponse' {} a -> s {performAutoML = a} :: DescribePredictorResponse)++-- | Whether the predictor is set to perform hyperparameter optimization+-- (HPO).+describePredictorResponse_performHPO :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Bool)+describePredictorResponse_performHPO = Lens.lens (\DescribePredictorResponse' {performHPO} -> performHPO) (\s@DescribePredictorResponse' {} a -> s {performHPO = a} :: DescribePredictorResponse)++-- | The ARN of the predictor.+describePredictorResponse_predictorArn :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Text)+describePredictorResponse_predictorArn = Lens.lens (\DescribePredictorResponse' {predictorArn} -> predictorArn) (\s@DescribePredictorResponse' {} a -> s {predictorArn = a} :: DescribePredictorResponse)++-- | Details on the the status and results of the backtests performed to+-- evaluate the accuracy of the predictor. You specify the number of+-- backtests to perform when you call the operation.+describePredictorResponse_predictorExecutionDetails :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe PredictorExecutionDetails)+describePredictorResponse_predictorExecutionDetails = Lens.lens (\DescribePredictorResponse' {predictorExecutionDetails} -> predictorExecutionDetails) (\s@DescribePredictorResponse' {} a -> s {predictorExecutionDetails = a} :: DescribePredictorResponse)++-- | The name of the predictor.+describePredictorResponse_predictorName :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Text)+describePredictorResponse_predictorName = Lens.lens (\DescribePredictorResponse' {predictorName} -> predictorName) (\s@DescribePredictorResponse' {} a -> s {predictorName = a} :: DescribePredictorResponse)++-- | The status of the predictor. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- The @Status@ of the predictor must be @ACTIVE@ before you can use the+-- predictor to create a forecast.+describePredictorResponse_status :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe Prelude.Text)+describePredictorResponse_status = Lens.lens (\DescribePredictorResponse' {status} -> status) (\s@DescribePredictorResponse' {} a -> s {status = a} :: DescribePredictorResponse)++-- | The default training parameters or overrides selected during model+-- training. When running AutoML or choosing HPO with CNN-QR or DeepAR+,+-- the optimized values for the chosen hyperparameters are returned. For+-- more information, see aws-forecast-choosing-recipes.+describePredictorResponse_trainingParameters :: Lens.Lens' DescribePredictorResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describePredictorResponse_trainingParameters = Lens.lens (\DescribePredictorResponse' {trainingParameters} -> trainingParameters) (\s@DescribePredictorResponse' {} a -> s {trainingParameters = a} :: DescribePredictorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describePredictorResponse_httpStatus :: Lens.Lens' DescribePredictorResponse Prelude.Int+describePredictorResponse_httpStatus = Lens.lens (\DescribePredictorResponse' {httpStatus} -> httpStatus) (\s@DescribePredictorResponse' {} a -> s {httpStatus = a} :: DescribePredictorResponse)++instance Prelude.NFData DescribePredictorResponse where+  rnf DescribePredictorResponse' {..} =+    Prelude.rnf algorithmArn+      `Prelude.seq` Prelude.rnf autoMLAlgorithmArns+      `Prelude.seq` Prelude.rnf autoMLOverrideStrategy+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetImportJobArns+      `Prelude.seq` Prelude.rnf encryptionConfig+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf evaluationParameters+      `Prelude.seq` Prelude.rnf featurizationConfig+      `Prelude.seq` Prelude.rnf forecastHorizon+      `Prelude.seq` Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf hPOConfig+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf isAutoPredictor+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf optimizationMetric+      `Prelude.seq` Prelude.rnf performAutoML+      `Prelude.seq` Prelude.rnf performHPO+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf+        predictorExecutionDetails+      `Prelude.seq` Prelude.rnf predictorName+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf+        trainingParameters+      `Prelude.seq` Prelude.rnf+        httpStatus
+ gen/Amazonka/Forecast/DescribePredictorBacktestExportJob.hs view
@@ -0,0 +1,376 @@+{-# 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.Forecast.DescribePredictorBacktestExportJob+-- 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 predictor backtest export job created using the+-- CreatePredictorBacktestExportJob operation.+--+-- In addition to listing the properties provided by the user in the+-- @CreatePredictorBacktestExportJob@ request, this operation lists the+-- following properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Status@+--+-- -   @Message@ (if an error occurred)+module Amazonka.Forecast.DescribePredictorBacktestExportJob+  ( -- * Creating a Request+    DescribePredictorBacktestExportJob (..),+    newDescribePredictorBacktestExportJob,++    -- * Request Lenses+    describePredictorBacktestExportJob_predictorBacktestExportJobArn,++    -- * Destructuring the Response+    DescribePredictorBacktestExportJobResponse (..),+    newDescribePredictorBacktestExportJobResponse,++    -- * Response Lenses+    describePredictorBacktestExportJobResponse_creationTime,+    describePredictorBacktestExportJobResponse_destination,+    describePredictorBacktestExportJobResponse_format,+    describePredictorBacktestExportJobResponse_lastModificationTime,+    describePredictorBacktestExportJobResponse_message,+    describePredictorBacktestExportJobResponse_predictorArn,+    describePredictorBacktestExportJobResponse_predictorBacktestExportJobArn,+    describePredictorBacktestExportJobResponse_predictorBacktestExportJobName,+    describePredictorBacktestExportJobResponse_status,+    describePredictorBacktestExportJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePredictorBacktestExportJob' smart constructor.+data DescribePredictorBacktestExportJob = DescribePredictorBacktestExportJob'+  { -- | The Amazon Resource Name (ARN) of the predictor backtest export job.+    predictorBacktestExportJobArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePredictorBacktestExportJob' 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:+--+-- 'predictorBacktestExportJobArn', 'describePredictorBacktestExportJob_predictorBacktestExportJobArn' - The Amazon Resource Name (ARN) of the predictor backtest export job.+newDescribePredictorBacktestExportJob ::+  -- | 'predictorBacktestExportJobArn'+  Prelude.Text ->+  DescribePredictorBacktestExportJob+newDescribePredictorBacktestExportJob+  pPredictorBacktestExportJobArn_ =+    DescribePredictorBacktestExportJob'+      { predictorBacktestExportJobArn =+          pPredictorBacktestExportJobArn_+      }++-- | The Amazon Resource Name (ARN) of the predictor backtest export job.+describePredictorBacktestExportJob_predictorBacktestExportJobArn :: Lens.Lens' DescribePredictorBacktestExportJob Prelude.Text+describePredictorBacktestExportJob_predictorBacktestExportJobArn = Lens.lens (\DescribePredictorBacktestExportJob' {predictorBacktestExportJobArn} -> predictorBacktestExportJobArn) (\s@DescribePredictorBacktestExportJob' {} a -> s {predictorBacktestExportJobArn = a} :: DescribePredictorBacktestExportJob)++instance+  Core.AWSRequest+    DescribePredictorBacktestExportJob+  where+  type+    AWSResponse DescribePredictorBacktestExportJob =+      DescribePredictorBacktestExportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePredictorBacktestExportJobResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "Destination")+            Prelude.<*> (x Data..?> "Format")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "PredictorArn")+            Prelude.<*> (x Data..?> "PredictorBacktestExportJobArn")+            Prelude.<*> (x Data..?> "PredictorBacktestExportJobName")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribePredictorBacktestExportJob+  where+  hashWithSalt+    _salt+    DescribePredictorBacktestExportJob' {..} =+      _salt+        `Prelude.hashWithSalt` predictorBacktestExportJobArn++instance+  Prelude.NFData+    DescribePredictorBacktestExportJob+  where+  rnf DescribePredictorBacktestExportJob' {..} =+    Prelude.rnf predictorBacktestExportJobArn++instance+  Data.ToHeaders+    DescribePredictorBacktestExportJob+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribePredictorBacktestExportJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    DescribePredictorBacktestExportJob+  where+  toJSON DescribePredictorBacktestExportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "PredictorBacktestExportJobArn"+                  Data..= predictorBacktestExportJobArn+              )+          ]+      )++instance+  Data.ToPath+    DescribePredictorBacktestExportJob+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribePredictorBacktestExportJob+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePredictorBacktestExportJobResponse' smart constructor.+data DescribePredictorBacktestExportJobResponse = DescribePredictorBacktestExportJobResponse'+  { -- | When the predictor backtest export job was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    destination :: Prelude.Maybe DataDestination,+    -- | The format of the exported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about any errors that may have occurred during the backtest+    -- export.+    message :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor.+    predictorArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor backtest export job.+    predictorBacktestExportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the predictor backtest export job.+    predictorBacktestExportJobName :: Prelude.Maybe Prelude.Text,+    -- | The status of the predictor backtest export job. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: 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 'DescribePredictorBacktestExportJobResponse' 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:+--+-- 'creationTime', 'describePredictorBacktestExportJobResponse_creationTime' - When the predictor backtest export job was created.+--+-- 'destination', 'describePredictorBacktestExportJobResponse_destination' - Undocumented member.+--+-- 'format', 'describePredictorBacktestExportJobResponse_format' - The format of the exported data, CSV or PARQUET.+--+-- 'lastModificationTime', 'describePredictorBacktestExportJobResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describePredictorBacktestExportJobResponse_message' - Information about any errors that may have occurred during the backtest+-- export.+--+-- 'predictorArn', 'describePredictorBacktestExportJobResponse_predictorArn' - The Amazon Resource Name (ARN) of the predictor.+--+-- 'predictorBacktestExportJobArn', 'describePredictorBacktestExportJobResponse_predictorBacktestExportJobArn' - The Amazon Resource Name (ARN) of the predictor backtest export job.+--+-- 'predictorBacktestExportJobName', 'describePredictorBacktestExportJobResponse_predictorBacktestExportJobName' - The name of the predictor backtest export job.+--+-- 'status', 'describePredictorBacktestExportJobResponse_status' - The status of the predictor backtest export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- 'httpStatus', 'describePredictorBacktestExportJobResponse_httpStatus' - The response's http status code.+newDescribePredictorBacktestExportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribePredictorBacktestExportJobResponse+newDescribePredictorBacktestExportJobResponse+  pHttpStatus_ =+    DescribePredictorBacktestExportJobResponse'+      { creationTime =+          Prelude.Nothing,+        destination = Prelude.Nothing,+        format = Prelude.Nothing,+        lastModificationTime =+          Prelude.Nothing,+        message = Prelude.Nothing,+        predictorArn = Prelude.Nothing,+        predictorBacktestExportJobArn =+          Prelude.Nothing,+        predictorBacktestExportJobName =+          Prelude.Nothing,+        status = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | When the predictor backtest export job was created.+describePredictorBacktestExportJobResponse_creationTime :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.UTCTime)+describePredictorBacktestExportJobResponse_creationTime = Lens.lens (\DescribePredictorBacktestExportJobResponse' {creationTime} -> creationTime) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {creationTime = a} :: DescribePredictorBacktestExportJobResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+describePredictorBacktestExportJobResponse_destination :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe DataDestination)+describePredictorBacktestExportJobResponse_destination = Lens.lens (\DescribePredictorBacktestExportJobResponse' {destination} -> destination) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {destination = a} :: DescribePredictorBacktestExportJobResponse)++-- | The format of the exported data, CSV or PARQUET.+describePredictorBacktestExportJobResponse_format :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+describePredictorBacktestExportJobResponse_format = Lens.lens (\DescribePredictorBacktestExportJobResponse' {format} -> format) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {format = a} :: DescribePredictorBacktestExportJobResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describePredictorBacktestExportJobResponse_lastModificationTime :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.UTCTime)+describePredictorBacktestExportJobResponse_lastModificationTime = Lens.lens (\DescribePredictorBacktestExportJobResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {lastModificationTime = a} :: DescribePredictorBacktestExportJobResponse) Prelude.. Lens.mapping Data._Time++-- | Information about any errors that may have occurred during the backtest+-- export.+describePredictorBacktestExportJobResponse_message :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+describePredictorBacktestExportJobResponse_message = Lens.lens (\DescribePredictorBacktestExportJobResponse' {message} -> message) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {message = a} :: DescribePredictorBacktestExportJobResponse)++-- | The Amazon Resource Name (ARN) of the predictor.+describePredictorBacktestExportJobResponse_predictorArn :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+describePredictorBacktestExportJobResponse_predictorArn = Lens.lens (\DescribePredictorBacktestExportJobResponse' {predictorArn} -> predictorArn) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {predictorArn = a} :: DescribePredictorBacktestExportJobResponse)++-- | The Amazon Resource Name (ARN) of the predictor backtest export job.+describePredictorBacktestExportJobResponse_predictorBacktestExportJobArn :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+describePredictorBacktestExportJobResponse_predictorBacktestExportJobArn = Lens.lens (\DescribePredictorBacktestExportJobResponse' {predictorBacktestExportJobArn} -> predictorBacktestExportJobArn) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {predictorBacktestExportJobArn = a} :: DescribePredictorBacktestExportJobResponse)++-- | The name of the predictor backtest export job.+describePredictorBacktestExportJobResponse_predictorBacktestExportJobName :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+describePredictorBacktestExportJobResponse_predictorBacktestExportJobName = Lens.lens (\DescribePredictorBacktestExportJobResponse' {predictorBacktestExportJobName} -> predictorBacktestExportJobName) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {predictorBacktestExportJobName = a} :: DescribePredictorBacktestExportJobResponse)++-- | The status of the predictor backtest export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+describePredictorBacktestExportJobResponse_status :: Lens.Lens' DescribePredictorBacktestExportJobResponse (Prelude.Maybe Prelude.Text)+describePredictorBacktestExportJobResponse_status = Lens.lens (\DescribePredictorBacktestExportJobResponse' {status} -> status) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {status = a} :: DescribePredictorBacktestExportJobResponse)++-- | The response's http status code.+describePredictorBacktestExportJobResponse_httpStatus :: Lens.Lens' DescribePredictorBacktestExportJobResponse Prelude.Int+describePredictorBacktestExportJobResponse_httpStatus = Lens.lens (\DescribePredictorBacktestExportJobResponse' {httpStatus} -> httpStatus) (\s@DescribePredictorBacktestExportJobResponse' {} a -> s {httpStatus = a} :: DescribePredictorBacktestExportJobResponse)++instance+  Prelude.NFData+    DescribePredictorBacktestExportJobResponse+  where+  rnf DescribePredictorBacktestExportJobResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf predictorBacktestExportJobArn+      `Prelude.seq` Prelude.rnf predictorBacktestExportJobName+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeWhatIfAnalysis.hs view
@@ -0,0 +1,358 @@+{-# 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.Forecast.DescribeWhatIfAnalysis+-- 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 the what-if analysis created using the CreateWhatIfAnalysis+-- operation.+--+-- In addition to listing the properties provided in the+-- @CreateWhatIfAnalysis@ request, this operation lists the following+-- properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Message@ - If an error occurred, information about the error.+--+-- -   @Status@+module Amazonka.Forecast.DescribeWhatIfAnalysis+  ( -- * Creating a Request+    DescribeWhatIfAnalysis (..),+    newDescribeWhatIfAnalysis,++    -- * Request Lenses+    describeWhatIfAnalysis_whatIfAnalysisArn,++    -- * Destructuring the Response+    DescribeWhatIfAnalysisResponse (..),+    newDescribeWhatIfAnalysisResponse,++    -- * Response Lenses+    describeWhatIfAnalysisResponse_creationTime,+    describeWhatIfAnalysisResponse_estimatedTimeRemainingInMinutes,+    describeWhatIfAnalysisResponse_forecastArn,+    describeWhatIfAnalysisResponse_lastModificationTime,+    describeWhatIfAnalysisResponse_message,+    describeWhatIfAnalysisResponse_status,+    describeWhatIfAnalysisResponse_timeSeriesSelector,+    describeWhatIfAnalysisResponse_whatIfAnalysisArn,+    describeWhatIfAnalysisResponse_whatIfAnalysisName,+    describeWhatIfAnalysisResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeWhatIfAnalysis' smart constructor.+data DescribeWhatIfAnalysis = DescribeWhatIfAnalysis'+  { -- | The Amazon Resource Name (ARN) of the what-if analysis that you are+    -- interested in.+    whatIfAnalysisArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWhatIfAnalysis' 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:+--+-- 'whatIfAnalysisArn', 'describeWhatIfAnalysis_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis that you are+-- interested in.+newDescribeWhatIfAnalysis ::+  -- | 'whatIfAnalysisArn'+  Prelude.Text ->+  DescribeWhatIfAnalysis+newDescribeWhatIfAnalysis pWhatIfAnalysisArn_ =+  DescribeWhatIfAnalysis'+    { whatIfAnalysisArn =+        pWhatIfAnalysisArn_+    }++-- | The Amazon Resource Name (ARN) of the what-if analysis that you are+-- interested in.+describeWhatIfAnalysis_whatIfAnalysisArn :: Lens.Lens' DescribeWhatIfAnalysis Prelude.Text+describeWhatIfAnalysis_whatIfAnalysisArn = Lens.lens (\DescribeWhatIfAnalysis' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@DescribeWhatIfAnalysis' {} a -> s {whatIfAnalysisArn = a} :: DescribeWhatIfAnalysis)++instance Core.AWSRequest DescribeWhatIfAnalysis where+  type+    AWSResponse DescribeWhatIfAnalysis =+      DescribeWhatIfAnalysisResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeWhatIfAnalysisResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "ForecastArn")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TimeSeriesSelector")+            Prelude.<*> (x Data..?> "WhatIfAnalysisArn")+            Prelude.<*> (x Data..?> "WhatIfAnalysisName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeWhatIfAnalysis where+  hashWithSalt _salt DescribeWhatIfAnalysis' {..} =+    _salt `Prelude.hashWithSalt` whatIfAnalysisArn++instance Prelude.NFData DescribeWhatIfAnalysis where+  rnf DescribeWhatIfAnalysis' {..} =+    Prelude.rnf whatIfAnalysisArn++instance Data.ToHeaders DescribeWhatIfAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeWhatIfAnalysis" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeWhatIfAnalysis where+  toJSON DescribeWhatIfAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("WhatIfAnalysisArn" Data..= whatIfAnalysisArn)+          ]+      )++instance Data.ToPath DescribeWhatIfAnalysis where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeWhatIfAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeWhatIfAnalysisResponse' smart constructor.+data DescribeWhatIfAnalysisResponse = DescribeWhatIfAnalysisResponse'+  { -- | When the what-if analysis was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The approximate time remaining to complete the what-if analysis, in+    -- minutes.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | The Amazon Resource Name (ARN) of the what-if forecast.+    forecastArn :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the what-if analysis. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+    -- access the analysis.+    status :: Prelude.Maybe Prelude.Text,+    timeSeriesSelector :: Prelude.Maybe TimeSeriesSelector,+    -- | The Amazon Resource Name (ARN) of the what-if analysis.+    whatIfAnalysisArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the what-if analysis.+    whatIfAnalysisName :: 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 'DescribeWhatIfAnalysisResponse' 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:+--+-- 'creationTime', 'describeWhatIfAnalysisResponse_creationTime' - When the what-if analysis was created.+--+-- 'estimatedTimeRemainingInMinutes', 'describeWhatIfAnalysisResponse_estimatedTimeRemainingInMinutes' - The approximate time remaining to complete the what-if analysis, in+-- minutes.+--+-- 'forecastArn', 'describeWhatIfAnalysisResponse_forecastArn' - The Amazon Resource Name (ARN) of the what-if forecast.+--+-- 'lastModificationTime', 'describeWhatIfAnalysisResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeWhatIfAnalysisResponse_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'describeWhatIfAnalysisResponse_status' - The status of the what-if analysis. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+--+-- 'timeSeriesSelector', 'describeWhatIfAnalysisResponse_timeSeriesSelector' - Undocumented member.+--+-- 'whatIfAnalysisArn', 'describeWhatIfAnalysisResponse_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis.+--+-- 'whatIfAnalysisName', 'describeWhatIfAnalysisResponse_whatIfAnalysisName' - The name of the what-if analysis.+--+-- 'httpStatus', 'describeWhatIfAnalysisResponse_httpStatus' - The response's http status code.+newDescribeWhatIfAnalysisResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeWhatIfAnalysisResponse+newDescribeWhatIfAnalysisResponse pHttpStatus_ =+  DescribeWhatIfAnalysisResponse'+    { creationTime =+        Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      forecastArn = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      timeSeriesSelector = Prelude.Nothing,+      whatIfAnalysisArn = Prelude.Nothing,+      whatIfAnalysisName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the what-if analysis was created.+describeWhatIfAnalysisResponse_creationTime :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.UTCTime)+describeWhatIfAnalysisResponse_creationTime = Lens.lens (\DescribeWhatIfAnalysisResponse' {creationTime} -> creationTime) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {creationTime = a} :: DescribeWhatIfAnalysisResponse) Prelude.. Lens.mapping Data._Time++-- | The approximate time remaining to complete the what-if analysis, in+-- minutes.+describeWhatIfAnalysisResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.Integer)+describeWhatIfAnalysisResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeWhatIfAnalysisResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeWhatIfAnalysisResponse)++-- | The Amazon Resource Name (ARN) of the what-if forecast.+describeWhatIfAnalysisResponse_forecastArn :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.Text)+describeWhatIfAnalysisResponse_forecastArn = Lens.lens (\DescribeWhatIfAnalysisResponse' {forecastArn} -> forecastArn) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {forecastArn = a} :: DescribeWhatIfAnalysisResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeWhatIfAnalysisResponse_lastModificationTime :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.UTCTime)+describeWhatIfAnalysisResponse_lastModificationTime = Lens.lens (\DescribeWhatIfAnalysisResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {lastModificationTime = a} :: DescribeWhatIfAnalysisResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describeWhatIfAnalysisResponse_message :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.Text)+describeWhatIfAnalysisResponse_message = Lens.lens (\DescribeWhatIfAnalysisResponse' {message} -> message) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {message = a} :: DescribeWhatIfAnalysisResponse)++-- | The status of the what-if analysis. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+describeWhatIfAnalysisResponse_status :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.Text)+describeWhatIfAnalysisResponse_status = Lens.lens (\DescribeWhatIfAnalysisResponse' {status} -> status) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {status = a} :: DescribeWhatIfAnalysisResponse)++-- | Undocumented member.+describeWhatIfAnalysisResponse_timeSeriesSelector :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe TimeSeriesSelector)+describeWhatIfAnalysisResponse_timeSeriesSelector = Lens.lens (\DescribeWhatIfAnalysisResponse' {timeSeriesSelector} -> timeSeriesSelector) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {timeSeriesSelector = a} :: DescribeWhatIfAnalysisResponse)++-- | The Amazon Resource Name (ARN) of the what-if analysis.+describeWhatIfAnalysisResponse_whatIfAnalysisArn :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.Text)+describeWhatIfAnalysisResponse_whatIfAnalysisArn = Lens.lens (\DescribeWhatIfAnalysisResponse' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {whatIfAnalysisArn = a} :: DescribeWhatIfAnalysisResponse)++-- | The name of the what-if analysis.+describeWhatIfAnalysisResponse_whatIfAnalysisName :: Lens.Lens' DescribeWhatIfAnalysisResponse (Prelude.Maybe Prelude.Text)+describeWhatIfAnalysisResponse_whatIfAnalysisName = Lens.lens (\DescribeWhatIfAnalysisResponse' {whatIfAnalysisName} -> whatIfAnalysisName) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {whatIfAnalysisName = a} :: DescribeWhatIfAnalysisResponse)++-- | The response's http status code.+describeWhatIfAnalysisResponse_httpStatus :: Lens.Lens' DescribeWhatIfAnalysisResponse Prelude.Int+describeWhatIfAnalysisResponse_httpStatus = Lens.lens (\DescribeWhatIfAnalysisResponse' {httpStatus} -> httpStatus) (\s@DescribeWhatIfAnalysisResponse' {} a -> s {httpStatus = a} :: DescribeWhatIfAnalysisResponse)++instance+  Prelude.NFData+    DescribeWhatIfAnalysisResponse+  where+  rnf DescribeWhatIfAnalysisResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf timeSeriesSelector+      `Prelude.seq` Prelude.rnf whatIfAnalysisArn+      `Prelude.seq` Prelude.rnf whatIfAnalysisName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeWhatIfForecast.hs view
@@ -0,0 +1,405 @@+{-# 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.Forecast.DescribeWhatIfForecast+-- 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 the what-if forecast created using the CreateWhatIfForecast+-- operation.+--+-- In addition to listing the properties provided in the+-- @CreateWhatIfForecast@ request, this operation lists the following+-- properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Message@ - If an error occurred, information about the error.+--+-- -   @Status@+module Amazonka.Forecast.DescribeWhatIfForecast+  ( -- * Creating a Request+    DescribeWhatIfForecast (..),+    newDescribeWhatIfForecast,++    -- * Request Lenses+    describeWhatIfForecast_whatIfForecastArn,++    -- * Destructuring the Response+    DescribeWhatIfForecastResponse (..),+    newDescribeWhatIfForecastResponse,++    -- * Response Lenses+    describeWhatIfForecastResponse_creationTime,+    describeWhatIfForecastResponse_estimatedTimeRemainingInMinutes,+    describeWhatIfForecastResponse_forecastTypes,+    describeWhatIfForecastResponse_lastModificationTime,+    describeWhatIfForecastResponse_message,+    describeWhatIfForecastResponse_status,+    describeWhatIfForecastResponse_timeSeriesReplacementsDataSource,+    describeWhatIfForecastResponse_timeSeriesTransformations,+    describeWhatIfForecastResponse_whatIfAnalysisArn,+    describeWhatIfForecastResponse_whatIfForecastArn,+    describeWhatIfForecastResponse_whatIfForecastName,+    describeWhatIfForecastResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeWhatIfForecast' smart constructor.+data DescribeWhatIfForecast = DescribeWhatIfForecast'+  { -- | The Amazon Resource Name (ARN) of the what-if forecast that you are+    -- interested in.+    whatIfForecastArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWhatIfForecast' 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:+--+-- 'whatIfForecastArn', 'describeWhatIfForecast_whatIfForecastArn' - The Amazon Resource Name (ARN) of the what-if forecast that you are+-- interested in.+newDescribeWhatIfForecast ::+  -- | 'whatIfForecastArn'+  Prelude.Text ->+  DescribeWhatIfForecast+newDescribeWhatIfForecast pWhatIfForecastArn_ =+  DescribeWhatIfForecast'+    { whatIfForecastArn =+        pWhatIfForecastArn_+    }++-- | The Amazon Resource Name (ARN) of the what-if forecast that you are+-- interested in.+describeWhatIfForecast_whatIfForecastArn :: Lens.Lens' DescribeWhatIfForecast Prelude.Text+describeWhatIfForecast_whatIfForecastArn = Lens.lens (\DescribeWhatIfForecast' {whatIfForecastArn} -> whatIfForecastArn) (\s@DescribeWhatIfForecast' {} a -> s {whatIfForecastArn = a} :: DescribeWhatIfForecast)++instance Core.AWSRequest DescribeWhatIfForecast where+  type+    AWSResponse DescribeWhatIfForecast =+      DescribeWhatIfForecastResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeWhatIfForecastResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "ForecastTypes")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TimeSeriesReplacementsDataSource")+            Prelude.<*> ( x+                            Data..?> "TimeSeriesTransformations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "WhatIfAnalysisArn")+            Prelude.<*> (x Data..?> "WhatIfForecastArn")+            Prelude.<*> (x Data..?> "WhatIfForecastName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeWhatIfForecast where+  hashWithSalt _salt DescribeWhatIfForecast' {..} =+    _salt `Prelude.hashWithSalt` whatIfForecastArn++instance Prelude.NFData DescribeWhatIfForecast where+  rnf DescribeWhatIfForecast' {..} =+    Prelude.rnf whatIfForecastArn++instance Data.ToHeaders DescribeWhatIfForecast where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeWhatIfForecast" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeWhatIfForecast where+  toJSON DescribeWhatIfForecast' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("WhatIfForecastArn" Data..= whatIfForecastArn)+          ]+      )++instance Data.ToPath DescribeWhatIfForecast where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeWhatIfForecast where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeWhatIfForecastResponse' smart constructor.+data DescribeWhatIfForecastResponse = DescribeWhatIfForecastResponse'+  { -- | When the what-if forecast was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The approximate time remaining to complete the what-if forecast, in+    -- minutes.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | The quantiles at which probabilistic forecasts are generated. You can+    -- specify up to 5 quantiles per what-if forecast in the+    -- CreateWhatIfForecast operation. If you didn\'t specify quantiles, the+    -- default values are @[\"0.1\", \"0.5\", \"0.9\"]@.+    forecastTypes :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the what-if forecast. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the what-if forecast must be @ACTIVE@ before you can+    -- access the forecast.+    status :: Prelude.Maybe Prelude.Text,+    -- | An array of @S3Config@, @Schema@, and @Format@ elements that describe+    -- the replacement time series.+    timeSeriesReplacementsDataSource :: Prelude.Maybe TimeSeriesReplacementsDataSource,+    -- | An array of @Action@ and @TimeSeriesConditions@ elements that describe+    -- what transformations were applied to which time series.+    timeSeriesTransformations :: Prelude.Maybe [TimeSeriesTransformation],+    -- | The Amazon Resource Name (ARN) of the what-if analysis that contains+    -- this forecast.+    whatIfAnalysisArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the what-if forecast.+    whatIfForecastArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the what-if forecast.+    whatIfForecastName :: 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 'DescribeWhatIfForecastResponse' 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:+--+-- 'creationTime', 'describeWhatIfForecastResponse_creationTime' - When the what-if forecast was created.+--+-- 'estimatedTimeRemainingInMinutes', 'describeWhatIfForecastResponse_estimatedTimeRemainingInMinutes' - The approximate time remaining to complete the what-if forecast, in+-- minutes.+--+-- 'forecastTypes', 'describeWhatIfForecastResponse_forecastTypes' - The quantiles at which probabilistic forecasts are generated. You can+-- specify up to 5 quantiles per what-if forecast in the+-- CreateWhatIfForecast operation. If you didn\'t specify quantiles, the+-- default values are @[\"0.1\", \"0.5\", \"0.9\"]@.+--+-- 'lastModificationTime', 'describeWhatIfForecastResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeWhatIfForecastResponse_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'describeWhatIfForecastResponse_status' - The status of the what-if forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if forecast must be @ACTIVE@ before you can+-- access the forecast.+--+-- 'timeSeriesReplacementsDataSource', 'describeWhatIfForecastResponse_timeSeriesReplacementsDataSource' - An array of @S3Config@, @Schema@, and @Format@ elements that describe+-- the replacement time series.+--+-- 'timeSeriesTransformations', 'describeWhatIfForecastResponse_timeSeriesTransformations' - An array of @Action@ and @TimeSeriesConditions@ elements that describe+-- what transformations were applied to which time series.+--+-- 'whatIfAnalysisArn', 'describeWhatIfForecastResponse_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis that contains+-- this forecast.+--+-- 'whatIfForecastArn', 'describeWhatIfForecastResponse_whatIfForecastArn' - The Amazon Resource Name (ARN) of the what-if forecast.+--+-- 'whatIfForecastName', 'describeWhatIfForecastResponse_whatIfForecastName' - The name of the what-if forecast.+--+-- 'httpStatus', 'describeWhatIfForecastResponse_httpStatus' - The response's http status code.+newDescribeWhatIfForecastResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeWhatIfForecastResponse+newDescribeWhatIfForecastResponse pHttpStatus_ =+  DescribeWhatIfForecastResponse'+    { creationTime =+        Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      forecastTypes = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      timeSeriesReplacementsDataSource =+        Prelude.Nothing,+      timeSeriesTransformations = Prelude.Nothing,+      whatIfAnalysisArn = Prelude.Nothing,+      whatIfForecastArn = Prelude.Nothing,+      whatIfForecastName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the what-if forecast was created.+describeWhatIfForecastResponse_creationTime :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.UTCTime)+describeWhatIfForecastResponse_creationTime = Lens.lens (\DescribeWhatIfForecastResponse' {creationTime} -> creationTime) (\s@DescribeWhatIfForecastResponse' {} a -> s {creationTime = a} :: DescribeWhatIfForecastResponse) Prelude.. Lens.mapping Data._Time++-- | The approximate time remaining to complete the what-if forecast, in+-- minutes.+describeWhatIfForecastResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.Integer)+describeWhatIfForecastResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeWhatIfForecastResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeWhatIfForecastResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeWhatIfForecastResponse)++-- | The quantiles at which probabilistic forecasts are generated. You can+-- specify up to 5 quantiles per what-if forecast in the+-- CreateWhatIfForecast operation. If you didn\'t specify quantiles, the+-- default values are @[\"0.1\", \"0.5\", \"0.9\"]@.+describeWhatIfForecastResponse_forecastTypes :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+describeWhatIfForecastResponse_forecastTypes = Lens.lens (\DescribeWhatIfForecastResponse' {forecastTypes} -> forecastTypes) (\s@DescribeWhatIfForecastResponse' {} a -> s {forecastTypes = a} :: DescribeWhatIfForecastResponse) Prelude.. Lens.mapping Lens.coerced++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeWhatIfForecastResponse_lastModificationTime :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.UTCTime)+describeWhatIfForecastResponse_lastModificationTime = Lens.lens (\DescribeWhatIfForecastResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeWhatIfForecastResponse' {} a -> s {lastModificationTime = a} :: DescribeWhatIfForecastResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describeWhatIfForecastResponse_message :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastResponse_message = Lens.lens (\DescribeWhatIfForecastResponse' {message} -> message) (\s@DescribeWhatIfForecastResponse' {} a -> s {message = a} :: DescribeWhatIfForecastResponse)++-- | The status of the what-if forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if forecast must be @ACTIVE@ before you can+-- access the forecast.+describeWhatIfForecastResponse_status :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastResponse_status = Lens.lens (\DescribeWhatIfForecastResponse' {status} -> status) (\s@DescribeWhatIfForecastResponse' {} a -> s {status = a} :: DescribeWhatIfForecastResponse)++-- | An array of @S3Config@, @Schema@, and @Format@ elements that describe+-- the replacement time series.+describeWhatIfForecastResponse_timeSeriesReplacementsDataSource :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe TimeSeriesReplacementsDataSource)+describeWhatIfForecastResponse_timeSeriesReplacementsDataSource = Lens.lens (\DescribeWhatIfForecastResponse' {timeSeriesReplacementsDataSource} -> timeSeriesReplacementsDataSource) (\s@DescribeWhatIfForecastResponse' {} a -> s {timeSeriesReplacementsDataSource = a} :: DescribeWhatIfForecastResponse)++-- | An array of @Action@ and @TimeSeriesConditions@ elements that describe+-- what transformations were applied to which time series.+describeWhatIfForecastResponse_timeSeriesTransformations :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe [TimeSeriesTransformation])+describeWhatIfForecastResponse_timeSeriesTransformations = Lens.lens (\DescribeWhatIfForecastResponse' {timeSeriesTransformations} -> timeSeriesTransformations) (\s@DescribeWhatIfForecastResponse' {} a -> s {timeSeriesTransformations = a} :: DescribeWhatIfForecastResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the what-if analysis that contains+-- this forecast.+describeWhatIfForecastResponse_whatIfAnalysisArn :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastResponse_whatIfAnalysisArn = Lens.lens (\DescribeWhatIfForecastResponse' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@DescribeWhatIfForecastResponse' {} a -> s {whatIfAnalysisArn = a} :: DescribeWhatIfForecastResponse)++-- | The Amazon Resource Name (ARN) of the what-if forecast.+describeWhatIfForecastResponse_whatIfForecastArn :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastResponse_whatIfForecastArn = Lens.lens (\DescribeWhatIfForecastResponse' {whatIfForecastArn} -> whatIfForecastArn) (\s@DescribeWhatIfForecastResponse' {} a -> s {whatIfForecastArn = a} :: DescribeWhatIfForecastResponse)++-- | The name of the what-if forecast.+describeWhatIfForecastResponse_whatIfForecastName :: Lens.Lens' DescribeWhatIfForecastResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastResponse_whatIfForecastName = Lens.lens (\DescribeWhatIfForecastResponse' {whatIfForecastName} -> whatIfForecastName) (\s@DescribeWhatIfForecastResponse' {} a -> s {whatIfForecastName = a} :: DescribeWhatIfForecastResponse)++-- | The response's http status code.+describeWhatIfForecastResponse_httpStatus :: Lens.Lens' DescribeWhatIfForecastResponse Prelude.Int+describeWhatIfForecastResponse_httpStatus = Lens.lens (\DescribeWhatIfForecastResponse' {httpStatus} -> httpStatus) (\s@DescribeWhatIfForecastResponse' {} a -> s {httpStatus = a} :: DescribeWhatIfForecastResponse)++instance+  Prelude.NFData+    DescribeWhatIfForecastResponse+  where+  rnf DescribeWhatIfForecastResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf forecastTypes+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf timeSeriesReplacementsDataSource+      `Prelude.seq` Prelude.rnf timeSeriesTransformations+      `Prelude.seq` Prelude.rnf whatIfAnalysisArn+      `Prelude.seq` Prelude.rnf whatIfForecastArn+      `Prelude.seq` Prelude.rnf whatIfForecastName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/DescribeWhatIfForecastExport.hs view
@@ -0,0 +1,386 @@+{-# 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.Forecast.DescribeWhatIfForecastExport+-- 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 the what-if forecast export created using the+-- CreateWhatIfForecastExport operation.+--+-- In addition to listing the properties provided in the+-- @CreateWhatIfForecastExport@ request, this operation lists the following+-- properties:+--+-- -   @CreationTime@+--+-- -   @LastModificationTime@+--+-- -   @Message@ - If an error occurred, information about the error.+--+-- -   @Status@+module Amazonka.Forecast.DescribeWhatIfForecastExport+  ( -- * Creating a Request+    DescribeWhatIfForecastExport (..),+    newDescribeWhatIfForecastExport,++    -- * Request Lenses+    describeWhatIfForecastExport_whatIfForecastExportArn,++    -- * Destructuring the Response+    DescribeWhatIfForecastExportResponse (..),+    newDescribeWhatIfForecastExportResponse,++    -- * Response Lenses+    describeWhatIfForecastExportResponse_creationTime,+    describeWhatIfForecastExportResponse_destination,+    describeWhatIfForecastExportResponse_estimatedTimeRemainingInMinutes,+    describeWhatIfForecastExportResponse_format,+    describeWhatIfForecastExportResponse_lastModificationTime,+    describeWhatIfForecastExportResponse_message,+    describeWhatIfForecastExportResponse_status,+    describeWhatIfForecastExportResponse_whatIfForecastArns,+    describeWhatIfForecastExportResponse_whatIfForecastExportArn,+    describeWhatIfForecastExportResponse_whatIfForecastExportName,+    describeWhatIfForecastExportResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeWhatIfForecastExport' smart constructor.+data DescribeWhatIfForecastExport = DescribeWhatIfForecastExport'+  { -- | The Amazon Resource Name (ARN) of the what-if forecast export that you+    -- are interested in.+    whatIfForecastExportArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeWhatIfForecastExport' 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:+--+-- 'whatIfForecastExportArn', 'describeWhatIfForecastExport_whatIfForecastExportArn' - The Amazon Resource Name (ARN) of the what-if forecast export that you+-- are interested in.+newDescribeWhatIfForecastExport ::+  -- | 'whatIfForecastExportArn'+  Prelude.Text ->+  DescribeWhatIfForecastExport+newDescribeWhatIfForecastExport+  pWhatIfForecastExportArn_ =+    DescribeWhatIfForecastExport'+      { whatIfForecastExportArn =+          pWhatIfForecastExportArn_+      }++-- | The Amazon Resource Name (ARN) of the what-if forecast export that you+-- are interested in.+describeWhatIfForecastExport_whatIfForecastExportArn :: Lens.Lens' DescribeWhatIfForecastExport Prelude.Text+describeWhatIfForecastExport_whatIfForecastExportArn = Lens.lens (\DescribeWhatIfForecastExport' {whatIfForecastExportArn} -> whatIfForecastExportArn) (\s@DescribeWhatIfForecastExport' {} a -> s {whatIfForecastExportArn = a} :: DescribeWhatIfForecastExport)++instance Core.AWSRequest DescribeWhatIfForecastExport where+  type+    AWSResponse DescribeWhatIfForecastExport =+      DescribeWhatIfForecastExportResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeWhatIfForecastExportResponse'+            Prelude.<$> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "Destination")+            Prelude.<*> (x Data..?> "EstimatedTimeRemainingInMinutes")+            Prelude.<*> (x Data..?> "Format")+            Prelude.<*> (x Data..?> "LastModificationTime")+            Prelude.<*> (x Data..?> "Message")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> ( x+                            Data..?> "WhatIfForecastArns"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "WhatIfForecastExportArn")+            Prelude.<*> (x Data..?> "WhatIfForecastExportName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeWhatIfForecastExport+  where+  hashWithSalt _salt DescribeWhatIfForecastExport' {..} =+    _salt+      `Prelude.hashWithSalt` whatIfForecastExportArn++instance Prelude.NFData DescribeWhatIfForecastExport where+  rnf DescribeWhatIfForecastExport' {..} =+    Prelude.rnf whatIfForecastExportArn++instance Data.ToHeaders DescribeWhatIfForecastExport where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.DescribeWhatIfForecastExport" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeWhatIfForecastExport where+  toJSON DescribeWhatIfForecastExport' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "WhatIfForecastExportArn"+                  Data..= whatIfForecastExportArn+              )+          ]+      )++instance Data.ToPath DescribeWhatIfForecastExport where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeWhatIfForecastExport where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeWhatIfForecastExportResponse' smart constructor.+data DescribeWhatIfForecastExportResponse = DescribeWhatIfForecastExportResponse'+  { -- | When the what-if forecast export was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    destination :: Prelude.Maybe DataDestination,+    -- | The approximate time remaining to complete the what-if forecast export,+    -- in minutes.+    estimatedTimeRemainingInMinutes :: Prelude.Maybe Prelude.Integer,+    -- | The format of the exported data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the what-if forecast. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the what-if forecast export must be @ACTIVE@ before you+    -- can access the forecast export.+    status :: Prelude.Maybe Prelude.Text,+    -- | An array of Amazon Resource Names (ARNs) that represent all of the+    -- what-if forecasts exported in this resource.+    whatIfForecastArns :: Prelude.Maybe [Prelude.Text],+    -- | The Amazon Resource Name (ARN) of the what-if forecast export.+    whatIfForecastExportArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the what-if forecast export.+    whatIfForecastExportName :: 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 'DescribeWhatIfForecastExportResponse' 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:+--+-- 'creationTime', 'describeWhatIfForecastExportResponse_creationTime' - When the what-if forecast export was created.+--+-- 'destination', 'describeWhatIfForecastExportResponse_destination' - Undocumented member.+--+-- 'estimatedTimeRemainingInMinutes', 'describeWhatIfForecastExportResponse_estimatedTimeRemainingInMinutes' - The approximate time remaining to complete the what-if forecast export,+-- in minutes.+--+-- 'format', 'describeWhatIfForecastExportResponse_format' - The format of the exported data, CSV or PARQUET.+--+-- 'lastModificationTime', 'describeWhatIfForecastExportResponse_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'describeWhatIfForecastExportResponse_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'describeWhatIfForecastExportResponse_status' - The status of the what-if forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if forecast export must be @ACTIVE@ before you+-- can access the forecast export.+--+-- 'whatIfForecastArns', 'describeWhatIfForecastExportResponse_whatIfForecastArns' - An array of Amazon Resource Names (ARNs) that represent all of the+-- what-if forecasts exported in this resource.+--+-- 'whatIfForecastExportArn', 'describeWhatIfForecastExportResponse_whatIfForecastExportArn' - The Amazon Resource Name (ARN) of the what-if forecast export.+--+-- 'whatIfForecastExportName', 'describeWhatIfForecastExportResponse_whatIfForecastExportName' - The name of the what-if forecast export.+--+-- 'httpStatus', 'describeWhatIfForecastExportResponse_httpStatus' - The response's http status code.+newDescribeWhatIfForecastExportResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeWhatIfForecastExportResponse+newDescribeWhatIfForecastExportResponse pHttpStatus_ =+  DescribeWhatIfForecastExportResponse'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      estimatedTimeRemainingInMinutes =+        Prelude.Nothing,+      format = Prelude.Nothing,+      lastModificationTime =+        Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      whatIfForecastArns = Prelude.Nothing,+      whatIfForecastExportArn =+        Prelude.Nothing,+      whatIfForecastExportName =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the what-if forecast export was created.+describeWhatIfForecastExportResponse_creationTime :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.UTCTime)+describeWhatIfForecastExportResponse_creationTime = Lens.lens (\DescribeWhatIfForecastExportResponse' {creationTime} -> creationTime) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {creationTime = a} :: DescribeWhatIfForecastExportResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+describeWhatIfForecastExportResponse_destination :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe DataDestination)+describeWhatIfForecastExportResponse_destination = Lens.lens (\DescribeWhatIfForecastExportResponse' {destination} -> destination) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {destination = a} :: DescribeWhatIfForecastExportResponse)++-- | The approximate time remaining to complete the what-if forecast export,+-- in minutes.+describeWhatIfForecastExportResponse_estimatedTimeRemainingInMinutes :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.Integer)+describeWhatIfForecastExportResponse_estimatedTimeRemainingInMinutes = Lens.lens (\DescribeWhatIfForecastExportResponse' {estimatedTimeRemainingInMinutes} -> estimatedTimeRemainingInMinutes) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {estimatedTimeRemainingInMinutes = a} :: DescribeWhatIfForecastExportResponse)++-- | The format of the exported data, CSV or PARQUET.+describeWhatIfForecastExportResponse_format :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastExportResponse_format = Lens.lens (\DescribeWhatIfForecastExportResponse' {format} -> format) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {format = a} :: DescribeWhatIfForecastExportResponse)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+describeWhatIfForecastExportResponse_lastModificationTime :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.UTCTime)+describeWhatIfForecastExportResponse_lastModificationTime = Lens.lens (\DescribeWhatIfForecastExportResponse' {lastModificationTime} -> lastModificationTime) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {lastModificationTime = a} :: DescribeWhatIfForecastExportResponse) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+describeWhatIfForecastExportResponse_message :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastExportResponse_message = Lens.lens (\DescribeWhatIfForecastExportResponse' {message} -> message) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {message = a} :: DescribeWhatIfForecastExportResponse)++-- | The status of the what-if forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if forecast export must be @ACTIVE@ before you+-- can access the forecast export.+describeWhatIfForecastExportResponse_status :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastExportResponse_status = Lens.lens (\DescribeWhatIfForecastExportResponse' {status} -> status) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {status = a} :: DescribeWhatIfForecastExportResponse)++-- | An array of Amazon Resource Names (ARNs) that represent all of the+-- what-if forecasts exported in this resource.+describeWhatIfForecastExportResponse_whatIfForecastArns :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe [Prelude.Text])+describeWhatIfForecastExportResponse_whatIfForecastArns = Lens.lens (\DescribeWhatIfForecastExportResponse' {whatIfForecastArns} -> whatIfForecastArns) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {whatIfForecastArns = a} :: DescribeWhatIfForecastExportResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the what-if forecast export.+describeWhatIfForecastExportResponse_whatIfForecastExportArn :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastExportResponse_whatIfForecastExportArn = Lens.lens (\DescribeWhatIfForecastExportResponse' {whatIfForecastExportArn} -> whatIfForecastExportArn) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {whatIfForecastExportArn = a} :: DescribeWhatIfForecastExportResponse)++-- | The name of the what-if forecast export.+describeWhatIfForecastExportResponse_whatIfForecastExportName :: Lens.Lens' DescribeWhatIfForecastExportResponse (Prelude.Maybe Prelude.Text)+describeWhatIfForecastExportResponse_whatIfForecastExportName = Lens.lens (\DescribeWhatIfForecastExportResponse' {whatIfForecastExportName} -> whatIfForecastExportName) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {whatIfForecastExportName = a} :: DescribeWhatIfForecastExportResponse)++-- | The response's http status code.+describeWhatIfForecastExportResponse_httpStatus :: Lens.Lens' DescribeWhatIfForecastExportResponse Prelude.Int+describeWhatIfForecastExportResponse_httpStatus = Lens.lens (\DescribeWhatIfForecastExportResponse' {httpStatus} -> httpStatus) (\s@DescribeWhatIfForecastExportResponse' {} a -> s {httpStatus = a} :: DescribeWhatIfForecastExportResponse)++instance+  Prelude.NFData+    DescribeWhatIfForecastExportResponse+  where+  rnf DescribeWhatIfForecastExportResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf estimatedTimeRemainingInMinutes+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf whatIfForecastArns+      `Prelude.seq` Prelude.rnf whatIfForecastExportArn+      `Prelude.seq` Prelude.rnf whatIfForecastExportName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/GetAccuracyMetrics.hs view
@@ -0,0 +1,252 @@+{-# 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.Forecast.GetAccuracyMetrics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides metrics on the accuracy of the models that were trained by the+-- CreatePredictor operation. Use metrics to see how well the model+-- performed and to decide whether to use the predictor to generate a+-- forecast. For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html Predictor Metrics>.+--+-- This operation generates metrics for each backtest window that was+-- evaluated. The number of backtest windows (@NumberOfBacktestWindows@) is+-- specified using the EvaluationParameters object, which is optionally+-- included in the @CreatePredictor@ request. If @NumberOfBacktestWindows@+-- isn\'t specified, the number defaults to one.+--+-- The parameters of the @filling@ method determine which items contribute+-- to the metrics. If you want all items to contribute, specify @zero@. If+-- you want only those items that have complete data in the range being+-- evaluated to contribute, specify @nan@. For more information, see+-- FeaturizationMethod.+--+-- Before you can get accuracy metrics, the @Status@ of the predictor must+-- be @ACTIVE@, signifying that training has completed. To get the status,+-- use the DescribePredictor operation.+module Amazonka.Forecast.GetAccuracyMetrics+  ( -- * Creating a Request+    GetAccuracyMetrics (..),+    newGetAccuracyMetrics,++    -- * Request Lenses+    getAccuracyMetrics_predictorArn,++    -- * Destructuring the Response+    GetAccuracyMetricsResponse (..),+    newGetAccuracyMetricsResponse,++    -- * Response Lenses+    getAccuracyMetricsResponse_autoMLOverrideStrategy,+    getAccuracyMetricsResponse_isAutoPredictor,+    getAccuracyMetricsResponse_optimizationMetric,+    getAccuracyMetricsResponse_predictorEvaluationResults,+    getAccuracyMetricsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAccuracyMetrics' smart constructor.+data GetAccuracyMetrics = GetAccuracyMetrics'+  { -- | The Amazon Resource Name (ARN) of the predictor to get metrics for.+    predictorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccuracyMetrics' 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:+--+-- 'predictorArn', 'getAccuracyMetrics_predictorArn' - The Amazon Resource Name (ARN) of the predictor to get metrics for.+newGetAccuracyMetrics ::+  -- | 'predictorArn'+  Prelude.Text ->+  GetAccuracyMetrics+newGetAccuracyMetrics pPredictorArn_ =+  GetAccuracyMetrics' {predictorArn = pPredictorArn_}++-- | The Amazon Resource Name (ARN) of the predictor to get metrics for.+getAccuracyMetrics_predictorArn :: Lens.Lens' GetAccuracyMetrics Prelude.Text+getAccuracyMetrics_predictorArn = Lens.lens (\GetAccuracyMetrics' {predictorArn} -> predictorArn) (\s@GetAccuracyMetrics' {} a -> s {predictorArn = a} :: GetAccuracyMetrics)++instance Core.AWSRequest GetAccuracyMetrics where+  type+    AWSResponse GetAccuracyMetrics =+      GetAccuracyMetricsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetAccuracyMetricsResponse'+            Prelude.<$> (x Data..?> "AutoMLOverrideStrategy")+            Prelude.<*> (x Data..?> "IsAutoPredictor")+            Prelude.<*> (x Data..?> "OptimizationMetric")+            Prelude.<*> ( x+                            Data..?> "PredictorEvaluationResults"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetAccuracyMetrics where+  hashWithSalt _salt GetAccuracyMetrics' {..} =+    _salt `Prelude.hashWithSalt` predictorArn++instance Prelude.NFData GetAccuracyMetrics where+  rnf GetAccuracyMetrics' {..} =+    Prelude.rnf predictorArn++instance Data.ToHeaders GetAccuracyMetrics where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.GetAccuracyMetrics" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetAccuracyMetrics where+  toJSON GetAccuracyMetrics' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("PredictorArn" Data..= predictorArn)]+      )++instance Data.ToPath GetAccuracyMetrics where+  toPath = Prelude.const "/"++instance Data.ToQuery GetAccuracyMetrics where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccuracyMetricsResponse' smart constructor.+data GetAccuracyMetricsResponse = GetAccuracyMetricsResponse'+  { -- | The @LatencyOptimized@ AutoML override strategy is only available in+    -- private beta. Contact AWS Support or your account manager to learn more+    -- about access privileges.+    --+    -- The AutoML strategy used to train the predictor. Unless+    -- @LatencyOptimized@ is specified, the AutoML strategy optimizes predictor+    -- accuracy.+    --+    -- This parameter is only valid for predictors trained using AutoML.+    autoMLOverrideStrategy :: Prelude.Maybe AutoMLOverrideStrategy,+    -- | Whether the predictor was created with CreateAutoPredictor.+    isAutoPredictor :: Prelude.Maybe Prelude.Bool,+    -- | The accuracy metric used to optimize the predictor.+    optimizationMetric :: Prelude.Maybe OptimizationMetric,+    -- | An array of results from evaluating the predictor.+    predictorEvaluationResults :: Prelude.Maybe [EvaluationResult],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccuracyMetricsResponse' 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:+--+-- 'autoMLOverrideStrategy', 'getAccuracyMetricsResponse_autoMLOverrideStrategy' - The @LatencyOptimized@ AutoML override strategy is only available in+-- private beta. Contact AWS Support or your account manager to learn more+-- about access privileges.+--+-- The AutoML strategy used to train the predictor. Unless+-- @LatencyOptimized@ is specified, the AutoML strategy optimizes predictor+-- accuracy.+--+-- This parameter is only valid for predictors trained using AutoML.+--+-- 'isAutoPredictor', 'getAccuracyMetricsResponse_isAutoPredictor' - Whether the predictor was created with CreateAutoPredictor.+--+-- 'optimizationMetric', 'getAccuracyMetricsResponse_optimizationMetric' - The accuracy metric used to optimize the predictor.+--+-- 'predictorEvaluationResults', 'getAccuracyMetricsResponse_predictorEvaluationResults' - An array of results from evaluating the predictor.+--+-- 'httpStatus', 'getAccuracyMetricsResponse_httpStatus' - The response's http status code.+newGetAccuracyMetricsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetAccuracyMetricsResponse+newGetAccuracyMetricsResponse pHttpStatus_ =+  GetAccuracyMetricsResponse'+    { autoMLOverrideStrategy =+        Prelude.Nothing,+      isAutoPredictor = Prelude.Nothing,+      optimizationMetric = Prelude.Nothing,+      predictorEvaluationResults = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The @LatencyOptimized@ AutoML override strategy is only available in+-- private beta. Contact AWS Support or your account manager to learn more+-- about access privileges.+--+-- The AutoML strategy used to train the predictor. Unless+-- @LatencyOptimized@ is specified, the AutoML strategy optimizes predictor+-- accuracy.+--+-- This parameter is only valid for predictors trained using AutoML.+getAccuracyMetricsResponse_autoMLOverrideStrategy :: Lens.Lens' GetAccuracyMetricsResponse (Prelude.Maybe AutoMLOverrideStrategy)+getAccuracyMetricsResponse_autoMLOverrideStrategy = Lens.lens (\GetAccuracyMetricsResponse' {autoMLOverrideStrategy} -> autoMLOverrideStrategy) (\s@GetAccuracyMetricsResponse' {} a -> s {autoMLOverrideStrategy = a} :: GetAccuracyMetricsResponse)++-- | Whether the predictor was created with CreateAutoPredictor.+getAccuracyMetricsResponse_isAutoPredictor :: Lens.Lens' GetAccuracyMetricsResponse (Prelude.Maybe Prelude.Bool)+getAccuracyMetricsResponse_isAutoPredictor = Lens.lens (\GetAccuracyMetricsResponse' {isAutoPredictor} -> isAutoPredictor) (\s@GetAccuracyMetricsResponse' {} a -> s {isAutoPredictor = a} :: GetAccuracyMetricsResponse)++-- | The accuracy metric used to optimize the predictor.+getAccuracyMetricsResponse_optimizationMetric :: Lens.Lens' GetAccuracyMetricsResponse (Prelude.Maybe OptimizationMetric)+getAccuracyMetricsResponse_optimizationMetric = Lens.lens (\GetAccuracyMetricsResponse' {optimizationMetric} -> optimizationMetric) (\s@GetAccuracyMetricsResponse' {} a -> s {optimizationMetric = a} :: GetAccuracyMetricsResponse)++-- | An array of results from evaluating the predictor.+getAccuracyMetricsResponse_predictorEvaluationResults :: Lens.Lens' GetAccuracyMetricsResponse (Prelude.Maybe [EvaluationResult])+getAccuracyMetricsResponse_predictorEvaluationResults = Lens.lens (\GetAccuracyMetricsResponse' {predictorEvaluationResults} -> predictorEvaluationResults) (\s@GetAccuracyMetricsResponse' {} a -> s {predictorEvaluationResults = a} :: GetAccuracyMetricsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getAccuracyMetricsResponse_httpStatus :: Lens.Lens' GetAccuracyMetricsResponse Prelude.Int+getAccuracyMetricsResponse_httpStatus = Lens.lens (\GetAccuracyMetricsResponse' {httpStatus} -> httpStatus) (\s@GetAccuracyMetricsResponse' {} a -> s {httpStatus = a} :: GetAccuracyMetricsResponse)++instance Prelude.NFData GetAccuracyMetricsResponse where+  rnf GetAccuracyMetricsResponse' {..} =+    Prelude.rnf autoMLOverrideStrategy+      `Prelude.seq` Prelude.rnf isAutoPredictor+      `Prelude.seq` Prelude.rnf optimizationMetric+      `Prelude.seq` Prelude.rnf predictorEvaluationResults+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/Lens.hs view
@@ -0,0 +1,1063 @@+{-# 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.Forecast.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.Forecast.Lens+  ( -- * Operations++    -- ** CreateAutoPredictor+    createAutoPredictor_dataConfig,+    createAutoPredictor_encryptionConfig,+    createAutoPredictor_explainPredictor,+    createAutoPredictor_forecastDimensions,+    createAutoPredictor_forecastFrequency,+    createAutoPredictor_forecastHorizon,+    createAutoPredictor_forecastTypes,+    createAutoPredictor_monitorConfig,+    createAutoPredictor_optimizationMetric,+    createAutoPredictor_referencePredictorArn,+    createAutoPredictor_tags,+    createAutoPredictor_timeAlignmentBoundary,+    createAutoPredictor_predictorName,+    createAutoPredictorResponse_predictorArn,+    createAutoPredictorResponse_httpStatus,++    -- ** CreateDataset+    createDataset_dataFrequency,+    createDataset_encryptionConfig,+    createDataset_tags,+    createDataset_datasetName,+    createDataset_domain,+    createDataset_datasetType,+    createDataset_schema,+    createDatasetResponse_datasetArn,+    createDatasetResponse_httpStatus,++    -- ** CreateDatasetGroup+    createDatasetGroup_datasetArns,+    createDatasetGroup_tags,+    createDatasetGroup_datasetGroupName,+    createDatasetGroup_domain,+    createDatasetGroupResponse_datasetGroupArn,+    createDatasetGroupResponse_httpStatus,++    -- ** CreateDatasetImportJob+    createDatasetImportJob_format,+    createDatasetImportJob_geolocationFormat,+    createDatasetImportJob_tags,+    createDatasetImportJob_timeZone,+    createDatasetImportJob_timestampFormat,+    createDatasetImportJob_useGeolocationForTimeZone,+    createDatasetImportJob_datasetImportJobName,+    createDatasetImportJob_datasetArn,+    createDatasetImportJob_dataSource,+    createDatasetImportJobResponse_datasetImportJobArn,+    createDatasetImportJobResponse_httpStatus,++    -- ** CreateExplainability+    createExplainability_dataSource,+    createExplainability_enableVisualization,+    createExplainability_endDateTime,+    createExplainability_schema,+    createExplainability_startDateTime,+    createExplainability_tags,+    createExplainability_explainabilityName,+    createExplainability_resourceArn,+    createExplainability_explainabilityConfig,+    createExplainabilityResponse_explainabilityArn,+    createExplainabilityResponse_httpStatus,++    -- ** CreateExplainabilityExport+    createExplainabilityExport_format,+    createExplainabilityExport_tags,+    createExplainabilityExport_explainabilityExportName,+    createExplainabilityExport_explainabilityArn,+    createExplainabilityExport_destination,+    createExplainabilityExportResponse_explainabilityExportArn,+    createExplainabilityExportResponse_httpStatus,++    -- ** CreateForecast+    createForecast_forecastTypes,+    createForecast_tags,+    createForecast_timeSeriesSelector,+    createForecast_forecastName,+    createForecast_predictorArn,+    createForecastResponse_forecastArn,+    createForecastResponse_httpStatus,++    -- ** CreateForecastExportJob+    createForecastExportJob_format,+    createForecastExportJob_tags,+    createForecastExportJob_forecastExportJobName,+    createForecastExportJob_forecastArn,+    createForecastExportJob_destination,+    createForecastExportJobResponse_forecastExportJobArn,+    createForecastExportJobResponse_httpStatus,++    -- ** CreateMonitor+    createMonitor_tags,+    createMonitor_monitorName,+    createMonitor_resourceArn,+    createMonitorResponse_monitorArn,+    createMonitorResponse_httpStatus,++    -- ** CreatePredictor+    createPredictor_algorithmArn,+    createPredictor_autoMLOverrideStrategy,+    createPredictor_encryptionConfig,+    createPredictor_evaluationParameters,+    createPredictor_forecastTypes,+    createPredictor_hPOConfig,+    createPredictor_optimizationMetric,+    createPredictor_performAutoML,+    createPredictor_performHPO,+    createPredictor_tags,+    createPredictor_trainingParameters,+    createPredictor_predictorName,+    createPredictor_forecastHorizon,+    createPredictor_inputDataConfig,+    createPredictor_featurizationConfig,+    createPredictorResponse_predictorArn,+    createPredictorResponse_httpStatus,++    -- ** CreatePredictorBacktestExportJob+    createPredictorBacktestExportJob_format,+    createPredictorBacktestExportJob_tags,+    createPredictorBacktestExportJob_predictorBacktestExportJobName,+    createPredictorBacktestExportJob_predictorArn,+    createPredictorBacktestExportJob_destination,+    createPredictorBacktestExportJobResponse_predictorBacktestExportJobArn,+    createPredictorBacktestExportJobResponse_httpStatus,++    -- ** CreateWhatIfAnalysis+    createWhatIfAnalysis_tags,+    createWhatIfAnalysis_timeSeriesSelector,+    createWhatIfAnalysis_whatIfAnalysisName,+    createWhatIfAnalysis_forecastArn,+    createWhatIfAnalysisResponse_whatIfAnalysisArn,+    createWhatIfAnalysisResponse_httpStatus,++    -- ** CreateWhatIfForecast+    createWhatIfForecast_tags,+    createWhatIfForecast_timeSeriesReplacementsDataSource,+    createWhatIfForecast_timeSeriesTransformations,+    createWhatIfForecast_whatIfForecastName,+    createWhatIfForecast_whatIfAnalysisArn,+    createWhatIfForecastResponse_whatIfForecastArn,+    createWhatIfForecastResponse_httpStatus,++    -- ** CreateWhatIfForecastExport+    createWhatIfForecastExport_format,+    createWhatIfForecastExport_tags,+    createWhatIfForecastExport_whatIfForecastExportName,+    createWhatIfForecastExport_whatIfForecastArns,+    createWhatIfForecastExport_destination,+    createWhatIfForecastExportResponse_whatIfForecastExportArn,+    createWhatIfForecastExportResponse_httpStatus,++    -- ** DeleteDataset+    deleteDataset_datasetArn,++    -- ** DeleteDatasetGroup+    deleteDatasetGroup_datasetGroupArn,++    -- ** DeleteDatasetImportJob+    deleteDatasetImportJob_datasetImportJobArn,++    -- ** DeleteExplainability+    deleteExplainability_explainabilityArn,++    -- ** DeleteExplainabilityExport+    deleteExplainabilityExport_explainabilityExportArn,++    -- ** DeleteForecast+    deleteForecast_forecastArn,++    -- ** DeleteForecastExportJob+    deleteForecastExportJob_forecastExportJobArn,++    -- ** DeleteMonitor+    deleteMonitor_monitorArn,++    -- ** DeletePredictor+    deletePredictor_predictorArn,++    -- ** DeletePredictorBacktestExportJob+    deletePredictorBacktestExportJob_predictorBacktestExportJobArn,++    -- ** DeleteResourceTree+    deleteResourceTree_resourceArn,++    -- ** DeleteWhatIfAnalysis+    deleteWhatIfAnalysis_whatIfAnalysisArn,++    -- ** DeleteWhatIfForecast+    deleteWhatIfForecast_whatIfForecastArn,++    -- ** DeleteWhatIfForecastExport+    deleteWhatIfForecastExport_whatIfForecastExportArn,++    -- ** DescribeAutoPredictor+    describeAutoPredictor_predictorArn,+    describeAutoPredictorResponse_creationTime,+    describeAutoPredictorResponse_dataConfig,+    describeAutoPredictorResponse_datasetImportJobArns,+    describeAutoPredictorResponse_encryptionConfig,+    describeAutoPredictorResponse_estimatedTimeRemainingInMinutes,+    describeAutoPredictorResponse_explainabilityInfo,+    describeAutoPredictorResponse_forecastDimensions,+    describeAutoPredictorResponse_forecastFrequency,+    describeAutoPredictorResponse_forecastHorizon,+    describeAutoPredictorResponse_forecastTypes,+    describeAutoPredictorResponse_lastModificationTime,+    describeAutoPredictorResponse_message,+    describeAutoPredictorResponse_monitorInfo,+    describeAutoPredictorResponse_optimizationMetric,+    describeAutoPredictorResponse_predictorArn,+    describeAutoPredictorResponse_predictorName,+    describeAutoPredictorResponse_referencePredictorSummary,+    describeAutoPredictorResponse_status,+    describeAutoPredictorResponse_timeAlignmentBoundary,+    describeAutoPredictorResponse_httpStatus,++    -- ** DescribeDataset+    describeDataset_datasetArn,+    describeDatasetResponse_creationTime,+    describeDatasetResponse_dataFrequency,+    describeDatasetResponse_datasetArn,+    describeDatasetResponse_datasetName,+    describeDatasetResponse_datasetType,+    describeDatasetResponse_domain,+    describeDatasetResponse_encryptionConfig,+    describeDatasetResponse_lastModificationTime,+    describeDatasetResponse_schema,+    describeDatasetResponse_status,+    describeDatasetResponse_httpStatus,++    -- ** DescribeDatasetGroup+    describeDatasetGroup_datasetGroupArn,+    describeDatasetGroupResponse_creationTime,+    describeDatasetGroupResponse_datasetArns,+    describeDatasetGroupResponse_datasetGroupArn,+    describeDatasetGroupResponse_datasetGroupName,+    describeDatasetGroupResponse_domain,+    describeDatasetGroupResponse_lastModificationTime,+    describeDatasetGroupResponse_status,+    describeDatasetGroupResponse_httpStatus,++    -- ** DescribeDatasetImportJob+    describeDatasetImportJob_datasetImportJobArn,+    describeDatasetImportJobResponse_creationTime,+    describeDatasetImportJobResponse_dataSize,+    describeDatasetImportJobResponse_dataSource,+    describeDatasetImportJobResponse_datasetArn,+    describeDatasetImportJobResponse_datasetImportJobArn,+    describeDatasetImportJobResponse_datasetImportJobName,+    describeDatasetImportJobResponse_estimatedTimeRemainingInMinutes,+    describeDatasetImportJobResponse_fieldStatistics,+    describeDatasetImportJobResponse_format,+    describeDatasetImportJobResponse_geolocationFormat,+    describeDatasetImportJobResponse_lastModificationTime,+    describeDatasetImportJobResponse_message,+    describeDatasetImportJobResponse_status,+    describeDatasetImportJobResponse_timeZone,+    describeDatasetImportJobResponse_timestampFormat,+    describeDatasetImportJobResponse_useGeolocationForTimeZone,+    describeDatasetImportJobResponse_httpStatus,++    -- ** DescribeExplainability+    describeExplainability_explainabilityArn,+    describeExplainabilityResponse_creationTime,+    describeExplainabilityResponse_dataSource,+    describeExplainabilityResponse_enableVisualization,+    describeExplainabilityResponse_endDateTime,+    describeExplainabilityResponse_estimatedTimeRemainingInMinutes,+    describeExplainabilityResponse_explainabilityArn,+    describeExplainabilityResponse_explainabilityConfig,+    describeExplainabilityResponse_explainabilityName,+    describeExplainabilityResponse_lastModificationTime,+    describeExplainabilityResponse_message,+    describeExplainabilityResponse_resourceArn,+    describeExplainabilityResponse_schema,+    describeExplainabilityResponse_startDateTime,+    describeExplainabilityResponse_status,+    describeExplainabilityResponse_httpStatus,++    -- ** DescribeExplainabilityExport+    describeExplainabilityExport_explainabilityExportArn,+    describeExplainabilityExportResponse_creationTime,+    describeExplainabilityExportResponse_destination,+    describeExplainabilityExportResponse_explainabilityArn,+    describeExplainabilityExportResponse_explainabilityExportArn,+    describeExplainabilityExportResponse_explainabilityExportName,+    describeExplainabilityExportResponse_format,+    describeExplainabilityExportResponse_lastModificationTime,+    describeExplainabilityExportResponse_message,+    describeExplainabilityExportResponse_status,+    describeExplainabilityExportResponse_httpStatus,++    -- ** DescribeForecast+    describeForecast_forecastArn,+    describeForecastResponse_creationTime,+    describeForecastResponse_datasetGroupArn,+    describeForecastResponse_estimatedTimeRemainingInMinutes,+    describeForecastResponse_forecastArn,+    describeForecastResponse_forecastName,+    describeForecastResponse_forecastTypes,+    describeForecastResponse_lastModificationTime,+    describeForecastResponse_message,+    describeForecastResponse_predictorArn,+    describeForecastResponse_status,+    describeForecastResponse_timeSeriesSelector,+    describeForecastResponse_httpStatus,++    -- ** DescribeForecastExportJob+    describeForecastExportJob_forecastExportJobArn,+    describeForecastExportJobResponse_creationTime,+    describeForecastExportJobResponse_destination,+    describeForecastExportJobResponse_forecastArn,+    describeForecastExportJobResponse_forecastExportJobArn,+    describeForecastExportJobResponse_forecastExportJobName,+    describeForecastExportJobResponse_format,+    describeForecastExportJobResponse_lastModificationTime,+    describeForecastExportJobResponse_message,+    describeForecastExportJobResponse_status,+    describeForecastExportJobResponse_httpStatus,++    -- ** DescribeMonitor+    describeMonitor_monitorArn,+    describeMonitorResponse_baseline,+    describeMonitorResponse_creationTime,+    describeMonitorResponse_estimatedEvaluationTimeRemainingInMinutes,+    describeMonitorResponse_lastEvaluationState,+    describeMonitorResponse_lastEvaluationTime,+    describeMonitorResponse_lastModificationTime,+    describeMonitorResponse_message,+    describeMonitorResponse_monitorArn,+    describeMonitorResponse_monitorName,+    describeMonitorResponse_resourceArn,+    describeMonitorResponse_status,+    describeMonitorResponse_httpStatus,++    -- ** DescribePredictor+    describePredictor_predictorArn,+    describePredictorResponse_algorithmArn,+    describePredictorResponse_autoMLAlgorithmArns,+    describePredictorResponse_autoMLOverrideStrategy,+    describePredictorResponse_creationTime,+    describePredictorResponse_datasetImportJobArns,+    describePredictorResponse_encryptionConfig,+    describePredictorResponse_estimatedTimeRemainingInMinutes,+    describePredictorResponse_evaluationParameters,+    describePredictorResponse_featurizationConfig,+    describePredictorResponse_forecastHorizon,+    describePredictorResponse_forecastTypes,+    describePredictorResponse_hPOConfig,+    describePredictorResponse_inputDataConfig,+    describePredictorResponse_isAutoPredictor,+    describePredictorResponse_lastModificationTime,+    describePredictorResponse_message,+    describePredictorResponse_optimizationMetric,+    describePredictorResponse_performAutoML,+    describePredictorResponse_performHPO,+    describePredictorResponse_predictorArn,+    describePredictorResponse_predictorExecutionDetails,+    describePredictorResponse_predictorName,+    describePredictorResponse_status,+    describePredictorResponse_trainingParameters,+    describePredictorResponse_httpStatus,++    -- ** DescribePredictorBacktestExportJob+    describePredictorBacktestExportJob_predictorBacktestExportJobArn,+    describePredictorBacktestExportJobResponse_creationTime,+    describePredictorBacktestExportJobResponse_destination,+    describePredictorBacktestExportJobResponse_format,+    describePredictorBacktestExportJobResponse_lastModificationTime,+    describePredictorBacktestExportJobResponse_message,+    describePredictorBacktestExportJobResponse_predictorArn,+    describePredictorBacktestExportJobResponse_predictorBacktestExportJobArn,+    describePredictorBacktestExportJobResponse_predictorBacktestExportJobName,+    describePredictorBacktestExportJobResponse_status,+    describePredictorBacktestExportJobResponse_httpStatus,++    -- ** DescribeWhatIfAnalysis+    describeWhatIfAnalysis_whatIfAnalysisArn,+    describeWhatIfAnalysisResponse_creationTime,+    describeWhatIfAnalysisResponse_estimatedTimeRemainingInMinutes,+    describeWhatIfAnalysisResponse_forecastArn,+    describeWhatIfAnalysisResponse_lastModificationTime,+    describeWhatIfAnalysisResponse_message,+    describeWhatIfAnalysisResponse_status,+    describeWhatIfAnalysisResponse_timeSeriesSelector,+    describeWhatIfAnalysisResponse_whatIfAnalysisArn,+    describeWhatIfAnalysisResponse_whatIfAnalysisName,+    describeWhatIfAnalysisResponse_httpStatus,++    -- ** DescribeWhatIfForecast+    describeWhatIfForecast_whatIfForecastArn,+    describeWhatIfForecastResponse_creationTime,+    describeWhatIfForecastResponse_estimatedTimeRemainingInMinutes,+    describeWhatIfForecastResponse_forecastTypes,+    describeWhatIfForecastResponse_lastModificationTime,+    describeWhatIfForecastResponse_message,+    describeWhatIfForecastResponse_status,+    describeWhatIfForecastResponse_timeSeriesReplacementsDataSource,+    describeWhatIfForecastResponse_timeSeriesTransformations,+    describeWhatIfForecastResponse_whatIfAnalysisArn,+    describeWhatIfForecastResponse_whatIfForecastArn,+    describeWhatIfForecastResponse_whatIfForecastName,+    describeWhatIfForecastResponse_httpStatus,++    -- ** DescribeWhatIfForecastExport+    describeWhatIfForecastExport_whatIfForecastExportArn,+    describeWhatIfForecastExportResponse_creationTime,+    describeWhatIfForecastExportResponse_destination,+    describeWhatIfForecastExportResponse_estimatedTimeRemainingInMinutes,+    describeWhatIfForecastExportResponse_format,+    describeWhatIfForecastExportResponse_lastModificationTime,+    describeWhatIfForecastExportResponse_message,+    describeWhatIfForecastExportResponse_status,+    describeWhatIfForecastExportResponse_whatIfForecastArns,+    describeWhatIfForecastExportResponse_whatIfForecastExportArn,+    describeWhatIfForecastExportResponse_whatIfForecastExportName,+    describeWhatIfForecastExportResponse_httpStatus,++    -- ** GetAccuracyMetrics+    getAccuracyMetrics_predictorArn,+    getAccuracyMetricsResponse_autoMLOverrideStrategy,+    getAccuracyMetricsResponse_isAutoPredictor,+    getAccuracyMetricsResponse_optimizationMetric,+    getAccuracyMetricsResponse_predictorEvaluationResults,+    getAccuracyMetricsResponse_httpStatus,++    -- ** ListDatasetGroups+    listDatasetGroups_maxResults,+    listDatasetGroups_nextToken,+    listDatasetGroupsResponse_datasetGroups,+    listDatasetGroupsResponse_nextToken,+    listDatasetGroupsResponse_httpStatus,++    -- ** ListDatasetImportJobs+    listDatasetImportJobs_filters,+    listDatasetImportJobs_maxResults,+    listDatasetImportJobs_nextToken,+    listDatasetImportJobsResponse_datasetImportJobs,+    listDatasetImportJobsResponse_nextToken,+    listDatasetImportJobsResponse_httpStatus,++    -- ** ListDatasets+    listDatasets_maxResults,+    listDatasets_nextToken,+    listDatasetsResponse_datasets,+    listDatasetsResponse_nextToken,+    listDatasetsResponse_httpStatus,++    -- ** ListExplainabilities+    listExplainabilities_filters,+    listExplainabilities_maxResults,+    listExplainabilities_nextToken,+    listExplainabilitiesResponse_explainabilities,+    listExplainabilitiesResponse_nextToken,+    listExplainabilitiesResponse_httpStatus,++    -- ** ListExplainabilityExports+    listExplainabilityExports_filters,+    listExplainabilityExports_maxResults,+    listExplainabilityExports_nextToken,+    listExplainabilityExportsResponse_explainabilityExports,+    listExplainabilityExportsResponse_nextToken,+    listExplainabilityExportsResponse_httpStatus,++    -- ** ListForecastExportJobs+    listForecastExportJobs_filters,+    listForecastExportJobs_maxResults,+    listForecastExportJobs_nextToken,+    listForecastExportJobsResponse_forecastExportJobs,+    listForecastExportJobsResponse_nextToken,+    listForecastExportJobsResponse_httpStatus,++    -- ** ListForecasts+    listForecasts_filters,+    listForecasts_maxResults,+    listForecasts_nextToken,+    listForecastsResponse_forecasts,+    listForecastsResponse_nextToken,+    listForecastsResponse_httpStatus,++    -- ** ListMonitorEvaluations+    listMonitorEvaluations_filters,+    listMonitorEvaluations_maxResults,+    listMonitorEvaluations_nextToken,+    listMonitorEvaluations_monitorArn,+    listMonitorEvaluationsResponse_nextToken,+    listMonitorEvaluationsResponse_predictorMonitorEvaluations,+    listMonitorEvaluationsResponse_httpStatus,++    -- ** ListMonitors+    listMonitors_filters,+    listMonitors_maxResults,+    listMonitors_nextToken,+    listMonitorsResponse_monitors,+    listMonitorsResponse_nextToken,+    listMonitorsResponse_httpStatus,++    -- ** ListPredictorBacktestExportJobs+    listPredictorBacktestExportJobs_filters,+    listPredictorBacktestExportJobs_maxResults,+    listPredictorBacktestExportJobs_nextToken,+    listPredictorBacktestExportJobsResponse_nextToken,+    listPredictorBacktestExportJobsResponse_predictorBacktestExportJobs,+    listPredictorBacktestExportJobsResponse_httpStatus,++    -- ** ListPredictors+    listPredictors_filters,+    listPredictors_maxResults,+    listPredictors_nextToken,+    listPredictorsResponse_nextToken,+    listPredictorsResponse_predictors,+    listPredictorsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListWhatIfAnalyses+    listWhatIfAnalyses_filters,+    listWhatIfAnalyses_maxResults,+    listWhatIfAnalyses_nextToken,+    listWhatIfAnalysesResponse_nextToken,+    listWhatIfAnalysesResponse_whatIfAnalyses,+    listWhatIfAnalysesResponse_httpStatus,++    -- ** ListWhatIfForecastExports+    listWhatIfForecastExports_filters,+    listWhatIfForecastExports_maxResults,+    listWhatIfForecastExports_nextToken,+    listWhatIfForecastExportsResponse_nextToken,+    listWhatIfForecastExportsResponse_whatIfForecastExports,+    listWhatIfForecastExportsResponse_httpStatus,++    -- ** ListWhatIfForecasts+    listWhatIfForecasts_filters,+    listWhatIfForecasts_maxResults,+    listWhatIfForecasts_nextToken,+    listWhatIfForecastsResponse_nextToken,+    listWhatIfForecastsResponse_whatIfForecasts,+    listWhatIfForecastsResponse_httpStatus,++    -- ** ResumeResource+    resumeResource_resourceArn,++    -- ** StopResource+    stopResource_resourceArn,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateDatasetGroup+    updateDatasetGroup_datasetGroupArn,+    updateDatasetGroup_datasetArns,+    updateDatasetGroupResponse_httpStatus,++    -- * Types++    -- ** Action+    action_attributeName,+    action_operation,+    action_value,++    -- ** AdditionalDataset+    additionalDataset_configuration,+    additionalDataset_name,++    -- ** AttributeConfig+    attributeConfig_attributeName,+    attributeConfig_transformations,++    -- ** Baseline+    baseline_predictorBaseline,++    -- ** BaselineMetric+    baselineMetric_name,+    baselineMetric_value,++    -- ** CategoricalParameterRange+    categoricalParameterRange_name,+    categoricalParameterRange_values,++    -- ** ContinuousParameterRange+    continuousParameterRange_scalingType,+    continuousParameterRange_name,+    continuousParameterRange_maxValue,+    continuousParameterRange_minValue,++    -- ** DataConfig+    dataConfig_additionalDatasets,+    dataConfig_attributeConfigs,+    dataConfig_datasetGroupArn,++    -- ** DataDestination+    dataDestination_s3Config,++    -- ** DataSource+    dataSource_s3Config,++    -- ** DatasetGroupSummary+    datasetGroupSummary_creationTime,+    datasetGroupSummary_datasetGroupArn,+    datasetGroupSummary_datasetGroupName,+    datasetGroupSummary_lastModificationTime,++    -- ** DatasetImportJobSummary+    datasetImportJobSummary_creationTime,+    datasetImportJobSummary_dataSource,+    datasetImportJobSummary_datasetImportJobArn,+    datasetImportJobSummary_datasetImportJobName,+    datasetImportJobSummary_lastModificationTime,+    datasetImportJobSummary_message,+    datasetImportJobSummary_status,++    -- ** DatasetSummary+    datasetSummary_creationTime,+    datasetSummary_datasetArn,+    datasetSummary_datasetName,+    datasetSummary_datasetType,+    datasetSummary_domain,+    datasetSummary_lastModificationTime,++    -- ** EncryptionConfig+    encryptionConfig_roleArn,+    encryptionConfig_kmsKeyArn,++    -- ** ErrorMetric+    errorMetric_forecastType,+    errorMetric_mape,+    errorMetric_mase,+    errorMetric_rmse,+    errorMetric_wape,++    -- ** EvaluationParameters+    evaluationParameters_backTestWindowOffset,+    evaluationParameters_numberOfBacktestWindows,++    -- ** EvaluationResult+    evaluationResult_algorithmArn,+    evaluationResult_testWindows,++    -- ** ExplainabilityConfig+    explainabilityConfig_timeSeriesGranularity,+    explainabilityConfig_timePointGranularity,++    -- ** ExplainabilityExportSummary+    explainabilityExportSummary_creationTime,+    explainabilityExportSummary_destination,+    explainabilityExportSummary_explainabilityExportArn,+    explainabilityExportSummary_explainabilityExportName,+    explainabilityExportSummary_lastModificationTime,+    explainabilityExportSummary_message,+    explainabilityExportSummary_status,++    -- ** ExplainabilityInfo+    explainabilityInfo_explainabilityArn,+    explainabilityInfo_status,++    -- ** ExplainabilitySummary+    explainabilitySummary_creationTime,+    explainabilitySummary_explainabilityArn,+    explainabilitySummary_explainabilityConfig,+    explainabilitySummary_explainabilityName,+    explainabilitySummary_lastModificationTime,+    explainabilitySummary_message,+    explainabilitySummary_resourceArn,+    explainabilitySummary_status,++    -- ** Featurization+    featurization_featurizationPipeline,+    featurization_attributeName,++    -- ** FeaturizationConfig+    featurizationConfig_featurizations,+    featurizationConfig_forecastDimensions,+    featurizationConfig_forecastFrequency,++    -- ** FeaturizationMethod+    featurizationMethod_featurizationMethodParameters,+    featurizationMethod_featurizationMethodName,++    -- ** Filter+    filter_key,+    filter_value,+    filter_condition,++    -- ** ForecastExportJobSummary+    forecastExportJobSummary_creationTime,+    forecastExportJobSummary_destination,+    forecastExportJobSummary_forecastExportJobArn,+    forecastExportJobSummary_forecastExportJobName,+    forecastExportJobSummary_lastModificationTime,+    forecastExportJobSummary_message,+    forecastExportJobSummary_status,++    -- ** ForecastSummary+    forecastSummary_createdUsingAutoPredictor,+    forecastSummary_creationTime,+    forecastSummary_datasetGroupArn,+    forecastSummary_forecastArn,+    forecastSummary_forecastName,+    forecastSummary_lastModificationTime,+    forecastSummary_message,+    forecastSummary_predictorArn,+    forecastSummary_status,++    -- ** HyperParameterTuningJobConfig+    hyperParameterTuningJobConfig_parameterRanges,++    -- ** InputDataConfig+    inputDataConfig_supplementaryFeatures,+    inputDataConfig_datasetGroupArn,++    -- ** IntegerParameterRange+    integerParameterRange_scalingType,+    integerParameterRange_name,+    integerParameterRange_maxValue,+    integerParameterRange_minValue,++    -- ** MetricResult+    metricResult_metricName,+    metricResult_metricValue,++    -- ** Metrics+    metrics_averageWeightedQuantileLoss,+    metrics_errorMetrics,+    metrics_rmse,+    metrics_weightedQuantileLosses,++    -- ** MonitorConfig+    monitorConfig_monitorName,++    -- ** MonitorDataSource+    monitorDataSource_datasetImportJobArn,+    monitorDataSource_forecastArn,+    monitorDataSource_predictorArn,++    -- ** MonitorInfo+    monitorInfo_monitorArn,+    monitorInfo_status,++    -- ** MonitorSummary+    monitorSummary_creationTime,+    monitorSummary_lastModificationTime,+    monitorSummary_monitorArn,+    monitorSummary_monitorName,+    monitorSummary_resourceArn,+    monitorSummary_status,++    -- ** ParameterRanges+    parameterRanges_categoricalParameterRanges,+    parameterRanges_continuousParameterRanges,+    parameterRanges_integerParameterRanges,++    -- ** PredictorBacktestExportJobSummary+    predictorBacktestExportJobSummary_creationTime,+    predictorBacktestExportJobSummary_destination,+    predictorBacktestExportJobSummary_lastModificationTime,+    predictorBacktestExportJobSummary_message,+    predictorBacktestExportJobSummary_predictorBacktestExportJobArn,+    predictorBacktestExportJobSummary_predictorBacktestExportJobName,+    predictorBacktestExportJobSummary_status,++    -- ** PredictorBaseline+    predictorBaseline_baselineMetrics,++    -- ** PredictorEvent+    predictorEvent_datetime,+    predictorEvent_detail,++    -- ** PredictorExecution+    predictorExecution_algorithmArn,+    predictorExecution_testWindows,++    -- ** PredictorExecutionDetails+    predictorExecutionDetails_predictorExecutions,++    -- ** PredictorMonitorEvaluation+    predictorMonitorEvaluation_evaluationState,+    predictorMonitorEvaluation_evaluationTime,+    predictorMonitorEvaluation_message,+    predictorMonitorEvaluation_metricResults,+    predictorMonitorEvaluation_monitorArn,+    predictorMonitorEvaluation_monitorDataSource,+    predictorMonitorEvaluation_numItemsEvaluated,+    predictorMonitorEvaluation_predictorEvent,+    predictorMonitorEvaluation_resourceArn,+    predictorMonitorEvaluation_windowEndDatetime,+    predictorMonitorEvaluation_windowStartDatetime,++    -- ** PredictorSummary+    predictorSummary_creationTime,+    predictorSummary_datasetGroupArn,+    predictorSummary_isAutoPredictor,+    predictorSummary_lastModificationTime,+    predictorSummary_message,+    predictorSummary_predictorArn,+    predictorSummary_predictorName,+    predictorSummary_referencePredictorSummary,+    predictorSummary_status,++    -- ** ReferencePredictorSummary+    referencePredictorSummary_arn,+    referencePredictorSummary_state,++    -- ** S3Config+    s3Config_kmsKeyArn,+    s3Config_path,+    s3Config_roleArn,++    -- ** Schema+    schema_attributes,++    -- ** SchemaAttribute+    schemaAttribute_attributeName,+    schemaAttribute_attributeType,++    -- ** Statistics+    statistics_avg,+    statistics_count,+    statistics_countDistinct,+    statistics_countDistinctLong,+    statistics_countLong,+    statistics_countNan,+    statistics_countNanLong,+    statistics_countNull,+    statistics_countNullLong,+    statistics_max,+    statistics_min,+    statistics_stddev,++    -- ** SupplementaryFeature+    supplementaryFeature_name,+    supplementaryFeature_value,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TestWindowSummary+    testWindowSummary_message,+    testWindowSummary_status,+    testWindowSummary_testWindowEnd,+    testWindowSummary_testWindowStart,++    -- ** TimeAlignmentBoundary+    timeAlignmentBoundary_dayOfMonth,+    timeAlignmentBoundary_dayOfWeek,+    timeAlignmentBoundary_hour,+    timeAlignmentBoundary_month,++    -- ** TimeSeriesCondition+    timeSeriesCondition_attributeName,+    timeSeriesCondition_attributeValue,+    timeSeriesCondition_condition,++    -- ** TimeSeriesIdentifiers+    timeSeriesIdentifiers_dataSource,+    timeSeriesIdentifiers_format,+    timeSeriesIdentifiers_schema,++    -- ** TimeSeriesReplacementsDataSource+    timeSeriesReplacementsDataSource_format,+    timeSeriesReplacementsDataSource_timestampFormat,+    timeSeriesReplacementsDataSource_s3Config,+    timeSeriesReplacementsDataSource_schema,++    -- ** TimeSeriesSelector+    timeSeriesSelector_timeSeriesIdentifiers,++    -- ** TimeSeriesTransformation+    timeSeriesTransformation_action,+    timeSeriesTransformation_timeSeriesConditions,++    -- ** WeightedQuantileLoss+    weightedQuantileLoss_lossValue,+    weightedQuantileLoss_quantile,++    -- ** WhatIfAnalysisSummary+    whatIfAnalysisSummary_creationTime,+    whatIfAnalysisSummary_forecastArn,+    whatIfAnalysisSummary_lastModificationTime,+    whatIfAnalysisSummary_message,+    whatIfAnalysisSummary_status,+    whatIfAnalysisSummary_whatIfAnalysisArn,+    whatIfAnalysisSummary_whatIfAnalysisName,++    -- ** WhatIfForecastExportSummary+    whatIfForecastExportSummary_creationTime,+    whatIfForecastExportSummary_destination,+    whatIfForecastExportSummary_lastModificationTime,+    whatIfForecastExportSummary_message,+    whatIfForecastExportSummary_status,+    whatIfForecastExportSummary_whatIfForecastArns,+    whatIfForecastExportSummary_whatIfForecastExportArn,+    whatIfForecastExportSummary_whatIfForecastExportName,++    -- ** WhatIfForecastSummary+    whatIfForecastSummary_creationTime,+    whatIfForecastSummary_lastModificationTime,+    whatIfForecastSummary_message,+    whatIfForecastSummary_status,+    whatIfForecastSummary_whatIfAnalysisArn,+    whatIfForecastSummary_whatIfForecastArn,+    whatIfForecastSummary_whatIfForecastName,++    -- ** WindowSummary+    windowSummary_evaluationType,+    windowSummary_itemCount,+    windowSummary_metrics,+    windowSummary_testWindowEnd,+    windowSummary_testWindowStart,+  )+where++import Amazonka.Forecast.CreateAutoPredictor+import Amazonka.Forecast.CreateDataset+import Amazonka.Forecast.CreateDatasetGroup+import Amazonka.Forecast.CreateDatasetImportJob+import Amazonka.Forecast.CreateExplainability+import Amazonka.Forecast.CreateExplainabilityExport+import Amazonka.Forecast.CreateForecast+import Amazonka.Forecast.CreateForecastExportJob+import Amazonka.Forecast.CreateMonitor+import Amazonka.Forecast.CreatePredictor+import Amazonka.Forecast.CreatePredictorBacktestExportJob+import Amazonka.Forecast.CreateWhatIfAnalysis+import Amazonka.Forecast.CreateWhatIfForecast+import Amazonka.Forecast.CreateWhatIfForecastExport+import Amazonka.Forecast.DeleteDataset+import Amazonka.Forecast.DeleteDatasetGroup+import Amazonka.Forecast.DeleteDatasetImportJob+import Amazonka.Forecast.DeleteExplainability+import Amazonka.Forecast.DeleteExplainabilityExport+import Amazonka.Forecast.DeleteForecast+import Amazonka.Forecast.DeleteForecastExportJob+import Amazonka.Forecast.DeleteMonitor+import Amazonka.Forecast.DeletePredictor+import Amazonka.Forecast.DeletePredictorBacktestExportJob+import Amazonka.Forecast.DeleteResourceTree+import Amazonka.Forecast.DeleteWhatIfAnalysis+import Amazonka.Forecast.DeleteWhatIfForecast+import Amazonka.Forecast.DeleteWhatIfForecastExport+import Amazonka.Forecast.DescribeAutoPredictor+import Amazonka.Forecast.DescribeDataset+import Amazonka.Forecast.DescribeDatasetGroup+import Amazonka.Forecast.DescribeDatasetImportJob+import Amazonka.Forecast.DescribeExplainability+import Amazonka.Forecast.DescribeExplainabilityExport+import Amazonka.Forecast.DescribeForecast+import Amazonka.Forecast.DescribeForecastExportJob+import Amazonka.Forecast.DescribeMonitor+import Amazonka.Forecast.DescribePredictor+import Amazonka.Forecast.DescribePredictorBacktestExportJob+import Amazonka.Forecast.DescribeWhatIfAnalysis+import Amazonka.Forecast.DescribeWhatIfForecast+import Amazonka.Forecast.DescribeWhatIfForecastExport+import Amazonka.Forecast.GetAccuracyMetrics+import Amazonka.Forecast.ListDatasetGroups+import Amazonka.Forecast.ListDatasetImportJobs+import Amazonka.Forecast.ListDatasets+import Amazonka.Forecast.ListExplainabilities+import Amazonka.Forecast.ListExplainabilityExports+import Amazonka.Forecast.ListForecastExportJobs+import Amazonka.Forecast.ListForecasts+import Amazonka.Forecast.ListMonitorEvaluations+import Amazonka.Forecast.ListMonitors+import Amazonka.Forecast.ListPredictorBacktestExportJobs+import Amazonka.Forecast.ListPredictors+import Amazonka.Forecast.ListTagsForResource+import Amazonka.Forecast.ListWhatIfAnalyses+import Amazonka.Forecast.ListWhatIfForecastExports+import Amazonka.Forecast.ListWhatIfForecasts+import Amazonka.Forecast.ResumeResource+import Amazonka.Forecast.StopResource+import Amazonka.Forecast.TagResource+import Amazonka.Forecast.Types.Action+import Amazonka.Forecast.Types.AdditionalDataset+import Amazonka.Forecast.Types.AttributeConfig+import Amazonka.Forecast.Types.Baseline+import Amazonka.Forecast.Types.BaselineMetric+import Amazonka.Forecast.Types.CategoricalParameterRange+import Amazonka.Forecast.Types.ContinuousParameterRange+import Amazonka.Forecast.Types.DataConfig+import Amazonka.Forecast.Types.DataDestination+import Amazonka.Forecast.Types.DataSource+import Amazonka.Forecast.Types.DatasetGroupSummary+import Amazonka.Forecast.Types.DatasetImportJobSummary+import Amazonka.Forecast.Types.DatasetSummary+import Amazonka.Forecast.Types.EncryptionConfig+import Amazonka.Forecast.Types.ErrorMetric+import Amazonka.Forecast.Types.EvaluationParameters+import Amazonka.Forecast.Types.EvaluationResult+import Amazonka.Forecast.Types.ExplainabilityConfig+import Amazonka.Forecast.Types.ExplainabilityExportSummary+import Amazonka.Forecast.Types.ExplainabilityInfo+import Amazonka.Forecast.Types.ExplainabilitySummary+import Amazonka.Forecast.Types.Featurization+import Amazonka.Forecast.Types.FeaturizationConfig+import Amazonka.Forecast.Types.FeaturizationMethod+import Amazonka.Forecast.Types.Filter+import Amazonka.Forecast.Types.ForecastExportJobSummary+import Amazonka.Forecast.Types.ForecastSummary+import Amazonka.Forecast.Types.HyperParameterTuningJobConfig+import Amazonka.Forecast.Types.InputDataConfig+import Amazonka.Forecast.Types.IntegerParameterRange+import Amazonka.Forecast.Types.MetricResult+import Amazonka.Forecast.Types.Metrics+import Amazonka.Forecast.Types.MonitorConfig+import Amazonka.Forecast.Types.MonitorDataSource+import Amazonka.Forecast.Types.MonitorInfo+import Amazonka.Forecast.Types.MonitorSummary+import Amazonka.Forecast.Types.ParameterRanges+import Amazonka.Forecast.Types.PredictorBacktestExportJobSummary+import Amazonka.Forecast.Types.PredictorBaseline+import Amazonka.Forecast.Types.PredictorEvent+import Amazonka.Forecast.Types.PredictorExecution+import Amazonka.Forecast.Types.PredictorExecutionDetails+import Amazonka.Forecast.Types.PredictorMonitorEvaluation+import Amazonka.Forecast.Types.PredictorSummary+import Amazonka.Forecast.Types.ReferencePredictorSummary+import Amazonka.Forecast.Types.S3Config+import Amazonka.Forecast.Types.Schema+import Amazonka.Forecast.Types.SchemaAttribute+import Amazonka.Forecast.Types.Statistics+import Amazonka.Forecast.Types.SupplementaryFeature+import Amazonka.Forecast.Types.Tag+import Amazonka.Forecast.Types.TestWindowSummary+import Amazonka.Forecast.Types.TimeAlignmentBoundary+import Amazonka.Forecast.Types.TimeSeriesCondition+import Amazonka.Forecast.Types.TimeSeriesIdentifiers+import Amazonka.Forecast.Types.TimeSeriesReplacementsDataSource+import Amazonka.Forecast.Types.TimeSeriesSelector+import Amazonka.Forecast.Types.TimeSeriesTransformation+import Amazonka.Forecast.Types.WeightedQuantileLoss+import Amazonka.Forecast.Types.WhatIfAnalysisSummary+import Amazonka.Forecast.Types.WhatIfForecastExportSummary+import Amazonka.Forecast.Types.WhatIfForecastSummary+import Amazonka.Forecast.Types.WindowSummary+import Amazonka.Forecast.UntagResource+import Amazonka.Forecast.UpdateDatasetGroup
+ gen/Amazonka/Forecast/ListDatasetGroups.hs view
@@ -0,0 +1,236 @@+{-# 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.Forecast.ListDatasetGroups+-- 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 dataset groups created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetGroup.html CreateDatasetGroup>+-- operation. For each dataset group, this operation returns a summary of+-- its properties, including its Amazon Resource Name (ARN). You can+-- retrieve the complete set of properties by using the dataset group ARN+-- with the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetGroup.html DescribeDatasetGroup>+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListDatasetGroups+  ( -- * Creating a Request+    ListDatasetGroups (..),+    newListDatasetGroups,++    -- * Request Lenses+    listDatasetGroups_maxResults,+    listDatasetGroups_nextToken,++    -- * Destructuring the Response+    ListDatasetGroupsResponse (..),+    newListDatasetGroupsResponse,++    -- * Response Lenses+    listDatasetGroupsResponse_datasetGroups,+    listDatasetGroupsResponse_nextToken,+    listDatasetGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDatasetGroups' smart constructor.+data ListDatasetGroups = ListDatasetGroups'+  { -- | The number of items to return in the response.+    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 'ListDatasetGroups' 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', 'listDatasetGroups_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listDatasetGroups_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.+newListDatasetGroups ::+  ListDatasetGroups+newListDatasetGroups =+  ListDatasetGroups'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of items to return in the response.+listDatasetGroups_maxResults :: Lens.Lens' ListDatasetGroups (Prelude.Maybe Prelude.Natural)+listDatasetGroups_maxResults = Lens.lens (\ListDatasetGroups' {maxResults} -> maxResults) (\s@ListDatasetGroups' {} a -> s {maxResults = a} :: ListDatasetGroups)++-- | 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.+listDatasetGroups_nextToken :: Lens.Lens' ListDatasetGroups (Prelude.Maybe Prelude.Text)+listDatasetGroups_nextToken = Lens.lens (\ListDatasetGroups' {nextToken} -> nextToken) (\s@ListDatasetGroups' {} a -> s {nextToken = a} :: ListDatasetGroups)++instance Core.AWSPager ListDatasetGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDatasetGroupsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDatasetGroupsResponse_datasetGroups+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDatasetGroups_nextToken+          Lens..~ rs+          Lens.^? listDatasetGroupsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDatasetGroups where+  type+    AWSResponse ListDatasetGroups =+      ListDatasetGroupsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDatasetGroupsResponse'+            Prelude.<$> (x Data..?> "DatasetGroups" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDatasetGroups where+  hashWithSalt _salt ListDatasetGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDatasetGroups where+  rnf ListDatasetGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDatasetGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListDatasetGroups" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDatasetGroups where+  toJSON ListDatasetGroups' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListDatasetGroups where+  toPath = Prelude.const "/"++instance Data.ToQuery ListDatasetGroups where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDatasetGroupsResponse' smart constructor.+data ListDatasetGroupsResponse = ListDatasetGroupsResponse'+  { -- | An array of objects that summarize each dataset group\'s properties.+    datasetGroups :: Prelude.Maybe [DatasetGroupSummary],+    -- | If the response is truncated, Amazon Forecast 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 'ListDatasetGroupsResponse' 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:+--+-- 'datasetGroups', 'listDatasetGroupsResponse_datasetGroups' - An array of objects that summarize each dataset group\'s properties.+--+-- 'nextToken', 'listDatasetGroupsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listDatasetGroupsResponse_httpStatus' - The response's http status code.+newListDatasetGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDatasetGroupsResponse+newListDatasetGroupsResponse pHttpStatus_ =+  ListDatasetGroupsResponse'+    { datasetGroups =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize each dataset group\'s properties.+listDatasetGroupsResponse_datasetGroups :: Lens.Lens' ListDatasetGroupsResponse (Prelude.Maybe [DatasetGroupSummary])+listDatasetGroupsResponse_datasetGroups = Lens.lens (\ListDatasetGroupsResponse' {datasetGroups} -> datasetGroups) (\s@ListDatasetGroupsResponse' {} a -> s {datasetGroups = a} :: ListDatasetGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listDatasetGroupsResponse_nextToken :: Lens.Lens' ListDatasetGroupsResponse (Prelude.Maybe Prelude.Text)+listDatasetGroupsResponse_nextToken = Lens.lens (\ListDatasetGroupsResponse' {nextToken} -> nextToken) (\s@ListDatasetGroupsResponse' {} a -> s {nextToken = a} :: ListDatasetGroupsResponse)++-- | The response's http status code.+listDatasetGroupsResponse_httpStatus :: Lens.Lens' ListDatasetGroupsResponse Prelude.Int+listDatasetGroupsResponse_httpStatus = Lens.lens (\ListDatasetGroupsResponse' {httpStatus} -> httpStatus) (\s@ListDatasetGroupsResponse' {} a -> s {httpStatus = a} :: ListDatasetGroupsResponse)++instance Prelude.NFData ListDatasetGroupsResponse where+  rnf ListDatasetGroupsResponse' {..} =+    Prelude.rnf datasetGroups+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListDatasetImportJobs.hs view
@@ -0,0 +1,316 @@+{-# 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.Forecast.ListDatasetImportJobs+-- 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 dataset import jobs created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation. For each import job, this operation returns a summary of its+-- properties, including its Amazon Resource Name (ARN). You can retrieve+-- the complete set of properties by using the ARN with the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetImportJob.html DescribeDatasetImportJob>+-- operation. You can filter the list by providing an array of+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_Filter.html Filter>+-- objects.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListDatasetImportJobs+  ( -- * Creating a Request+    ListDatasetImportJobs (..),+    newListDatasetImportJobs,++    -- * Request Lenses+    listDatasetImportJobs_filters,+    listDatasetImportJobs_maxResults,+    listDatasetImportJobs_nextToken,++    -- * Destructuring the Response+    ListDatasetImportJobsResponse (..),+    newListDatasetImportJobsResponse,++    -- * Response Lenses+    listDatasetImportJobsResponse_datasetImportJobs,+    listDatasetImportJobsResponse_nextToken,+    listDatasetImportJobsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDatasetImportJobs' smart constructor.+data ListDatasetImportJobs = ListDatasetImportJobs'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the datasets that match the+    -- statement from the list, respectively. The match statement consists of a+    -- key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the datasets that match the statement, specify+    --     @IS@. To exclude matching datasets, specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @DatasetArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all dataset import jobs whose status is ACTIVE, you+    -- specify the following filter:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListDatasetImportJobs' 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:+--+-- 'filters', 'listDatasetImportJobs_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the datasets that match the+-- statement from the list, respectively. The match statement consists of a+-- key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the datasets that match the statement, specify+--     @IS@. To exclude matching datasets, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @DatasetArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all dataset import jobs whose status is ACTIVE, you+-- specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+--+-- 'maxResults', 'listDatasetImportJobs_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listDatasetImportJobs_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.+newListDatasetImportJobs ::+  ListDatasetImportJobs+newListDatasetImportJobs =+  ListDatasetImportJobs'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the datasets that match the+-- statement from the list, respectively. The match statement consists of a+-- key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the datasets that match the statement, specify+--     @IS@. To exclude matching datasets, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @DatasetArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all dataset import jobs whose status is ACTIVE, you+-- specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+listDatasetImportJobs_filters :: Lens.Lens' ListDatasetImportJobs (Prelude.Maybe [Filter])+listDatasetImportJobs_filters = Lens.lens (\ListDatasetImportJobs' {filters} -> filters) (\s@ListDatasetImportJobs' {} a -> s {filters = a} :: ListDatasetImportJobs) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listDatasetImportJobs_maxResults :: Lens.Lens' ListDatasetImportJobs (Prelude.Maybe Prelude.Natural)+listDatasetImportJobs_maxResults = Lens.lens (\ListDatasetImportJobs' {maxResults} -> maxResults) (\s@ListDatasetImportJobs' {} a -> s {maxResults = a} :: ListDatasetImportJobs)++-- | 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.+listDatasetImportJobs_nextToken :: Lens.Lens' ListDatasetImportJobs (Prelude.Maybe Prelude.Text)+listDatasetImportJobs_nextToken = Lens.lens (\ListDatasetImportJobs' {nextToken} -> nextToken) (\s@ListDatasetImportJobs' {} a -> s {nextToken = a} :: ListDatasetImportJobs)++instance Core.AWSPager ListDatasetImportJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDatasetImportJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDatasetImportJobsResponse_datasetImportJobs+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDatasetImportJobs_nextToken+          Lens..~ rs+          Lens.^? listDatasetImportJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDatasetImportJobs where+  type+    AWSResponse ListDatasetImportJobs =+      ListDatasetImportJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDatasetImportJobsResponse'+            Prelude.<$> ( x+                            Data..?> "DatasetImportJobs"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDatasetImportJobs where+  hashWithSalt _salt ListDatasetImportJobs' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDatasetImportJobs where+  rnf ListDatasetImportJobs' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDatasetImportJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListDatasetImportJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDatasetImportJobs where+  toJSON ListDatasetImportJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListDatasetImportJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListDatasetImportJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDatasetImportJobsResponse' smart constructor.+data ListDatasetImportJobsResponse = ListDatasetImportJobsResponse'+  { -- | An array of objects that summarize each dataset import job\'s+    -- properties.+    datasetImportJobs :: Prelude.Maybe [DatasetImportJobSummary],+    -- | If the response is truncated, Amazon Forecast 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 'ListDatasetImportJobsResponse' 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:+--+-- 'datasetImportJobs', 'listDatasetImportJobsResponse_datasetImportJobs' - An array of objects that summarize each dataset import job\'s+-- properties.+--+-- 'nextToken', 'listDatasetImportJobsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listDatasetImportJobsResponse_httpStatus' - The response's http status code.+newListDatasetImportJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDatasetImportJobsResponse+newListDatasetImportJobsResponse pHttpStatus_ =+  ListDatasetImportJobsResponse'+    { datasetImportJobs =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize each dataset import job\'s+-- properties.+listDatasetImportJobsResponse_datasetImportJobs :: Lens.Lens' ListDatasetImportJobsResponse (Prelude.Maybe [DatasetImportJobSummary])+listDatasetImportJobsResponse_datasetImportJobs = Lens.lens (\ListDatasetImportJobsResponse' {datasetImportJobs} -> datasetImportJobs) (\s@ListDatasetImportJobsResponse' {} a -> s {datasetImportJobs = a} :: ListDatasetImportJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listDatasetImportJobsResponse_nextToken :: Lens.Lens' ListDatasetImportJobsResponse (Prelude.Maybe Prelude.Text)+listDatasetImportJobsResponse_nextToken = Lens.lens (\ListDatasetImportJobsResponse' {nextToken} -> nextToken) (\s@ListDatasetImportJobsResponse' {} a -> s {nextToken = a} :: ListDatasetImportJobsResponse)++-- | The response's http status code.+listDatasetImportJobsResponse_httpStatus :: Lens.Lens' ListDatasetImportJobsResponse Prelude.Int+listDatasetImportJobsResponse_httpStatus = Lens.lens (\ListDatasetImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListDatasetImportJobsResponse' {} a -> s {httpStatus = a} :: ListDatasetImportJobsResponse)++instance Prelude.NFData ListDatasetImportJobsResponse where+  rnf ListDatasetImportJobsResponse' {..} =+    Prelude.rnf datasetImportJobs+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListDatasets.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.ListDatasets+-- 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 datasets created using the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html CreateDataset>+-- operation. For each dataset, a summary of its properties, including its+-- Amazon Resource Name (ARN), is returned. To retrieve the complete set of+-- properties, use the ARN with the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDataset.html DescribeDataset>+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListDatasets+  ( -- * Creating a Request+    ListDatasets (..),+    newListDatasets,++    -- * Request Lenses+    listDatasets_maxResults,+    listDatasets_nextToken,++    -- * Destructuring the Response+    ListDatasetsResponse (..),+    newListDatasetsResponse,++    -- * Response Lenses+    listDatasetsResponse_datasets,+    listDatasetsResponse_nextToken,+    listDatasetsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDatasets' smart constructor.+data ListDatasets = ListDatasets'+  { -- | The number of items to return in the response.+    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 'ListDatasets' 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', 'listDatasets_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listDatasets_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.+newListDatasets ::+  ListDatasets+newListDatasets =+  ListDatasets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The number of items to return in the response.+listDatasets_maxResults :: Lens.Lens' ListDatasets (Prelude.Maybe Prelude.Natural)+listDatasets_maxResults = Lens.lens (\ListDatasets' {maxResults} -> maxResults) (\s@ListDatasets' {} a -> s {maxResults = a} :: ListDatasets)++-- | 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.+listDatasets_nextToken :: Lens.Lens' ListDatasets (Prelude.Maybe Prelude.Text)+listDatasets_nextToken = Lens.lens (\ListDatasets' {nextToken} -> nextToken) (\s@ListDatasets' {} a -> s {nextToken = a} :: ListDatasets)++instance Core.AWSPager ListDatasets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDatasetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDatasetsResponse_datasets+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDatasets_nextToken+          Lens..~ rs+          Lens.^? listDatasetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDatasets where+  type AWSResponse ListDatasets = ListDatasetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDatasetsResponse'+            Prelude.<$> (x Data..?> "Datasets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDatasets where+  hashWithSalt _salt ListDatasets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDatasets where+  rnf ListDatasets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDatasets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListDatasets" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDatasets where+  toJSON ListDatasets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListDatasets where+  toPath = Prelude.const "/"++instance Data.ToQuery ListDatasets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDatasetsResponse' smart constructor.+data ListDatasetsResponse = ListDatasetsResponse'+  { -- | An array of objects that summarize each dataset\'s properties.+    datasets :: Prelude.Maybe [DatasetSummary],+    -- | If the response is truncated, Amazon Forecast 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 'ListDatasetsResponse' 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:+--+-- 'datasets', 'listDatasetsResponse_datasets' - An array of objects that summarize each dataset\'s properties.+--+-- 'nextToken', 'listDatasetsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listDatasetsResponse_httpStatus' - The response's http status code.+newListDatasetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDatasetsResponse+newListDatasetsResponse pHttpStatus_ =+  ListDatasetsResponse'+    { datasets = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize each dataset\'s properties.+listDatasetsResponse_datasets :: Lens.Lens' ListDatasetsResponse (Prelude.Maybe [DatasetSummary])+listDatasetsResponse_datasets = Lens.lens (\ListDatasetsResponse' {datasets} -> datasets) (\s@ListDatasetsResponse' {} a -> s {datasets = a} :: ListDatasetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listDatasetsResponse_nextToken :: Lens.Lens' ListDatasetsResponse (Prelude.Maybe Prelude.Text)+listDatasetsResponse_nextToken = Lens.lens (\ListDatasetsResponse' {nextToken} -> nextToken) (\s@ListDatasetsResponse' {} a -> s {nextToken = a} :: ListDatasetsResponse)++-- | The response's http status code.+listDatasetsResponse_httpStatus :: Lens.Lens' ListDatasetsResponse Prelude.Int+listDatasetsResponse_httpStatus = Lens.lens (\ListDatasetsResponse' {httpStatus} -> httpStatus) (\s@ListDatasetsResponse' {} a -> s {httpStatus = a} :: ListDatasetsResponse)++instance Prelude.NFData ListDatasetsResponse where+  rnf ListDatasetsResponse' {..} =+    Prelude.rnf datasets+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListExplainabilities.hs view
@@ -0,0 +1,294 @@+{-# 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.Forecast.ListExplainabilities+-- 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 Explainability resources created using the+-- CreateExplainability operation. This operation returns a summary for+-- each Explainability. You can filter the list using an array of Filter+-- objects.+--+-- To retrieve the complete set of properties for a particular+-- Explainability resource, use the ARN with the DescribeExplainability+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListExplainabilities+  ( -- * Creating a Request+    ListExplainabilities (..),+    newListExplainabilities,++    -- * Request Lenses+    listExplainabilities_filters,+    listExplainabilities_maxResults,+    listExplainabilities_nextToken,++    -- * Destructuring the Response+    ListExplainabilitiesResponse (..),+    newListExplainabilitiesResponse,++    -- * Response Lenses+    listExplainabilitiesResponse_explainabilities,+    listExplainabilitiesResponse_nextToken,+    listExplainabilitiesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExplainabilities' smart constructor.+data ListExplainabilities = ListExplainabilities'+  { -- | An array of filters. For each filter, provide a condition and a match+    -- statement. The condition is either @IS@ or @IS_NOT@, which specifies+    -- whether to include or exclude the resources that match the statement+    -- from the list. The match statement consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @ResourceArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    filters :: Prelude.Maybe [Filter],+    -- | The number of items returned in the response.+    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 'ListExplainabilities' 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:+--+-- 'filters', 'listExplainabilities_filters' - An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the resources that match the statement+-- from the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @ResourceArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- 'maxResults', 'listExplainabilities_maxResults' - The number of items returned in the response.+--+-- 'nextToken', 'listExplainabilities_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.+newListExplainabilities ::+  ListExplainabilities+newListExplainabilities =+  ListExplainabilities'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the resources that match the statement+-- from the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @ResourceArn@ and @Status@.+--+-- -   @Value@ - The value to match.+listExplainabilities_filters :: Lens.Lens' ListExplainabilities (Prelude.Maybe [Filter])+listExplainabilities_filters = Lens.lens (\ListExplainabilities' {filters} -> filters) (\s@ListExplainabilities' {} a -> s {filters = a} :: ListExplainabilities) Prelude.. Lens.mapping Lens.coerced++-- | The number of items returned in the response.+listExplainabilities_maxResults :: Lens.Lens' ListExplainabilities (Prelude.Maybe Prelude.Natural)+listExplainabilities_maxResults = Lens.lens (\ListExplainabilities' {maxResults} -> maxResults) (\s@ListExplainabilities' {} a -> s {maxResults = a} :: ListExplainabilities)++-- | 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.+listExplainabilities_nextToken :: Lens.Lens' ListExplainabilities (Prelude.Maybe Prelude.Text)+listExplainabilities_nextToken = Lens.lens (\ListExplainabilities' {nextToken} -> nextToken) (\s@ListExplainabilities' {} a -> s {nextToken = a} :: ListExplainabilities)++instance Core.AWSPager ListExplainabilities where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listExplainabilitiesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listExplainabilitiesResponse_explainabilities+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listExplainabilities_nextToken+          Lens..~ rs+          Lens.^? listExplainabilitiesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListExplainabilities where+  type+    AWSResponse ListExplainabilities =+      ListExplainabilitiesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListExplainabilitiesResponse'+            Prelude.<$> ( x+                            Data..?> "Explainabilities"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListExplainabilities where+  hashWithSalt _salt ListExplainabilities' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListExplainabilities where+  rnf ListExplainabilities' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListExplainabilities where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListExplainabilities" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListExplainabilities where+  toJSON ListExplainabilities' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListExplainabilities where+  toPath = Prelude.const "/"++instance Data.ToQuery ListExplainabilities where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListExplainabilitiesResponse' smart constructor.+data ListExplainabilitiesResponse = ListExplainabilitiesResponse'+  { -- | An array of objects that summarize the properties of each Explainability+    -- resource.+    explainabilities :: Prelude.Maybe [ExplainabilitySummary],+    -- | Returns this token if the response is truncated. 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 'ListExplainabilitiesResponse' 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:+--+-- 'explainabilities', 'listExplainabilitiesResponse_explainabilities' - An array of objects that summarize the properties of each Explainability+-- resource.+--+-- 'nextToken', 'listExplainabilitiesResponse_nextToken' - Returns this token if the response is truncated. To retrieve the next+-- set of results, use the token in the next request.+--+-- 'httpStatus', 'listExplainabilitiesResponse_httpStatus' - The response's http status code.+newListExplainabilitiesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListExplainabilitiesResponse+newListExplainabilitiesResponse pHttpStatus_ =+  ListExplainabilitiesResponse'+    { explainabilities =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize the properties of each Explainability+-- resource.+listExplainabilitiesResponse_explainabilities :: Lens.Lens' ListExplainabilitiesResponse (Prelude.Maybe [ExplainabilitySummary])+listExplainabilitiesResponse_explainabilities = Lens.lens (\ListExplainabilitiesResponse' {explainabilities} -> explainabilities) (\s@ListExplainabilitiesResponse' {} a -> s {explainabilities = a} :: ListExplainabilitiesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Returns this token if the response is truncated. To retrieve the next+-- set of results, use the token in the next request.+listExplainabilitiesResponse_nextToken :: Lens.Lens' ListExplainabilitiesResponse (Prelude.Maybe Prelude.Text)+listExplainabilitiesResponse_nextToken = Lens.lens (\ListExplainabilitiesResponse' {nextToken} -> nextToken) (\s@ListExplainabilitiesResponse' {} a -> s {nextToken = a} :: ListExplainabilitiesResponse)++-- | The response's http status code.+listExplainabilitiesResponse_httpStatus :: Lens.Lens' ListExplainabilitiesResponse Prelude.Int+listExplainabilitiesResponse_httpStatus = Lens.lens (\ListExplainabilitiesResponse' {httpStatus} -> httpStatus) (\s@ListExplainabilitiesResponse' {} a -> s {httpStatus = a} :: ListExplainabilitiesResponse)++instance Prelude.NFData ListExplainabilitiesResponse where+  rnf ListExplainabilitiesResponse' {..} =+    Prelude.rnf explainabilities+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListExplainabilityExports.hs view
@@ -0,0 +1,298 @@+{-# 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.Forecast.ListExplainabilityExports+-- 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 Explainability exports created using the+-- CreateExplainabilityExport operation. This operation returns a summary+-- for each Explainability export. You can filter the list using an array+-- of Filter objects.+--+-- To retrieve the complete set of properties for a particular+-- Explainability export, use the ARN with the DescribeExplainability+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListExplainabilityExports+  ( -- * Creating a Request+    ListExplainabilityExports (..),+    newListExplainabilityExports,++    -- * Request Lenses+    listExplainabilityExports_filters,+    listExplainabilityExports_maxResults,+    listExplainabilityExports_nextToken,++    -- * Destructuring the Response+    ListExplainabilityExportsResponse (..),+    newListExplainabilityExportsResponse,++    -- * Response Lenses+    listExplainabilityExportsResponse_explainabilityExports,+    listExplainabilityExportsResponse_nextToken,+    listExplainabilityExportsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExplainabilityExports' smart constructor.+data ListExplainabilityExports = ListExplainabilityExports'+  { -- | An array of filters. For each filter, provide a condition and a match+    -- statement. The condition is either @IS@ or @IS_NOT@, which specifies+    -- whether to include or exclude resources that match the statement from+    -- the list. The match statement consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @ResourceArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListExplainabilityExports' 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:+--+-- 'filters', 'listExplainabilityExports_filters' - An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude resources that match the statement from+-- the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @ResourceArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- 'maxResults', 'listExplainabilityExports_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listExplainabilityExports_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.+newListExplainabilityExports ::+  ListExplainabilityExports+newListExplainabilityExports =+  ListExplainabilityExports'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude resources that match the statement from+-- the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @ResourceArn@ and @Status@.+--+-- -   @Value@ - The value to match.+listExplainabilityExports_filters :: Lens.Lens' ListExplainabilityExports (Prelude.Maybe [Filter])+listExplainabilityExports_filters = Lens.lens (\ListExplainabilityExports' {filters} -> filters) (\s@ListExplainabilityExports' {} a -> s {filters = a} :: ListExplainabilityExports) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listExplainabilityExports_maxResults :: Lens.Lens' ListExplainabilityExports (Prelude.Maybe Prelude.Natural)+listExplainabilityExports_maxResults = Lens.lens (\ListExplainabilityExports' {maxResults} -> maxResults) (\s@ListExplainabilityExports' {} a -> s {maxResults = a} :: ListExplainabilityExports)++-- | 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.+listExplainabilityExports_nextToken :: Lens.Lens' ListExplainabilityExports (Prelude.Maybe Prelude.Text)+listExplainabilityExports_nextToken = Lens.lens (\ListExplainabilityExports' {nextToken} -> nextToken) (\s@ListExplainabilityExports' {} a -> s {nextToken = a} :: ListExplainabilityExports)++instance Core.AWSPager ListExplainabilityExports where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listExplainabilityExportsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listExplainabilityExportsResponse_explainabilityExports+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listExplainabilityExports_nextToken+          Lens..~ rs+          Lens.^? listExplainabilityExportsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListExplainabilityExports where+  type+    AWSResponse ListExplainabilityExports =+      ListExplainabilityExportsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListExplainabilityExportsResponse'+            Prelude.<$> ( x+                            Data..?> "ExplainabilityExports"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListExplainabilityExports where+  hashWithSalt _salt ListExplainabilityExports' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListExplainabilityExports where+  rnf ListExplainabilityExports' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListExplainabilityExports where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListExplainabilityExports" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListExplainabilityExports where+  toJSON ListExplainabilityExports' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListExplainabilityExports where+  toPath = Prelude.const "/"++instance Data.ToQuery ListExplainabilityExports where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListExplainabilityExportsResponse' smart constructor.+data ListExplainabilityExportsResponse = ListExplainabilityExportsResponse'+  { -- | An array of objects that summarize the properties of each Explainability+    -- export.+    explainabilityExports :: Prelude.Maybe [ExplainabilityExportSummary],+    -- | Returns this token if the response is truncated. 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 'ListExplainabilityExportsResponse' 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:+--+-- 'explainabilityExports', 'listExplainabilityExportsResponse_explainabilityExports' - An array of objects that summarize the properties of each Explainability+-- export.+--+-- 'nextToken', 'listExplainabilityExportsResponse_nextToken' - Returns this token if the response is truncated. To retrieve the next+-- set of results, use the token in the next request.+--+-- 'httpStatus', 'listExplainabilityExportsResponse_httpStatus' - The response's http status code.+newListExplainabilityExportsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListExplainabilityExportsResponse+newListExplainabilityExportsResponse pHttpStatus_ =+  ListExplainabilityExportsResponse'+    { explainabilityExports =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize the properties of each Explainability+-- export.+listExplainabilityExportsResponse_explainabilityExports :: Lens.Lens' ListExplainabilityExportsResponse (Prelude.Maybe [ExplainabilityExportSummary])+listExplainabilityExportsResponse_explainabilityExports = Lens.lens (\ListExplainabilityExportsResponse' {explainabilityExports} -> explainabilityExports) (\s@ListExplainabilityExportsResponse' {} a -> s {explainabilityExports = a} :: ListExplainabilityExportsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Returns this token if the response is truncated. To retrieve the next+-- set of results, use the token in the next request.+listExplainabilityExportsResponse_nextToken :: Lens.Lens' ListExplainabilityExportsResponse (Prelude.Maybe Prelude.Text)+listExplainabilityExportsResponse_nextToken = Lens.lens (\ListExplainabilityExportsResponse' {nextToken} -> nextToken) (\s@ListExplainabilityExportsResponse' {} a -> s {nextToken = a} :: ListExplainabilityExportsResponse)++-- | The response's http status code.+listExplainabilityExportsResponse_httpStatus :: Lens.Lens' ListExplainabilityExportsResponse Prelude.Int+listExplainabilityExportsResponse_httpStatus = Lens.lens (\ListExplainabilityExportsResponse' {httpStatus} -> httpStatus) (\s@ListExplainabilityExportsResponse' {} a -> s {httpStatus = a} :: ListExplainabilityExportsResponse)++instance+  Prelude.NFData+    ListExplainabilityExportsResponse+  where+  rnf ListExplainabilityExportsResponse' {..} =+    Prelude.rnf explainabilityExports+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListForecastExportJobs.hs view
@@ -0,0 +1,316 @@+{-# 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.Forecast.ListForecastExportJobs+-- 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 forecast export jobs created using the+-- CreateForecastExportJob operation. For each forecast export job, this+-- operation returns a summary of its properties, including its Amazon+-- Resource Name (ARN). To retrieve the complete set of properties, use the+-- ARN with the DescribeForecastExportJob operation. You can filter the+-- list using an array of Filter objects.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListForecastExportJobs+  ( -- * Creating a Request+    ListForecastExportJobs (..),+    newListForecastExportJobs,++    -- * Request Lenses+    listForecastExportJobs_filters,+    listForecastExportJobs_maxResults,+    listForecastExportJobs_nextToken,++    -- * Destructuring the Response+    ListForecastExportJobsResponse (..),+    newListForecastExportJobsResponse,++    -- * Response Lenses+    listForecastExportJobsResponse_forecastExportJobs,+    listForecastExportJobsResponse_nextToken,+    listForecastExportJobsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListForecastExportJobs' smart constructor.+data ListForecastExportJobs = ListForecastExportJobs'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the forecast export jobs that+    -- match the statement from the list, respectively. The match statement+    -- consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the forecast export jobs that match the+    --     statement, specify @IS@. To exclude matching forecast export jobs,+    --     specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @ForecastArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all jobs that export a forecast named+    -- /electricityforecast/, specify the following filter:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"ForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityforecast\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListForecastExportJobs' 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:+--+-- 'filters', 'listForecastExportJobs_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the forecast export jobs that+-- match the statement from the list, respectively. The match statement+-- consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecast export jobs that match the+--     statement, specify @IS@. To exclude matching forecast export jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @ForecastArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityforecast/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"ForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityforecast\" } ]@+--+-- 'maxResults', 'listForecastExportJobs_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listForecastExportJobs_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.+newListForecastExportJobs ::+  ListForecastExportJobs+newListForecastExportJobs =+  ListForecastExportJobs'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the forecast export jobs that+-- match the statement from the list, respectively. The match statement+-- consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecast export jobs that match the+--     statement, specify @IS@. To exclude matching forecast export jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @ForecastArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityforecast/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"ForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityforecast\" } ]@+listForecastExportJobs_filters :: Lens.Lens' ListForecastExportJobs (Prelude.Maybe [Filter])+listForecastExportJobs_filters = Lens.lens (\ListForecastExportJobs' {filters} -> filters) (\s@ListForecastExportJobs' {} a -> s {filters = a} :: ListForecastExportJobs) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listForecastExportJobs_maxResults :: Lens.Lens' ListForecastExportJobs (Prelude.Maybe Prelude.Natural)+listForecastExportJobs_maxResults = Lens.lens (\ListForecastExportJobs' {maxResults} -> maxResults) (\s@ListForecastExportJobs' {} a -> s {maxResults = a} :: ListForecastExportJobs)++-- | 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.+listForecastExportJobs_nextToken :: Lens.Lens' ListForecastExportJobs (Prelude.Maybe Prelude.Text)+listForecastExportJobs_nextToken = Lens.lens (\ListForecastExportJobs' {nextToken} -> nextToken) (\s@ListForecastExportJobs' {} a -> s {nextToken = a} :: ListForecastExportJobs)++instance Core.AWSPager ListForecastExportJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listForecastExportJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listForecastExportJobsResponse_forecastExportJobs+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listForecastExportJobs_nextToken+          Lens..~ rs+          Lens.^? listForecastExportJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListForecastExportJobs where+  type+    AWSResponse ListForecastExportJobs =+      ListForecastExportJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListForecastExportJobsResponse'+            Prelude.<$> ( x+                            Data..?> "ForecastExportJobs"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListForecastExportJobs where+  hashWithSalt _salt ListForecastExportJobs' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListForecastExportJobs where+  rnf ListForecastExportJobs' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListForecastExportJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListForecastExportJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListForecastExportJobs where+  toJSON ListForecastExportJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListForecastExportJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListForecastExportJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListForecastExportJobsResponse' smart constructor.+data ListForecastExportJobsResponse = ListForecastExportJobsResponse'+  { -- | An array of objects that summarize each export job\'s properties.+    forecastExportJobs :: Prelude.Maybe [ForecastExportJobSummary],+    -- | If the response is truncated, Amazon Forecast 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 'ListForecastExportJobsResponse' 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:+--+-- 'forecastExportJobs', 'listForecastExportJobsResponse_forecastExportJobs' - An array of objects that summarize each export job\'s properties.+--+-- 'nextToken', 'listForecastExportJobsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listForecastExportJobsResponse_httpStatus' - The response's http status code.+newListForecastExportJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListForecastExportJobsResponse+newListForecastExportJobsResponse pHttpStatus_ =+  ListForecastExportJobsResponse'+    { forecastExportJobs =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize each export job\'s properties.+listForecastExportJobsResponse_forecastExportJobs :: Lens.Lens' ListForecastExportJobsResponse (Prelude.Maybe [ForecastExportJobSummary])+listForecastExportJobsResponse_forecastExportJobs = Lens.lens (\ListForecastExportJobsResponse' {forecastExportJobs} -> forecastExportJobs) (\s@ListForecastExportJobsResponse' {} a -> s {forecastExportJobs = a} :: ListForecastExportJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listForecastExportJobsResponse_nextToken :: Lens.Lens' ListForecastExportJobsResponse (Prelude.Maybe Prelude.Text)+listForecastExportJobsResponse_nextToken = Lens.lens (\ListForecastExportJobsResponse' {nextToken} -> nextToken) (\s@ListForecastExportJobsResponse' {} a -> s {nextToken = a} :: ListForecastExportJobsResponse)++-- | The response's http status code.+listForecastExportJobsResponse_httpStatus :: Lens.Lens' ListForecastExportJobsResponse Prelude.Int+listForecastExportJobsResponse_httpStatus = Lens.lens (\ListForecastExportJobsResponse' {httpStatus} -> httpStatus) (\s@ListForecastExportJobsResponse' {} a -> s {httpStatus = a} :: ListForecastExportJobsResponse)++instance+  Prelude.NFData+    ListForecastExportJobsResponse+  where+  rnf ListForecastExportJobsResponse' {..} =+    Prelude.rnf forecastExportJobs+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListForecasts.hs view
@@ -0,0 +1,305 @@+{-# 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.Forecast.ListForecasts+-- 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 forecasts created using the CreateForecast operation.+-- For each forecast, this operation returns a summary of its properties,+-- including its Amazon Resource Name (ARN). To retrieve the complete set+-- of properties, specify the ARN with the DescribeForecast operation. You+-- can filter the list using an array of Filter objects.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListForecasts+  ( -- * Creating a Request+    ListForecasts (..),+    newListForecasts,++    -- * Request Lenses+    listForecasts_filters,+    listForecasts_maxResults,+    listForecasts_nextToken,++    -- * Destructuring the Response+    ListForecastsResponse (..),+    newListForecastsResponse,++    -- * Response Lenses+    listForecastsResponse_forecasts,+    listForecastsResponse_nextToken,+    listForecastsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListForecasts' smart constructor.+data ListForecasts = ListForecasts'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the forecasts that match the+    -- statement from the list, respectively. The match statement consists of a+    -- key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the forecasts that match the statement, specify+    --     @IS@. To exclude matching forecasts, specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @DatasetGroupArn@, @PredictorArn@, and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all forecasts whose status is not ACTIVE, you would+    -- specify:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS_NOT\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListForecasts' 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:+--+-- 'filters', 'listForecasts_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the forecasts that match the+-- statement from the list, respectively. The match statement consists of a+-- key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecasts that match the statement, specify+--     @IS@. To exclude matching forecasts, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @DatasetGroupArn@, @PredictorArn@, and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all forecasts whose status is not ACTIVE, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS_NOT\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+--+-- 'maxResults', 'listForecasts_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listForecasts_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.+newListForecasts ::+  ListForecasts+newListForecasts =+  ListForecasts'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the forecasts that match the+-- statement from the list, respectively. The match statement consists of a+-- key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecasts that match the statement, specify+--     @IS@. To exclude matching forecasts, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @DatasetGroupArn@, @PredictorArn@, and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all forecasts whose status is not ACTIVE, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS_NOT\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+listForecasts_filters :: Lens.Lens' ListForecasts (Prelude.Maybe [Filter])+listForecasts_filters = Lens.lens (\ListForecasts' {filters} -> filters) (\s@ListForecasts' {} a -> s {filters = a} :: ListForecasts) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listForecasts_maxResults :: Lens.Lens' ListForecasts (Prelude.Maybe Prelude.Natural)+listForecasts_maxResults = Lens.lens (\ListForecasts' {maxResults} -> maxResults) (\s@ListForecasts' {} a -> s {maxResults = a} :: ListForecasts)++-- | 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.+listForecasts_nextToken :: Lens.Lens' ListForecasts (Prelude.Maybe Prelude.Text)+listForecasts_nextToken = Lens.lens (\ListForecasts' {nextToken} -> nextToken) (\s@ListForecasts' {} a -> s {nextToken = a} :: ListForecasts)++instance Core.AWSPager ListForecasts where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listForecastsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listForecastsResponse_forecasts+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listForecasts_nextToken+          Lens..~ rs+          Lens.^? listForecastsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListForecasts where+  type+    AWSResponse ListForecasts =+      ListForecastsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListForecastsResponse'+            Prelude.<$> (x Data..?> "Forecasts" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListForecasts where+  hashWithSalt _salt ListForecasts' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListForecasts where+  rnf ListForecasts' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListForecasts where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListForecasts" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListForecasts where+  toJSON ListForecasts' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListForecasts where+  toPath = Prelude.const "/"++instance Data.ToQuery ListForecasts where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListForecastsResponse' smart constructor.+data ListForecastsResponse = ListForecastsResponse'+  { -- | An array of objects that summarize each forecast\'s properties.+    forecasts :: Prelude.Maybe [ForecastSummary],+    -- | If the response is truncated, Amazon Forecast 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 'ListForecastsResponse' 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:+--+-- 'forecasts', 'listForecastsResponse_forecasts' - An array of objects that summarize each forecast\'s properties.+--+-- 'nextToken', 'listForecastsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listForecastsResponse_httpStatus' - The response's http status code.+newListForecastsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListForecastsResponse+newListForecastsResponse pHttpStatus_ =+  ListForecastsResponse'+    { forecasts = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize each forecast\'s properties.+listForecastsResponse_forecasts :: Lens.Lens' ListForecastsResponse (Prelude.Maybe [ForecastSummary])+listForecastsResponse_forecasts = Lens.lens (\ListForecastsResponse' {forecasts} -> forecasts) (\s@ListForecastsResponse' {} a -> s {forecasts = a} :: ListForecastsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listForecastsResponse_nextToken :: Lens.Lens' ListForecastsResponse (Prelude.Maybe Prelude.Text)+listForecastsResponse_nextToken = Lens.lens (\ListForecastsResponse' {nextToken} -> nextToken) (\s@ListForecastsResponse' {} a -> s {nextToken = a} :: ListForecastsResponse)++-- | The response's http status code.+listForecastsResponse_httpStatus :: Lens.Lens' ListForecastsResponse Prelude.Int+listForecastsResponse_httpStatus = Lens.lens (\ListForecastsResponse' {httpStatus} -> httpStatus) (\s@ListForecastsResponse' {} a -> s {httpStatus = a} :: ListForecastsResponse)++instance Prelude.NFData ListForecastsResponse where+  rnf ListForecastsResponse' {..} =+    Prelude.rnf forecasts+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListMonitorEvaluations.hs view
@@ -0,0 +1,350 @@+{-# 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.Forecast.ListMonitorEvaluations+-- 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 the monitoring evaluation results and predictor events+-- collected by the monitor resource during different windows of time.+--+-- For information about monitoring see predictor-monitoring. For more+-- information about retrieving monitoring results see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListMonitorEvaluations+  ( -- * Creating a Request+    ListMonitorEvaluations (..),+    newListMonitorEvaluations,++    -- * Request Lenses+    listMonitorEvaluations_filters,+    listMonitorEvaluations_maxResults,+    listMonitorEvaluations_nextToken,+    listMonitorEvaluations_monitorArn,++    -- * Destructuring the Response+    ListMonitorEvaluationsResponse (..),+    newListMonitorEvaluationsResponse,++    -- * Response Lenses+    listMonitorEvaluationsResponse_nextToken,+    listMonitorEvaluationsResponse_predictorMonitorEvaluations,+    listMonitorEvaluationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMonitorEvaluations' smart constructor.+data ListMonitorEvaluations = ListMonitorEvaluations'+  { -- | An array of filters. For each filter, provide a condition and a match+    -- statement. The condition is either @IS@ or @IS_NOT@, which specifies+    -- whether to include or exclude the resources that match the statement+    -- from the list. The match statement consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. The only valid value+    --     is @EvaluationState@.+    --+    -- -   @Value@ - The value to match. Valid values are only @SUCCESS@ or+    --     @FAILURE@.+    --+    -- For example, to list only successful monitor evaluations, you would+    -- specify:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"EvaluationState\", \"Value\": \"SUCCESS\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The maximum number of monitoring 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,+    -- | The Amazon Resource Name (ARN) of the monitor resource to get results+    -- from.+    monitorArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMonitorEvaluations' 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:+--+-- 'filters', 'listMonitorEvaluations_filters' - An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the resources that match the statement+-- from the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. The only valid value+--     is @EvaluationState@.+--+-- -   @Value@ - The value to match. Valid values are only @SUCCESS@ or+--     @FAILURE@.+--+-- For example, to list only successful monitor evaluations, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"EvaluationState\", \"Value\": \"SUCCESS\" } ]@+--+-- 'maxResults', 'listMonitorEvaluations_maxResults' - The maximum number of monitoring results to return.+--+-- 'nextToken', 'listMonitorEvaluations_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.+--+-- 'monitorArn', 'listMonitorEvaluations_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource to get results+-- from.+newListMonitorEvaluations ::+  -- | 'monitorArn'+  Prelude.Text ->+  ListMonitorEvaluations+newListMonitorEvaluations pMonitorArn_ =+  ListMonitorEvaluations'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      monitorArn = pMonitorArn_+    }++-- | An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the resources that match the statement+-- from the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. The only valid value+--     is @EvaluationState@.+--+-- -   @Value@ - The value to match. Valid values are only @SUCCESS@ or+--     @FAILURE@.+--+-- For example, to list only successful monitor evaluations, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"EvaluationState\", \"Value\": \"SUCCESS\" } ]@+listMonitorEvaluations_filters :: Lens.Lens' ListMonitorEvaluations (Prelude.Maybe [Filter])+listMonitorEvaluations_filters = Lens.lens (\ListMonitorEvaluations' {filters} -> filters) (\s@ListMonitorEvaluations' {} a -> s {filters = a} :: ListMonitorEvaluations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of monitoring results to return.+listMonitorEvaluations_maxResults :: Lens.Lens' ListMonitorEvaluations (Prelude.Maybe Prelude.Natural)+listMonitorEvaluations_maxResults = Lens.lens (\ListMonitorEvaluations' {maxResults} -> maxResults) (\s@ListMonitorEvaluations' {} a -> s {maxResults = a} :: ListMonitorEvaluations)++-- | 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.+listMonitorEvaluations_nextToken :: Lens.Lens' ListMonitorEvaluations (Prelude.Maybe Prelude.Text)+listMonitorEvaluations_nextToken = Lens.lens (\ListMonitorEvaluations' {nextToken} -> nextToken) (\s@ListMonitorEvaluations' {} a -> s {nextToken = a} :: ListMonitorEvaluations)++-- | The Amazon Resource Name (ARN) of the monitor resource to get results+-- from.+listMonitorEvaluations_monitorArn :: Lens.Lens' ListMonitorEvaluations Prelude.Text+listMonitorEvaluations_monitorArn = Lens.lens (\ListMonitorEvaluations' {monitorArn} -> monitorArn) (\s@ListMonitorEvaluations' {} a -> s {monitorArn = a} :: ListMonitorEvaluations)++instance Core.AWSPager ListMonitorEvaluations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listMonitorEvaluationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listMonitorEvaluationsResponse_predictorMonitorEvaluations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listMonitorEvaluations_nextToken+          Lens..~ rs+          Lens.^? listMonitorEvaluationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListMonitorEvaluations where+  type+    AWSResponse ListMonitorEvaluations =+      ListMonitorEvaluationsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMonitorEvaluationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "PredictorMonitorEvaluations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMonitorEvaluations where+  hashWithSalt _salt ListMonitorEvaluations' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` monitorArn++instance Prelude.NFData ListMonitorEvaluations where+  rnf ListMonitorEvaluations' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf monitorArn++instance Data.ToHeaders ListMonitorEvaluations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListMonitorEvaluations" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListMonitorEvaluations where+  toJSON ListMonitorEvaluations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("MonitorArn" Data..= monitorArn)+          ]+      )++instance Data.ToPath ListMonitorEvaluations where+  toPath = Prelude.const "/"++instance Data.ToQuery ListMonitorEvaluations where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListMonitorEvaluationsResponse' smart constructor.+data ListMonitorEvaluationsResponse = ListMonitorEvaluationsResponse'+  { -- | If the response is truncated, Amazon Forecast returns this token. To+    -- retrieve the next set of results, use the token in the next request.+    -- Tokens expire after 24 hours.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The monitoring results and predictor events collected by the monitor+    -- resource during different windows of time.+    --+    -- For information about monitoring see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+    -- For more information about retrieving monitoring results see+    -- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+    predictorMonitorEvaluations :: Prelude.Maybe [PredictorMonitorEvaluation],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMonitorEvaluationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listMonitorEvaluationsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+-- Tokens expire after 24 hours.+--+-- 'predictorMonitorEvaluations', 'listMonitorEvaluationsResponse_predictorMonitorEvaluations' - The monitoring results and predictor events collected by the monitor+-- resource during different windows of time.+--+-- For information about monitoring see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+-- For more information about retrieving monitoring results see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+--+-- 'httpStatus', 'listMonitorEvaluationsResponse_httpStatus' - The response's http status code.+newListMonitorEvaluationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMonitorEvaluationsResponse+newListMonitorEvaluationsResponse pHttpStatus_ =+  ListMonitorEvaluationsResponse'+    { nextToken =+        Prelude.Nothing,+      predictorMonitorEvaluations =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+-- Tokens expire after 24 hours.+listMonitorEvaluationsResponse_nextToken :: Lens.Lens' ListMonitorEvaluationsResponse (Prelude.Maybe Prelude.Text)+listMonitorEvaluationsResponse_nextToken = Lens.lens (\ListMonitorEvaluationsResponse' {nextToken} -> nextToken) (\s@ListMonitorEvaluationsResponse' {} a -> s {nextToken = a} :: ListMonitorEvaluationsResponse)++-- | The monitoring results and predictor events collected by the monitor+-- resource during different windows of time.+--+-- For information about monitoring see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+-- For more information about retrieving monitoring results see+-- <https://docs.aws.amazon.com/forecast/latest/dg/predictor-monitoring-results.html Viewing Monitoring Results>.+listMonitorEvaluationsResponse_predictorMonitorEvaluations :: Lens.Lens' ListMonitorEvaluationsResponse (Prelude.Maybe [PredictorMonitorEvaluation])+listMonitorEvaluationsResponse_predictorMonitorEvaluations = Lens.lens (\ListMonitorEvaluationsResponse' {predictorMonitorEvaluations} -> predictorMonitorEvaluations) (\s@ListMonitorEvaluationsResponse' {} a -> s {predictorMonitorEvaluations = a} :: ListMonitorEvaluationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listMonitorEvaluationsResponse_httpStatus :: Lens.Lens' ListMonitorEvaluationsResponse Prelude.Int+listMonitorEvaluationsResponse_httpStatus = Lens.lens (\ListMonitorEvaluationsResponse' {httpStatus} -> httpStatus) (\s@ListMonitorEvaluationsResponse' {} a -> s {httpStatus = a} :: ListMonitorEvaluationsResponse)++instance+  Prelude.NFData+    ListMonitorEvaluationsResponse+  where+  rnf ListMonitorEvaluationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf predictorMonitorEvaluations+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListMonitors.hs view
@@ -0,0 +1,297 @@+{-# 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.Forecast.ListMonitors+-- 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 monitors created with the CreateMonitor operation and+-- CreateAutoPredictor operation. For each monitor resource, this operation+-- returns of a summary of its properties, including its Amazon Resource+-- Name (ARN). You can retrieve a complete set of properties of a monitor+-- resource by specify the monitor\'s ARN in the DescribeMonitor operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListMonitors+  ( -- * Creating a Request+    ListMonitors (..),+    newListMonitors,++    -- * Request Lenses+    listMonitors_filters,+    listMonitors_maxResults,+    listMonitors_nextToken,++    -- * Destructuring the Response+    ListMonitorsResponse (..),+    newListMonitorsResponse,++    -- * Response Lenses+    listMonitorsResponse_monitors,+    listMonitorsResponse_nextToken,+    listMonitorsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMonitors' smart constructor.+data ListMonitors = ListMonitors'+  { -- | An array of filters. For each filter, provide a condition and a match+    -- statement. The condition is either @IS@ or @IS_NOT@, which specifies+    -- whether to include or exclude the resources that match the statement+    -- from the list. The match statement consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. The only valid value+    --     is @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all monitors who\'s status is ACTIVE, you would+    -- specify:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The maximum number of monitors to include in the response.+    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 'ListMonitors' 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:+--+-- 'filters', 'listMonitors_filters' - An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the resources that match the statement+-- from the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. The only valid value+--     is @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all monitors who\'s status is ACTIVE, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+--+-- 'maxResults', 'listMonitors_maxResults' - The maximum number of monitors to include in the response.+--+-- 'nextToken', 'listMonitors_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.+newListMonitors ::+  ListMonitors+newListMonitors =+  ListMonitors'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the resources that match the statement+-- from the list. The match statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. The only valid value+--     is @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all monitors who\'s status is ACTIVE, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+listMonitors_filters :: Lens.Lens' ListMonitors (Prelude.Maybe [Filter])+listMonitors_filters = Lens.lens (\ListMonitors' {filters} -> filters) (\s@ListMonitors' {} a -> s {filters = a} :: ListMonitors) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of monitors to include in the response.+listMonitors_maxResults :: Lens.Lens' ListMonitors (Prelude.Maybe Prelude.Natural)+listMonitors_maxResults = Lens.lens (\ListMonitors' {maxResults} -> maxResults) (\s@ListMonitors' {} a -> s {maxResults = a} :: ListMonitors)++-- | 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.+listMonitors_nextToken :: Lens.Lens' ListMonitors (Prelude.Maybe Prelude.Text)+listMonitors_nextToken = Lens.lens (\ListMonitors' {nextToken} -> nextToken) (\s@ListMonitors' {} a -> s {nextToken = a} :: ListMonitors)++instance Core.AWSPager ListMonitors where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listMonitorsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listMonitorsResponse_monitors+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listMonitors_nextToken+          Lens..~ rs+          Lens.^? listMonitorsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListMonitors where+  type AWSResponse ListMonitors = ListMonitorsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMonitorsResponse'+            Prelude.<$> (x Data..?> "Monitors" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMonitors where+  hashWithSalt _salt ListMonitors' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMonitors where+  rnf ListMonitors' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMonitors where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListMonitors" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListMonitors where+  toJSON ListMonitors' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListMonitors where+  toPath = Prelude.const "/"++instance Data.ToQuery ListMonitors where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListMonitorsResponse' smart constructor.+data ListMonitorsResponse = ListMonitorsResponse'+  { -- | An array of objects that summarize each monitor\'s properties.+    monitors :: Prelude.Maybe [MonitorSummary],+    -- | If the response is truncated, Amazon Forecast 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 'ListMonitorsResponse' 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:+--+-- 'monitors', 'listMonitorsResponse_monitors' - An array of objects that summarize each monitor\'s properties.+--+-- 'nextToken', 'listMonitorsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'httpStatus', 'listMonitorsResponse_httpStatus' - The response's http status code.+newListMonitorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMonitorsResponse+newListMonitorsResponse pHttpStatus_ =+  ListMonitorsResponse'+    { monitors = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An array of objects that summarize each monitor\'s properties.+listMonitorsResponse_monitors :: Lens.Lens' ListMonitorsResponse (Prelude.Maybe [MonitorSummary])+listMonitorsResponse_monitors = Lens.lens (\ListMonitorsResponse' {monitors} -> monitors) (\s@ListMonitorsResponse' {} a -> s {monitors = a} :: ListMonitorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listMonitorsResponse_nextToken :: Lens.Lens' ListMonitorsResponse (Prelude.Maybe Prelude.Text)+listMonitorsResponse_nextToken = Lens.lens (\ListMonitorsResponse' {nextToken} -> nextToken) (\s@ListMonitorsResponse' {} a -> s {nextToken = a} :: ListMonitorsResponse)++-- | The response's http status code.+listMonitorsResponse_httpStatus :: Lens.Lens' ListMonitorsResponse Prelude.Int+listMonitorsResponse_httpStatus = Lens.lens (\ListMonitorsResponse' {httpStatus} -> httpStatus) (\s@ListMonitorsResponse' {} a -> s {httpStatus = a} :: ListMonitorsResponse)++instance Prelude.NFData ListMonitorsResponse where+  rnf ListMonitorsResponse' {..} =+    Prelude.rnf monitors+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListPredictorBacktestExportJobs.hs view
@@ -0,0 +1,326 @@+{-# 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.Forecast.ListPredictorBacktestExportJobs+-- 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 predictor backtest export jobs created using the+-- CreatePredictorBacktestExportJob operation. This operation returns a+-- summary for each backtest export job. You can filter the list using an+-- array of Filter objects.+--+-- To retrieve the complete set of properties for a particular backtest+-- export job, use the ARN with the DescribePredictorBacktestExportJob+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListPredictorBacktestExportJobs+  ( -- * Creating a Request+    ListPredictorBacktestExportJobs (..),+    newListPredictorBacktestExportJobs,++    -- * Request Lenses+    listPredictorBacktestExportJobs_filters,+    listPredictorBacktestExportJobs_maxResults,+    listPredictorBacktestExportJobs_nextToken,++    -- * Destructuring the Response+    ListPredictorBacktestExportJobsResponse (..),+    newListPredictorBacktestExportJobsResponse,++    -- * Response Lenses+    listPredictorBacktestExportJobsResponse_nextToken,+    listPredictorBacktestExportJobsResponse_predictorBacktestExportJobs,+    listPredictorBacktestExportJobsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPredictorBacktestExportJobs' smart constructor.+data ListPredictorBacktestExportJobs = ListPredictorBacktestExportJobs'+  { -- | An array of filters. For each filter, provide a condition and a match+    -- statement. The condition is either @IS@ or @IS_NOT@, which specifies+    -- whether to include or exclude the predictor backtest export jobs that+    -- match the statement from the list. The match statement consists of a key+    -- and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the predictor backtest export jobs that match+    --     the statement, specify @IS@. To exclude matching predictor backtest+    --     export jobs, specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @PredictorArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListPredictorBacktestExportJobs' 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:+--+-- 'filters', 'listPredictorBacktestExportJobs_filters' - An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the predictor backtest export jobs that+-- match the statement from the list. The match statement consists of a key+-- and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the predictor backtest export jobs that match+--     the statement, specify @IS@. To exclude matching predictor backtest+--     export jobs, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @PredictorArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- 'maxResults', 'listPredictorBacktestExportJobs_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listPredictorBacktestExportJobs_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.+newListPredictorBacktestExportJobs ::+  ListPredictorBacktestExportJobs+newListPredictorBacktestExportJobs =+  ListPredictorBacktestExportJobs'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, provide a condition and a match+-- statement. The condition is either @IS@ or @IS_NOT@, which specifies+-- whether to include or exclude the predictor backtest export jobs that+-- match the statement from the list. The match statement consists of a key+-- and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the predictor backtest export jobs that match+--     the statement, specify @IS@. To exclude matching predictor backtest+--     export jobs, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @PredictorArn@ and @Status@.+--+-- -   @Value@ - The value to match.+listPredictorBacktestExportJobs_filters :: Lens.Lens' ListPredictorBacktestExportJobs (Prelude.Maybe [Filter])+listPredictorBacktestExportJobs_filters = Lens.lens (\ListPredictorBacktestExportJobs' {filters} -> filters) (\s@ListPredictorBacktestExportJobs' {} a -> s {filters = a} :: ListPredictorBacktestExportJobs) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listPredictorBacktestExportJobs_maxResults :: Lens.Lens' ListPredictorBacktestExportJobs (Prelude.Maybe Prelude.Natural)+listPredictorBacktestExportJobs_maxResults = Lens.lens (\ListPredictorBacktestExportJobs' {maxResults} -> maxResults) (\s@ListPredictorBacktestExportJobs' {} a -> s {maxResults = a} :: ListPredictorBacktestExportJobs)++-- | 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.+listPredictorBacktestExportJobs_nextToken :: Lens.Lens' ListPredictorBacktestExportJobs (Prelude.Maybe Prelude.Text)+listPredictorBacktestExportJobs_nextToken = Lens.lens (\ListPredictorBacktestExportJobs' {nextToken} -> nextToken) (\s@ListPredictorBacktestExportJobs' {} a -> s {nextToken = a} :: ListPredictorBacktestExportJobs)++instance+  Core.AWSPager+    ListPredictorBacktestExportJobs+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPredictorBacktestExportJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPredictorBacktestExportJobsResponse_predictorBacktestExportJobs+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPredictorBacktestExportJobs_nextToken+          Lens..~ rs+          Lens.^? listPredictorBacktestExportJobsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListPredictorBacktestExportJobs+  where+  type+    AWSResponse ListPredictorBacktestExportJobs =+      ListPredictorBacktestExportJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPredictorBacktestExportJobsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "PredictorBacktestExportJobs"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListPredictorBacktestExportJobs+  where+  hashWithSalt+    _salt+    ListPredictorBacktestExportJobs' {..} =+      _salt+        `Prelude.hashWithSalt` filters+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListPredictorBacktestExportJobs+  where+  rnf ListPredictorBacktestExportJobs' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListPredictorBacktestExportJobs+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListPredictorBacktestExportJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPredictorBacktestExportJobs where+  toJSON ListPredictorBacktestExportJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListPredictorBacktestExportJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListPredictorBacktestExportJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPredictorBacktestExportJobsResponse' smart constructor.+data ListPredictorBacktestExportJobsResponse = ListPredictorBacktestExportJobsResponse'+  { -- | Returns this token if the response is truncated. To retrieve the next+    -- set of results, use the token in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of objects that summarize the properties of each predictor+    -- backtest export job.+    predictorBacktestExportJobs :: Prelude.Maybe [PredictorBacktestExportJobSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPredictorBacktestExportJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPredictorBacktestExportJobsResponse_nextToken' - Returns this token if the response is truncated. To retrieve the next+-- set of results, use the token in the next request.+--+-- 'predictorBacktestExportJobs', 'listPredictorBacktestExportJobsResponse_predictorBacktestExportJobs' - An array of objects that summarize the properties of each predictor+-- backtest export job.+--+-- 'httpStatus', 'listPredictorBacktestExportJobsResponse_httpStatus' - The response's http status code.+newListPredictorBacktestExportJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPredictorBacktestExportJobsResponse+newListPredictorBacktestExportJobsResponse+  pHttpStatus_ =+    ListPredictorBacktestExportJobsResponse'+      { nextToken =+          Prelude.Nothing,+        predictorBacktestExportJobs =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Returns this token if the response is truncated. To retrieve the next+-- set of results, use the token in the next request.+listPredictorBacktestExportJobsResponse_nextToken :: Lens.Lens' ListPredictorBacktestExportJobsResponse (Prelude.Maybe Prelude.Text)+listPredictorBacktestExportJobsResponse_nextToken = Lens.lens (\ListPredictorBacktestExportJobsResponse' {nextToken} -> nextToken) (\s@ListPredictorBacktestExportJobsResponse' {} a -> s {nextToken = a} :: ListPredictorBacktestExportJobsResponse)++-- | An array of objects that summarize the properties of each predictor+-- backtest export job.+listPredictorBacktestExportJobsResponse_predictorBacktestExportJobs :: Lens.Lens' ListPredictorBacktestExportJobsResponse (Prelude.Maybe [PredictorBacktestExportJobSummary])+listPredictorBacktestExportJobsResponse_predictorBacktestExportJobs = Lens.lens (\ListPredictorBacktestExportJobsResponse' {predictorBacktestExportJobs} -> predictorBacktestExportJobs) (\s@ListPredictorBacktestExportJobsResponse' {} a -> s {predictorBacktestExportJobs = a} :: ListPredictorBacktestExportJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPredictorBacktestExportJobsResponse_httpStatus :: Lens.Lens' ListPredictorBacktestExportJobsResponse Prelude.Int+listPredictorBacktestExportJobsResponse_httpStatus = Lens.lens (\ListPredictorBacktestExportJobsResponse' {httpStatus} -> httpStatus) (\s@ListPredictorBacktestExportJobsResponse' {} a -> s {httpStatus = a} :: ListPredictorBacktestExportJobsResponse)++instance+  Prelude.NFData+    ListPredictorBacktestExportJobsResponse+  where+  rnf ListPredictorBacktestExportJobsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf predictorBacktestExportJobs+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListPredictors.hs view
@@ -0,0 +1,308 @@+{-# 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.Forecast.ListPredictors+-- 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 predictors created using the CreateAutoPredictor or+-- CreatePredictor operations. For each predictor, this operation returns a+-- summary of its properties, including its Amazon Resource Name (ARN).+--+-- You can retrieve the complete set of properties by using the ARN with+-- the DescribeAutoPredictor and DescribePredictor operations. You can+-- filter the list using an array of Filter objects.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListPredictors+  ( -- * Creating a Request+    ListPredictors (..),+    newListPredictors,++    -- * Request Lenses+    listPredictors_filters,+    listPredictors_maxResults,+    listPredictors_nextToken,++    -- * Destructuring the Response+    ListPredictorsResponse (..),+    newListPredictorsResponse,++    -- * Response Lenses+    listPredictorsResponse_nextToken,+    listPredictorsResponse_predictors,+    listPredictorsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPredictors' smart constructor.+data ListPredictors = ListPredictors'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the predictors that match the+    -- statement from the list, respectively. The match statement consists of a+    -- key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the predictors that match the statement,+    --     specify @IS@. To exclude matching predictors, specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @DatasetGroupArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all predictors whose status is ACTIVE, you would+    -- specify:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListPredictors' 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:+--+-- 'filters', 'listPredictors_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the predictors that match the+-- statement from the list, respectively. The match statement consists of a+-- key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the predictors that match the statement,+--     specify @IS@. To exclude matching predictors, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @DatasetGroupArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all predictors whose status is ACTIVE, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+--+-- 'maxResults', 'listPredictors_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listPredictors_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.+newListPredictors ::+  ListPredictors+newListPredictors =+  ListPredictors'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the predictors that match the+-- statement from the list, respectively. The match statement consists of a+-- key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the predictors that match the statement,+--     specify @IS@. To exclude matching predictors, specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @DatasetGroupArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all predictors whose status is ACTIVE, you would+-- specify:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]@+listPredictors_filters :: Lens.Lens' ListPredictors (Prelude.Maybe [Filter])+listPredictors_filters = Lens.lens (\ListPredictors' {filters} -> filters) (\s@ListPredictors' {} a -> s {filters = a} :: ListPredictors) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listPredictors_maxResults :: Lens.Lens' ListPredictors (Prelude.Maybe Prelude.Natural)+listPredictors_maxResults = Lens.lens (\ListPredictors' {maxResults} -> maxResults) (\s@ListPredictors' {} a -> s {maxResults = a} :: ListPredictors)++-- | 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.+listPredictors_nextToken :: Lens.Lens' ListPredictors (Prelude.Maybe Prelude.Text)+listPredictors_nextToken = Lens.lens (\ListPredictors' {nextToken} -> nextToken) (\s@ListPredictors' {} a -> s {nextToken = a} :: ListPredictors)++instance Core.AWSPager ListPredictors where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPredictorsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPredictorsResponse_predictors+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPredictors_nextToken+          Lens..~ rs+          Lens.^? listPredictorsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPredictors where+  type+    AWSResponse ListPredictors =+      ListPredictorsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPredictorsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Predictors" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPredictors where+  hashWithSalt _salt ListPredictors' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPredictors where+  rnf ListPredictors' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPredictors where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListPredictors" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPredictors where+  toJSON ListPredictors' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListPredictors where+  toPath = Prelude.const "/"++instance Data.ToQuery ListPredictors where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPredictorsResponse' smart constructor.+data ListPredictorsResponse = ListPredictorsResponse'+  { -- | If the response is truncated, Amazon Forecast returns this token. To+    -- retrieve the next set of results, use the token in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of objects that summarize each predictor\'s properties.+    predictors :: Prelude.Maybe [PredictorSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPredictorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listPredictorsResponse_nextToken' - If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+--+-- 'predictors', 'listPredictorsResponse_predictors' - An array of objects that summarize each predictor\'s properties.+--+-- 'httpStatus', 'listPredictorsResponse_httpStatus' - The response's http status code.+newListPredictorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPredictorsResponse+newListPredictorsResponse pHttpStatus_ =+  ListPredictorsResponse'+    { nextToken =+        Prelude.Nothing,+      predictors = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the response is truncated, Amazon Forecast returns this token. To+-- retrieve the next set of results, use the token in the next request.+listPredictorsResponse_nextToken :: Lens.Lens' ListPredictorsResponse (Prelude.Maybe Prelude.Text)+listPredictorsResponse_nextToken = Lens.lens (\ListPredictorsResponse' {nextToken} -> nextToken) (\s@ListPredictorsResponse' {} a -> s {nextToken = a} :: ListPredictorsResponse)++-- | An array of objects that summarize each predictor\'s properties.+listPredictorsResponse_predictors :: Lens.Lens' ListPredictorsResponse (Prelude.Maybe [PredictorSummary])+listPredictorsResponse_predictors = Lens.lens (\ListPredictorsResponse' {predictors} -> predictors) (\s@ListPredictorsResponse' {} a -> s {predictors = a} :: ListPredictorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPredictorsResponse_httpStatus :: Lens.Lens' ListPredictorsResponse Prelude.Int+listPredictorsResponse_httpStatus = Lens.lens (\ListPredictorsResponse' {httpStatus} -> httpStatus) (\s@ListPredictorsResponse' {} a -> s {httpStatus = a} :: ListPredictorsResponse)++instance Prelude.NFData ListPredictorsResponse where+  rnf ListPredictorsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf predictors+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListTagsForResource.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.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)+--+-- Lists the tags for an Amazon Forecast resource.+module Amazonka.Forecast.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.Forecast.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 Amazon Resource Name (ARN) that identifies the resource for which to+    -- list the tags.+    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 Amazon Resource Name (ARN) that identifies the resource for which to+-- list the tags.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) that identifies the resource for which to+-- list the tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListTagsForResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTagsForResource where+  toJSON ListTagsForResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags for the resource.+    tags :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags for the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags for the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListWhatIfAnalyses.hs view
@@ -0,0 +1,313 @@+{-# 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.Forecast.ListWhatIfAnalyses+-- 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 what-if analyses created using the+-- CreateWhatIfAnalysis operation. For each what-if analysis, this+-- operation returns a summary of its properties, including its Amazon+-- Resource Name (ARN). You can retrieve the complete set of properties by+-- using the what-if analysis ARN with the DescribeWhatIfAnalysis+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListWhatIfAnalyses+  ( -- * Creating a Request+    ListWhatIfAnalyses (..),+    newListWhatIfAnalyses,++    -- * Request Lenses+    listWhatIfAnalyses_filters,+    listWhatIfAnalyses_maxResults,+    listWhatIfAnalyses_nextToken,++    -- * Destructuring the Response+    ListWhatIfAnalysesResponse (..),+    newListWhatIfAnalysesResponse,++    -- * Response Lenses+    listWhatIfAnalysesResponse_nextToken,+    listWhatIfAnalysesResponse_whatIfAnalyses,+    listWhatIfAnalysesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWhatIfAnalyses' smart constructor.+data ListWhatIfAnalyses = ListWhatIfAnalyses'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the what-if analysis jobs that+    -- match the statement from the list, respectively. The match statement+    -- consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the what-if analysis jobs that match the+    --     statement, specify @IS@. To exclude matching what-if analysis jobs,+    --     specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @WhatIfAnalysisArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all jobs that export a forecast named+    -- /electricityWhatIf/, specify the following filter:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfAnalysisArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWhatIf\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListWhatIfAnalyses' 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:+--+-- 'filters', 'listWhatIfAnalyses_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the what-if analysis jobs that+-- match the statement from the list, respectively. The match statement+-- consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the what-if analysis jobs that match the+--     statement, specify @IS@. To exclude matching what-if analysis jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @WhatIfAnalysisArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityWhatIf/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfAnalysisArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWhatIf\" } ]@+--+-- 'maxResults', 'listWhatIfAnalyses_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listWhatIfAnalyses_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.+newListWhatIfAnalyses ::+  ListWhatIfAnalyses+newListWhatIfAnalyses =+  ListWhatIfAnalyses'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the what-if analysis jobs that+-- match the statement from the list, respectively. The match statement+-- consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the what-if analysis jobs that match the+--     statement, specify @IS@. To exclude matching what-if analysis jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @WhatIfAnalysisArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityWhatIf/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfAnalysisArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWhatIf\" } ]@+listWhatIfAnalyses_filters :: Lens.Lens' ListWhatIfAnalyses (Prelude.Maybe [Filter])+listWhatIfAnalyses_filters = Lens.lens (\ListWhatIfAnalyses' {filters} -> filters) (\s@ListWhatIfAnalyses' {} a -> s {filters = a} :: ListWhatIfAnalyses) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listWhatIfAnalyses_maxResults :: Lens.Lens' ListWhatIfAnalyses (Prelude.Maybe Prelude.Natural)+listWhatIfAnalyses_maxResults = Lens.lens (\ListWhatIfAnalyses' {maxResults} -> maxResults) (\s@ListWhatIfAnalyses' {} a -> s {maxResults = a} :: ListWhatIfAnalyses)++-- | 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.+listWhatIfAnalyses_nextToken :: Lens.Lens' ListWhatIfAnalyses (Prelude.Maybe Prelude.Text)+listWhatIfAnalyses_nextToken = Lens.lens (\ListWhatIfAnalyses' {nextToken} -> nextToken) (\s@ListWhatIfAnalyses' {} a -> s {nextToken = a} :: ListWhatIfAnalyses)++instance Core.AWSPager ListWhatIfAnalyses where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWhatIfAnalysesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listWhatIfAnalysesResponse_whatIfAnalyses+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWhatIfAnalyses_nextToken+          Lens..~ rs+          Lens.^? listWhatIfAnalysesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWhatIfAnalyses where+  type+    AWSResponse ListWhatIfAnalyses =+      ListWhatIfAnalysesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWhatIfAnalysesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "WhatIfAnalyses" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWhatIfAnalyses where+  hashWithSalt _salt ListWhatIfAnalyses' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListWhatIfAnalyses where+  rnf ListWhatIfAnalyses' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListWhatIfAnalyses where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListWhatIfAnalyses" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListWhatIfAnalyses where+  toJSON ListWhatIfAnalyses' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListWhatIfAnalyses where+  toPath = Prelude.const "/"++instance Data.ToQuery ListWhatIfAnalyses where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListWhatIfAnalysesResponse' smart constructor.+data ListWhatIfAnalysesResponse = ListWhatIfAnalysesResponse'+  { -- | If the response is truncated, Forecast returns this token. To retrieve+    -- the next set of results, use the token in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of @WhatIfAnalysisSummary@ objects that describe the matched+    -- analyses.+    whatIfAnalyses :: Prelude.Maybe [WhatIfAnalysisSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWhatIfAnalysesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listWhatIfAnalysesResponse_nextToken' - If the response is truncated, Forecast returns this token. To retrieve+-- the next set of results, use the token in the next request.+--+-- 'whatIfAnalyses', 'listWhatIfAnalysesResponse_whatIfAnalyses' - An array of @WhatIfAnalysisSummary@ objects that describe the matched+-- analyses.+--+-- 'httpStatus', 'listWhatIfAnalysesResponse_httpStatus' - The response's http status code.+newListWhatIfAnalysesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWhatIfAnalysesResponse+newListWhatIfAnalysesResponse pHttpStatus_ =+  ListWhatIfAnalysesResponse'+    { nextToken =+        Prelude.Nothing,+      whatIfAnalyses = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the response is truncated, Forecast returns this token. To retrieve+-- the next set of results, use the token in the next request.+listWhatIfAnalysesResponse_nextToken :: Lens.Lens' ListWhatIfAnalysesResponse (Prelude.Maybe Prelude.Text)+listWhatIfAnalysesResponse_nextToken = Lens.lens (\ListWhatIfAnalysesResponse' {nextToken} -> nextToken) (\s@ListWhatIfAnalysesResponse' {} a -> s {nextToken = a} :: ListWhatIfAnalysesResponse)++-- | An array of @WhatIfAnalysisSummary@ objects that describe the matched+-- analyses.+listWhatIfAnalysesResponse_whatIfAnalyses :: Lens.Lens' ListWhatIfAnalysesResponse (Prelude.Maybe [WhatIfAnalysisSummary])+listWhatIfAnalysesResponse_whatIfAnalyses = Lens.lens (\ListWhatIfAnalysesResponse' {whatIfAnalyses} -> whatIfAnalyses) (\s@ListWhatIfAnalysesResponse' {} a -> s {whatIfAnalyses = a} :: ListWhatIfAnalysesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWhatIfAnalysesResponse_httpStatus :: Lens.Lens' ListWhatIfAnalysesResponse Prelude.Int+listWhatIfAnalysesResponse_httpStatus = Lens.lens (\ListWhatIfAnalysesResponse' {httpStatus} -> httpStatus) (\s@ListWhatIfAnalysesResponse' {} a -> s {httpStatus = a} :: ListWhatIfAnalysesResponse)++instance Prelude.NFData ListWhatIfAnalysesResponse where+  rnf ListWhatIfAnalysesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf whatIfAnalyses+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListWhatIfForecastExports.hs view
@@ -0,0 +1,320 @@+{-# 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.Forecast.ListWhatIfForecastExports+-- 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 what-if forecast exports created using the+-- CreateWhatIfForecastExport operation. For each what-if forecast export,+-- this operation returns a summary of its properties, including its Amazon+-- Resource Name (ARN). You can retrieve the complete set of properties by+-- using the what-if forecast export ARN with the+-- DescribeWhatIfForecastExport operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListWhatIfForecastExports+  ( -- * Creating a Request+    ListWhatIfForecastExports (..),+    newListWhatIfForecastExports,++    -- * Request Lenses+    listWhatIfForecastExports_filters,+    listWhatIfForecastExports_maxResults,+    listWhatIfForecastExports_nextToken,++    -- * Destructuring the Response+    ListWhatIfForecastExportsResponse (..),+    newListWhatIfForecastExportsResponse,++    -- * Response Lenses+    listWhatIfForecastExportsResponse_nextToken,+    listWhatIfForecastExportsResponse_whatIfForecastExports,+    listWhatIfForecastExportsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWhatIfForecastExports' smart constructor.+data ListWhatIfForecastExports = ListWhatIfForecastExports'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the what-if forecast export jobs+    -- that match the statement from the list, respectively. The match+    -- statement consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the forecast export jobs that match the+    --     statement, specify @IS@. To exclude matching forecast export jobs,+    --     specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @WhatIfForecastExportArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all jobs that export a forecast named+    -- /electricityWIFExport/, specify the following filter:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfForecastExportArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWIFExport\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListWhatIfForecastExports' 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:+--+-- 'filters', 'listWhatIfForecastExports_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the what-if forecast export jobs+-- that match the statement from the list, respectively. The match+-- statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecast export jobs that match the+--     statement, specify @IS@. To exclude matching forecast export jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @WhatIfForecastExportArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityWIFExport/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfForecastExportArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWIFExport\" } ]@+--+-- 'maxResults', 'listWhatIfForecastExports_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listWhatIfForecastExports_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.+newListWhatIfForecastExports ::+  ListWhatIfForecastExports+newListWhatIfForecastExports =+  ListWhatIfForecastExports'+    { filters =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the what-if forecast export jobs+-- that match the statement from the list, respectively. The match+-- statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecast export jobs that match the+--     statement, specify @IS@. To exclude matching forecast export jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @WhatIfForecastExportArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityWIFExport/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfForecastExportArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWIFExport\" } ]@+listWhatIfForecastExports_filters :: Lens.Lens' ListWhatIfForecastExports (Prelude.Maybe [Filter])+listWhatIfForecastExports_filters = Lens.lens (\ListWhatIfForecastExports' {filters} -> filters) (\s@ListWhatIfForecastExports' {} a -> s {filters = a} :: ListWhatIfForecastExports) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listWhatIfForecastExports_maxResults :: Lens.Lens' ListWhatIfForecastExports (Prelude.Maybe Prelude.Natural)+listWhatIfForecastExports_maxResults = Lens.lens (\ListWhatIfForecastExports' {maxResults} -> maxResults) (\s@ListWhatIfForecastExports' {} a -> s {maxResults = a} :: ListWhatIfForecastExports)++-- | 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.+listWhatIfForecastExports_nextToken :: Lens.Lens' ListWhatIfForecastExports (Prelude.Maybe Prelude.Text)+listWhatIfForecastExports_nextToken = Lens.lens (\ListWhatIfForecastExports' {nextToken} -> nextToken) (\s@ListWhatIfForecastExports' {} a -> s {nextToken = a} :: ListWhatIfForecastExports)++instance Core.AWSPager ListWhatIfForecastExports where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWhatIfForecastExportsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listWhatIfForecastExportsResponse_whatIfForecastExports+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWhatIfForecastExports_nextToken+          Lens..~ rs+          Lens.^? listWhatIfForecastExportsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWhatIfForecastExports where+  type+    AWSResponse ListWhatIfForecastExports =+      ListWhatIfForecastExportsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWhatIfForecastExportsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "WhatIfForecastExports"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWhatIfForecastExports where+  hashWithSalt _salt ListWhatIfForecastExports' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListWhatIfForecastExports where+  rnf ListWhatIfForecastExports' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListWhatIfForecastExports where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListWhatIfForecastExports" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListWhatIfForecastExports where+  toJSON ListWhatIfForecastExports' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListWhatIfForecastExports where+  toPath = Prelude.const "/"++instance Data.ToQuery ListWhatIfForecastExports where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListWhatIfForecastExportsResponse' smart constructor.+data ListWhatIfForecastExportsResponse = ListWhatIfForecastExportsResponse'+  { -- | If the response is truncated, Forecast returns this token. To retrieve+    -- the next set of results, use the token in the next request.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | An array of @WhatIfForecastExports@ objects that describe the matched+    -- forecast exports.+    whatIfForecastExports :: Prelude.Maybe [WhatIfForecastExportSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWhatIfForecastExportsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listWhatIfForecastExportsResponse_nextToken' - If the response is truncated, Forecast returns this token. To retrieve+-- the next set of results, use the token in the next request.+--+-- 'whatIfForecastExports', 'listWhatIfForecastExportsResponse_whatIfForecastExports' - An array of @WhatIfForecastExports@ objects that describe the matched+-- forecast exports.+--+-- 'httpStatus', 'listWhatIfForecastExportsResponse_httpStatus' - The response's http status code.+newListWhatIfForecastExportsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWhatIfForecastExportsResponse+newListWhatIfForecastExportsResponse pHttpStatus_ =+  ListWhatIfForecastExportsResponse'+    { nextToken =+        Prelude.Nothing,+      whatIfForecastExports = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the response is truncated, Forecast returns this token. To retrieve+-- the next set of results, use the token in the next request.+listWhatIfForecastExportsResponse_nextToken :: Lens.Lens' ListWhatIfForecastExportsResponse (Prelude.Maybe Prelude.Text)+listWhatIfForecastExportsResponse_nextToken = Lens.lens (\ListWhatIfForecastExportsResponse' {nextToken} -> nextToken) (\s@ListWhatIfForecastExportsResponse' {} a -> s {nextToken = a} :: ListWhatIfForecastExportsResponse)++-- | An array of @WhatIfForecastExports@ objects that describe the matched+-- forecast exports.+listWhatIfForecastExportsResponse_whatIfForecastExports :: Lens.Lens' ListWhatIfForecastExportsResponse (Prelude.Maybe [WhatIfForecastExportSummary])+listWhatIfForecastExportsResponse_whatIfForecastExports = Lens.lens (\ListWhatIfForecastExportsResponse' {whatIfForecastExports} -> whatIfForecastExports) (\s@ListWhatIfForecastExportsResponse' {} a -> s {whatIfForecastExports = a} :: ListWhatIfForecastExportsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWhatIfForecastExportsResponse_httpStatus :: Lens.Lens' ListWhatIfForecastExportsResponse Prelude.Int+listWhatIfForecastExportsResponse_httpStatus = Lens.lens (\ListWhatIfForecastExportsResponse' {httpStatus} -> httpStatus) (\s@ListWhatIfForecastExportsResponse' {} a -> s {httpStatus = a} :: ListWhatIfForecastExportsResponse)++instance+  Prelude.NFData+    ListWhatIfForecastExportsResponse+  where+  rnf ListWhatIfForecastExportsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf whatIfForecastExports+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ListWhatIfForecasts.hs view
@@ -0,0 +1,319 @@+{-# 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.Forecast.ListWhatIfForecasts+-- 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 what-if forecasts created using the+-- CreateWhatIfForecast operation. For each what-if forecast, this+-- operation returns a summary of its properties, including its Amazon+-- Resource Name (ARN). You can retrieve the complete set of properties by+-- using the what-if forecast ARN with the DescribeWhatIfForecast+-- operation.+--+-- This operation returns paginated results.+module Amazonka.Forecast.ListWhatIfForecasts+  ( -- * Creating a Request+    ListWhatIfForecasts (..),+    newListWhatIfForecasts,++    -- * Request Lenses+    listWhatIfForecasts_filters,+    listWhatIfForecasts_maxResults,+    listWhatIfForecasts_nextToken,++    -- * Destructuring the Response+    ListWhatIfForecastsResponse (..),+    newListWhatIfForecastsResponse,++    -- * Response Lenses+    listWhatIfForecastsResponse_nextToken,+    listWhatIfForecastsResponse_whatIfForecasts,+    listWhatIfForecastsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWhatIfForecasts' smart constructor.+data ListWhatIfForecasts = ListWhatIfForecasts'+  { -- | An array of filters. For each filter, you provide a condition and a+    -- match statement. The condition is either @IS@ or @IS_NOT@, which+    -- specifies whether to include or exclude the what-if forecast export jobs+    -- that match the statement from the list, respectively. The match+    -- statement consists of a key and a value.+    --+    -- __Filter properties__+    --+    -- -   @Condition@ - The condition to apply. Valid values are @IS@ and+    --     @IS_NOT@. To include the forecast export jobs that match the+    --     statement, specify @IS@. To exclude matching forecast export jobs,+    --     specify @IS_NOT@.+    --+    -- -   @Key@ - The name of the parameter to filter on. Valid values are+    --     @WhatIfForecastArn@ and @Status@.+    --+    -- -   @Value@ - The value to match.+    --+    -- For example, to list all jobs that export a forecast named+    -- /electricityWhatIfForecast/, specify the following filter:+    --+    -- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWhatIfForecast\" } ]@+    filters :: Prelude.Maybe [Filter],+    -- | The number of items to return in the response.+    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 'ListWhatIfForecasts' 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:+--+-- 'filters', 'listWhatIfForecasts_filters' - An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the what-if forecast export jobs+-- that match the statement from the list, respectively. The match+-- statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecast export jobs that match the+--     statement, specify @IS@. To exclude matching forecast export jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @WhatIfForecastArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityWhatIfForecast/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWhatIfForecast\" } ]@+--+-- 'maxResults', 'listWhatIfForecasts_maxResults' - The number of items to return in the response.+--+-- 'nextToken', 'listWhatIfForecasts_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.+newListWhatIfForecasts ::+  ListWhatIfForecasts+newListWhatIfForecasts =+  ListWhatIfForecasts'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | An array of filters. For each filter, you provide a condition and a+-- match statement. The condition is either @IS@ or @IS_NOT@, which+-- specifies whether to include or exclude the what-if forecast export jobs+-- that match the statement from the list, respectively. The match+-- statement consists of a key and a value.+--+-- __Filter properties__+--+-- -   @Condition@ - The condition to apply. Valid values are @IS@ and+--     @IS_NOT@. To include the forecast export jobs that match the+--     statement, specify @IS@. To exclude matching forecast export jobs,+--     specify @IS_NOT@.+--+-- -   @Key@ - The name of the parameter to filter on. Valid values are+--     @WhatIfForecastArn@ and @Status@.+--+-- -   @Value@ - The value to match.+--+-- For example, to list all jobs that export a forecast named+-- /electricityWhatIfForecast/, specify the following filter:+--+-- @\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"WhatIfForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:\<acct-id>:forecast\/electricityWhatIfForecast\" } ]@+listWhatIfForecasts_filters :: Lens.Lens' ListWhatIfForecasts (Prelude.Maybe [Filter])+listWhatIfForecasts_filters = Lens.lens (\ListWhatIfForecasts' {filters} -> filters) (\s@ListWhatIfForecasts' {} a -> s {filters = a} :: ListWhatIfForecasts) Prelude.. Lens.mapping Lens.coerced++-- | The number of items to return in the response.+listWhatIfForecasts_maxResults :: Lens.Lens' ListWhatIfForecasts (Prelude.Maybe Prelude.Natural)+listWhatIfForecasts_maxResults = Lens.lens (\ListWhatIfForecasts' {maxResults} -> maxResults) (\s@ListWhatIfForecasts' {} a -> s {maxResults = a} :: ListWhatIfForecasts)++-- | 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.+listWhatIfForecasts_nextToken :: Lens.Lens' ListWhatIfForecasts (Prelude.Maybe Prelude.Text)+listWhatIfForecasts_nextToken = Lens.lens (\ListWhatIfForecasts' {nextToken} -> nextToken) (\s@ListWhatIfForecasts' {} a -> s {nextToken = a} :: ListWhatIfForecasts)++instance Core.AWSPager ListWhatIfForecasts where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWhatIfForecastsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listWhatIfForecastsResponse_whatIfForecasts+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWhatIfForecasts_nextToken+          Lens..~ rs+          Lens.^? listWhatIfForecastsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWhatIfForecasts where+  type+    AWSResponse ListWhatIfForecasts =+      ListWhatIfForecastsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWhatIfForecastsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "WhatIfForecasts"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWhatIfForecasts where+  hashWithSalt _salt ListWhatIfForecasts' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListWhatIfForecasts where+  rnf ListWhatIfForecasts' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListWhatIfForecasts where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ListWhatIfForecasts" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListWhatIfForecasts where+  toJSON ListWhatIfForecasts' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filters" Data..=) Prelude.<$> filters,+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListWhatIfForecasts where+  toPath = Prelude.const "/"++instance Data.ToQuery ListWhatIfForecasts where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListWhatIfForecastsResponse' smart constructor.+data ListWhatIfForecastsResponse = ListWhatIfForecastsResponse'+  { -- | 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,+    -- | An array of @WhatIfForecasts@ objects that describe the matched+    -- forecasts.+    whatIfForecasts :: Prelude.Maybe [WhatIfForecastSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWhatIfForecastsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listWhatIfForecastsResponse_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.+--+-- 'whatIfForecasts', 'listWhatIfForecastsResponse_whatIfForecasts' - An array of @WhatIfForecasts@ objects that describe the matched+-- forecasts.+--+-- 'httpStatus', 'listWhatIfForecastsResponse_httpStatus' - The response's http status code.+newListWhatIfForecastsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWhatIfForecastsResponse+newListWhatIfForecastsResponse pHttpStatus_ =+  ListWhatIfForecastsResponse'+    { nextToken =+        Prelude.Nothing,+      whatIfForecasts = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | 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.+listWhatIfForecastsResponse_nextToken :: Lens.Lens' ListWhatIfForecastsResponse (Prelude.Maybe Prelude.Text)+listWhatIfForecastsResponse_nextToken = Lens.lens (\ListWhatIfForecastsResponse' {nextToken} -> nextToken) (\s@ListWhatIfForecastsResponse' {} a -> s {nextToken = a} :: ListWhatIfForecastsResponse)++-- | An array of @WhatIfForecasts@ objects that describe the matched+-- forecasts.+listWhatIfForecastsResponse_whatIfForecasts :: Lens.Lens' ListWhatIfForecastsResponse (Prelude.Maybe [WhatIfForecastSummary])+listWhatIfForecastsResponse_whatIfForecasts = Lens.lens (\ListWhatIfForecastsResponse' {whatIfForecasts} -> whatIfForecasts) (\s@ListWhatIfForecastsResponse' {} a -> s {whatIfForecasts = a} :: ListWhatIfForecastsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWhatIfForecastsResponse_httpStatus :: Lens.Lens' ListWhatIfForecastsResponse Prelude.Int+listWhatIfForecastsResponse_httpStatus = Lens.lens (\ListWhatIfForecastsResponse' {httpStatus} -> httpStatus) (\s@ListWhatIfForecastsResponse' {} a -> s {httpStatus = a} :: ListWhatIfForecastsResponse)++instance Prelude.NFData ListWhatIfForecastsResponse where+  rnf ListWhatIfForecastsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf whatIfForecasts+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/ResumeResource.hs view
@@ -0,0 +1,132 @@+{-# 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.Forecast.ResumeResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Resumes a stopped monitor resource.+module Amazonka.Forecast.ResumeResource+  ( -- * Creating a Request+    ResumeResource (..),+    newResumeResource,++    -- * Request Lenses+    resumeResource_resourceArn,++    -- * Destructuring the Response+    ResumeResourceResponse (..),+    newResumeResourceResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newResumeResource' smart constructor.+data ResumeResource = ResumeResource'+  { -- | The Amazon Resource Name (ARN) of the monitor resource to resume.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResumeResource' 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', 'resumeResource_resourceArn' - The Amazon Resource Name (ARN) of the monitor resource to resume.+newResumeResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ResumeResource+newResumeResource pResourceArn_ =+  ResumeResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the monitor resource to resume.+resumeResource_resourceArn :: Lens.Lens' ResumeResource Prelude.Text+resumeResource_resourceArn = Lens.lens (\ResumeResource' {resourceArn} -> resourceArn) (\s@ResumeResource' {} a -> s {resourceArn = a} :: ResumeResource)++instance Core.AWSRequest ResumeResource where+  type+    AWSResponse ResumeResource =+      ResumeResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveNull ResumeResourceResponse'++instance Prelude.Hashable ResumeResource where+  hashWithSalt _salt ResumeResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ResumeResource where+  rnf ResumeResource' {..} = Prelude.rnf resourceArn++instance Data.ToHeaders ResumeResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.ResumeResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ResumeResource where+  toJSON ResumeResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath ResumeResource where+  toPath = Prelude.const "/"++instance Data.ToQuery ResumeResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newResumeResourceResponse' smart constructor.+data ResumeResourceResponse = ResumeResourceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResumeResourceResponse' 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.+newResumeResourceResponse ::+  ResumeResourceResponse+newResumeResourceResponse = ResumeResourceResponse'++instance Prelude.NFData ResumeResourceResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/StopResource.hs view
@@ -0,0 +1,158 @@+{-# 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.Forecast.StopResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a resource.+--+-- The resource undergoes the following states: @CREATE_STOPPING@ and+-- @CREATE_STOPPED@. You cannot resume a resource once it has been stopped.+--+-- This operation can be applied to the following resources (and their+-- corresponding child resources):+--+-- -   Dataset Import Job+--+-- -   Predictor Job+--+-- -   Forecast Job+--+-- -   Forecast Export Job+--+-- -   Predictor Backtest Export Job+--+-- -   Explainability Job+--+-- -   Explainability Export Job+module Amazonka.Forecast.StopResource+  ( -- * Creating a Request+    StopResource (..),+    newStopResource,++    -- * Request Lenses+    stopResource_resourceArn,++    -- * Destructuring the Response+    StopResourceResponse (..),+    newStopResourceResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopResource' smart constructor.+data StopResource = StopResource'+  { -- | The Amazon Resource Name (ARN) that identifies the resource to stop. The+    -- supported ARNs are @DatasetImportJobArn@, @PredictorArn@,+    -- @PredictorBacktestExportJobArn@, @ForecastArn@, @ForecastExportJobArn@,+    -- @ExplainabilityArn@, and @ExplainabilityExportArn@.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopResource' 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', 'stopResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the resource to stop. The+-- supported ARNs are @DatasetImportJobArn@, @PredictorArn@,+-- @PredictorBacktestExportJobArn@, @ForecastArn@, @ForecastExportJobArn@,+-- @ExplainabilityArn@, and @ExplainabilityExportArn@.+newStopResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  StopResource+newStopResource pResourceArn_ =+  StopResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) that identifies the resource to stop. The+-- supported ARNs are @DatasetImportJobArn@, @PredictorArn@,+-- @PredictorBacktestExportJobArn@, @ForecastArn@, @ForecastExportJobArn@,+-- @ExplainabilityArn@, and @ExplainabilityExportArn@.+stopResource_resourceArn :: Lens.Lens' StopResource Prelude.Text+stopResource_resourceArn = Lens.lens (\StopResource' {resourceArn} -> resourceArn) (\s@StopResource' {} a -> s {resourceArn = a} :: StopResource)++instance Core.AWSRequest StopResource where+  type AWSResponse StopResource = StopResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response = Response.receiveNull StopResourceResponse'++instance Prelude.Hashable StopResource where+  hashWithSalt _salt StopResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData StopResource where+  rnf StopResource' {..} = Prelude.rnf resourceArn++instance Data.ToHeaders StopResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.StopResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopResource where+  toJSON StopResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ResourceArn" Data..= resourceArn)]+      )++instance Data.ToPath StopResource where+  toPath = Prelude.const "/"++instance Data.ToQuery StopResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopResourceResponse' smart constructor.+data StopResourceResponse = StopResourceResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopResourceResponse' 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.+newStopResourceResponse ::+  StopResourceResponse+newStopResourceResponse = StopResourceResponse'++instance Prelude.NFData StopResourceResponse where+  rnf _ = ()
+ gen/Amazonka/Forecast/TagResource.hs view
@@ -0,0 +1,253 @@+{-# 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.Forecast.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)+--+-- Associates the specified tags to a resource with the specified+-- @resourceArn@. If existing tags on a resource are not specified in the+-- request parameters, they are not changed. When a resource is deleted,+-- the tags associated with that resource are also deleted.+module Amazonka.Forecast.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.Forecast.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 Amazon Resource Name (ARN) that identifies the resource for which to+    -- list the tags.+    resourceArn :: Prelude.Text,+    -- | The tags to add to the resource. A tag is an array of key-value pairs.+    --+    -- The following basic restrictions apply to tags:+    --+    -- -   Maximum number of tags per resource - 50.+    --+    -- -   For each resource, each tag key must be unique, and each tag key can+    --     have only one value.+    --+    -- -   Maximum key length - 128 Unicode characters in UTF-8.+    --+    -- -   Maximum value length - 256 Unicode characters in UTF-8.+    --+    -- -   If your tagging schema is used across multiple services and+    --     resources, remember that other services may have restrictions on+    --     allowed characters. Generally allowed characters are: letters,+    --     numbers, and spaces representable in UTF-8, and the following+    --     characters: + - = . _ : \/ \@.+    --+    -- -   Tag keys and values are case sensitive.+    --+    -- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+    --     such as a prefix for keys as it is reserved for AWS use. You cannot+    --     edit or delete tag keys with this prefix. Values can have this+    --     prefix. If a tag value has @aws@ as its prefix but the key does not,+    --     then Forecast considers it to be a user tag and will count against+    --     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+    --     count against your tags per resource limit.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, 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 Amazon Resource Name (ARN) that identifies the resource for which to+-- list the tags.+--+-- 'tags', 'tagResource_tags' - The tags to add to the resource. A tag is an array of key-value pairs.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) that identifies the resource for which to+-- list the tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to add to the resource. A tag is an array of key-value pairs.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ("AmazonForecast.TagResource" :: Prelude.ByteString),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/Types.hs view
@@ -0,0 +1,756 @@+{-# 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.Forecast.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.Forecast.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _InvalidInputException,+    _InvalidNextTokenException,+    _LimitExceededException,+    _ResourceAlreadyExistsException,+    _ResourceInUseException,+    _ResourceNotFoundException,++    -- * AttributeType+    AttributeType (..),++    -- * AutoMLOverrideStrategy+    AutoMLOverrideStrategy (..),++    -- * Condition+    Condition (..),++    -- * DatasetType+    DatasetType (..),++    -- * DayOfWeek+    DayOfWeek (..),++    -- * Domain+    Domain (..),++    -- * EvaluationType+    EvaluationType (..),++    -- * FeaturizationMethodName+    FeaturizationMethodName (..),++    -- * FilterConditionString+    FilterConditionString (..),++    -- * Month+    Month (..),++    -- * Operation+    Operation (..),++    -- * OptimizationMetric+    OptimizationMetric (..),++    -- * ScalingType+    ScalingType (..),++    -- * State+    State (..),++    -- * TimePointGranularity+    TimePointGranularity (..),++    -- * TimeSeriesGranularity+    TimeSeriesGranularity (..),++    -- * Action+    Action (..),+    newAction,+    action_attributeName,+    action_operation,+    action_value,++    -- * AdditionalDataset+    AdditionalDataset (..),+    newAdditionalDataset,+    additionalDataset_configuration,+    additionalDataset_name,++    -- * AttributeConfig+    AttributeConfig (..),+    newAttributeConfig,+    attributeConfig_attributeName,+    attributeConfig_transformations,++    -- * Baseline+    Baseline (..),+    newBaseline,+    baseline_predictorBaseline,++    -- * BaselineMetric+    BaselineMetric (..),+    newBaselineMetric,+    baselineMetric_name,+    baselineMetric_value,++    -- * CategoricalParameterRange+    CategoricalParameterRange (..),+    newCategoricalParameterRange,+    categoricalParameterRange_name,+    categoricalParameterRange_values,++    -- * ContinuousParameterRange+    ContinuousParameterRange (..),+    newContinuousParameterRange,+    continuousParameterRange_scalingType,+    continuousParameterRange_name,+    continuousParameterRange_maxValue,+    continuousParameterRange_minValue,++    -- * DataConfig+    DataConfig (..),+    newDataConfig,+    dataConfig_additionalDatasets,+    dataConfig_attributeConfigs,+    dataConfig_datasetGroupArn,++    -- * DataDestination+    DataDestination (..),+    newDataDestination,+    dataDestination_s3Config,++    -- * DataSource+    DataSource (..),+    newDataSource,+    dataSource_s3Config,++    -- * DatasetGroupSummary+    DatasetGroupSummary (..),+    newDatasetGroupSummary,+    datasetGroupSummary_creationTime,+    datasetGroupSummary_datasetGroupArn,+    datasetGroupSummary_datasetGroupName,+    datasetGroupSummary_lastModificationTime,++    -- * DatasetImportJobSummary+    DatasetImportJobSummary (..),+    newDatasetImportJobSummary,+    datasetImportJobSummary_creationTime,+    datasetImportJobSummary_dataSource,+    datasetImportJobSummary_datasetImportJobArn,+    datasetImportJobSummary_datasetImportJobName,+    datasetImportJobSummary_lastModificationTime,+    datasetImportJobSummary_message,+    datasetImportJobSummary_status,++    -- * DatasetSummary+    DatasetSummary (..),+    newDatasetSummary,+    datasetSummary_creationTime,+    datasetSummary_datasetArn,+    datasetSummary_datasetName,+    datasetSummary_datasetType,+    datasetSummary_domain,+    datasetSummary_lastModificationTime,++    -- * EncryptionConfig+    EncryptionConfig (..),+    newEncryptionConfig,+    encryptionConfig_roleArn,+    encryptionConfig_kmsKeyArn,++    -- * ErrorMetric+    ErrorMetric (..),+    newErrorMetric,+    errorMetric_forecastType,+    errorMetric_mape,+    errorMetric_mase,+    errorMetric_rmse,+    errorMetric_wape,++    -- * EvaluationParameters+    EvaluationParameters (..),+    newEvaluationParameters,+    evaluationParameters_backTestWindowOffset,+    evaluationParameters_numberOfBacktestWindows,++    -- * EvaluationResult+    EvaluationResult (..),+    newEvaluationResult,+    evaluationResult_algorithmArn,+    evaluationResult_testWindows,++    -- * ExplainabilityConfig+    ExplainabilityConfig (..),+    newExplainabilityConfig,+    explainabilityConfig_timeSeriesGranularity,+    explainabilityConfig_timePointGranularity,++    -- * ExplainabilityExportSummary+    ExplainabilityExportSummary (..),+    newExplainabilityExportSummary,+    explainabilityExportSummary_creationTime,+    explainabilityExportSummary_destination,+    explainabilityExportSummary_explainabilityExportArn,+    explainabilityExportSummary_explainabilityExportName,+    explainabilityExportSummary_lastModificationTime,+    explainabilityExportSummary_message,+    explainabilityExportSummary_status,++    -- * ExplainabilityInfo+    ExplainabilityInfo (..),+    newExplainabilityInfo,+    explainabilityInfo_explainabilityArn,+    explainabilityInfo_status,++    -- * ExplainabilitySummary+    ExplainabilitySummary (..),+    newExplainabilitySummary,+    explainabilitySummary_creationTime,+    explainabilitySummary_explainabilityArn,+    explainabilitySummary_explainabilityConfig,+    explainabilitySummary_explainabilityName,+    explainabilitySummary_lastModificationTime,+    explainabilitySummary_message,+    explainabilitySummary_resourceArn,+    explainabilitySummary_status,++    -- * Featurization+    Featurization (..),+    newFeaturization,+    featurization_featurizationPipeline,+    featurization_attributeName,++    -- * FeaturizationConfig+    FeaturizationConfig (..),+    newFeaturizationConfig,+    featurizationConfig_featurizations,+    featurizationConfig_forecastDimensions,+    featurizationConfig_forecastFrequency,++    -- * FeaturizationMethod+    FeaturizationMethod (..),+    newFeaturizationMethod,+    featurizationMethod_featurizationMethodParameters,+    featurizationMethod_featurizationMethodName,++    -- * Filter+    Filter (..),+    newFilter,+    filter_key,+    filter_value,+    filter_condition,++    -- * ForecastExportJobSummary+    ForecastExportJobSummary (..),+    newForecastExportJobSummary,+    forecastExportJobSummary_creationTime,+    forecastExportJobSummary_destination,+    forecastExportJobSummary_forecastExportJobArn,+    forecastExportJobSummary_forecastExportJobName,+    forecastExportJobSummary_lastModificationTime,+    forecastExportJobSummary_message,+    forecastExportJobSummary_status,++    -- * ForecastSummary+    ForecastSummary (..),+    newForecastSummary,+    forecastSummary_createdUsingAutoPredictor,+    forecastSummary_creationTime,+    forecastSummary_datasetGroupArn,+    forecastSummary_forecastArn,+    forecastSummary_forecastName,+    forecastSummary_lastModificationTime,+    forecastSummary_message,+    forecastSummary_predictorArn,+    forecastSummary_status,++    -- * HyperParameterTuningJobConfig+    HyperParameterTuningJobConfig (..),+    newHyperParameterTuningJobConfig,+    hyperParameterTuningJobConfig_parameterRanges,++    -- * InputDataConfig+    InputDataConfig (..),+    newInputDataConfig,+    inputDataConfig_supplementaryFeatures,+    inputDataConfig_datasetGroupArn,++    -- * IntegerParameterRange+    IntegerParameterRange (..),+    newIntegerParameterRange,+    integerParameterRange_scalingType,+    integerParameterRange_name,+    integerParameterRange_maxValue,+    integerParameterRange_minValue,++    -- * MetricResult+    MetricResult (..),+    newMetricResult,+    metricResult_metricName,+    metricResult_metricValue,++    -- * Metrics+    Metrics (..),+    newMetrics,+    metrics_averageWeightedQuantileLoss,+    metrics_errorMetrics,+    metrics_rmse,+    metrics_weightedQuantileLosses,++    -- * MonitorConfig+    MonitorConfig (..),+    newMonitorConfig,+    monitorConfig_monitorName,++    -- * MonitorDataSource+    MonitorDataSource (..),+    newMonitorDataSource,+    monitorDataSource_datasetImportJobArn,+    monitorDataSource_forecastArn,+    monitorDataSource_predictorArn,++    -- * MonitorInfo+    MonitorInfo (..),+    newMonitorInfo,+    monitorInfo_monitorArn,+    monitorInfo_status,++    -- * MonitorSummary+    MonitorSummary (..),+    newMonitorSummary,+    monitorSummary_creationTime,+    monitorSummary_lastModificationTime,+    monitorSummary_monitorArn,+    monitorSummary_monitorName,+    monitorSummary_resourceArn,+    monitorSummary_status,++    -- * ParameterRanges+    ParameterRanges (..),+    newParameterRanges,+    parameterRanges_categoricalParameterRanges,+    parameterRanges_continuousParameterRanges,+    parameterRanges_integerParameterRanges,++    -- * PredictorBacktestExportJobSummary+    PredictorBacktestExportJobSummary (..),+    newPredictorBacktestExportJobSummary,+    predictorBacktestExportJobSummary_creationTime,+    predictorBacktestExportJobSummary_destination,+    predictorBacktestExportJobSummary_lastModificationTime,+    predictorBacktestExportJobSummary_message,+    predictorBacktestExportJobSummary_predictorBacktestExportJobArn,+    predictorBacktestExportJobSummary_predictorBacktestExportJobName,+    predictorBacktestExportJobSummary_status,++    -- * PredictorBaseline+    PredictorBaseline (..),+    newPredictorBaseline,+    predictorBaseline_baselineMetrics,++    -- * PredictorEvent+    PredictorEvent (..),+    newPredictorEvent,+    predictorEvent_datetime,+    predictorEvent_detail,++    -- * PredictorExecution+    PredictorExecution (..),+    newPredictorExecution,+    predictorExecution_algorithmArn,+    predictorExecution_testWindows,++    -- * PredictorExecutionDetails+    PredictorExecutionDetails (..),+    newPredictorExecutionDetails,+    predictorExecutionDetails_predictorExecutions,++    -- * PredictorMonitorEvaluation+    PredictorMonitorEvaluation (..),+    newPredictorMonitorEvaluation,+    predictorMonitorEvaluation_evaluationState,+    predictorMonitorEvaluation_evaluationTime,+    predictorMonitorEvaluation_message,+    predictorMonitorEvaluation_metricResults,+    predictorMonitorEvaluation_monitorArn,+    predictorMonitorEvaluation_monitorDataSource,+    predictorMonitorEvaluation_numItemsEvaluated,+    predictorMonitorEvaluation_predictorEvent,+    predictorMonitorEvaluation_resourceArn,+    predictorMonitorEvaluation_windowEndDatetime,+    predictorMonitorEvaluation_windowStartDatetime,++    -- * PredictorSummary+    PredictorSummary (..),+    newPredictorSummary,+    predictorSummary_creationTime,+    predictorSummary_datasetGroupArn,+    predictorSummary_isAutoPredictor,+    predictorSummary_lastModificationTime,+    predictorSummary_message,+    predictorSummary_predictorArn,+    predictorSummary_predictorName,+    predictorSummary_referencePredictorSummary,+    predictorSummary_status,++    -- * ReferencePredictorSummary+    ReferencePredictorSummary (..),+    newReferencePredictorSummary,+    referencePredictorSummary_arn,+    referencePredictorSummary_state,++    -- * S3Config+    S3Config (..),+    newS3Config,+    s3Config_kmsKeyArn,+    s3Config_path,+    s3Config_roleArn,++    -- * Schema+    Schema (..),+    newSchema,+    schema_attributes,++    -- * SchemaAttribute+    SchemaAttribute (..),+    newSchemaAttribute,+    schemaAttribute_attributeName,+    schemaAttribute_attributeType,++    -- * Statistics+    Statistics (..),+    newStatistics,+    statistics_avg,+    statistics_count,+    statistics_countDistinct,+    statistics_countDistinctLong,+    statistics_countLong,+    statistics_countNan,+    statistics_countNanLong,+    statistics_countNull,+    statistics_countNullLong,+    statistics_max,+    statistics_min,+    statistics_stddev,++    -- * SupplementaryFeature+    SupplementaryFeature (..),+    newSupplementaryFeature,+    supplementaryFeature_name,+    supplementaryFeature_value,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TestWindowSummary+    TestWindowSummary (..),+    newTestWindowSummary,+    testWindowSummary_message,+    testWindowSummary_status,+    testWindowSummary_testWindowEnd,+    testWindowSummary_testWindowStart,++    -- * TimeAlignmentBoundary+    TimeAlignmentBoundary (..),+    newTimeAlignmentBoundary,+    timeAlignmentBoundary_dayOfMonth,+    timeAlignmentBoundary_dayOfWeek,+    timeAlignmentBoundary_hour,+    timeAlignmentBoundary_month,++    -- * TimeSeriesCondition+    TimeSeriesCondition (..),+    newTimeSeriesCondition,+    timeSeriesCondition_attributeName,+    timeSeriesCondition_attributeValue,+    timeSeriesCondition_condition,++    -- * TimeSeriesIdentifiers+    TimeSeriesIdentifiers (..),+    newTimeSeriesIdentifiers,+    timeSeriesIdentifiers_dataSource,+    timeSeriesIdentifiers_format,+    timeSeriesIdentifiers_schema,++    -- * TimeSeriesReplacementsDataSource+    TimeSeriesReplacementsDataSource (..),+    newTimeSeriesReplacementsDataSource,+    timeSeriesReplacementsDataSource_format,+    timeSeriesReplacementsDataSource_timestampFormat,+    timeSeriesReplacementsDataSource_s3Config,+    timeSeriesReplacementsDataSource_schema,++    -- * TimeSeriesSelector+    TimeSeriesSelector (..),+    newTimeSeriesSelector,+    timeSeriesSelector_timeSeriesIdentifiers,++    -- * TimeSeriesTransformation+    TimeSeriesTransformation (..),+    newTimeSeriesTransformation,+    timeSeriesTransformation_action,+    timeSeriesTransformation_timeSeriesConditions,++    -- * WeightedQuantileLoss+    WeightedQuantileLoss (..),+    newWeightedQuantileLoss,+    weightedQuantileLoss_lossValue,+    weightedQuantileLoss_quantile,++    -- * WhatIfAnalysisSummary+    WhatIfAnalysisSummary (..),+    newWhatIfAnalysisSummary,+    whatIfAnalysisSummary_creationTime,+    whatIfAnalysisSummary_forecastArn,+    whatIfAnalysisSummary_lastModificationTime,+    whatIfAnalysisSummary_message,+    whatIfAnalysisSummary_status,+    whatIfAnalysisSummary_whatIfAnalysisArn,+    whatIfAnalysisSummary_whatIfAnalysisName,++    -- * WhatIfForecastExportSummary+    WhatIfForecastExportSummary (..),+    newWhatIfForecastExportSummary,+    whatIfForecastExportSummary_creationTime,+    whatIfForecastExportSummary_destination,+    whatIfForecastExportSummary_lastModificationTime,+    whatIfForecastExportSummary_message,+    whatIfForecastExportSummary_status,+    whatIfForecastExportSummary_whatIfForecastArns,+    whatIfForecastExportSummary_whatIfForecastExportArn,+    whatIfForecastExportSummary_whatIfForecastExportName,++    -- * WhatIfForecastSummary+    WhatIfForecastSummary (..),+    newWhatIfForecastSummary,+    whatIfForecastSummary_creationTime,+    whatIfForecastSummary_lastModificationTime,+    whatIfForecastSummary_message,+    whatIfForecastSummary_status,+    whatIfForecastSummary_whatIfAnalysisArn,+    whatIfForecastSummary_whatIfForecastArn,+    whatIfForecastSummary_whatIfForecastName,++    -- * WindowSummary+    WindowSummary (..),+    newWindowSummary,+    windowSummary_evaluationType,+    windowSummary_itemCount,+    windowSummary_metrics,+    windowSummary_testWindowEnd,+    windowSummary_testWindowStart,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Forecast.Types.Action+import Amazonka.Forecast.Types.AdditionalDataset+import Amazonka.Forecast.Types.AttributeConfig+import Amazonka.Forecast.Types.AttributeType+import Amazonka.Forecast.Types.AutoMLOverrideStrategy+import Amazonka.Forecast.Types.Baseline+import Amazonka.Forecast.Types.BaselineMetric+import Amazonka.Forecast.Types.CategoricalParameterRange+import Amazonka.Forecast.Types.Condition+import Amazonka.Forecast.Types.ContinuousParameterRange+import Amazonka.Forecast.Types.DataConfig+import Amazonka.Forecast.Types.DataDestination+import Amazonka.Forecast.Types.DataSource+import Amazonka.Forecast.Types.DatasetGroupSummary+import Amazonka.Forecast.Types.DatasetImportJobSummary+import Amazonka.Forecast.Types.DatasetSummary+import Amazonka.Forecast.Types.DatasetType+import Amazonka.Forecast.Types.DayOfWeek+import Amazonka.Forecast.Types.Domain+import Amazonka.Forecast.Types.EncryptionConfig+import Amazonka.Forecast.Types.ErrorMetric+import Amazonka.Forecast.Types.EvaluationParameters+import Amazonka.Forecast.Types.EvaluationResult+import Amazonka.Forecast.Types.EvaluationType+import Amazonka.Forecast.Types.ExplainabilityConfig+import Amazonka.Forecast.Types.ExplainabilityExportSummary+import Amazonka.Forecast.Types.ExplainabilityInfo+import Amazonka.Forecast.Types.ExplainabilitySummary+import Amazonka.Forecast.Types.Featurization+import Amazonka.Forecast.Types.FeaturizationConfig+import Amazonka.Forecast.Types.FeaturizationMethod+import Amazonka.Forecast.Types.FeaturizationMethodName+import Amazonka.Forecast.Types.Filter+import Amazonka.Forecast.Types.FilterConditionString+import Amazonka.Forecast.Types.ForecastExportJobSummary+import Amazonka.Forecast.Types.ForecastSummary+import Amazonka.Forecast.Types.HyperParameterTuningJobConfig+import Amazonka.Forecast.Types.InputDataConfig+import Amazonka.Forecast.Types.IntegerParameterRange+import Amazonka.Forecast.Types.MetricResult+import Amazonka.Forecast.Types.Metrics+import Amazonka.Forecast.Types.MonitorConfig+import Amazonka.Forecast.Types.MonitorDataSource+import Amazonka.Forecast.Types.MonitorInfo+import Amazonka.Forecast.Types.MonitorSummary+import Amazonka.Forecast.Types.Month+import Amazonka.Forecast.Types.Operation+import Amazonka.Forecast.Types.OptimizationMetric+import Amazonka.Forecast.Types.ParameterRanges+import Amazonka.Forecast.Types.PredictorBacktestExportJobSummary+import Amazonka.Forecast.Types.PredictorBaseline+import Amazonka.Forecast.Types.PredictorEvent+import Amazonka.Forecast.Types.PredictorExecution+import Amazonka.Forecast.Types.PredictorExecutionDetails+import Amazonka.Forecast.Types.PredictorMonitorEvaluation+import Amazonka.Forecast.Types.PredictorSummary+import Amazonka.Forecast.Types.ReferencePredictorSummary+import Amazonka.Forecast.Types.S3Config+import Amazonka.Forecast.Types.ScalingType+import Amazonka.Forecast.Types.Schema+import Amazonka.Forecast.Types.SchemaAttribute+import Amazonka.Forecast.Types.State+import Amazonka.Forecast.Types.Statistics+import Amazonka.Forecast.Types.SupplementaryFeature+import Amazonka.Forecast.Types.Tag+import Amazonka.Forecast.Types.TestWindowSummary+import Amazonka.Forecast.Types.TimeAlignmentBoundary+import Amazonka.Forecast.Types.TimePointGranularity+import Amazonka.Forecast.Types.TimeSeriesCondition+import Amazonka.Forecast.Types.TimeSeriesGranularity+import Amazonka.Forecast.Types.TimeSeriesIdentifiers+import Amazonka.Forecast.Types.TimeSeriesReplacementsDataSource+import Amazonka.Forecast.Types.TimeSeriesSelector+import Amazonka.Forecast.Types.TimeSeriesTransformation+import Amazonka.Forecast.Types.WeightedQuantileLoss+import Amazonka.Forecast.Types.WhatIfAnalysisSummary+import Amazonka.Forecast.Types.WhatIfForecastExportSummary+import Amazonka.Forecast.Types.WhatIfForecastSummary+import Amazonka.Forecast.Types.WindowSummary+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-06-26@ of the Amazon Forecast Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Forecast",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "forecast",+      Core.signingName = "forecast",+      Core.version = "2018-06-26",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Forecast",+      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++-- | We can\'t process the request because it includes an invalid value or a+-- value that exceeds the valid range.+_InvalidInputException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidInputException =+  Core._MatchServiceError+    defaultService+    "InvalidInputException"++-- | The token is not valid. Tokens expire after 24 hours.+_InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidNextTokenException =+  Core._MatchServiceError+    defaultService+    "InvalidNextTokenException"++-- | The limit on the number of resources per account has been exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+  Core._MatchServiceError+    defaultService+    "LimitExceededException"++-- | There is already a resource with this name. Try again with a different+-- name.+_ResourceAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceAlreadyExistsException =+  Core._MatchServiceError+    defaultService+    "ResourceAlreadyExistsException"++-- | The specified resource is in use.+_ResourceInUseException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceInUseException =+  Core._MatchServiceError+    defaultService+    "ResourceInUseException"++-- | We can\'t find a resource with that Amazon Resource Name (ARN). Check+-- the ARN and try again.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"
+ gen/Amazonka/Forecast/Types/Action.hs view
@@ -0,0 +1,151 @@+{-# 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.Forecast.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.Forecast.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.Forecast.Types.Operation+import qualified Amazonka.Prelude as Prelude++-- | Defines the modifications that you are making to an attribute for a+-- what-if forecast. For example, you can use this operation to create a+-- what-if forecast that investigates a 10% off sale on all shoes. To do+-- this, you specify @\"AttributeName\": \"shoes\"@,+-- @\"Operation\": \"MULTIPLY\"@, and @\"Value\": \"0.90\"@. Pair this+-- operation with the TimeSeriesCondition operation within the+-- CreateWhatIfForecastRequest$TimeSeriesTransformations operation to+-- define a subset of attribute items that are modified.+--+-- /See:/ 'newAction' smart constructor.+data Action = Action'+  { -- | The related time series that you are modifying. This value is case+    -- insensitive.+    attributeName :: Prelude.Text,+    -- | The operation that is applied to the provided attribute. Operations+    -- include:+    --+    -- -   @ADD@ - adds @Value@ to all rows of @AttributeName@.+    --+    -- -   @SUBTRACT@ - subtracts @Value@ from all rows of @AttributeName@.+    --+    -- -   @MULTIPLY@ - multiplies all rows of @AttributeName@ by @Value@.+    --+    -- -   @DIVIDE@ - divides all rows of @AttributeName@ by @Value@.+    operation :: Operation,+    -- | The value that is applied for the chosen @Operation@.+    value :: Prelude.Double+  }+  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:+--+-- 'attributeName', 'action_attributeName' - The related time series that you are modifying. This value is case+-- insensitive.+--+-- 'operation', 'action_operation' - The operation that is applied to the provided attribute. Operations+-- include:+--+-- -   @ADD@ - adds @Value@ to all rows of @AttributeName@.+--+-- -   @SUBTRACT@ - subtracts @Value@ from all rows of @AttributeName@.+--+-- -   @MULTIPLY@ - multiplies all rows of @AttributeName@ by @Value@.+--+-- -   @DIVIDE@ - divides all rows of @AttributeName@ by @Value@.+--+-- 'value', 'action_value' - The value that is applied for the chosen @Operation@.+newAction ::+  -- | 'attributeName'+  Prelude.Text ->+  -- | 'operation'+  Operation ->+  -- | 'value'+  Prelude.Double ->+  Action+newAction pAttributeName_ pOperation_ pValue_ =+  Action'+    { attributeName = pAttributeName_,+      operation = pOperation_,+      value = pValue_+    }++-- | The related time series that you are modifying. This value is case+-- insensitive.+action_attributeName :: Lens.Lens' Action Prelude.Text+action_attributeName = Lens.lens (\Action' {attributeName} -> attributeName) (\s@Action' {} a -> s {attributeName = a} :: Action)++-- | The operation that is applied to the provided attribute. Operations+-- include:+--+-- -   @ADD@ - adds @Value@ to all rows of @AttributeName@.+--+-- -   @SUBTRACT@ - subtracts @Value@ from all rows of @AttributeName@.+--+-- -   @MULTIPLY@ - multiplies all rows of @AttributeName@ by @Value@.+--+-- -   @DIVIDE@ - divides all rows of @AttributeName@ by @Value@.+action_operation :: Lens.Lens' Action Operation+action_operation = Lens.lens (\Action' {operation} -> operation) (\s@Action' {} a -> s {operation = a} :: Action)++-- | The value that is applied for the chosen @Operation@.+action_value :: Lens.Lens' Action Prelude.Double+action_value = Lens.lens (\Action' {value} -> value) (\s@Action' {} a -> s {value = a} :: Action)++instance Data.FromJSON Action where+  parseJSON =+    Data.withObject+      "Action"+      ( \x ->+          Action'+            Prelude.<$> (x Data..: "AttributeName")+            Prelude.<*> (x Data..: "Operation")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Action where+  hashWithSalt _salt Action' {..} =+    _salt+      `Prelude.hashWithSalt` attributeName+      `Prelude.hashWithSalt` operation+      `Prelude.hashWithSalt` value++instance Prelude.NFData Action where+  rnf Action' {..} =+    Prelude.rnf attributeName+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Action where+  toJSON Action' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AttributeName" Data..= attributeName),+            Prelude.Just ("Operation" Data..= operation),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Forecast/Types/AdditionalDataset.hs view
@@ -0,0 +1,541 @@+{-# 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.Forecast.Types.AdditionalDataset+-- 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.Forecast.Types.AdditionalDataset 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++-- | Describes an additional dataset. This object is part of the DataConfig+-- object. Forecast supports the Weather Index and Holidays additional+-- datasets.+--+-- __Weather Index__+--+-- The Amazon Forecast Weather Index is a built-in dataset that+-- incorporates historical and projected weather information into your+-- model. The Weather Index supplements your datasets with over two years+-- of historical weather data and up to 14 days of projected weather data.+-- For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/weather.html Amazon Forecast Weather Index>.+--+-- __Holidays__+--+-- Holidays is a built-in dataset that incorporates national holiday+-- information into your model. It provides native support for the holiday+-- calendars of 66 countries. To view the holiday calendars, refer to the+-- <http://jollyday.sourceforge.net/data.html Jollyday> library. For more+-- information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/holidays.html Holidays Featurization>.+--+-- /See:/ 'newAdditionalDataset' smart constructor.+data AdditionalDataset = AdditionalDataset'+  { -- | __Weather Index__+    --+    -- To enable the Weather Index, do not specify a value for @Configuration@.+    --+    -- __Holidays__+    --+    -- __Holidays__+    --+    -- To enable Holidays, set @CountryCode@ to one of the following two-letter+    -- country codes:+    --+    -- -   \"AL\" - ALBANIA+    --+    -- -   \"AR\" - ARGENTINA+    --+    -- -   \"AT\" - AUSTRIA+    --+    -- -   \"AU\" - AUSTRALIA+    --+    -- -   \"BA\" - BOSNIA HERZEGOVINA+    --+    -- -   \"BE\" - BELGIUM+    --+    -- -   \"BG\" - BULGARIA+    --+    -- -   \"BO\" - BOLIVIA+    --+    -- -   \"BR\" - BRAZIL+    --+    -- -   \"BY\" - BELARUS+    --+    -- -   \"CA\" - CANADA+    --+    -- -   \"CL\" - CHILE+    --+    -- -   \"CO\" - COLOMBIA+    --+    -- -   \"CR\" - COSTA RICA+    --+    -- -   \"HR\" - CROATIA+    --+    -- -   \"CZ\" - CZECH REPUBLIC+    --+    -- -   \"DK\" - DENMARK+    --+    -- -   \"EC\" - ECUADOR+    --+    -- -   \"EE\" - ESTONIA+    --+    -- -   \"ET\" - ETHIOPIA+    --+    -- -   \"FI\" - FINLAND+    --+    -- -   \"FR\" - FRANCE+    --+    -- -   \"DE\" - GERMANY+    --+    -- -   \"GR\" - GREECE+    --+    -- -   \"HU\" - HUNGARY+    --+    -- -   \"IS\" - ICELAND+    --+    -- -   \"IN\" - INDIA+    --+    -- -   \"IE\" - IRELAND+    --+    -- -   \"IT\" - ITALY+    --+    -- -   \"JP\" - JAPAN+    --+    -- -   \"KZ\" - KAZAKHSTAN+    --+    -- -   \"KR\" - KOREA+    --+    -- -   \"LV\" - LATVIA+    --+    -- -   \"LI\" - LIECHTENSTEIN+    --+    -- -   \"LT\" - LITHUANIA+    --+    -- -   \"LU\" - LUXEMBOURG+    --+    -- -   \"MK\" - MACEDONIA+    --+    -- -   \"MT\" - MALTA+    --+    -- -   \"MX\" - MEXICO+    --+    -- -   \"MD\" - MOLDOVA+    --+    -- -   \"ME\" - MONTENEGRO+    --+    -- -   \"NL\" - NETHERLANDS+    --+    -- -   \"NZ\" - NEW ZEALAND+    --+    -- -   \"NI\" - NICARAGUA+    --+    -- -   \"NG\" - NIGERIA+    --+    -- -   \"NO\" - NORWAY+    --+    -- -   \"PA\" - PANAMA+    --+    -- -   \"PY\" - PARAGUAY+    --+    -- -   \"PE\" - PERU+    --+    -- -   \"PL\" - POLAND+    --+    -- -   \"PT\" - PORTUGAL+    --+    -- -   \"RO\" - ROMANIA+    --+    -- -   \"RU\" - RUSSIA+    --+    -- -   \"RS\" - SERBIA+    --+    -- -   \"SK\" - SLOVAKIA+    --+    -- -   \"SI\" - SLOVENIA+    --+    -- -   \"ZA\" - SOUTH AFRICA+    --+    -- -   \"ES\" - SPAIN+    --+    -- -   \"SE\" - SWEDEN+    --+    -- -   \"CH\" - SWITZERLAND+    --+    -- -   \"UA\" - UKRAINE+    --+    -- -   \"AE\" - UNITED ARAB EMIRATES+    --+    -- -   \"US\" - UNITED STATES+    --+    -- -   \"UK\" - UNITED KINGDOM+    --+    -- -   \"UY\" - URUGUAY+    --+    -- -   \"VE\" - VENEZUELA+    configuration :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.NonEmpty Prelude.Text)),+    -- | The name of the additional dataset. Valid names: @\"holiday\"@ and+    -- @\"weather\"@.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdditionalDataset' 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:+--+-- 'configuration', 'additionalDataset_configuration' - __Weather Index__+--+-- To enable the Weather Index, do not specify a value for @Configuration@.+--+-- __Holidays__+--+-- __Holidays__+--+-- To enable Holidays, set @CountryCode@ to one of the following two-letter+-- country codes:+--+-- -   \"AL\" - ALBANIA+--+-- -   \"AR\" - ARGENTINA+--+-- -   \"AT\" - AUSTRIA+--+-- -   \"AU\" - AUSTRALIA+--+-- -   \"BA\" - BOSNIA HERZEGOVINA+--+-- -   \"BE\" - BELGIUM+--+-- -   \"BG\" - BULGARIA+--+-- -   \"BO\" - BOLIVIA+--+-- -   \"BR\" - BRAZIL+--+-- -   \"BY\" - BELARUS+--+-- -   \"CA\" - CANADA+--+-- -   \"CL\" - CHILE+--+-- -   \"CO\" - COLOMBIA+--+-- -   \"CR\" - COSTA RICA+--+-- -   \"HR\" - CROATIA+--+-- -   \"CZ\" - CZECH REPUBLIC+--+-- -   \"DK\" - DENMARK+--+-- -   \"EC\" - ECUADOR+--+-- -   \"EE\" - ESTONIA+--+-- -   \"ET\" - ETHIOPIA+--+-- -   \"FI\" - FINLAND+--+-- -   \"FR\" - FRANCE+--+-- -   \"DE\" - GERMANY+--+-- -   \"GR\" - GREECE+--+-- -   \"HU\" - HUNGARY+--+-- -   \"IS\" - ICELAND+--+-- -   \"IN\" - INDIA+--+-- -   \"IE\" - IRELAND+--+-- -   \"IT\" - ITALY+--+-- -   \"JP\" - JAPAN+--+-- -   \"KZ\" - KAZAKHSTAN+--+-- -   \"KR\" - KOREA+--+-- -   \"LV\" - LATVIA+--+-- -   \"LI\" - LIECHTENSTEIN+--+-- -   \"LT\" - LITHUANIA+--+-- -   \"LU\" - LUXEMBOURG+--+-- -   \"MK\" - MACEDONIA+--+-- -   \"MT\" - MALTA+--+-- -   \"MX\" - MEXICO+--+-- -   \"MD\" - MOLDOVA+--+-- -   \"ME\" - MONTENEGRO+--+-- -   \"NL\" - NETHERLANDS+--+-- -   \"NZ\" - NEW ZEALAND+--+-- -   \"NI\" - NICARAGUA+--+-- -   \"NG\" - NIGERIA+--+-- -   \"NO\" - NORWAY+--+-- -   \"PA\" - PANAMA+--+-- -   \"PY\" - PARAGUAY+--+-- -   \"PE\" - PERU+--+-- -   \"PL\" - POLAND+--+-- -   \"PT\" - PORTUGAL+--+-- -   \"RO\" - ROMANIA+--+-- -   \"RU\" - RUSSIA+--+-- -   \"RS\" - SERBIA+--+-- -   \"SK\" - SLOVAKIA+--+-- -   \"SI\" - SLOVENIA+--+-- -   \"ZA\" - SOUTH AFRICA+--+-- -   \"ES\" - SPAIN+--+-- -   \"SE\" - SWEDEN+--+-- -   \"CH\" - SWITZERLAND+--+-- -   \"UA\" - UKRAINE+--+-- -   \"AE\" - UNITED ARAB EMIRATES+--+-- -   \"US\" - UNITED STATES+--+-- -   \"UK\" - UNITED KINGDOM+--+-- -   \"UY\" - URUGUAY+--+-- -   \"VE\" - VENEZUELA+--+-- 'name', 'additionalDataset_name' - The name of the additional dataset. Valid names: @\"holiday\"@ and+-- @\"weather\"@.+newAdditionalDataset ::+  -- | 'name'+  Prelude.Text ->+  AdditionalDataset+newAdditionalDataset pName_ =+  AdditionalDataset'+    { configuration = Prelude.Nothing,+      name = pName_+    }++-- | __Weather Index__+--+-- To enable the Weather Index, do not specify a value for @Configuration@.+--+-- __Holidays__+--+-- __Holidays__+--+-- To enable Holidays, set @CountryCode@ to one of the following two-letter+-- country codes:+--+-- -   \"AL\" - ALBANIA+--+-- -   \"AR\" - ARGENTINA+--+-- -   \"AT\" - AUSTRIA+--+-- -   \"AU\" - AUSTRALIA+--+-- -   \"BA\" - BOSNIA HERZEGOVINA+--+-- -   \"BE\" - BELGIUM+--+-- -   \"BG\" - BULGARIA+--+-- -   \"BO\" - BOLIVIA+--+-- -   \"BR\" - BRAZIL+--+-- -   \"BY\" - BELARUS+--+-- -   \"CA\" - CANADA+--+-- -   \"CL\" - CHILE+--+-- -   \"CO\" - COLOMBIA+--+-- -   \"CR\" - COSTA RICA+--+-- -   \"HR\" - CROATIA+--+-- -   \"CZ\" - CZECH REPUBLIC+--+-- -   \"DK\" - DENMARK+--+-- -   \"EC\" - ECUADOR+--+-- -   \"EE\" - ESTONIA+--+-- -   \"ET\" - ETHIOPIA+--+-- -   \"FI\" - FINLAND+--+-- -   \"FR\" - FRANCE+--+-- -   \"DE\" - GERMANY+--+-- -   \"GR\" - GREECE+--+-- -   \"HU\" - HUNGARY+--+-- -   \"IS\" - ICELAND+--+-- -   \"IN\" - INDIA+--+-- -   \"IE\" - IRELAND+--+-- -   \"IT\" - ITALY+--+-- -   \"JP\" - JAPAN+--+-- -   \"KZ\" - KAZAKHSTAN+--+-- -   \"KR\" - KOREA+--+-- -   \"LV\" - LATVIA+--+-- -   \"LI\" - LIECHTENSTEIN+--+-- -   \"LT\" - LITHUANIA+--+-- -   \"LU\" - LUXEMBOURG+--+-- -   \"MK\" - MACEDONIA+--+-- -   \"MT\" - MALTA+--+-- -   \"MX\" - MEXICO+--+-- -   \"MD\" - MOLDOVA+--+-- -   \"ME\" - MONTENEGRO+--+-- -   \"NL\" - NETHERLANDS+--+-- -   \"NZ\" - NEW ZEALAND+--+-- -   \"NI\" - NICARAGUA+--+-- -   \"NG\" - NIGERIA+--+-- -   \"NO\" - NORWAY+--+-- -   \"PA\" - PANAMA+--+-- -   \"PY\" - PARAGUAY+--+-- -   \"PE\" - PERU+--+-- -   \"PL\" - POLAND+--+-- -   \"PT\" - PORTUGAL+--+-- -   \"RO\" - ROMANIA+--+-- -   \"RU\" - RUSSIA+--+-- -   \"RS\" - SERBIA+--+-- -   \"SK\" - SLOVAKIA+--+-- -   \"SI\" - SLOVENIA+--+-- -   \"ZA\" - SOUTH AFRICA+--+-- -   \"ES\" - SPAIN+--+-- -   \"SE\" - SWEDEN+--+-- -   \"CH\" - SWITZERLAND+--+-- -   \"UA\" - UKRAINE+--+-- -   \"AE\" - UNITED ARAB EMIRATES+--+-- -   \"US\" - UNITED STATES+--+-- -   \"UK\" - UNITED KINGDOM+--+-- -   \"UY\" - URUGUAY+--+-- -   \"VE\" - VENEZUELA+additionalDataset_configuration :: Lens.Lens' AdditionalDataset (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.NonEmpty Prelude.Text)))+additionalDataset_configuration = Lens.lens (\AdditionalDataset' {configuration} -> configuration) (\s@AdditionalDataset' {} a -> s {configuration = a} :: AdditionalDataset) Prelude.. Lens.mapping Lens.coerced++-- | The name of the additional dataset. Valid names: @\"holiday\"@ and+-- @\"weather\"@.+additionalDataset_name :: Lens.Lens' AdditionalDataset Prelude.Text+additionalDataset_name = Lens.lens (\AdditionalDataset' {name} -> name) (\s@AdditionalDataset' {} a -> s {name = a} :: AdditionalDataset)++instance Data.FromJSON AdditionalDataset where+  parseJSON =+    Data.withObject+      "AdditionalDataset"+      ( \x ->+          AdditionalDataset'+            Prelude.<$> (x Data..:? "Configuration" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "Name")+      )++instance Prelude.Hashable AdditionalDataset where+  hashWithSalt _salt AdditionalDataset' {..} =+    _salt+      `Prelude.hashWithSalt` configuration+      `Prelude.hashWithSalt` name++instance Prelude.NFData AdditionalDataset where+  rnf AdditionalDataset' {..} =+    Prelude.rnf configuration+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON AdditionalDataset where+  toJSON AdditionalDataset' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Configuration" Data..=) Prelude.<$> configuration,+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/Forecast/Types/AttributeConfig.hs view
@@ -0,0 +1,206 @@+{-# 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.Forecast.Types.AttributeConfig+-- 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.Forecast.Types.AttributeConfig 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++-- | Provides information about the method used to transform attributes.+--+-- The following is an example using the RETAIL domain:+--+-- @{@+--+-- @\"AttributeName\": \"demand\",@+--+-- @\"Transformations\": {\"aggregation\": \"sum\", \"middlefill\": \"zero\", \"backfill\": \"zero\"}@+--+-- @}@+--+-- /See:/ 'newAttributeConfig' smart constructor.+data AttributeConfig = AttributeConfig'+  { -- | The name of the attribute as specified in the schema. Amazon Forecast+    -- supports the target field of the target time series and the related time+    -- series datasets. For example, for the RETAIL domain, the target is+    -- @demand@.+    attributeName :: Prelude.Text,+    -- | The method parameters (key-value pairs), which are a map of override+    -- parameters. Specify these parameters to override the default values.+    -- Related Time Series attributes do not accept aggregation parameters.+    --+    -- The following list shows the parameters and their valid values for the+    -- \"filling\" featurization method for a __Target Time Series__ dataset.+    -- Default values are bolded.+    --+    -- -   @aggregation@: __sum__, @avg@, @first@, @min@, @max@+    --+    -- -   @frontfill@: __none__+    --+    -- -   @middlefill@: __zero__, @nan@ (not a number), @value@, @median@,+    --     @mean@, @min@, @max@+    --+    -- -   @backfill@: __zero__, @nan@, @value@, @median@, @mean@, @min@, @max@+    --+    -- The following list shows the parameters and their valid values for a+    -- __Related Time Series__ featurization method (there are no defaults):+    --+    -- -   @middlefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+    --+    -- -   @backfill@: @zero@, @value@, @median@, @mean@, @min@, @max@+    --+    -- -   @futurefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+    --+    -- To set a filling method to a specific value, set the fill parameter to+    -- @value@ and define the value in a corresponding @_value@ parameter. For+    -- example, to set backfilling to a value of 2, include the following:+    -- @\"backfill\": \"value\"@ and @\"backfill_value\":\"2\"@.+    transformations :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeConfig' 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:+--+-- 'attributeName', 'attributeConfig_attributeName' - The name of the attribute as specified in the schema. Amazon Forecast+-- supports the target field of the target time series and the related time+-- series datasets. For example, for the RETAIL domain, the target is+-- @demand@.+--+-- 'transformations', 'attributeConfig_transformations' - The method parameters (key-value pairs), which are a map of override+-- parameters. Specify these parameters to override the default values.+-- Related Time Series attributes do not accept aggregation parameters.+--+-- The following list shows the parameters and their valid values for the+-- \"filling\" featurization method for a __Target Time Series__ dataset.+-- Default values are bolded.+--+-- -   @aggregation@: __sum__, @avg@, @first@, @min@, @max@+--+-- -   @frontfill@: __none__+--+-- -   @middlefill@: __zero__, @nan@ (not a number), @value@, @median@,+--     @mean@, @min@, @max@+--+-- -   @backfill@: __zero__, @nan@, @value@, @median@, @mean@, @min@, @max@+--+-- The following list shows the parameters and their valid values for a+-- __Related Time Series__ featurization method (there are no defaults):+--+-- -   @middlefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @backfill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @futurefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- To set a filling method to a specific value, set the fill parameter to+-- @value@ and define the value in a corresponding @_value@ parameter. For+-- example, to set backfilling to a value of 2, include the following:+-- @\"backfill\": \"value\"@ and @\"backfill_value\":\"2\"@.+newAttributeConfig ::+  -- | 'attributeName'+  Prelude.Text ->+  AttributeConfig+newAttributeConfig pAttributeName_ =+  AttributeConfig'+    { attributeName = pAttributeName_,+      transformations = Prelude.mempty+    }++-- | The name of the attribute as specified in the schema. Amazon Forecast+-- supports the target field of the target time series and the related time+-- series datasets. For example, for the RETAIL domain, the target is+-- @demand@.+attributeConfig_attributeName :: Lens.Lens' AttributeConfig Prelude.Text+attributeConfig_attributeName = Lens.lens (\AttributeConfig' {attributeName} -> attributeName) (\s@AttributeConfig' {} a -> s {attributeName = a} :: AttributeConfig)++-- | The method parameters (key-value pairs), which are a map of override+-- parameters. Specify these parameters to override the default values.+-- Related Time Series attributes do not accept aggregation parameters.+--+-- The following list shows the parameters and their valid values for the+-- \"filling\" featurization method for a __Target Time Series__ dataset.+-- Default values are bolded.+--+-- -   @aggregation@: __sum__, @avg@, @first@, @min@, @max@+--+-- -   @frontfill@: __none__+--+-- -   @middlefill@: __zero__, @nan@ (not a number), @value@, @median@,+--     @mean@, @min@, @max@+--+-- -   @backfill@: __zero__, @nan@, @value@, @median@, @mean@, @min@, @max@+--+-- The following list shows the parameters and their valid values for a+-- __Related Time Series__ featurization method (there are no defaults):+--+-- -   @middlefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @backfill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @futurefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- To set a filling method to a specific value, set the fill parameter to+-- @value@ and define the value in a corresponding @_value@ parameter. For+-- example, to set backfilling to a value of 2, include the following:+-- @\"backfill\": \"value\"@ and @\"backfill_value\":\"2\"@.+attributeConfig_transformations :: Lens.Lens' AttributeConfig (Prelude.HashMap Prelude.Text Prelude.Text)+attributeConfig_transformations = Lens.lens (\AttributeConfig' {transformations} -> transformations) (\s@AttributeConfig' {} a -> s {transformations = a} :: AttributeConfig) Prelude.. Lens.coerced++instance Data.FromJSON AttributeConfig where+  parseJSON =+    Data.withObject+      "AttributeConfig"+      ( \x ->+          AttributeConfig'+            Prelude.<$> (x Data..: "AttributeName")+            Prelude.<*> ( x+                            Data..:? "Transformations"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable AttributeConfig where+  hashWithSalt _salt AttributeConfig' {..} =+    _salt+      `Prelude.hashWithSalt` attributeName+      `Prelude.hashWithSalt` transformations++instance Prelude.NFData AttributeConfig where+  rnf AttributeConfig' {..} =+    Prelude.rnf attributeName+      `Prelude.seq` Prelude.rnf transformations++instance Data.ToJSON AttributeConfig where+  toJSON AttributeConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AttributeName" Data..= attributeName),+            Prelude.Just+              ("Transformations" Data..= transformations)+          ]+      )
+ gen/Amazonka/Forecast/Types/AttributeType.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.Forecast.Types.AttributeType+-- 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.Forecast.Types.AttributeType+  ( AttributeType+      ( ..,+        AttributeType_Float,+        AttributeType_Geolocation,+        AttributeType_Integer,+        AttributeType_String,+        AttributeType_Timestamp+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AttributeType = AttributeType'+  { fromAttributeType ::+      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 AttributeType_Float :: AttributeType+pattern AttributeType_Float = AttributeType' "float"++pattern AttributeType_Geolocation :: AttributeType+pattern AttributeType_Geolocation = AttributeType' "geolocation"++pattern AttributeType_Integer :: AttributeType+pattern AttributeType_Integer = AttributeType' "integer"++pattern AttributeType_String :: AttributeType+pattern AttributeType_String = AttributeType' "string"++pattern AttributeType_Timestamp :: AttributeType+pattern AttributeType_Timestamp = AttributeType' "timestamp"++{-# COMPLETE+  AttributeType_Float,+  AttributeType_Geolocation,+  AttributeType_Integer,+  AttributeType_String,+  AttributeType_Timestamp,+  AttributeType'+  #-}
+ gen/Amazonka/Forecast/Types/AutoMLOverrideStrategy.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.Forecast.Types.AutoMLOverrideStrategy+-- 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.Forecast.Types.AutoMLOverrideStrategy+  ( AutoMLOverrideStrategy+      ( ..,+        AutoMLOverrideStrategy_AccuracyOptimized,+        AutoMLOverrideStrategy_LatencyOptimized+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AutoMLOverrideStrategy = AutoMLOverrideStrategy'+  { fromAutoMLOverrideStrategy ::+      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 AutoMLOverrideStrategy_AccuracyOptimized :: AutoMLOverrideStrategy+pattern AutoMLOverrideStrategy_AccuracyOptimized = AutoMLOverrideStrategy' "AccuracyOptimized"++pattern AutoMLOverrideStrategy_LatencyOptimized :: AutoMLOverrideStrategy+pattern AutoMLOverrideStrategy_LatencyOptimized = AutoMLOverrideStrategy' "LatencyOptimized"++{-# COMPLETE+  AutoMLOverrideStrategy_AccuracyOptimized,+  AutoMLOverrideStrategy_LatencyOptimized,+  AutoMLOverrideStrategy'+  #-}
+ gen/Amazonka/Forecast/Types/Baseline.hs view
@@ -0,0 +1,82 @@+{-# 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.Forecast.Types.Baseline+-- 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.Forecast.Types.Baseline where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.PredictorBaseline+import qualified Amazonka.Prelude as Prelude++-- | Metrics you can use as a baseline for comparison purposes. Use these+-- metrics when you interpret monitoring results for an auto predictor.+--+-- /See:/ 'newBaseline' smart constructor.+data Baseline = Baseline'+  { -- | The initial+    -- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html accuracy metrics>+    -- for the predictor you are monitoring. Use these metrics as a baseline+    -- for comparison purposes as you use your predictor and the metrics+    -- change.+    predictorBaseline :: Prelude.Maybe PredictorBaseline+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Baseline' 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:+--+-- 'predictorBaseline', 'baseline_predictorBaseline' - The initial+-- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html accuracy metrics>+-- for the predictor you are monitoring. Use these metrics as a baseline+-- for comparison purposes as you use your predictor and the metrics+-- change.+newBaseline ::+  Baseline+newBaseline =+  Baseline' {predictorBaseline = Prelude.Nothing}++-- | The initial+-- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html accuracy metrics>+-- for the predictor you are monitoring. Use these metrics as a baseline+-- for comparison purposes as you use your predictor and the metrics+-- change.+baseline_predictorBaseline :: Lens.Lens' Baseline (Prelude.Maybe PredictorBaseline)+baseline_predictorBaseline = Lens.lens (\Baseline' {predictorBaseline} -> predictorBaseline) (\s@Baseline' {} a -> s {predictorBaseline = a} :: Baseline)++instance Data.FromJSON Baseline where+  parseJSON =+    Data.withObject+      "Baseline"+      ( \x ->+          Baseline'+            Prelude.<$> (x Data..:? "PredictorBaseline")+      )++instance Prelude.Hashable Baseline where+  hashWithSalt _salt Baseline' {..} =+    _salt `Prelude.hashWithSalt` predictorBaseline++instance Prelude.NFData Baseline where+  rnf Baseline' {..} = Prelude.rnf predictorBaseline
+ gen/Amazonka/Forecast/Types/BaselineMetric.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.Forecast.Types.BaselineMetric+-- 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.Forecast.Types.BaselineMetric 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 individual metric that you can use for comparison as you evaluate+-- your monitoring results.+--+-- /See:/ 'newBaselineMetric' smart constructor.+data BaselineMetric = BaselineMetric'+  { -- | The name of the metric.+    name :: Prelude.Maybe Prelude.Text,+    -- | The value for the metric.+    value :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BaselineMetric' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'baselineMetric_name' - The name of the metric.+--+-- 'value', 'baselineMetric_value' - The value for the metric.+newBaselineMetric ::+  BaselineMetric+newBaselineMetric =+  BaselineMetric'+    { name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The name of the metric.+baselineMetric_name :: Lens.Lens' BaselineMetric (Prelude.Maybe Prelude.Text)+baselineMetric_name = Lens.lens (\BaselineMetric' {name} -> name) (\s@BaselineMetric' {} a -> s {name = a} :: BaselineMetric)++-- | The value for the metric.+baselineMetric_value :: Lens.Lens' BaselineMetric (Prelude.Maybe Prelude.Double)+baselineMetric_value = Lens.lens (\BaselineMetric' {value} -> value) (\s@BaselineMetric' {} a -> s {value = a} :: BaselineMetric)++instance Data.FromJSON BaselineMetric where+  parseJSON =+    Data.withObject+      "BaselineMetric"+      ( \x ->+          BaselineMetric'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable BaselineMetric where+  hashWithSalt _salt BaselineMetric' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData BaselineMetric where+  rnf BaselineMetric' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/Forecast/Types/CategoricalParameterRange.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.Forecast.Types.CategoricalParameterRange+-- 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.Forecast.Types.CategoricalParameterRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies a categorical hyperparameter and it\'s range of tunable+-- values. This object is part of the ParameterRanges object.+--+-- /See:/ 'newCategoricalParameterRange' smart constructor.+data CategoricalParameterRange = CategoricalParameterRange'+  { -- | The name of the categorical hyperparameter to tune.+    name :: Prelude.Text,+    -- | A list of the tunable categories for the hyperparameter.+    values :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CategoricalParameterRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'categoricalParameterRange_name' - The name of the categorical hyperparameter to tune.+--+-- 'values', 'categoricalParameterRange_values' - A list of the tunable categories for the hyperparameter.+newCategoricalParameterRange ::+  -- | 'name'+  Prelude.Text ->+  -- | 'values'+  Prelude.NonEmpty Prelude.Text ->+  CategoricalParameterRange+newCategoricalParameterRange pName_ pValues_ =+  CategoricalParameterRange'+    { name = pName_,+      values = Lens.coerced Lens.# pValues_+    }++-- | The name of the categorical hyperparameter to tune.+categoricalParameterRange_name :: Lens.Lens' CategoricalParameterRange Prelude.Text+categoricalParameterRange_name = Lens.lens (\CategoricalParameterRange' {name} -> name) (\s@CategoricalParameterRange' {} a -> s {name = a} :: CategoricalParameterRange)++-- | A list of the tunable categories for the hyperparameter.+categoricalParameterRange_values :: Lens.Lens' CategoricalParameterRange (Prelude.NonEmpty Prelude.Text)+categoricalParameterRange_values = Lens.lens (\CategoricalParameterRange' {values} -> values) (\s@CategoricalParameterRange' {} a -> s {values = a} :: CategoricalParameterRange) Prelude.. Lens.coerced++instance Data.FromJSON CategoricalParameterRange where+  parseJSON =+    Data.withObject+      "CategoricalParameterRange"+      ( \x ->+          CategoricalParameterRange'+            Prelude.<$> (x Data..: "Name")+            Prelude.<*> (x Data..: "Values")+      )++instance Prelude.Hashable CategoricalParameterRange where+  hashWithSalt _salt CategoricalParameterRange' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` values++instance Prelude.NFData CategoricalParameterRange where+  rnf CategoricalParameterRange' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf values++instance Data.ToJSON CategoricalParameterRange where+  toJSON CategoricalParameterRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Values" Data..= values)+          ]+      )
+ gen/Amazonka/Forecast/Types/Condition.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.Forecast.Types.Condition+-- 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.Forecast.Types.Condition+  ( Condition+      ( ..,+        Condition_EQUALS,+        Condition_GREATER_THAN,+        Condition_LESS_THAN,+        Condition_NOT_EQUALS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Condition = Condition'+  { fromCondition ::+      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 Condition_EQUALS :: Condition+pattern Condition_EQUALS = Condition' "EQUALS"++pattern Condition_GREATER_THAN :: Condition+pattern Condition_GREATER_THAN = Condition' "GREATER_THAN"++pattern Condition_LESS_THAN :: Condition+pattern Condition_LESS_THAN = Condition' "LESS_THAN"++pattern Condition_NOT_EQUALS :: Condition+pattern Condition_NOT_EQUALS = Condition' "NOT_EQUALS"++{-# COMPLETE+  Condition_EQUALS,+  Condition_GREATER_THAN,+  Condition_LESS_THAN,+  Condition_NOT_EQUALS,+  Condition'+  #-}
+ gen/Amazonka/Forecast/Types/ContinuousParameterRange.hs view
@@ -0,0 +1,212 @@+{-# 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.Forecast.Types.ContinuousParameterRange+-- 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.Forecast.Types.ContinuousParameterRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.ScalingType+import qualified Amazonka.Prelude as Prelude++-- | Specifies a continuous hyperparameter and it\'s range of tunable values.+-- This object is part of the ParameterRanges object.+--+-- /See:/ 'newContinuousParameterRange' smart constructor.+data ContinuousParameterRange = ContinuousParameterRange'+  { -- | The scale that hyperparameter tuning uses to search the hyperparameter+    -- range. Valid values:+    --+    -- [Auto]+    --     Amazon Forecast hyperparameter tuning chooses the best scale for the+    --     hyperparameter.+    --+    -- [Linear]+    --     Hyperparameter tuning searches the values in the hyperparameter+    --     range by using a linear scale.+    --+    -- [Logarithmic]+    --     Hyperparameter tuning searches the values in the hyperparameter+    --     range by using a logarithmic scale.+    --+    --     Logarithmic scaling works only for ranges that have values greater+    --     than 0.+    --+    -- [ReverseLogarithmic]+    --     hyperparameter tuning searches the values in the hyperparameter+    --     range by using a reverse logarithmic scale.+    --+    --     Reverse logarithmic scaling works only for ranges that are entirely+    --     within the range 0 \<= x \< 1.0.+    --+    -- For information about choosing a hyperparameter scale, see+    -- <http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type Hyperparameter Scaling>.+    -- One of the following values:+    scalingType :: Prelude.Maybe ScalingType,+    -- | The name of the hyperparameter to tune.+    name :: Prelude.Text,+    -- | The maximum tunable value of the hyperparameter.+    maxValue :: Prelude.Double,+    -- | The minimum tunable value of the hyperparameter.+    minValue :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContinuousParameterRange' 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:+--+-- 'scalingType', 'continuousParameterRange_scalingType' - The scale that hyperparameter tuning uses to search the hyperparameter+-- range. Valid values:+--+-- [Auto]+--     Amazon Forecast hyperparameter tuning chooses the best scale for the+--     hyperparameter.+--+-- [Linear]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a linear scale.+--+-- [Logarithmic]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a logarithmic scale.+--+--     Logarithmic scaling works only for ranges that have values greater+--     than 0.+--+-- [ReverseLogarithmic]+--     hyperparameter tuning searches the values in the hyperparameter+--     range by using a reverse logarithmic scale.+--+--     Reverse logarithmic scaling works only for ranges that are entirely+--     within the range 0 \<= x \< 1.0.+--+-- For information about choosing a hyperparameter scale, see+-- <http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type Hyperparameter Scaling>.+-- One of the following values:+--+-- 'name', 'continuousParameterRange_name' - The name of the hyperparameter to tune.+--+-- 'maxValue', 'continuousParameterRange_maxValue' - The maximum tunable value of the hyperparameter.+--+-- 'minValue', 'continuousParameterRange_minValue' - The minimum tunable value of the hyperparameter.+newContinuousParameterRange ::+  -- | 'name'+  Prelude.Text ->+  -- | 'maxValue'+  Prelude.Double ->+  -- | 'minValue'+  Prelude.Double ->+  ContinuousParameterRange+newContinuousParameterRange+  pName_+  pMaxValue_+  pMinValue_ =+    ContinuousParameterRange'+      { scalingType =+          Prelude.Nothing,+        name = pName_,+        maxValue = pMaxValue_,+        minValue = pMinValue_+      }++-- | The scale that hyperparameter tuning uses to search the hyperparameter+-- range. Valid values:+--+-- [Auto]+--     Amazon Forecast hyperparameter tuning chooses the best scale for the+--     hyperparameter.+--+-- [Linear]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a linear scale.+--+-- [Logarithmic]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a logarithmic scale.+--+--     Logarithmic scaling works only for ranges that have values greater+--     than 0.+--+-- [ReverseLogarithmic]+--     hyperparameter tuning searches the values in the hyperparameter+--     range by using a reverse logarithmic scale.+--+--     Reverse logarithmic scaling works only for ranges that are entirely+--     within the range 0 \<= x \< 1.0.+--+-- For information about choosing a hyperparameter scale, see+-- <http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type Hyperparameter Scaling>.+-- One of the following values:+continuousParameterRange_scalingType :: Lens.Lens' ContinuousParameterRange (Prelude.Maybe ScalingType)+continuousParameterRange_scalingType = Lens.lens (\ContinuousParameterRange' {scalingType} -> scalingType) (\s@ContinuousParameterRange' {} a -> s {scalingType = a} :: ContinuousParameterRange)++-- | The name of the hyperparameter to tune.+continuousParameterRange_name :: Lens.Lens' ContinuousParameterRange Prelude.Text+continuousParameterRange_name = Lens.lens (\ContinuousParameterRange' {name} -> name) (\s@ContinuousParameterRange' {} a -> s {name = a} :: ContinuousParameterRange)++-- | The maximum tunable value of the hyperparameter.+continuousParameterRange_maxValue :: Lens.Lens' ContinuousParameterRange Prelude.Double+continuousParameterRange_maxValue = Lens.lens (\ContinuousParameterRange' {maxValue} -> maxValue) (\s@ContinuousParameterRange' {} a -> s {maxValue = a} :: ContinuousParameterRange)++-- | The minimum tunable value of the hyperparameter.+continuousParameterRange_minValue :: Lens.Lens' ContinuousParameterRange Prelude.Double+continuousParameterRange_minValue = Lens.lens (\ContinuousParameterRange' {minValue} -> minValue) (\s@ContinuousParameterRange' {} a -> s {minValue = a} :: ContinuousParameterRange)++instance Data.FromJSON ContinuousParameterRange where+  parseJSON =+    Data.withObject+      "ContinuousParameterRange"+      ( \x ->+          ContinuousParameterRange'+            Prelude.<$> (x Data..:? "ScalingType")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "MaxValue")+            Prelude.<*> (x Data..: "MinValue")+      )++instance Prelude.Hashable ContinuousParameterRange where+  hashWithSalt _salt ContinuousParameterRange' {..} =+    _salt+      `Prelude.hashWithSalt` scalingType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` maxValue+      `Prelude.hashWithSalt` minValue++instance Prelude.NFData ContinuousParameterRange where+  rnf ContinuousParameterRange' {..} =+    Prelude.rnf scalingType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf maxValue+      `Prelude.seq` Prelude.rnf minValue++instance Data.ToJSON ContinuousParameterRange where+  toJSON ContinuousParameterRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ScalingType" Data..=) Prelude.<$> scalingType,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("MaxValue" Data..= maxValue),+            Prelude.Just ("MinValue" Data..= minValue)+          ]+      )
+ gen/Amazonka/Forecast/Types/DataConfig.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.Forecast.Types.DataConfig+-- 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.Forecast.Types.DataConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.AdditionalDataset+import Amazonka.Forecast.Types.AttributeConfig+import qualified Amazonka.Prelude as Prelude++-- | The data configuration for your dataset group and any additional+-- datasets.+--+-- /See:/ 'newDataConfig' smart constructor.+data DataConfig = DataConfig'+  { -- | Additional built-in datasets like Holidays and the Weather Index.+    additionalDatasets :: Prelude.Maybe (Prelude.NonEmpty AdditionalDataset),+    -- | Aggregation and filling options for attributes in your dataset group.+    attributeConfigs :: Prelude.Maybe (Prelude.NonEmpty AttributeConfig),+    -- | The ARN of the dataset group used to train the predictor.+    datasetGroupArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataConfig' 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:+--+-- 'additionalDatasets', 'dataConfig_additionalDatasets' - Additional built-in datasets like Holidays and the Weather Index.+--+-- 'attributeConfigs', 'dataConfig_attributeConfigs' - Aggregation and filling options for attributes in your dataset group.+--+-- 'datasetGroupArn', 'dataConfig_datasetGroupArn' - The ARN of the dataset group used to train the predictor.+newDataConfig ::+  -- | 'datasetGroupArn'+  Prelude.Text ->+  DataConfig+newDataConfig pDatasetGroupArn_ =+  DataConfig'+    { additionalDatasets = Prelude.Nothing,+      attributeConfigs = Prelude.Nothing,+      datasetGroupArn = pDatasetGroupArn_+    }++-- | Additional built-in datasets like Holidays and the Weather Index.+dataConfig_additionalDatasets :: Lens.Lens' DataConfig (Prelude.Maybe (Prelude.NonEmpty AdditionalDataset))+dataConfig_additionalDatasets = Lens.lens (\DataConfig' {additionalDatasets} -> additionalDatasets) (\s@DataConfig' {} a -> s {additionalDatasets = a} :: DataConfig) Prelude.. Lens.mapping Lens.coerced++-- | Aggregation and filling options for attributes in your dataset group.+dataConfig_attributeConfigs :: Lens.Lens' DataConfig (Prelude.Maybe (Prelude.NonEmpty AttributeConfig))+dataConfig_attributeConfigs = Lens.lens (\DataConfig' {attributeConfigs} -> attributeConfigs) (\s@DataConfig' {} a -> s {attributeConfigs = a} :: DataConfig) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the dataset group used to train the predictor.+dataConfig_datasetGroupArn :: Lens.Lens' DataConfig Prelude.Text+dataConfig_datasetGroupArn = Lens.lens (\DataConfig' {datasetGroupArn} -> datasetGroupArn) (\s@DataConfig' {} a -> s {datasetGroupArn = a} :: DataConfig)++instance Data.FromJSON DataConfig where+  parseJSON =+    Data.withObject+      "DataConfig"+      ( \x ->+          DataConfig'+            Prelude.<$> (x Data..:? "AdditionalDatasets")+            Prelude.<*> (x Data..:? "AttributeConfigs")+            Prelude.<*> (x Data..: "DatasetGroupArn")+      )++instance Prelude.Hashable DataConfig where+  hashWithSalt _salt DataConfig' {..} =+    _salt+      `Prelude.hashWithSalt` additionalDatasets+      `Prelude.hashWithSalt` attributeConfigs+      `Prelude.hashWithSalt` datasetGroupArn++instance Prelude.NFData DataConfig where+  rnf DataConfig' {..} =+    Prelude.rnf additionalDatasets+      `Prelude.seq` Prelude.rnf attributeConfigs+      `Prelude.seq` Prelude.rnf datasetGroupArn++instance Data.ToJSON DataConfig where+  toJSON DataConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AdditionalDatasets" Data..=)+              Prelude.<$> additionalDatasets,+            ("AttributeConfigs" Data..=)+              Prelude.<$> attributeConfigs,+            Prelude.Just+              ("DatasetGroupArn" Data..= datasetGroupArn)+          ]+      )
+ gen/Amazonka/Forecast/Types/DataDestination.hs view
@@ -0,0 +1,82 @@+{-# 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.Forecast.Types.DataDestination+-- 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.Forecast.Types.DataDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.S3Config+import qualified Amazonka.Prelude as Prelude++-- | The destination for an export job. Provide an S3 path, an AWS Identity+-- and Access Management (IAM) role that allows Amazon Forecast to access+-- the location, and an AWS Key Management Service (KMS) key (optional).+--+-- /See:/ 'newDataDestination' smart constructor.+data DataDestination = DataDestination'+  { -- | The path to an Amazon Simple Storage Service (Amazon S3) bucket along+    -- with the credentials to access the bucket.+    s3Config :: S3Config+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataDestination' 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:+--+-- 's3Config', 'dataDestination_s3Config' - The path to an Amazon Simple Storage Service (Amazon S3) bucket along+-- with the credentials to access the bucket.+newDataDestination ::+  -- | 's3Config'+  S3Config ->+  DataDestination+newDataDestination pS3Config_ =+  DataDestination' {s3Config = pS3Config_}++-- | The path to an Amazon Simple Storage Service (Amazon S3) bucket along+-- with the credentials to access the bucket.+dataDestination_s3Config :: Lens.Lens' DataDestination S3Config+dataDestination_s3Config = Lens.lens (\DataDestination' {s3Config} -> s3Config) (\s@DataDestination' {} a -> s {s3Config = a} :: DataDestination)++instance Data.FromJSON DataDestination where+  parseJSON =+    Data.withObject+      "DataDestination"+      ( \x ->+          DataDestination' Prelude.<$> (x Data..: "S3Config")+      )++instance Prelude.Hashable DataDestination where+  hashWithSalt _salt DataDestination' {..} =+    _salt `Prelude.hashWithSalt` s3Config++instance Prelude.NFData DataDestination where+  rnf DataDestination' {..} = Prelude.rnf s3Config++instance Data.ToJSON DataDestination where+  toJSON DataDestination' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("S3Config" Data..= s3Config)]+      )
+ gen/Amazonka/Forecast/Types/DataSource.hs view
@@ -0,0 +1,82 @@+{-# 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.Forecast.Types.DataSource+-- 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.Forecast.Types.DataSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.S3Config+import qualified Amazonka.Prelude as Prelude++-- | The source of your data, an AWS Identity and Access Management (IAM)+-- role that allows Amazon Forecast to access the data and, optionally, an+-- AWS Key Management Service (KMS) key.+--+-- /See:/ 'newDataSource' smart constructor.+data DataSource = DataSource'+  { -- | The path to the data stored in an Amazon Simple Storage Service (Amazon+    -- S3) bucket along with the credentials to access the data.+    s3Config :: S3Config+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSource' 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:+--+-- 's3Config', 'dataSource_s3Config' - The path to the data stored in an Amazon Simple Storage Service (Amazon+-- S3) bucket along with the credentials to access the data.+newDataSource ::+  -- | 's3Config'+  S3Config ->+  DataSource+newDataSource pS3Config_ =+  DataSource' {s3Config = pS3Config_}++-- | The path to the data stored in an Amazon Simple Storage Service (Amazon+-- S3) bucket along with the credentials to access the data.+dataSource_s3Config :: Lens.Lens' DataSource S3Config+dataSource_s3Config = Lens.lens (\DataSource' {s3Config} -> s3Config) (\s@DataSource' {} a -> s {s3Config = a} :: DataSource)++instance Data.FromJSON DataSource where+  parseJSON =+    Data.withObject+      "DataSource"+      ( \x ->+          DataSource' Prelude.<$> (x Data..: "S3Config")+      )++instance Prelude.Hashable DataSource where+  hashWithSalt _salt DataSource' {..} =+    _salt `Prelude.hashWithSalt` s3Config++instance Prelude.NFData DataSource where+  rnf DataSource' {..} = Prelude.rnf s3Config++instance Data.ToJSON DataSource where+  toJSON DataSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("S3Config" Data..= s3Config)]+      )
+ gen/Amazonka/Forecast/Types/DatasetGroupSummary.hs view
@@ -0,0 +1,125 @@+{-# 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.Forecast.Types.DatasetGroupSummary+-- 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.Forecast.Types.DatasetGroupSummary 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++-- | Provides a summary of the dataset group properties used in the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_ListDatasetGroups.html ListDatasetGroups>+-- operation. To get the complete set of properties, call the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetGroup.html DescribeDatasetGroup>+-- operation, and provide the @DatasetGroupArn@.+--+-- /See:/ 'newDatasetGroupSummary' smart constructor.+data DatasetGroupSummary = DatasetGroupSummary'+  { -- | When the dataset group was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the dataset group.+    datasetGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the dataset group.+    datasetGroupName :: Prelude.Maybe Prelude.Text,+    -- | When the dataset group was created or last updated from a call to the+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+    -- operation. While the dataset group is being updated,+    -- @LastModificationTime@ is the current time of the @ListDatasetGroups@+    -- call.+    lastModificationTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetGroupSummary' 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:+--+-- 'creationTime', 'datasetGroupSummary_creationTime' - When the dataset group was created.+--+-- 'datasetGroupArn', 'datasetGroupSummary_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group.+--+-- 'datasetGroupName', 'datasetGroupSummary_datasetGroupName' - The name of the dataset group.+--+-- 'lastModificationTime', 'datasetGroupSummary_lastModificationTime' - When the dataset group was created or last updated from a call to the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation. While the dataset group is being updated,+-- @LastModificationTime@ is the current time of the @ListDatasetGroups@+-- call.+newDatasetGroupSummary ::+  DatasetGroupSummary+newDatasetGroupSummary =+  DatasetGroupSummary'+    { creationTime =+        Prelude.Nothing,+      datasetGroupArn = Prelude.Nothing,+      datasetGroupName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing+    }++-- | When the dataset group was created.+datasetGroupSummary_creationTime :: Lens.Lens' DatasetGroupSummary (Prelude.Maybe Prelude.UTCTime)+datasetGroupSummary_creationTime = Lens.lens (\DatasetGroupSummary' {creationTime} -> creationTime) (\s@DatasetGroupSummary' {} a -> s {creationTime = a} :: DatasetGroupSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the dataset group.+datasetGroupSummary_datasetGroupArn :: Lens.Lens' DatasetGroupSummary (Prelude.Maybe Prelude.Text)+datasetGroupSummary_datasetGroupArn = Lens.lens (\DatasetGroupSummary' {datasetGroupArn} -> datasetGroupArn) (\s@DatasetGroupSummary' {} a -> s {datasetGroupArn = a} :: DatasetGroupSummary)++-- | The name of the dataset group.+datasetGroupSummary_datasetGroupName :: Lens.Lens' DatasetGroupSummary (Prelude.Maybe Prelude.Text)+datasetGroupSummary_datasetGroupName = Lens.lens (\DatasetGroupSummary' {datasetGroupName} -> datasetGroupName) (\s@DatasetGroupSummary' {} a -> s {datasetGroupName = a} :: DatasetGroupSummary)++-- | When the dataset group was created or last updated from a call to the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_UpdateDatasetGroup.html UpdateDatasetGroup>+-- operation. While the dataset group is being updated,+-- @LastModificationTime@ is the current time of the @ListDatasetGroups@+-- call.+datasetGroupSummary_lastModificationTime :: Lens.Lens' DatasetGroupSummary (Prelude.Maybe Prelude.UTCTime)+datasetGroupSummary_lastModificationTime = Lens.lens (\DatasetGroupSummary' {lastModificationTime} -> lastModificationTime) (\s@DatasetGroupSummary' {} a -> s {lastModificationTime = a} :: DatasetGroupSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON DatasetGroupSummary where+  parseJSON =+    Data.withObject+      "DatasetGroupSummary"+      ( \x ->+          DatasetGroupSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "DatasetGroupArn")+            Prelude.<*> (x Data..:? "DatasetGroupName")+            Prelude.<*> (x Data..:? "LastModificationTime")+      )++instance Prelude.Hashable DatasetGroupSummary where+  hashWithSalt _salt DatasetGroupSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` datasetGroupArn+      `Prelude.hashWithSalt` datasetGroupName+      `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData DatasetGroupSummary where+  rnf DatasetGroupSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf datasetGroupName+      `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/Forecast/Types/DatasetImportJobSummary.hs view
@@ -0,0 +1,222 @@+{-# 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.Forecast.Types.DatasetImportJobSummary+-- 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.Forecast.Types.DatasetImportJobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DataSource+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the dataset import job properties used in the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_ListDatasetImportJobs.html ListDatasetImportJobs>+-- operation. To get the complete set of properties, call the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetImportJob.html DescribeDatasetImportJob>+-- operation, and provide the @DatasetImportJobArn@.+--+-- /See:/ 'newDatasetImportJobSummary' smart constructor.+data DatasetImportJobSummary = DatasetImportJobSummary'+  { -- | When the dataset import job was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The location of the training data to import and an AWS Identity and+    -- Access Management (IAM) role that Amazon Forecast can assume to access+    -- the data. The training data must be stored in an Amazon S3 bucket.+    --+    -- If encryption is used, @DataSource@ includes an AWS Key Management+    -- Service (KMS) key.+    dataSource :: Prelude.Maybe DataSource,+    -- | The Amazon Resource Name (ARN) of the dataset import job.+    datasetImportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the dataset import job.+    datasetImportJobName :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the dataset import job. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetImportJobSummary' 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:+--+-- 'creationTime', 'datasetImportJobSummary_creationTime' - When the dataset import job was created.+--+-- 'dataSource', 'datasetImportJobSummary_dataSource' - The location of the training data to import and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the data. The training data must be stored in an Amazon S3 bucket.+--+-- If encryption is used, @DataSource@ includes an AWS Key Management+-- Service (KMS) key.+--+-- 'datasetImportJobArn', 'datasetImportJobSummary_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job.+--+-- 'datasetImportJobName', 'datasetImportJobSummary_datasetImportJobName' - The name of the dataset import job.+--+-- 'lastModificationTime', 'datasetImportJobSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'datasetImportJobSummary_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'datasetImportJobSummary_status' - The status of the dataset import job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+newDatasetImportJobSummary ::+  DatasetImportJobSummary+newDatasetImportJobSummary =+  DatasetImportJobSummary'+    { creationTime =+        Prelude.Nothing,+      dataSource = Prelude.Nothing,+      datasetImportJobArn = Prelude.Nothing,+      datasetImportJobName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the dataset import job was created.+datasetImportJobSummary_creationTime :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe Prelude.UTCTime)+datasetImportJobSummary_creationTime = Lens.lens (\DatasetImportJobSummary' {creationTime} -> creationTime) (\s@DatasetImportJobSummary' {} a -> s {creationTime = a} :: DatasetImportJobSummary) Prelude.. Lens.mapping Data._Time++-- | The location of the training data to import and an AWS Identity and+-- Access Management (IAM) role that Amazon Forecast can assume to access+-- the data. The training data must be stored in an Amazon S3 bucket.+--+-- If encryption is used, @DataSource@ includes an AWS Key Management+-- Service (KMS) key.+datasetImportJobSummary_dataSource :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe DataSource)+datasetImportJobSummary_dataSource = Lens.lens (\DatasetImportJobSummary' {dataSource} -> dataSource) (\s@DatasetImportJobSummary' {} a -> s {dataSource = a} :: DatasetImportJobSummary)++-- | The Amazon Resource Name (ARN) of the dataset import job.+datasetImportJobSummary_datasetImportJobArn :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe Prelude.Text)+datasetImportJobSummary_datasetImportJobArn = Lens.lens (\DatasetImportJobSummary' {datasetImportJobArn} -> datasetImportJobArn) (\s@DatasetImportJobSummary' {} a -> s {datasetImportJobArn = a} :: DatasetImportJobSummary)++-- | The name of the dataset import job.+datasetImportJobSummary_datasetImportJobName :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe Prelude.Text)+datasetImportJobSummary_datasetImportJobName = Lens.lens (\DatasetImportJobSummary' {datasetImportJobName} -> datasetImportJobName) (\s@DatasetImportJobSummary' {} a -> s {datasetImportJobName = a} :: DatasetImportJobSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+datasetImportJobSummary_lastModificationTime :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe Prelude.UTCTime)+datasetImportJobSummary_lastModificationTime = Lens.lens (\DatasetImportJobSummary' {lastModificationTime} -> lastModificationTime) (\s@DatasetImportJobSummary' {} a -> s {lastModificationTime = a} :: DatasetImportJobSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+datasetImportJobSummary_message :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe Prelude.Text)+datasetImportJobSummary_message = Lens.lens (\DatasetImportJobSummary' {message} -> message) (\s@DatasetImportJobSummary' {} a -> s {message = a} :: DatasetImportJobSummary)++-- | The status of the dataset import job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+datasetImportJobSummary_status :: Lens.Lens' DatasetImportJobSummary (Prelude.Maybe Prelude.Text)+datasetImportJobSummary_status = Lens.lens (\DatasetImportJobSummary' {status} -> status) (\s@DatasetImportJobSummary' {} a -> s {status = a} :: DatasetImportJobSummary)++instance Data.FromJSON DatasetImportJobSummary where+  parseJSON =+    Data.withObject+      "DatasetImportJobSummary"+      ( \x ->+          DatasetImportJobSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "DataSource")+            Prelude.<*> (x Data..:? "DatasetImportJobArn")+            Prelude.<*> (x Data..:? "DatasetImportJobName")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable DatasetImportJobSummary where+  hashWithSalt _salt DatasetImportJobSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` dataSource+      `Prelude.hashWithSalt` datasetImportJobArn+      `Prelude.hashWithSalt` datasetImportJobName+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status++instance Prelude.NFData DatasetImportJobSummary where+  rnf DatasetImportJobSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf dataSource+      `Prelude.seq` Prelude.rnf datasetImportJobArn+      `Prelude.seq` Prelude.rnf datasetImportJobName+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/DatasetSummary.hs view
@@ -0,0 +1,156 @@+{-# 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.Forecast.Types.DatasetSummary+-- 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.Forecast.Types.DatasetSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DatasetType+import Amazonka.Forecast.Types.Domain+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the dataset properties used in the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_ListDatasets.html ListDatasets>+-- operation. To get the complete set of properties, call the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDataset.html DescribeDataset>+-- operation, and provide the @DatasetArn@.+--+-- /See:/ 'newDatasetSummary' smart constructor.+data DatasetSummary = DatasetSummary'+  { -- | When the dataset was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the dataset.+    datasetArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the dataset.+    datasetName :: Prelude.Maybe Prelude.Text,+    -- | The dataset type.+    datasetType :: Prelude.Maybe DatasetType,+    -- | The domain associated with the dataset.+    domain :: Prelude.Maybe Domain,+    -- | When you create a dataset, @LastModificationTime@ is the same as+    -- @CreationTime@. While data is being imported to the dataset,+    -- @LastModificationTime@ is the current time of the @ListDatasets@ call.+    -- After a+    -- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+    -- operation has finished, @LastModificationTime@ is when the import job+    -- completed or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetSummary' 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:+--+-- 'creationTime', 'datasetSummary_creationTime' - When the dataset was created.+--+-- 'datasetArn', 'datasetSummary_datasetArn' - The Amazon Resource Name (ARN) of the dataset.+--+-- 'datasetName', 'datasetSummary_datasetName' - The name of the dataset.+--+-- 'datasetType', 'datasetSummary_datasetType' - The dataset type.+--+-- 'domain', 'datasetSummary_domain' - The domain associated with the dataset.+--+-- 'lastModificationTime', 'datasetSummary_lastModificationTime' - When you create a dataset, @LastModificationTime@ is the same as+-- @CreationTime@. While data is being imported to the dataset,+-- @LastModificationTime@ is the current time of the @ListDatasets@ call.+-- After a+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation has finished, @LastModificationTime@ is when the import job+-- completed or failed.+newDatasetSummary ::+  DatasetSummary+newDatasetSummary =+  DatasetSummary'+    { creationTime = Prelude.Nothing,+      datasetArn = Prelude.Nothing,+      datasetName = Prelude.Nothing,+      datasetType = Prelude.Nothing,+      domain = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing+    }++-- | When the dataset was created.+datasetSummary_creationTime :: Lens.Lens' DatasetSummary (Prelude.Maybe Prelude.UTCTime)+datasetSummary_creationTime = Lens.lens (\DatasetSummary' {creationTime} -> creationTime) (\s@DatasetSummary' {} a -> s {creationTime = a} :: DatasetSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the dataset.+datasetSummary_datasetArn :: Lens.Lens' DatasetSummary (Prelude.Maybe Prelude.Text)+datasetSummary_datasetArn = Lens.lens (\DatasetSummary' {datasetArn} -> datasetArn) (\s@DatasetSummary' {} a -> s {datasetArn = a} :: DatasetSummary)++-- | The name of the dataset.+datasetSummary_datasetName :: Lens.Lens' DatasetSummary (Prelude.Maybe Prelude.Text)+datasetSummary_datasetName = Lens.lens (\DatasetSummary' {datasetName} -> datasetName) (\s@DatasetSummary' {} a -> s {datasetName = a} :: DatasetSummary)++-- | The dataset type.+datasetSummary_datasetType :: Lens.Lens' DatasetSummary (Prelude.Maybe DatasetType)+datasetSummary_datasetType = Lens.lens (\DatasetSummary' {datasetType} -> datasetType) (\s@DatasetSummary' {} a -> s {datasetType = a} :: DatasetSummary)++-- | The domain associated with the dataset.+datasetSummary_domain :: Lens.Lens' DatasetSummary (Prelude.Maybe Domain)+datasetSummary_domain = Lens.lens (\DatasetSummary' {domain} -> domain) (\s@DatasetSummary' {} a -> s {domain = a} :: DatasetSummary)++-- | When you create a dataset, @LastModificationTime@ is the same as+-- @CreationTime@. While data is being imported to the dataset,+-- @LastModificationTime@ is the current time of the @ListDatasets@ call.+-- After a+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation has finished, @LastModificationTime@ is when the import job+-- completed or failed.+datasetSummary_lastModificationTime :: Lens.Lens' DatasetSummary (Prelude.Maybe Prelude.UTCTime)+datasetSummary_lastModificationTime = Lens.lens (\DatasetSummary' {lastModificationTime} -> lastModificationTime) (\s@DatasetSummary' {} a -> s {lastModificationTime = a} :: DatasetSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON DatasetSummary where+  parseJSON =+    Data.withObject+      "DatasetSummary"+      ( \x ->+          DatasetSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "DatasetArn")+            Prelude.<*> (x Data..:? "DatasetName")+            Prelude.<*> (x Data..:? "DatasetType")+            Prelude.<*> (x Data..:? "Domain")+            Prelude.<*> (x Data..:? "LastModificationTime")+      )++instance Prelude.Hashable DatasetSummary where+  hashWithSalt _salt DatasetSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` datasetArn+      `Prelude.hashWithSalt` datasetName+      `Prelude.hashWithSalt` datasetType+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData DatasetSummary where+  rnf DatasetSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetArn+      `Prelude.seq` Prelude.rnf datasetName+      `Prelude.seq` Prelude.rnf datasetType+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/Forecast/Types/DatasetType.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.Forecast.Types.DatasetType+-- 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.Forecast.Types.DatasetType+  ( DatasetType+      ( ..,+        DatasetType_ITEM_METADATA,+        DatasetType_RELATED_TIME_SERIES,+        DatasetType_TARGET_TIME_SERIES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DatasetType = DatasetType'+  { fromDatasetType ::+      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 DatasetType_ITEM_METADATA :: DatasetType+pattern DatasetType_ITEM_METADATA = DatasetType' "ITEM_METADATA"++pattern DatasetType_RELATED_TIME_SERIES :: DatasetType+pattern DatasetType_RELATED_TIME_SERIES = DatasetType' "RELATED_TIME_SERIES"++pattern DatasetType_TARGET_TIME_SERIES :: DatasetType+pattern DatasetType_TARGET_TIME_SERIES = DatasetType' "TARGET_TIME_SERIES"++{-# COMPLETE+  DatasetType_ITEM_METADATA,+  DatasetType_RELATED_TIME_SERIES,+  DatasetType_TARGET_TIME_SERIES,+  DatasetType'+  #-}
+ gen/Amazonka/Forecast/Types/DayOfWeek.hs view
@@ -0,0 +1,96 @@+{-# 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.Forecast.Types.DayOfWeek+-- 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.Forecast.Types.DayOfWeek+  ( DayOfWeek+      ( ..,+        DayOfWeek_FRIDAY,+        DayOfWeek_MONDAY,+        DayOfWeek_SATURDAY,+        DayOfWeek_SUNDAY,+        DayOfWeek_THURSDAY,+        DayOfWeek_TUESDAY,+        DayOfWeek_WEDNESDAY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DayOfWeek = DayOfWeek'+  { fromDayOfWeek ::+      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 DayOfWeek_FRIDAY :: DayOfWeek+pattern DayOfWeek_FRIDAY = DayOfWeek' "FRIDAY"++pattern DayOfWeek_MONDAY :: DayOfWeek+pattern DayOfWeek_MONDAY = DayOfWeek' "MONDAY"++pattern DayOfWeek_SATURDAY :: DayOfWeek+pattern DayOfWeek_SATURDAY = DayOfWeek' "SATURDAY"++pattern DayOfWeek_SUNDAY :: DayOfWeek+pattern DayOfWeek_SUNDAY = DayOfWeek' "SUNDAY"++pattern DayOfWeek_THURSDAY :: DayOfWeek+pattern DayOfWeek_THURSDAY = DayOfWeek' "THURSDAY"++pattern DayOfWeek_TUESDAY :: DayOfWeek+pattern DayOfWeek_TUESDAY = DayOfWeek' "TUESDAY"++pattern DayOfWeek_WEDNESDAY :: DayOfWeek+pattern DayOfWeek_WEDNESDAY = DayOfWeek' "WEDNESDAY"++{-# COMPLETE+  DayOfWeek_FRIDAY,+  DayOfWeek_MONDAY,+  DayOfWeek_SATURDAY,+  DayOfWeek_SUNDAY,+  DayOfWeek_THURSDAY,+  DayOfWeek_TUESDAY,+  DayOfWeek_WEDNESDAY,+  DayOfWeek'+  #-}
+ gen/Amazonka/Forecast/Types/Domain.hs view
@@ -0,0 +1,93 @@+{-# 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.Forecast.Types.Domain+-- 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.Forecast.Types.Domain+  ( Domain+      ( ..,+        Domain_CUSTOM,+        Domain_EC2_CAPACITY,+        Domain_INVENTORY_PLANNING,+        Domain_METRICS,+        Domain_RETAIL,+        Domain_WEB_TRAFFIC,+        Domain_WORK_FORCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Domain = Domain' {fromDomain :: 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 Domain_CUSTOM :: Domain+pattern Domain_CUSTOM = Domain' "CUSTOM"++pattern Domain_EC2_CAPACITY :: Domain+pattern Domain_EC2_CAPACITY = Domain' "EC2_CAPACITY"++pattern Domain_INVENTORY_PLANNING :: Domain+pattern Domain_INVENTORY_PLANNING = Domain' "INVENTORY_PLANNING"++pattern Domain_METRICS :: Domain+pattern Domain_METRICS = Domain' "METRICS"++pattern Domain_RETAIL :: Domain+pattern Domain_RETAIL = Domain' "RETAIL"++pattern Domain_WEB_TRAFFIC :: Domain+pattern Domain_WEB_TRAFFIC = Domain' "WEB_TRAFFIC"++pattern Domain_WORK_FORCE :: Domain+pattern Domain_WORK_FORCE = Domain' "WORK_FORCE"++{-# COMPLETE+  Domain_CUSTOM,+  Domain_EC2_CAPACITY,+  Domain_INVENTORY_PLANNING,+  Domain_METRICS,+  Domain_RETAIL,+  Domain_WEB_TRAFFIC,+  Domain_WORK_FORCE,+  Domain'+  #-}
+ gen/Amazonka/Forecast/Types/EncryptionConfig.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.Forecast.Types.EncryptionConfig+-- 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.Forecast.Types.EncryptionConfig 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 AWS Key Management Service (KMS) key and an AWS Identity and Access+-- Management (IAM) role that Amazon Forecast can assume to access the key.+-- You can specify this optional object in the CreateDataset and+-- CreatePredictor requests.+--+-- /See:/ 'newEncryptionConfig' smart constructor.+data EncryptionConfig = EncryptionConfig'+  { -- | The ARN of the IAM role that Amazon Forecast can assume to access the+    -- AWS KMS key.+    --+    -- Passing a role across AWS accounts is not allowed. If you pass a role+    -- that isn\'t in your account, you get an @InvalidInputException@ error.+    roleArn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the KMS key.+    kmsKeyArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionConfig' 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', 'encryptionConfig_roleArn' - The ARN of the IAM role that Amazon Forecast can assume to access the+-- AWS KMS key.+--+-- Passing a role across AWS accounts is not allowed. If you pass a role+-- that isn\'t in your account, you get an @InvalidInputException@ error.+--+-- 'kmsKeyArn', 'encryptionConfig_kmsKeyArn' - The Amazon Resource Name (ARN) of the KMS key.+newEncryptionConfig ::+  -- | 'roleArn'+  Prelude.Text ->+  -- | 'kmsKeyArn'+  Prelude.Text ->+  EncryptionConfig+newEncryptionConfig pRoleArn_ pKMSKeyArn_ =+  EncryptionConfig'+    { roleArn = pRoleArn_,+      kmsKeyArn = pKMSKeyArn_+    }++-- | The ARN of the IAM role that Amazon Forecast can assume to access the+-- AWS KMS key.+--+-- Passing a role across AWS accounts is not allowed. If you pass a role+-- that isn\'t in your account, you get an @InvalidInputException@ error.+encryptionConfig_roleArn :: Lens.Lens' EncryptionConfig Prelude.Text+encryptionConfig_roleArn = Lens.lens (\EncryptionConfig' {roleArn} -> roleArn) (\s@EncryptionConfig' {} a -> s {roleArn = a} :: EncryptionConfig)++-- | The Amazon Resource Name (ARN) of the KMS key.+encryptionConfig_kmsKeyArn :: Lens.Lens' EncryptionConfig Prelude.Text+encryptionConfig_kmsKeyArn = Lens.lens (\EncryptionConfig' {kmsKeyArn} -> kmsKeyArn) (\s@EncryptionConfig' {} a -> s {kmsKeyArn = a} :: EncryptionConfig)++instance Data.FromJSON EncryptionConfig where+  parseJSON =+    Data.withObject+      "EncryptionConfig"+      ( \x ->+          EncryptionConfig'+            Prelude.<$> (x Data..: "RoleArn")+            Prelude.<*> (x Data..: "KMSKeyArn")+      )++instance Prelude.Hashable EncryptionConfig where+  hashWithSalt _salt EncryptionConfig' {..} =+    _salt+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` kmsKeyArn++instance Prelude.NFData EncryptionConfig where+  rnf EncryptionConfig' {..} =+    Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf kmsKeyArn++instance Data.ToJSON EncryptionConfig where+  toJSON EncryptionConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("RoleArn" Data..= roleArn),+            Prelude.Just ("KMSKeyArn" Data..= kmsKeyArn)+          ]+      )
+ gen/Amazonka/Forecast/Types/ErrorMetric.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.Forecast.Types.ErrorMetric+-- 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.Forecast.Types.ErrorMetric 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++-- | Provides detailed error metrics to evaluate the performance of a+-- predictor. This object is part of the Metrics object.+--+-- /See:/ 'newErrorMetric' smart constructor.+data ErrorMetric = ErrorMetric'+  { -- | The Forecast type used to compute WAPE, MAPE, MASE, and RMSE.+    forecastType :: Prelude.Maybe Prelude.Text,+    -- | The Mean Absolute Percentage Error (MAPE)+    mape :: Prelude.Maybe Prelude.Double,+    -- | The Mean Absolute Scaled Error (MASE)+    mase :: Prelude.Maybe Prelude.Double,+    -- | The root-mean-square error (RMSE).+    rmse :: Prelude.Maybe Prelude.Double,+    -- | The weighted absolute percentage error (WAPE).+    wape :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorMetric' 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:+--+-- 'forecastType', 'errorMetric_forecastType' - The Forecast type used to compute WAPE, MAPE, MASE, and RMSE.+--+-- 'mape', 'errorMetric_mape' - The Mean Absolute Percentage Error (MAPE)+--+-- 'mase', 'errorMetric_mase' - The Mean Absolute Scaled Error (MASE)+--+-- 'rmse', 'errorMetric_rmse' - The root-mean-square error (RMSE).+--+-- 'wape', 'errorMetric_wape' - The weighted absolute percentage error (WAPE).+newErrorMetric ::+  ErrorMetric+newErrorMetric =+  ErrorMetric'+    { forecastType = Prelude.Nothing,+      mape = Prelude.Nothing,+      mase = Prelude.Nothing,+      rmse = Prelude.Nothing,+      wape = Prelude.Nothing+    }++-- | The Forecast type used to compute WAPE, MAPE, MASE, and RMSE.+errorMetric_forecastType :: Lens.Lens' ErrorMetric (Prelude.Maybe Prelude.Text)+errorMetric_forecastType = Lens.lens (\ErrorMetric' {forecastType} -> forecastType) (\s@ErrorMetric' {} a -> s {forecastType = a} :: ErrorMetric)++-- | The Mean Absolute Percentage Error (MAPE)+errorMetric_mape :: Lens.Lens' ErrorMetric (Prelude.Maybe Prelude.Double)+errorMetric_mape = Lens.lens (\ErrorMetric' {mape} -> mape) (\s@ErrorMetric' {} a -> s {mape = a} :: ErrorMetric)++-- | The Mean Absolute Scaled Error (MASE)+errorMetric_mase :: Lens.Lens' ErrorMetric (Prelude.Maybe Prelude.Double)+errorMetric_mase = Lens.lens (\ErrorMetric' {mase} -> mase) (\s@ErrorMetric' {} a -> s {mase = a} :: ErrorMetric)++-- | The root-mean-square error (RMSE).+errorMetric_rmse :: Lens.Lens' ErrorMetric (Prelude.Maybe Prelude.Double)+errorMetric_rmse = Lens.lens (\ErrorMetric' {rmse} -> rmse) (\s@ErrorMetric' {} a -> s {rmse = a} :: ErrorMetric)++-- | The weighted absolute percentage error (WAPE).+errorMetric_wape :: Lens.Lens' ErrorMetric (Prelude.Maybe Prelude.Double)+errorMetric_wape = Lens.lens (\ErrorMetric' {wape} -> wape) (\s@ErrorMetric' {} a -> s {wape = a} :: ErrorMetric)++instance Data.FromJSON ErrorMetric where+  parseJSON =+    Data.withObject+      "ErrorMetric"+      ( \x ->+          ErrorMetric'+            Prelude.<$> (x Data..:? "ForecastType")+            Prelude.<*> (x Data..:? "MAPE")+            Prelude.<*> (x Data..:? "MASE")+            Prelude.<*> (x Data..:? "RMSE")+            Prelude.<*> (x Data..:? "WAPE")+      )++instance Prelude.Hashable ErrorMetric where+  hashWithSalt _salt ErrorMetric' {..} =+    _salt+      `Prelude.hashWithSalt` forecastType+      `Prelude.hashWithSalt` mape+      `Prelude.hashWithSalt` mase+      `Prelude.hashWithSalt` rmse+      `Prelude.hashWithSalt` wape++instance Prelude.NFData ErrorMetric where+  rnf ErrorMetric' {..} =+    Prelude.rnf forecastType+      `Prelude.seq` Prelude.rnf mape+      `Prelude.seq` Prelude.rnf mase+      `Prelude.seq` Prelude.rnf rmse+      `Prelude.seq` Prelude.rnf wape
+ gen/Amazonka/Forecast/Types/EvaluationParameters.hs view
@@ -0,0 +1,126 @@+{-# 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.Forecast.Types.EvaluationParameters+-- 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.Forecast.Types.EvaluationParameters 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++-- | Parameters that define how to split a dataset into training data and+-- testing data, and the number of iterations to perform. These parameters+-- are specified in the predefined algorithms but you can override them in+-- the CreatePredictor request.+--+-- /See:/ 'newEvaluationParameters' smart constructor.+data EvaluationParameters = EvaluationParameters'+  { -- | The point from the end of the dataset where you want to split the data+    -- for model training and testing (evaluation). Specify the value as the+    -- number of data points. The default is the value of the forecast horizon.+    -- @BackTestWindowOffset@ can be used to mimic a past virtual forecast+    -- start date. This value must be greater than or equal to the forecast+    -- horizon and less than half of the TARGET_TIME_SERIES dataset length.+    --+    -- @ForecastHorizon@ \<= @BackTestWindowOffset@ \< 1\/2 *+    -- TARGET_TIME_SERIES dataset length+    backTestWindowOffset :: Prelude.Maybe Prelude.Int,+    -- | The number of times to split the input data. The default is 1. Valid+    -- values are 1 through 5.+    numberOfBacktestWindows :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvaluationParameters' 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:+--+-- 'backTestWindowOffset', 'evaluationParameters_backTestWindowOffset' - The point from the end of the dataset where you want to split the data+-- for model training and testing (evaluation). Specify the value as the+-- number of data points. The default is the value of the forecast horizon.+-- @BackTestWindowOffset@ can be used to mimic a past virtual forecast+-- start date. This value must be greater than or equal to the forecast+-- horizon and less than half of the TARGET_TIME_SERIES dataset length.+--+-- @ForecastHorizon@ \<= @BackTestWindowOffset@ \< 1\/2 *+-- TARGET_TIME_SERIES dataset length+--+-- 'numberOfBacktestWindows', 'evaluationParameters_numberOfBacktestWindows' - The number of times to split the input data. The default is 1. Valid+-- values are 1 through 5.+newEvaluationParameters ::+  EvaluationParameters+newEvaluationParameters =+  EvaluationParameters'+    { backTestWindowOffset =+        Prelude.Nothing,+      numberOfBacktestWindows = Prelude.Nothing+    }++-- | The point from the end of the dataset where you want to split the data+-- for model training and testing (evaluation). Specify the value as the+-- number of data points. The default is the value of the forecast horizon.+-- @BackTestWindowOffset@ can be used to mimic a past virtual forecast+-- start date. This value must be greater than or equal to the forecast+-- horizon and less than half of the TARGET_TIME_SERIES dataset length.+--+-- @ForecastHorizon@ \<= @BackTestWindowOffset@ \< 1\/2 *+-- TARGET_TIME_SERIES dataset length+evaluationParameters_backTestWindowOffset :: Lens.Lens' EvaluationParameters (Prelude.Maybe Prelude.Int)+evaluationParameters_backTestWindowOffset = Lens.lens (\EvaluationParameters' {backTestWindowOffset} -> backTestWindowOffset) (\s@EvaluationParameters' {} a -> s {backTestWindowOffset = a} :: EvaluationParameters)++-- | The number of times to split the input data. The default is 1. Valid+-- values are 1 through 5.+evaluationParameters_numberOfBacktestWindows :: Lens.Lens' EvaluationParameters (Prelude.Maybe Prelude.Int)+evaluationParameters_numberOfBacktestWindows = Lens.lens (\EvaluationParameters' {numberOfBacktestWindows} -> numberOfBacktestWindows) (\s@EvaluationParameters' {} a -> s {numberOfBacktestWindows = a} :: EvaluationParameters)++instance Data.FromJSON EvaluationParameters where+  parseJSON =+    Data.withObject+      "EvaluationParameters"+      ( \x ->+          EvaluationParameters'+            Prelude.<$> (x Data..:? "BackTestWindowOffset")+            Prelude.<*> (x Data..:? "NumberOfBacktestWindows")+      )++instance Prelude.Hashable EvaluationParameters where+  hashWithSalt _salt EvaluationParameters' {..} =+    _salt+      `Prelude.hashWithSalt` backTestWindowOffset+      `Prelude.hashWithSalt` numberOfBacktestWindows++instance Prelude.NFData EvaluationParameters where+  rnf EvaluationParameters' {..} =+    Prelude.rnf backTestWindowOffset+      `Prelude.seq` Prelude.rnf numberOfBacktestWindows++instance Data.ToJSON EvaluationParameters where+  toJSON EvaluationParameters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BackTestWindowOffset" Data..=)+              Prelude.<$> backTestWindowOffset,+            ("NumberOfBacktestWindows" Data..=)+              Prelude.<$> numberOfBacktestWindows+          ]+      )
+ gen/Amazonka/Forecast/Types/EvaluationResult.hs view
@@ -0,0 +1,92 @@+{-# 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.Forecast.Types.EvaluationResult+-- 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.Forecast.Types.EvaluationResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.WindowSummary+import qualified Amazonka.Prelude as Prelude++-- | The results of evaluating an algorithm. Returned as part of the+-- GetAccuracyMetrics response.+--+-- /See:/ 'newEvaluationResult' smart constructor.+data EvaluationResult = EvaluationResult'+  { -- | The Amazon Resource Name (ARN) of the algorithm that was evaluated.+    algorithmArn :: Prelude.Maybe Prelude.Text,+    -- | The array of test windows used for evaluating the algorithm. The+    -- @NumberOfBacktestWindows@ from the EvaluationParameters object+    -- determines the number of windows in the array.+    testWindows :: Prelude.Maybe [WindowSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvaluationResult' 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:+--+-- 'algorithmArn', 'evaluationResult_algorithmArn' - The Amazon Resource Name (ARN) of the algorithm that was evaluated.+--+-- 'testWindows', 'evaluationResult_testWindows' - The array of test windows used for evaluating the algorithm. The+-- @NumberOfBacktestWindows@ from the EvaluationParameters object+-- determines the number of windows in the array.+newEvaluationResult ::+  EvaluationResult+newEvaluationResult =+  EvaluationResult'+    { algorithmArn = Prelude.Nothing,+      testWindows = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the algorithm that was evaluated.+evaluationResult_algorithmArn :: Lens.Lens' EvaluationResult (Prelude.Maybe Prelude.Text)+evaluationResult_algorithmArn = Lens.lens (\EvaluationResult' {algorithmArn} -> algorithmArn) (\s@EvaluationResult' {} a -> s {algorithmArn = a} :: EvaluationResult)++-- | The array of test windows used for evaluating the algorithm. The+-- @NumberOfBacktestWindows@ from the EvaluationParameters object+-- determines the number of windows in the array.+evaluationResult_testWindows :: Lens.Lens' EvaluationResult (Prelude.Maybe [WindowSummary])+evaluationResult_testWindows = Lens.lens (\EvaluationResult' {testWindows} -> testWindows) (\s@EvaluationResult' {} a -> s {testWindows = a} :: EvaluationResult) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON EvaluationResult where+  parseJSON =+    Data.withObject+      "EvaluationResult"+      ( \x ->+          EvaluationResult'+            Prelude.<$> (x Data..:? "AlgorithmArn")+            Prelude.<*> (x Data..:? "TestWindows" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable EvaluationResult where+  hashWithSalt _salt EvaluationResult' {..} =+    _salt+      `Prelude.hashWithSalt` algorithmArn+      `Prelude.hashWithSalt` testWindows++instance Prelude.NFData EvaluationResult where+  rnf EvaluationResult' {..} =+    Prelude.rnf algorithmArn+      `Prelude.seq` Prelude.rnf testWindows
+ gen/Amazonka/Forecast/Types/EvaluationType.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.Forecast.Types.EvaluationType+-- 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.Forecast.Types.EvaluationType+  ( EvaluationType+      ( ..,+        EvaluationType_COMPUTED,+        EvaluationType_SUMMARY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EvaluationType = EvaluationType'+  { fromEvaluationType ::+      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 EvaluationType_COMPUTED :: EvaluationType+pattern EvaluationType_COMPUTED = EvaluationType' "COMPUTED"++pattern EvaluationType_SUMMARY :: EvaluationType+pattern EvaluationType_SUMMARY = EvaluationType' "SUMMARY"++{-# COMPLETE+  EvaluationType_COMPUTED,+  EvaluationType_SUMMARY,+  EvaluationType'+  #-}
+ gen/Amazonka/Forecast/Types/ExplainabilityConfig.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.Forecast.Types.ExplainabilityConfig+-- 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.Forecast.Types.ExplainabilityConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.TimePointGranularity+import Amazonka.Forecast.Types.TimeSeriesGranularity+import qualified Amazonka.Prelude as Prelude++-- | The ExplainabilityConfig data type defines the number of time series and+-- time points included in CreateExplainability.+--+-- If you provide a predictor ARN for @ResourceArn@, you must set both+-- @TimePointGranularity@ and @TimeSeriesGranularity@ to “ALL”. When+-- creating Predictor Explainability, Amazon Forecast considers all time+-- series and time points.+--+-- If you provide a forecast ARN for @ResourceArn@, you can set+-- @TimePointGranularity@ and @TimeSeriesGranularity@ to either “ALL” or+-- “Specific”.+--+-- /See:/ 'newExplainabilityConfig' smart constructor.+data ExplainabilityConfig = ExplainabilityConfig'+  { -- | To create an Explainability for all time series in your datasets, use+    -- @ALL@. To create an Explainability for specific time series in your+    -- datasets, use @SPECIFIC@.+    --+    -- Specify time series by uploading a CSV or Parquet file to an Amazon S3+    -- bucket and set the location within the DataDestination data type.+    timeSeriesGranularity :: TimeSeriesGranularity,+    -- | To create an Explainability for all time points in your forecast+    -- horizon, use @ALL@. To create an Explainability for specific time points+    -- in your forecast horizon, use @SPECIFIC@.+    --+    -- Specify time points with the @StartDateTime@ and @EndDateTime@+    -- parameters within the CreateExplainability operation.+    timePointGranularity :: TimePointGranularity+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExplainabilityConfig' 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:+--+-- 'timeSeriesGranularity', 'explainabilityConfig_timeSeriesGranularity' - To create an Explainability for all time series in your datasets, use+-- @ALL@. To create an Explainability for specific time series in your+-- datasets, use @SPECIFIC@.+--+-- Specify time series by uploading a CSV or Parquet file to an Amazon S3+-- bucket and set the location within the DataDestination data type.+--+-- 'timePointGranularity', 'explainabilityConfig_timePointGranularity' - To create an Explainability for all time points in your forecast+-- horizon, use @ALL@. To create an Explainability for specific time points+-- in your forecast horizon, use @SPECIFIC@.+--+-- Specify time points with the @StartDateTime@ and @EndDateTime@+-- parameters within the CreateExplainability operation.+newExplainabilityConfig ::+  -- | 'timeSeriesGranularity'+  TimeSeriesGranularity ->+  -- | 'timePointGranularity'+  TimePointGranularity ->+  ExplainabilityConfig+newExplainabilityConfig+  pTimeSeriesGranularity_+  pTimePointGranularity_ =+    ExplainabilityConfig'+      { timeSeriesGranularity =+          pTimeSeriesGranularity_,+        timePointGranularity = pTimePointGranularity_+      }++-- | To create an Explainability for all time series in your datasets, use+-- @ALL@. To create an Explainability for specific time series in your+-- datasets, use @SPECIFIC@.+--+-- Specify time series by uploading a CSV or Parquet file to an Amazon S3+-- bucket and set the location within the DataDestination data type.+explainabilityConfig_timeSeriesGranularity :: Lens.Lens' ExplainabilityConfig TimeSeriesGranularity+explainabilityConfig_timeSeriesGranularity = Lens.lens (\ExplainabilityConfig' {timeSeriesGranularity} -> timeSeriesGranularity) (\s@ExplainabilityConfig' {} a -> s {timeSeriesGranularity = a} :: ExplainabilityConfig)++-- | To create an Explainability for all time points in your forecast+-- horizon, use @ALL@. To create an Explainability for specific time points+-- in your forecast horizon, use @SPECIFIC@.+--+-- Specify time points with the @StartDateTime@ and @EndDateTime@+-- parameters within the CreateExplainability operation.+explainabilityConfig_timePointGranularity :: Lens.Lens' ExplainabilityConfig TimePointGranularity+explainabilityConfig_timePointGranularity = Lens.lens (\ExplainabilityConfig' {timePointGranularity} -> timePointGranularity) (\s@ExplainabilityConfig' {} a -> s {timePointGranularity = a} :: ExplainabilityConfig)++instance Data.FromJSON ExplainabilityConfig where+  parseJSON =+    Data.withObject+      "ExplainabilityConfig"+      ( \x ->+          ExplainabilityConfig'+            Prelude.<$> (x Data..: "TimeSeriesGranularity")+            Prelude.<*> (x Data..: "TimePointGranularity")+      )++instance Prelude.Hashable ExplainabilityConfig where+  hashWithSalt _salt ExplainabilityConfig' {..} =+    _salt+      `Prelude.hashWithSalt` timeSeriesGranularity+      `Prelude.hashWithSalt` timePointGranularity++instance Prelude.NFData ExplainabilityConfig where+  rnf ExplainabilityConfig' {..} =+    Prelude.rnf timeSeriesGranularity+      `Prelude.seq` Prelude.rnf timePointGranularity++instance Data.ToJSON ExplainabilityConfig where+  toJSON ExplainabilityConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "TimeSeriesGranularity"+                  Data..= timeSeriesGranularity+              ),+            Prelude.Just+              ( "TimePointGranularity"+                  Data..= timePointGranularity+              )+          ]+      )
+ gen/Amazonka/Forecast/Types/ExplainabilityExportSummary.hs view
@@ -0,0 +1,208 @@+{-# 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.Forecast.Types.ExplainabilityExportSummary+-- 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.Forecast.Types.ExplainabilityExportSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DataDestination+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the Explainability export properties used in the+-- ListExplainabilityExports operation. To get a complete set of+-- properties, call the DescribeExplainabilityExport operation, and provide+-- the @ExplainabilityExportArn@.+--+-- /See:/ 'newExplainabilityExportSummary' smart constructor.+data ExplainabilityExportSummary = ExplainabilityExportSummary'+  { -- | When the Explainability was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    destination :: Prelude.Maybe DataDestination,+    -- | The Amazon Resource Name (ARN) of the Explainability export.+    explainabilityExportArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the Explainability export+    explainabilityExportName :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about any errors that may have occurred during the+    -- Explainability export.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the Explainability export. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExplainabilityExportSummary' 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:+--+-- 'creationTime', 'explainabilityExportSummary_creationTime' - When the Explainability was created.+--+-- 'destination', 'explainabilityExportSummary_destination' - Undocumented member.+--+-- 'explainabilityExportArn', 'explainabilityExportSummary_explainabilityExportArn' - The Amazon Resource Name (ARN) of the Explainability export.+--+-- 'explainabilityExportName', 'explainabilityExportSummary_explainabilityExportName' - The name of the Explainability export+--+-- 'lastModificationTime', 'explainabilityExportSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'explainabilityExportSummary_message' - Information about any errors that may have occurred during the+-- Explainability export.+--+-- 'status', 'explainabilityExportSummary_status' - The status of the Explainability export. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+newExplainabilityExportSummary ::+  ExplainabilityExportSummary+newExplainabilityExportSummary =+  ExplainabilityExportSummary'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      explainabilityExportArn = Prelude.Nothing,+      explainabilityExportName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the Explainability was created.+explainabilityExportSummary_creationTime :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe Prelude.UTCTime)+explainabilityExportSummary_creationTime = Lens.lens (\ExplainabilityExportSummary' {creationTime} -> creationTime) (\s@ExplainabilityExportSummary' {} a -> s {creationTime = a} :: ExplainabilityExportSummary) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+explainabilityExportSummary_destination :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe DataDestination)+explainabilityExportSummary_destination = Lens.lens (\ExplainabilityExportSummary' {destination} -> destination) (\s@ExplainabilityExportSummary' {} a -> s {destination = a} :: ExplainabilityExportSummary)++-- | The Amazon Resource Name (ARN) of the Explainability export.+explainabilityExportSummary_explainabilityExportArn :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe Prelude.Text)+explainabilityExportSummary_explainabilityExportArn = Lens.lens (\ExplainabilityExportSummary' {explainabilityExportArn} -> explainabilityExportArn) (\s@ExplainabilityExportSummary' {} a -> s {explainabilityExportArn = a} :: ExplainabilityExportSummary)++-- | The name of the Explainability export+explainabilityExportSummary_explainabilityExportName :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe Prelude.Text)+explainabilityExportSummary_explainabilityExportName = Lens.lens (\ExplainabilityExportSummary' {explainabilityExportName} -> explainabilityExportName) (\s@ExplainabilityExportSummary' {} a -> s {explainabilityExportName = a} :: ExplainabilityExportSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+explainabilityExportSummary_lastModificationTime :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe Prelude.UTCTime)+explainabilityExportSummary_lastModificationTime = Lens.lens (\ExplainabilityExportSummary' {lastModificationTime} -> lastModificationTime) (\s@ExplainabilityExportSummary' {} a -> s {lastModificationTime = a} :: ExplainabilityExportSummary) Prelude.. Lens.mapping Data._Time++-- | Information about any errors that may have occurred during the+-- Explainability export.+explainabilityExportSummary_message :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe Prelude.Text)+explainabilityExportSummary_message = Lens.lens (\ExplainabilityExportSummary' {message} -> message) (\s@ExplainabilityExportSummary' {} a -> s {message = a} :: ExplainabilityExportSummary)++-- | The status of the Explainability export. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+explainabilityExportSummary_status :: Lens.Lens' ExplainabilityExportSummary (Prelude.Maybe Prelude.Text)+explainabilityExportSummary_status = Lens.lens (\ExplainabilityExportSummary' {status} -> status) (\s@ExplainabilityExportSummary' {} a -> s {status = a} :: ExplainabilityExportSummary)++instance Data.FromJSON ExplainabilityExportSummary where+  parseJSON =+    Data.withObject+      "ExplainabilityExportSummary"+      ( \x ->+          ExplainabilityExportSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "Destination")+            Prelude.<*> (x Data..:? "ExplainabilityExportArn")+            Prelude.<*> (x Data..:? "ExplainabilityExportName")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ExplainabilityExportSummary where+  hashWithSalt _salt ExplainabilityExportSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` explainabilityExportArn+      `Prelude.hashWithSalt` explainabilityExportName+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status++instance Prelude.NFData ExplainabilityExportSummary where+  rnf ExplainabilityExportSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf explainabilityExportArn+      `Prelude.seq` Prelude.rnf explainabilityExportName+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/ExplainabilityInfo.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.Types.ExplainabilityInfo+-- 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.Forecast.Types.ExplainabilityInfo 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++-- | Provides information about the Explainability resource.+--+-- /See:/ 'newExplainabilityInfo' smart constructor.+data ExplainabilityInfo = ExplainabilityInfo'+  { -- | The Amazon Resource Name (ARN) of the Explainability.+    explainabilityArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the Explainability. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExplainabilityInfo' 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:+--+-- 'explainabilityArn', 'explainabilityInfo_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability.+--+-- 'status', 'explainabilityInfo_status' - The status of the Explainability. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+newExplainabilityInfo ::+  ExplainabilityInfo+newExplainabilityInfo =+  ExplainabilityInfo'+    { explainabilityArn =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the Explainability.+explainabilityInfo_explainabilityArn :: Lens.Lens' ExplainabilityInfo (Prelude.Maybe Prelude.Text)+explainabilityInfo_explainabilityArn = Lens.lens (\ExplainabilityInfo' {explainabilityArn} -> explainabilityArn) (\s@ExplainabilityInfo' {} a -> s {explainabilityArn = a} :: ExplainabilityInfo)++-- | The status of the Explainability. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+explainabilityInfo_status :: Lens.Lens' ExplainabilityInfo (Prelude.Maybe Prelude.Text)+explainabilityInfo_status = Lens.lens (\ExplainabilityInfo' {status} -> status) (\s@ExplainabilityInfo' {} a -> s {status = a} :: ExplainabilityInfo)++instance Data.FromJSON ExplainabilityInfo where+  parseJSON =+    Data.withObject+      "ExplainabilityInfo"+      ( \x ->+          ExplainabilityInfo'+            Prelude.<$> (x Data..:? "ExplainabilityArn")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ExplainabilityInfo where+  hashWithSalt _salt ExplainabilityInfo' {..} =+    _salt+      `Prelude.hashWithSalt` explainabilityArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData ExplainabilityInfo where+  rnf ExplainabilityInfo' {..} =+    Prelude.rnf explainabilityArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/ExplainabilitySummary.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.Types.ExplainabilitySummary+-- 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.Forecast.Types.ExplainabilitySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.ExplainabilityConfig+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the Explainability properties used in the+-- ListExplainabilities operation. To get a complete set of properties,+-- call the DescribeExplainability operation, and provide the listed+-- @ExplainabilityArn@.+--+-- /See:/ 'newExplainabilitySummary' smart constructor.+data ExplainabilitySummary = ExplainabilitySummary'+  { -- | When the Explainability was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the Explainability.+    explainabilityArn :: Prelude.Maybe Prelude.Text,+    -- | The configuration settings that define the granularity of time series+    -- and time points for the Explainability.+    explainabilityConfig :: Prelude.Maybe ExplainabilityConfig,+    -- | The name of the Explainability.+    explainabilityName :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about any errors that may have occurred during the+    -- Explainability creation process.+    message :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Predictor or Forecast used to+    -- create the Explainability.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the Explainability. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExplainabilitySummary' 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:+--+-- 'creationTime', 'explainabilitySummary_creationTime' - When the Explainability was created.+--+-- 'explainabilityArn', 'explainabilitySummary_explainabilityArn' - The Amazon Resource Name (ARN) of the Explainability.+--+-- 'explainabilityConfig', 'explainabilitySummary_explainabilityConfig' - The configuration settings that define the granularity of time series+-- and time points for the Explainability.+--+-- 'explainabilityName', 'explainabilitySummary_explainabilityName' - The name of the Explainability.+--+-- 'lastModificationTime', 'explainabilitySummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'explainabilitySummary_message' - Information about any errors that may have occurred during the+-- Explainability creation process.+--+-- 'resourceArn', 'explainabilitySummary_resourceArn' - The Amazon Resource Name (ARN) of the Predictor or Forecast used to+-- create the Explainability.+--+-- 'status', 'explainabilitySummary_status' - The status of the Explainability. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+newExplainabilitySummary ::+  ExplainabilitySummary+newExplainabilitySummary =+  ExplainabilitySummary'+    { creationTime =+        Prelude.Nothing,+      explainabilityArn = Prelude.Nothing,+      explainabilityConfig = Prelude.Nothing,+      explainabilityName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the Explainability was created.+explainabilitySummary_creationTime :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.UTCTime)+explainabilitySummary_creationTime = Lens.lens (\ExplainabilitySummary' {creationTime} -> creationTime) (\s@ExplainabilitySummary' {} a -> s {creationTime = a} :: ExplainabilitySummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the Explainability.+explainabilitySummary_explainabilityArn :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.Text)+explainabilitySummary_explainabilityArn = Lens.lens (\ExplainabilitySummary' {explainabilityArn} -> explainabilityArn) (\s@ExplainabilitySummary' {} a -> s {explainabilityArn = a} :: ExplainabilitySummary)++-- | The configuration settings that define the granularity of time series+-- and time points for the Explainability.+explainabilitySummary_explainabilityConfig :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe ExplainabilityConfig)+explainabilitySummary_explainabilityConfig = Lens.lens (\ExplainabilitySummary' {explainabilityConfig} -> explainabilityConfig) (\s@ExplainabilitySummary' {} a -> s {explainabilityConfig = a} :: ExplainabilitySummary)++-- | The name of the Explainability.+explainabilitySummary_explainabilityName :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.Text)+explainabilitySummary_explainabilityName = Lens.lens (\ExplainabilitySummary' {explainabilityName} -> explainabilityName) (\s@ExplainabilitySummary' {} a -> s {explainabilityName = a} :: ExplainabilitySummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+explainabilitySummary_lastModificationTime :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.UTCTime)+explainabilitySummary_lastModificationTime = Lens.lens (\ExplainabilitySummary' {lastModificationTime} -> lastModificationTime) (\s@ExplainabilitySummary' {} a -> s {lastModificationTime = a} :: ExplainabilitySummary) Prelude.. Lens.mapping Data._Time++-- | Information about any errors that may have occurred during the+-- Explainability creation process.+explainabilitySummary_message :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.Text)+explainabilitySummary_message = Lens.lens (\ExplainabilitySummary' {message} -> message) (\s@ExplainabilitySummary' {} a -> s {message = a} :: ExplainabilitySummary)++-- | The Amazon Resource Name (ARN) of the Predictor or Forecast used to+-- create the Explainability.+explainabilitySummary_resourceArn :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.Text)+explainabilitySummary_resourceArn = Lens.lens (\ExplainabilitySummary' {resourceArn} -> resourceArn) (\s@ExplainabilitySummary' {} a -> s {resourceArn = a} :: ExplainabilitySummary)++-- | The status of the Explainability. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+explainabilitySummary_status :: Lens.Lens' ExplainabilitySummary (Prelude.Maybe Prelude.Text)+explainabilitySummary_status = Lens.lens (\ExplainabilitySummary' {status} -> status) (\s@ExplainabilitySummary' {} a -> s {status = a} :: ExplainabilitySummary)++instance Data.FromJSON ExplainabilitySummary where+  parseJSON =+    Data.withObject+      "ExplainabilitySummary"+      ( \x ->+          ExplainabilitySummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "ExplainabilityArn")+            Prelude.<*> (x Data..:? "ExplainabilityConfig")+            Prelude.<*> (x Data..:? "ExplainabilityName")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ExplainabilitySummary where+  hashWithSalt _salt ExplainabilitySummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` explainabilityArn+      `Prelude.hashWithSalt` explainabilityConfig+      `Prelude.hashWithSalt` explainabilityName+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData ExplainabilitySummary where+  rnf ExplainabilitySummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf explainabilityArn+      `Prelude.seq` Prelude.rnf explainabilityConfig+      `Prelude.seq` Prelude.rnf explainabilityName+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/Featurization.hs view
@@ -0,0 +1,137 @@+{-# 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.Forecast.Types.Featurization+-- 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.Forecast.Types.Featurization where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.FeaturizationMethod+import qualified Amazonka.Prelude as Prelude++-- | This object belongs to the CreatePredictor operation. If you created+-- your predictor with CreateAutoPredictor, see AttributeConfig.+--+-- Provides featurization (transformation) information for a dataset field.+-- This object is part of the FeaturizationConfig object.+--+-- For example:+--+-- @{@+--+-- @\"AttributeName\": \"demand\",@+--+-- @FeaturizationPipeline [ {@+--+-- @\"FeaturizationMethodName\": \"filling\",@+--+-- @\"FeaturizationMethodParameters\": {\"aggregation\": \"avg\", \"backfill\": \"nan\"}@+--+-- @} ]@+--+-- @}@+--+-- /See:/ 'newFeaturization' smart constructor.+data Featurization = Featurization'+  { -- | An array of one @FeaturizationMethod@ object that specifies the feature+    -- transformation method.+    featurizationPipeline :: Prelude.Maybe (Prelude.NonEmpty FeaturizationMethod),+    -- | The name of the schema attribute that specifies the data field to be+    -- featurized. Amazon Forecast supports the target field of the+    -- @TARGET_TIME_SERIES@ and the @RELATED_TIME_SERIES@ datasets. For+    -- example, for the @RETAIL@ domain, the target is @demand@, and for the+    -- @CUSTOM@ domain, the target is @target_value@. For more information, see+    -- howitworks-missing-values.+    attributeName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Featurization' 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:+--+-- 'featurizationPipeline', 'featurization_featurizationPipeline' - An array of one @FeaturizationMethod@ object that specifies the feature+-- transformation method.+--+-- 'attributeName', 'featurization_attributeName' - The name of the schema attribute that specifies the data field to be+-- featurized. Amazon Forecast supports the target field of the+-- @TARGET_TIME_SERIES@ and the @RELATED_TIME_SERIES@ datasets. For+-- example, for the @RETAIL@ domain, the target is @demand@, and for the+-- @CUSTOM@ domain, the target is @target_value@. For more information, see+-- howitworks-missing-values.+newFeaturization ::+  -- | 'attributeName'+  Prelude.Text ->+  Featurization+newFeaturization pAttributeName_ =+  Featurization'+    { featurizationPipeline =+        Prelude.Nothing,+      attributeName = pAttributeName_+    }++-- | An array of one @FeaturizationMethod@ object that specifies the feature+-- transformation method.+featurization_featurizationPipeline :: Lens.Lens' Featurization (Prelude.Maybe (Prelude.NonEmpty FeaturizationMethod))+featurization_featurizationPipeline = Lens.lens (\Featurization' {featurizationPipeline} -> featurizationPipeline) (\s@Featurization' {} a -> s {featurizationPipeline = a} :: Featurization) Prelude.. Lens.mapping Lens.coerced++-- | The name of the schema attribute that specifies the data field to be+-- featurized. Amazon Forecast supports the target field of the+-- @TARGET_TIME_SERIES@ and the @RELATED_TIME_SERIES@ datasets. For+-- example, for the @RETAIL@ domain, the target is @demand@, and for the+-- @CUSTOM@ domain, the target is @target_value@. For more information, see+-- howitworks-missing-values.+featurization_attributeName :: Lens.Lens' Featurization Prelude.Text+featurization_attributeName = Lens.lens (\Featurization' {attributeName} -> attributeName) (\s@Featurization' {} a -> s {attributeName = a} :: Featurization)++instance Data.FromJSON Featurization where+  parseJSON =+    Data.withObject+      "Featurization"+      ( \x ->+          Featurization'+            Prelude.<$> (x Data..:? "FeaturizationPipeline")+            Prelude.<*> (x Data..: "AttributeName")+      )++instance Prelude.Hashable Featurization where+  hashWithSalt _salt Featurization' {..} =+    _salt+      `Prelude.hashWithSalt` featurizationPipeline+      `Prelude.hashWithSalt` attributeName++instance Prelude.NFData Featurization where+  rnf Featurization' {..} =+    Prelude.rnf featurizationPipeline+      `Prelude.seq` Prelude.rnf attributeName++instance Data.ToJSON Featurization where+  toJSON Featurization' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FeaturizationPipeline" Data..=)+              Prelude.<$> featurizationPipeline,+            Prelude.Just+              ("AttributeName" Data..= attributeName)+          ]+      )
+ gen/Amazonka/Forecast/Types/FeaturizationConfig.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.Forecast.Types.FeaturizationConfig+-- 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.Forecast.Types.FeaturizationConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.Featurization+import qualified Amazonka.Prelude as Prelude++-- | This object belongs to the CreatePredictor operation. If you created+-- your predictor with CreateAutoPredictor, see AttributeConfig.+--+-- In a CreatePredictor operation, the specified algorithm trains a model+-- using the specified dataset group. You can optionally tell the operation+-- to modify data fields prior to training a model. These modifications are+-- referred to as /featurization/.+--+-- You define featurization using the @FeaturizationConfig@ object. You+-- specify an array of transformations, one for each field that you want to+-- featurize. You then include the @FeaturizationConfig@ object in your+-- @CreatePredictor@ request. Amazon Forecast applies the featurization to+-- the @TARGET_TIME_SERIES@ and @RELATED_TIME_SERIES@ datasets before model+-- training.+--+-- You can create multiple featurization configurations. For example, you+-- might call the @CreatePredictor@ operation twice by specifying different+-- featurization configurations.+--+-- /See:/ 'newFeaturizationConfig' smart constructor.+data FeaturizationConfig = FeaturizationConfig'+  { -- | An array of featurization (transformation) information for the fields of+    -- a dataset.+    featurizations :: Prelude.Maybe (Prelude.NonEmpty Featurization),+    -- | An array of dimension (field) names that specify how to group the+    -- generated forecast.+    --+    -- For example, suppose that you are generating a forecast for item sales+    -- across all of your stores, and your dataset contains a @store_id@ field.+    -- If you want the sales forecast for each item by store, you would specify+    -- @store_id@ as the dimension.+    --+    -- All forecast dimensions specified in the @TARGET_TIME_SERIES@ dataset+    -- don\'t need to be specified in the @CreatePredictor@ request. All+    -- forecast dimensions specified in the @RELATED_TIME_SERIES@ dataset must+    -- be specified in the @CreatePredictor@ request.+    forecastDimensions :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The frequency of predictions in a forecast.+    --+    -- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+    -- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+    -- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+    -- and \"5min\" indicates every five minutes.+    --+    -- The frequency must be greater than or equal to the TARGET_TIME_SERIES+    -- dataset frequency.+    --+    -- When a RELATED_TIME_SERIES dataset is provided, the frequency must be+    -- equal to the RELATED_TIME_SERIES dataset frequency.+    forecastFrequency :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FeaturizationConfig' 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:+--+-- 'featurizations', 'featurizationConfig_featurizations' - An array of featurization (transformation) information for the fields of+-- a dataset.+--+-- 'forecastDimensions', 'featurizationConfig_forecastDimensions' - An array of dimension (field) names that specify how to group the+-- generated forecast.+--+-- For example, suppose that you are generating a forecast for item sales+-- across all of your stores, and your dataset contains a @store_id@ field.+-- If you want the sales forecast for each item by store, you would specify+-- @store_id@ as the dimension.+--+-- All forecast dimensions specified in the @TARGET_TIME_SERIES@ dataset+-- don\'t need to be specified in the @CreatePredictor@ request. All+-- forecast dimensions specified in the @RELATED_TIME_SERIES@ dataset must+-- be specified in the @CreatePredictor@ request.+--+-- 'forecastFrequency', 'featurizationConfig_forecastFrequency' - The frequency of predictions in a forecast.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+-- and \"5min\" indicates every five minutes.+--+-- The frequency must be greater than or equal to the TARGET_TIME_SERIES+-- dataset frequency.+--+-- When a RELATED_TIME_SERIES dataset is provided, the frequency must be+-- equal to the RELATED_TIME_SERIES dataset frequency.+newFeaturizationConfig ::+  -- | 'forecastFrequency'+  Prelude.Text ->+  FeaturizationConfig+newFeaturizationConfig pForecastFrequency_ =+  FeaturizationConfig'+    { featurizations =+        Prelude.Nothing,+      forecastDimensions = Prelude.Nothing,+      forecastFrequency = pForecastFrequency_+    }++-- | An array of featurization (transformation) information for the fields of+-- a dataset.+featurizationConfig_featurizations :: Lens.Lens' FeaturizationConfig (Prelude.Maybe (Prelude.NonEmpty Featurization))+featurizationConfig_featurizations = Lens.lens (\FeaturizationConfig' {featurizations} -> featurizations) (\s@FeaturizationConfig' {} a -> s {featurizations = a} :: FeaturizationConfig) Prelude.. Lens.mapping Lens.coerced++-- | An array of dimension (field) names that specify how to group the+-- generated forecast.+--+-- For example, suppose that you are generating a forecast for item sales+-- across all of your stores, and your dataset contains a @store_id@ field.+-- If you want the sales forecast for each item by store, you would specify+-- @store_id@ as the dimension.+--+-- All forecast dimensions specified in the @TARGET_TIME_SERIES@ dataset+-- don\'t need to be specified in the @CreatePredictor@ request. All+-- forecast dimensions specified in the @RELATED_TIME_SERIES@ dataset must+-- be specified in the @CreatePredictor@ request.+featurizationConfig_forecastDimensions :: Lens.Lens' FeaturizationConfig (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+featurizationConfig_forecastDimensions = Lens.lens (\FeaturizationConfig' {forecastDimensions} -> forecastDimensions) (\s@FeaturizationConfig' {} a -> s {forecastDimensions = a} :: FeaturizationConfig) Prelude.. Lens.mapping Lens.coerced++-- | The frequency of predictions in a forecast.+--+-- Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour),+-- 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5+-- minutes), and 1min (1 minute). For example, \"Y\" indicates every year+-- and \"5min\" indicates every five minutes.+--+-- The frequency must be greater than or equal to the TARGET_TIME_SERIES+-- dataset frequency.+--+-- When a RELATED_TIME_SERIES dataset is provided, the frequency must be+-- equal to the RELATED_TIME_SERIES dataset frequency.+featurizationConfig_forecastFrequency :: Lens.Lens' FeaturizationConfig Prelude.Text+featurizationConfig_forecastFrequency = Lens.lens (\FeaturizationConfig' {forecastFrequency} -> forecastFrequency) (\s@FeaturizationConfig' {} a -> s {forecastFrequency = a} :: FeaturizationConfig)++instance Data.FromJSON FeaturizationConfig where+  parseJSON =+    Data.withObject+      "FeaturizationConfig"+      ( \x ->+          FeaturizationConfig'+            Prelude.<$> (x Data..:? "Featurizations")+            Prelude.<*> (x Data..:? "ForecastDimensions")+            Prelude.<*> (x Data..: "ForecastFrequency")+      )++instance Prelude.Hashable FeaturizationConfig where+  hashWithSalt _salt FeaturizationConfig' {..} =+    _salt+      `Prelude.hashWithSalt` featurizations+      `Prelude.hashWithSalt` forecastDimensions+      `Prelude.hashWithSalt` forecastFrequency++instance Prelude.NFData FeaturizationConfig where+  rnf FeaturizationConfig' {..} =+    Prelude.rnf featurizations+      `Prelude.seq` Prelude.rnf forecastDimensions+      `Prelude.seq` Prelude.rnf forecastFrequency++instance Data.ToJSON FeaturizationConfig where+  toJSON FeaturizationConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Featurizations" Data..=)+              Prelude.<$> featurizations,+            ("ForecastDimensions" Data..=)+              Prelude.<$> forecastDimensions,+            Prelude.Just+              ("ForecastFrequency" Data..= forecastFrequency)+          ]+      )
+ gen/Amazonka/Forecast/Types/FeaturizationMethod.hs view
@@ -0,0 +1,207 @@+{-# 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.Forecast.Types.FeaturizationMethod+-- 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.Forecast.Types.FeaturizationMethod where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.FeaturizationMethodName+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the method that featurizes (transforms) a+-- dataset field. The method is part of the @FeaturizationPipeline@ of the+-- Featurization object.+--+-- The following is an example of how you specify a @FeaturizationMethod@+-- object.+--+-- @{@+--+-- @\"FeaturizationMethodName\": \"filling\",@+--+-- @\"FeaturizationMethodParameters\": {\"aggregation\": \"sum\", \"middlefill\": \"zero\", \"backfill\": \"zero\"}@+--+-- @}@+--+-- /See:/ 'newFeaturizationMethod' smart constructor.+data FeaturizationMethod = FeaturizationMethod'+  { -- | The method parameters (key-value pairs), which are a map of override+    -- parameters. Specify these parameters to override the default values.+    -- Related Time Series attributes do not accept aggregation parameters.+    --+    -- The following list shows the parameters and their valid values for the+    -- \"filling\" featurization method for a __Target Time Series__ dataset.+    -- Bold signifies the default value.+    --+    -- -   @aggregation@: __sum__, @avg@, @first@, @min@, @max@+    --+    -- -   @frontfill@: __none__+    --+    -- -   @middlefill@: __zero__, @nan@ (not a number), @value@, @median@,+    --     @mean@, @min@, @max@+    --+    -- -   @backfill@: __zero__, @nan@, @value@, @median@, @mean@, @min@, @max@+    --+    -- The following list shows the parameters and their valid values for a+    -- __Related Time Series__ featurization method (there are no defaults):+    --+    -- -   @middlefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+    --+    -- -   @backfill@: @zero@, @value@, @median@, @mean@, @min@, @max@+    --+    -- -   @futurefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+    --+    -- To set a filling method to a specific value, set the fill parameter to+    -- @value@ and define the value in a corresponding @_value@ parameter. For+    -- example, to set backfilling to a value of 2, include the following:+    -- @\"backfill\": \"value\"@ and @\"backfill_value\":\"2\"@.+    featurizationMethodParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the method. The \"filling\" method is the only supported+    -- method.+    featurizationMethodName :: FeaturizationMethodName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FeaturizationMethod' 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:+--+-- 'featurizationMethodParameters', 'featurizationMethod_featurizationMethodParameters' - The method parameters (key-value pairs), which are a map of override+-- parameters. Specify these parameters to override the default values.+-- Related Time Series attributes do not accept aggregation parameters.+--+-- The following list shows the parameters and their valid values for the+-- \"filling\" featurization method for a __Target Time Series__ dataset.+-- Bold signifies the default value.+--+-- -   @aggregation@: __sum__, @avg@, @first@, @min@, @max@+--+-- -   @frontfill@: __none__+--+-- -   @middlefill@: __zero__, @nan@ (not a number), @value@, @median@,+--     @mean@, @min@, @max@+--+-- -   @backfill@: __zero__, @nan@, @value@, @median@, @mean@, @min@, @max@+--+-- The following list shows the parameters and their valid values for a+-- __Related Time Series__ featurization method (there are no defaults):+--+-- -   @middlefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @backfill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @futurefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- To set a filling method to a specific value, set the fill parameter to+-- @value@ and define the value in a corresponding @_value@ parameter. For+-- example, to set backfilling to a value of 2, include the following:+-- @\"backfill\": \"value\"@ and @\"backfill_value\":\"2\"@.+--+-- 'featurizationMethodName', 'featurizationMethod_featurizationMethodName' - The name of the method. The \"filling\" method is the only supported+-- method.+newFeaturizationMethod ::+  -- | 'featurizationMethodName'+  FeaturizationMethodName ->+  FeaturizationMethod+newFeaturizationMethod pFeaturizationMethodName_ =+  FeaturizationMethod'+    { featurizationMethodParameters =+        Prelude.Nothing,+      featurizationMethodName = pFeaturizationMethodName_+    }++-- | The method parameters (key-value pairs), which are a map of override+-- parameters. Specify these parameters to override the default values.+-- Related Time Series attributes do not accept aggregation parameters.+--+-- The following list shows the parameters and their valid values for the+-- \"filling\" featurization method for a __Target Time Series__ dataset.+-- Bold signifies the default value.+--+-- -   @aggregation@: __sum__, @avg@, @first@, @min@, @max@+--+-- -   @frontfill@: __none__+--+-- -   @middlefill@: __zero__, @nan@ (not a number), @value@, @median@,+--     @mean@, @min@, @max@+--+-- -   @backfill@: __zero__, @nan@, @value@, @median@, @mean@, @min@, @max@+--+-- The following list shows the parameters and their valid values for a+-- __Related Time Series__ featurization method (there are no defaults):+--+-- -   @middlefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @backfill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- -   @futurefill@: @zero@, @value@, @median@, @mean@, @min@, @max@+--+-- To set a filling method to a specific value, set the fill parameter to+-- @value@ and define the value in a corresponding @_value@ parameter. For+-- example, to set backfilling to a value of 2, include the following:+-- @\"backfill\": \"value\"@ and @\"backfill_value\":\"2\"@.+featurizationMethod_featurizationMethodParameters :: Lens.Lens' FeaturizationMethod (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+featurizationMethod_featurizationMethodParameters = Lens.lens (\FeaturizationMethod' {featurizationMethodParameters} -> featurizationMethodParameters) (\s@FeaturizationMethod' {} a -> s {featurizationMethodParameters = a} :: FeaturizationMethod) Prelude.. Lens.mapping Lens.coerced++-- | The name of the method. The \"filling\" method is the only supported+-- method.+featurizationMethod_featurizationMethodName :: Lens.Lens' FeaturizationMethod FeaturizationMethodName+featurizationMethod_featurizationMethodName = Lens.lens (\FeaturizationMethod' {featurizationMethodName} -> featurizationMethodName) (\s@FeaturizationMethod' {} a -> s {featurizationMethodName = a} :: FeaturizationMethod)++instance Data.FromJSON FeaturizationMethod where+  parseJSON =+    Data.withObject+      "FeaturizationMethod"+      ( \x ->+          FeaturizationMethod'+            Prelude.<$> ( x+                            Data..:? "FeaturizationMethodParameters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "FeaturizationMethodName")+      )++instance Prelude.Hashable FeaturizationMethod where+  hashWithSalt _salt FeaturizationMethod' {..} =+    _salt+      `Prelude.hashWithSalt` featurizationMethodParameters+      `Prelude.hashWithSalt` featurizationMethodName++instance Prelude.NFData FeaturizationMethod where+  rnf FeaturizationMethod' {..} =+    Prelude.rnf featurizationMethodParameters+      `Prelude.seq` Prelude.rnf featurizationMethodName++instance Data.ToJSON FeaturizationMethod where+  toJSON FeaturizationMethod' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FeaturizationMethodParameters" Data..=)+              Prelude.<$> featurizationMethodParameters,+            Prelude.Just+              ( "FeaturizationMethodName"+                  Data..= featurizationMethodName+              )+          ]+      )
+ gen/Amazonka/Forecast/Types/FeaturizationMethodName.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.Forecast.Types.FeaturizationMethodName+-- 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.Forecast.Types.FeaturizationMethodName+  ( FeaturizationMethodName+      ( ..,+        FeaturizationMethodName_Filling+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FeaturizationMethodName = FeaturizationMethodName'+  { fromFeaturizationMethodName ::+      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 FeaturizationMethodName_Filling :: FeaturizationMethodName+pattern FeaturizationMethodName_Filling = FeaturizationMethodName' "filling"++{-# COMPLETE+  FeaturizationMethodName_Filling,+  FeaturizationMethodName'+  #-}
+ gen/Amazonka/Forecast/Types/Filter.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.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.Forecast.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.Forecast.Types.FilterConditionString+import qualified Amazonka.Prelude as Prelude++-- | Describes a filter for choosing a subset of objects. Each filter+-- consists of a condition and a match statement. The condition is either+-- @IS@ or @IS_NOT@, which specifies whether to include or exclude the+-- objects that match the statement, respectively. The match statement+-- consists of a key and a value.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | The name of the parameter to filter on.+    key :: Prelude.Text,+    -- | The value to match.+    value :: Prelude.Text,+    -- | The condition to apply. To include the objects that match the statement,+    -- specify @IS@. To exclude matching objects, specify @IS_NOT@.+    condition :: FilterConditionString+  }+  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:+--+-- 'key', 'filter_key' - The name of the parameter to filter on.+--+-- 'value', 'filter_value' - The value to match.+--+-- 'condition', 'filter_condition' - The condition to apply. To include the objects that match the statement,+-- specify @IS@. To exclude matching objects, specify @IS_NOT@.+newFilter ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  -- | 'condition'+  FilterConditionString ->+  Filter+newFilter pKey_ pValue_ pCondition_ =+  Filter'+    { key = pKey_,+      value = pValue_,+      condition = pCondition_+    }++-- | The name of the parameter to filter on.+filter_key :: Lens.Lens' Filter Prelude.Text+filter_key = Lens.lens (\Filter' {key} -> key) (\s@Filter' {} a -> s {key = a} :: Filter)++-- | The value to match.+filter_value :: Lens.Lens' Filter Prelude.Text+filter_value = Lens.lens (\Filter' {value} -> value) (\s@Filter' {} a -> s {value = a} :: Filter)++-- | The condition to apply. To include the objects that match the statement,+-- specify @IS@. To exclude matching objects, specify @IS_NOT@.+filter_condition :: Lens.Lens' Filter FilterConditionString+filter_condition = Lens.lens (\Filter' {condition} -> condition) (\s@Filter' {} a -> s {condition = a} :: Filter)++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` condition++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf key+      `Prelude.seq` Prelude.rnf value+      `Prelude.seq` Prelude.rnf condition++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value),+            Prelude.Just ("Condition" Data..= condition)+          ]+      )
+ gen/Amazonka/Forecast/Types/FilterConditionString.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.Forecast.Types.FilterConditionString+-- 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.Forecast.Types.FilterConditionString+  ( FilterConditionString+      ( ..,+        FilterConditionString_IS,+        FilterConditionString_IS_NOT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FilterConditionString = FilterConditionString'+  { fromFilterConditionString ::+      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 FilterConditionString_IS :: FilterConditionString+pattern FilterConditionString_IS = FilterConditionString' "IS"++pattern FilterConditionString_IS_NOT :: FilterConditionString+pattern FilterConditionString_IS_NOT = FilterConditionString' "IS_NOT"++{-# COMPLETE+  FilterConditionString_IS,+  FilterConditionString_IS_NOT,+  FilterConditionString'+  #-}
+ gen/Amazonka/Forecast/Types/ForecastExportJobSummary.hs view
@@ -0,0 +1,218 @@+{-# 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.Forecast.Types.ForecastExportJobSummary+-- 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.Forecast.Types.ForecastExportJobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DataDestination+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the forecast export job properties used in the+-- ListForecastExportJobs operation. To get the complete set of properties,+-- call the DescribeForecastExportJob operation, and provide the listed+-- @ForecastExportJobArn@.+--+-- /See:/ 'newForecastExportJobSummary' smart constructor.+data ForecastExportJobSummary = ForecastExportJobSummary'+  { -- | When the forecast export job was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The path to the Amazon Simple Storage Service (Amazon S3) bucket where+    -- the forecast is exported.+    destination :: Prelude.Maybe DataDestination,+    -- | The Amazon Resource Name (ARN) of the forecast export job.+    forecastExportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the forecast export job.+    forecastExportJobName :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the forecast export job. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the forecast export job must be @ACTIVE@ before you can+    -- access the forecast in your S3 bucket.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForecastExportJobSummary' 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:+--+-- 'creationTime', 'forecastExportJobSummary_creationTime' - When the forecast export job was created.+--+-- 'destination', 'forecastExportJobSummary_destination' - The path to the Amazon Simple Storage Service (Amazon S3) bucket where+-- the forecast is exported.+--+-- 'forecastExportJobArn', 'forecastExportJobSummary_forecastExportJobArn' - The Amazon Resource Name (ARN) of the forecast export job.+--+-- 'forecastExportJobName', 'forecastExportJobSummary_forecastExportJobName' - The name of the forecast export job.+--+-- 'lastModificationTime', 'forecastExportJobSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'forecastExportJobSummary_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'forecastExportJobSummary_status' - The status of the forecast export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast export job must be @ACTIVE@ before you can+-- access the forecast in your S3 bucket.+newForecastExportJobSummary ::+  ForecastExportJobSummary+newForecastExportJobSummary =+  ForecastExportJobSummary'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      forecastExportJobArn = Prelude.Nothing,+      forecastExportJobName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the forecast export job was created.+forecastExportJobSummary_creationTime :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe Prelude.UTCTime)+forecastExportJobSummary_creationTime = Lens.lens (\ForecastExportJobSummary' {creationTime} -> creationTime) (\s@ForecastExportJobSummary' {} a -> s {creationTime = a} :: ForecastExportJobSummary) Prelude.. Lens.mapping Data._Time++-- | The path to the Amazon Simple Storage Service (Amazon S3) bucket where+-- the forecast is exported.+forecastExportJobSummary_destination :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe DataDestination)+forecastExportJobSummary_destination = Lens.lens (\ForecastExportJobSummary' {destination} -> destination) (\s@ForecastExportJobSummary' {} a -> s {destination = a} :: ForecastExportJobSummary)++-- | The Amazon Resource Name (ARN) of the forecast export job.+forecastExportJobSummary_forecastExportJobArn :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe Prelude.Text)+forecastExportJobSummary_forecastExportJobArn = Lens.lens (\ForecastExportJobSummary' {forecastExportJobArn} -> forecastExportJobArn) (\s@ForecastExportJobSummary' {} a -> s {forecastExportJobArn = a} :: ForecastExportJobSummary)++-- | The name of the forecast export job.+forecastExportJobSummary_forecastExportJobName :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe Prelude.Text)+forecastExportJobSummary_forecastExportJobName = Lens.lens (\ForecastExportJobSummary' {forecastExportJobName} -> forecastExportJobName) (\s@ForecastExportJobSummary' {} a -> s {forecastExportJobName = a} :: ForecastExportJobSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+forecastExportJobSummary_lastModificationTime :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe Prelude.UTCTime)+forecastExportJobSummary_lastModificationTime = Lens.lens (\ForecastExportJobSummary' {lastModificationTime} -> lastModificationTime) (\s@ForecastExportJobSummary' {} a -> s {lastModificationTime = a} :: ForecastExportJobSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+forecastExportJobSummary_message :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe Prelude.Text)+forecastExportJobSummary_message = Lens.lens (\ForecastExportJobSummary' {message} -> message) (\s@ForecastExportJobSummary' {} a -> s {message = a} :: ForecastExportJobSummary)++-- | The status of the forecast export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast export job must be @ACTIVE@ before you can+-- access the forecast in your S3 bucket.+forecastExportJobSummary_status :: Lens.Lens' ForecastExportJobSummary (Prelude.Maybe Prelude.Text)+forecastExportJobSummary_status = Lens.lens (\ForecastExportJobSummary' {status} -> status) (\s@ForecastExportJobSummary' {} a -> s {status = a} :: ForecastExportJobSummary)++instance Data.FromJSON ForecastExportJobSummary where+  parseJSON =+    Data.withObject+      "ForecastExportJobSummary"+      ( \x ->+          ForecastExportJobSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "Destination")+            Prelude.<*> (x Data..:? "ForecastExportJobArn")+            Prelude.<*> (x Data..:? "ForecastExportJobName")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ForecastExportJobSummary where+  hashWithSalt _salt ForecastExportJobSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` forecastExportJobArn+      `Prelude.hashWithSalt` forecastExportJobName+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status++instance Prelude.NFData ForecastExportJobSummary where+  rnf ForecastExportJobSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf forecastExportJobArn+      `Prelude.seq` Prelude.rnf forecastExportJobName+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/ForecastSummary.hs view
@@ -0,0 +1,241 @@+{-# 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.Forecast.Types.ForecastSummary+-- 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.Forecast.Types.ForecastSummary 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++-- | Provides a summary of the forecast properties used in the ListForecasts+-- operation. To get the complete set of properties, call the+-- DescribeForecast operation, and provide the @ForecastArn@ that is listed+-- in the summary.+--+-- /See:/ 'newForecastSummary' smart constructor.+data ForecastSummary = ForecastSummary'+  { -- | Whether the Forecast was created from an AutoPredictor.+    createdUsingAutoPredictor :: Prelude.Maybe Prelude.Bool,+    -- | When the forecast creation task was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the dataset group that provided the+    -- data used to train the predictor.+    datasetGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the forecast.+    forecastArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the forecast.+    forecastName :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the predictor used to generate the forecast.+    predictorArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the forecast. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the forecast must be @ACTIVE@ before you can query or+    -- export the forecast.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ForecastSummary' 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:+--+-- 'createdUsingAutoPredictor', 'forecastSummary_createdUsingAutoPredictor' - Whether the Forecast was created from an AutoPredictor.+--+-- 'creationTime', 'forecastSummary_creationTime' - When the forecast creation task was created.+--+-- 'datasetGroupArn', 'forecastSummary_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group that provided the+-- data used to train the predictor.+--+-- 'forecastArn', 'forecastSummary_forecastArn' - The ARN of the forecast.+--+-- 'forecastName', 'forecastSummary_forecastName' - The name of the forecast.+--+-- 'lastModificationTime', 'forecastSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'forecastSummary_message' - If an error occurred, an informational message about the error.+--+-- 'predictorArn', 'forecastSummary_predictorArn' - The ARN of the predictor used to generate the forecast.+--+-- 'status', 'forecastSummary_status' - The status of the forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast must be @ACTIVE@ before you can query or+-- export the forecast.+newForecastSummary ::+  ForecastSummary+newForecastSummary =+  ForecastSummary'+    { createdUsingAutoPredictor =+        Prelude.Nothing,+      creationTime = Prelude.Nothing,+      datasetGroupArn = Prelude.Nothing,+      forecastArn = Prelude.Nothing,+      forecastName = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      predictorArn = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Whether the Forecast was created from an AutoPredictor.+forecastSummary_createdUsingAutoPredictor :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Bool)+forecastSummary_createdUsingAutoPredictor = Lens.lens (\ForecastSummary' {createdUsingAutoPredictor} -> createdUsingAutoPredictor) (\s@ForecastSummary' {} a -> s {createdUsingAutoPredictor = a} :: ForecastSummary)++-- | When the forecast creation task was created.+forecastSummary_creationTime :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.UTCTime)+forecastSummary_creationTime = Lens.lens (\ForecastSummary' {creationTime} -> creationTime) (\s@ForecastSummary' {} a -> s {creationTime = a} :: ForecastSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the dataset group that provided the+-- data used to train the predictor.+forecastSummary_datasetGroupArn :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Text)+forecastSummary_datasetGroupArn = Lens.lens (\ForecastSummary' {datasetGroupArn} -> datasetGroupArn) (\s@ForecastSummary' {} a -> s {datasetGroupArn = a} :: ForecastSummary)++-- | The ARN of the forecast.+forecastSummary_forecastArn :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Text)+forecastSummary_forecastArn = Lens.lens (\ForecastSummary' {forecastArn} -> forecastArn) (\s@ForecastSummary' {} a -> s {forecastArn = a} :: ForecastSummary)++-- | The name of the forecast.+forecastSummary_forecastName :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Text)+forecastSummary_forecastName = Lens.lens (\ForecastSummary' {forecastName} -> forecastName) (\s@ForecastSummary' {} a -> s {forecastName = a} :: ForecastSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+forecastSummary_lastModificationTime :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.UTCTime)+forecastSummary_lastModificationTime = Lens.lens (\ForecastSummary' {lastModificationTime} -> lastModificationTime) (\s@ForecastSummary' {} a -> s {lastModificationTime = a} :: ForecastSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+forecastSummary_message :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Text)+forecastSummary_message = Lens.lens (\ForecastSummary' {message} -> message) (\s@ForecastSummary' {} a -> s {message = a} :: ForecastSummary)++-- | The ARN of the predictor used to generate the forecast.+forecastSummary_predictorArn :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Text)+forecastSummary_predictorArn = Lens.lens (\ForecastSummary' {predictorArn} -> predictorArn) (\s@ForecastSummary' {} a -> s {predictorArn = a} :: ForecastSummary)++-- | The status of the forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the forecast must be @ACTIVE@ before you can query or+-- export the forecast.+forecastSummary_status :: Lens.Lens' ForecastSummary (Prelude.Maybe Prelude.Text)+forecastSummary_status = Lens.lens (\ForecastSummary' {status} -> status) (\s@ForecastSummary' {} a -> s {status = a} :: ForecastSummary)++instance Data.FromJSON ForecastSummary where+  parseJSON =+    Data.withObject+      "ForecastSummary"+      ( \x ->+          ForecastSummary'+            Prelude.<$> (x Data..:? "CreatedUsingAutoPredictor")+            Prelude.<*> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "DatasetGroupArn")+            Prelude.<*> (x Data..:? "ForecastArn")+            Prelude.<*> (x Data..:? "ForecastName")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "PredictorArn")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable ForecastSummary where+  hashWithSalt _salt ForecastSummary' {..} =+    _salt+      `Prelude.hashWithSalt` createdUsingAutoPredictor+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` datasetGroupArn+      `Prelude.hashWithSalt` forecastArn+      `Prelude.hashWithSalt` forecastName+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` predictorArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData ForecastSummary where+  rnf ForecastSummary' {..} =+    Prelude.rnf createdUsingAutoPredictor+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf forecastName+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/HyperParameterTuningJobConfig.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.Forecast.Types.HyperParameterTuningJobConfig+-- 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.Forecast.Types.HyperParameterTuningJobConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.ParameterRanges+import qualified Amazonka.Prelude as Prelude++-- | Configuration information for a hyperparameter tuning job. You specify+-- this object in the CreatePredictor request.+--+-- A /hyperparameter/ is a parameter that governs the model training+-- process. You set hyperparameters before training starts, unlike model+-- parameters, which are determined during training. The values of the+-- hyperparameters effect which values are chosen for the model parameters.+--+-- In a /hyperparameter tuning job/, Amazon Forecast chooses the set of+-- hyperparameter values that optimize a specified metric. Forecast+-- accomplishes this by running many training jobs over a range of+-- hyperparameter values. The optimum set of values depends on the+-- algorithm, the training data, and the specified metric objective.+--+-- /See:/ 'newHyperParameterTuningJobConfig' smart constructor.+data HyperParameterTuningJobConfig = HyperParameterTuningJobConfig'+  { -- | Specifies the ranges of valid values for the hyperparameters.+    parameterRanges :: Prelude.Maybe ParameterRanges+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HyperParameterTuningJobConfig' 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:+--+-- 'parameterRanges', 'hyperParameterTuningJobConfig_parameterRanges' - Specifies the ranges of valid values for the hyperparameters.+newHyperParameterTuningJobConfig ::+  HyperParameterTuningJobConfig+newHyperParameterTuningJobConfig =+  HyperParameterTuningJobConfig'+    { parameterRanges =+        Prelude.Nothing+    }++-- | Specifies the ranges of valid values for the hyperparameters.+hyperParameterTuningJobConfig_parameterRanges :: Lens.Lens' HyperParameterTuningJobConfig (Prelude.Maybe ParameterRanges)+hyperParameterTuningJobConfig_parameterRanges = Lens.lens (\HyperParameterTuningJobConfig' {parameterRanges} -> parameterRanges) (\s@HyperParameterTuningJobConfig' {} a -> s {parameterRanges = a} :: HyperParameterTuningJobConfig)++instance Data.FromJSON HyperParameterTuningJobConfig where+  parseJSON =+    Data.withObject+      "HyperParameterTuningJobConfig"+      ( \x ->+          HyperParameterTuningJobConfig'+            Prelude.<$> (x Data..:? "ParameterRanges")+      )++instance+  Prelude.Hashable+    HyperParameterTuningJobConfig+  where+  hashWithSalt _salt HyperParameterTuningJobConfig' {..} =+    _salt `Prelude.hashWithSalt` parameterRanges++instance Prelude.NFData HyperParameterTuningJobConfig where+  rnf HyperParameterTuningJobConfig' {..} =+    Prelude.rnf parameterRanges++instance Data.ToJSON HyperParameterTuningJobConfig where+  toJSON HyperParameterTuningJobConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ParameterRanges" Data..=)+              Prelude.<$> parameterRanges+          ]+      )
+ gen/Amazonka/Forecast/Types/InputDataConfig.hs view
@@ -0,0 +1,107 @@+{-# 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.Forecast.Types.InputDataConfig+-- 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.Forecast.Types.InputDataConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.SupplementaryFeature+import qualified Amazonka.Prelude as Prelude++-- | This object belongs to the CreatePredictor operation. If you created+-- your predictor with CreateAutoPredictor, see DataConfig.+--+-- The data used to train a predictor. The data includes a dataset group+-- and any supplementary features. You specify this object in the+-- CreatePredictor request.+--+-- /See:/ 'newInputDataConfig' smart constructor.+data InputDataConfig = InputDataConfig'+  { -- | An array of supplementary features. The only supported feature is a+    -- holiday calendar.+    supplementaryFeatures :: Prelude.Maybe (Prelude.NonEmpty SupplementaryFeature),+    -- | The Amazon Resource Name (ARN) of the dataset group.+    datasetGroupArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputDataConfig' 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:+--+-- 'supplementaryFeatures', 'inputDataConfig_supplementaryFeatures' - An array of supplementary features. The only supported feature is a+-- holiday calendar.+--+-- 'datasetGroupArn', 'inputDataConfig_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group.+newInputDataConfig ::+  -- | 'datasetGroupArn'+  Prelude.Text ->+  InputDataConfig+newInputDataConfig pDatasetGroupArn_ =+  InputDataConfig'+    { supplementaryFeatures =+        Prelude.Nothing,+      datasetGroupArn = pDatasetGroupArn_+    }++-- | An array of supplementary features. The only supported feature is a+-- holiday calendar.+inputDataConfig_supplementaryFeatures :: Lens.Lens' InputDataConfig (Prelude.Maybe (Prelude.NonEmpty SupplementaryFeature))+inputDataConfig_supplementaryFeatures = Lens.lens (\InputDataConfig' {supplementaryFeatures} -> supplementaryFeatures) (\s@InputDataConfig' {} a -> s {supplementaryFeatures = a} :: InputDataConfig) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the dataset group.+inputDataConfig_datasetGroupArn :: Lens.Lens' InputDataConfig Prelude.Text+inputDataConfig_datasetGroupArn = Lens.lens (\InputDataConfig' {datasetGroupArn} -> datasetGroupArn) (\s@InputDataConfig' {} a -> s {datasetGroupArn = a} :: InputDataConfig)++instance Data.FromJSON InputDataConfig where+  parseJSON =+    Data.withObject+      "InputDataConfig"+      ( \x ->+          InputDataConfig'+            Prelude.<$> (x Data..:? "SupplementaryFeatures")+            Prelude.<*> (x Data..: "DatasetGroupArn")+      )++instance Prelude.Hashable InputDataConfig where+  hashWithSalt _salt InputDataConfig' {..} =+    _salt+      `Prelude.hashWithSalt` supplementaryFeatures+      `Prelude.hashWithSalt` datasetGroupArn++instance Prelude.NFData InputDataConfig where+  rnf InputDataConfig' {..} =+    Prelude.rnf supplementaryFeatures+      `Prelude.seq` Prelude.rnf datasetGroupArn++instance Data.ToJSON InputDataConfig where+  toJSON InputDataConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SupplementaryFeatures" Data..=)+              Prelude.<$> supplementaryFeatures,+            Prelude.Just+              ("DatasetGroupArn" Data..= datasetGroupArn)+          ]+      )
+ gen/Amazonka/Forecast/Types/IntegerParameterRange.hs view
@@ -0,0 +1,206 @@+{-# 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.Forecast.Types.IntegerParameterRange+-- 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.Forecast.Types.IntegerParameterRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.ScalingType+import qualified Amazonka.Prelude as Prelude++-- | Specifies an integer hyperparameter and it\'s range of tunable values.+-- This object is part of the ParameterRanges object.+--+-- /See:/ 'newIntegerParameterRange' smart constructor.+data IntegerParameterRange = IntegerParameterRange'+  { -- | The scale that hyperparameter tuning uses to search the hyperparameter+    -- range. Valid values:+    --+    -- [Auto]+    --     Amazon Forecast hyperparameter tuning chooses the best scale for the+    --     hyperparameter.+    --+    -- [Linear]+    --     Hyperparameter tuning searches the values in the hyperparameter+    --     range by using a linear scale.+    --+    -- [Logarithmic]+    --     Hyperparameter tuning searches the values in the hyperparameter+    --     range by using a logarithmic scale.+    --+    --     Logarithmic scaling works only for ranges that have values greater+    --     than 0.+    --+    -- [ReverseLogarithmic]+    --     Not supported for @IntegerParameterRange@.+    --+    --     Reverse logarithmic scaling works only for ranges that are entirely+    --     within the range 0 \<= x \< 1.0.+    --+    -- For information about choosing a hyperparameter scale, see+    -- <http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type Hyperparameter Scaling>.+    -- One of the following values:+    scalingType :: Prelude.Maybe ScalingType,+    -- | The name of the hyperparameter to tune.+    name :: Prelude.Text,+    -- | The maximum tunable value of the hyperparameter.+    maxValue :: Prelude.Int,+    -- | The minimum tunable value of the hyperparameter.+    minValue :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntegerParameterRange' 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:+--+-- 'scalingType', 'integerParameterRange_scalingType' - The scale that hyperparameter tuning uses to search the hyperparameter+-- range. Valid values:+--+-- [Auto]+--     Amazon Forecast hyperparameter tuning chooses the best scale for the+--     hyperparameter.+--+-- [Linear]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a linear scale.+--+-- [Logarithmic]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a logarithmic scale.+--+--     Logarithmic scaling works only for ranges that have values greater+--     than 0.+--+-- [ReverseLogarithmic]+--     Not supported for @IntegerParameterRange@.+--+--     Reverse logarithmic scaling works only for ranges that are entirely+--     within the range 0 \<= x \< 1.0.+--+-- For information about choosing a hyperparameter scale, see+-- <http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type Hyperparameter Scaling>.+-- One of the following values:+--+-- 'name', 'integerParameterRange_name' - The name of the hyperparameter to tune.+--+-- 'maxValue', 'integerParameterRange_maxValue' - The maximum tunable value of the hyperparameter.+--+-- 'minValue', 'integerParameterRange_minValue' - The minimum tunable value of the hyperparameter.+newIntegerParameterRange ::+  -- | 'name'+  Prelude.Text ->+  -- | 'maxValue'+  Prelude.Int ->+  -- | 'minValue'+  Prelude.Int ->+  IntegerParameterRange+newIntegerParameterRange pName_ pMaxValue_ pMinValue_ =+  IntegerParameterRange'+    { scalingType =+        Prelude.Nothing,+      name = pName_,+      maxValue = pMaxValue_,+      minValue = pMinValue_+    }++-- | The scale that hyperparameter tuning uses to search the hyperparameter+-- range. Valid values:+--+-- [Auto]+--     Amazon Forecast hyperparameter tuning chooses the best scale for the+--     hyperparameter.+--+-- [Linear]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a linear scale.+--+-- [Logarithmic]+--     Hyperparameter tuning searches the values in the hyperparameter+--     range by using a logarithmic scale.+--+--     Logarithmic scaling works only for ranges that have values greater+--     than 0.+--+-- [ReverseLogarithmic]+--     Not supported for @IntegerParameterRange@.+--+--     Reverse logarithmic scaling works only for ranges that are entirely+--     within the range 0 \<= x \< 1.0.+--+-- For information about choosing a hyperparameter scale, see+-- <http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type Hyperparameter Scaling>.+-- One of the following values:+integerParameterRange_scalingType :: Lens.Lens' IntegerParameterRange (Prelude.Maybe ScalingType)+integerParameterRange_scalingType = Lens.lens (\IntegerParameterRange' {scalingType} -> scalingType) (\s@IntegerParameterRange' {} a -> s {scalingType = a} :: IntegerParameterRange)++-- | The name of the hyperparameter to tune.+integerParameterRange_name :: Lens.Lens' IntegerParameterRange Prelude.Text+integerParameterRange_name = Lens.lens (\IntegerParameterRange' {name} -> name) (\s@IntegerParameterRange' {} a -> s {name = a} :: IntegerParameterRange)++-- | The maximum tunable value of the hyperparameter.+integerParameterRange_maxValue :: Lens.Lens' IntegerParameterRange Prelude.Int+integerParameterRange_maxValue = Lens.lens (\IntegerParameterRange' {maxValue} -> maxValue) (\s@IntegerParameterRange' {} a -> s {maxValue = a} :: IntegerParameterRange)++-- | The minimum tunable value of the hyperparameter.+integerParameterRange_minValue :: Lens.Lens' IntegerParameterRange Prelude.Int+integerParameterRange_minValue = Lens.lens (\IntegerParameterRange' {minValue} -> minValue) (\s@IntegerParameterRange' {} a -> s {minValue = a} :: IntegerParameterRange)++instance Data.FromJSON IntegerParameterRange where+  parseJSON =+    Data.withObject+      "IntegerParameterRange"+      ( \x ->+          IntegerParameterRange'+            Prelude.<$> (x Data..:? "ScalingType")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "MaxValue")+            Prelude.<*> (x Data..: "MinValue")+      )++instance Prelude.Hashable IntegerParameterRange where+  hashWithSalt _salt IntegerParameterRange' {..} =+    _salt+      `Prelude.hashWithSalt` scalingType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` maxValue+      `Prelude.hashWithSalt` minValue++instance Prelude.NFData IntegerParameterRange where+  rnf IntegerParameterRange' {..} =+    Prelude.rnf scalingType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf maxValue+      `Prelude.seq` Prelude.rnf minValue++instance Data.ToJSON IntegerParameterRange where+  toJSON IntegerParameterRange' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ScalingType" Data..=) Prelude.<$> scalingType,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("MaxValue" Data..= maxValue),+            Prelude.Just ("MinValue" Data..= minValue)+          ]+      )
+ gen/Amazonka/Forecast/Types/MetricResult.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.Forecast.Types.MetricResult+-- 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.Forecast.Types.MetricResult 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 individual metric Forecast calculated when monitoring predictor+-- usage. You can compare the value for this metric to the metric\'s value+-- in the Baseline to see how your predictor\'s performance is changing.+--+-- For more information about metrics generated by Forecast see+-- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html Evaluating Predictor Accuracy>+--+-- /See:/ 'newMetricResult' smart constructor.+data MetricResult = MetricResult'+  { -- | The name of the metric.+    metricName :: Prelude.Maybe Prelude.Text,+    -- | The value for the metric.+    metricValue :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricResult' 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', 'metricResult_metricName' - The name of the metric.+--+-- 'metricValue', 'metricResult_metricValue' - The value for the metric.+newMetricResult ::+  MetricResult+newMetricResult =+  MetricResult'+    { metricName = Prelude.Nothing,+      metricValue = Prelude.Nothing+    }++-- | The name of the metric.+metricResult_metricName :: Lens.Lens' MetricResult (Prelude.Maybe Prelude.Text)+metricResult_metricName = Lens.lens (\MetricResult' {metricName} -> metricName) (\s@MetricResult' {} a -> s {metricName = a} :: MetricResult)++-- | The value for the metric.+metricResult_metricValue :: Lens.Lens' MetricResult (Prelude.Maybe Prelude.Double)+metricResult_metricValue = Lens.lens (\MetricResult' {metricValue} -> metricValue) (\s@MetricResult' {} a -> s {metricValue = a} :: MetricResult)++instance Data.FromJSON MetricResult where+  parseJSON =+    Data.withObject+      "MetricResult"+      ( \x ->+          MetricResult'+            Prelude.<$> (x Data..:? "MetricName")+            Prelude.<*> (x Data..:? "MetricValue")+      )++instance Prelude.Hashable MetricResult where+  hashWithSalt _salt MetricResult' {..} =+    _salt+      `Prelude.hashWithSalt` metricName+      `Prelude.hashWithSalt` metricValue++instance Prelude.NFData MetricResult where+  rnf MetricResult' {..} =+    Prelude.rnf metricName+      `Prelude.seq` Prelude.rnf metricValue
+ gen/Amazonka/Forecast/Types/Metrics.hs view
@@ -0,0 +1,130 @@+{-# 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.Forecast.Types.Metrics+-- 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.Forecast.Types.Metrics where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.ErrorMetric+import Amazonka.Forecast.Types.WeightedQuantileLoss+import qualified Amazonka.Prelude as Prelude++-- | Provides metrics that are used to evaluate the performance of a+-- predictor. This object is part of the WindowSummary object.+--+-- /See:/ 'newMetrics' smart constructor.+data Metrics = Metrics'+  { -- | The average value of all weighted quantile losses.+    averageWeightedQuantileLoss :: Prelude.Maybe Prelude.Double,+    -- | Provides detailed error metrics for each forecast type. Metrics include+    -- root-mean square-error (RMSE), mean absolute percentage error (MAPE),+    -- mean absolute scaled error (MASE), and weighted average percentage error+    -- (WAPE).+    errorMetrics :: Prelude.Maybe [ErrorMetric],+    -- | The root-mean-square error (RMSE).+    rmse :: Prelude.Maybe Prelude.Double,+    -- | An array of weighted quantile losses. Quantiles divide a probability+    -- distribution into regions of equal probability. The distribution in this+    -- case is the loss function.+    weightedQuantileLosses :: Prelude.Maybe [WeightedQuantileLoss]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Metrics' 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:+--+-- 'averageWeightedQuantileLoss', 'metrics_averageWeightedQuantileLoss' - The average value of all weighted quantile losses.+--+-- 'errorMetrics', 'metrics_errorMetrics' - Provides detailed error metrics for each forecast type. Metrics include+-- root-mean square-error (RMSE), mean absolute percentage error (MAPE),+-- mean absolute scaled error (MASE), and weighted average percentage error+-- (WAPE).+--+-- 'rmse', 'metrics_rmse' - The root-mean-square error (RMSE).+--+-- 'weightedQuantileLosses', 'metrics_weightedQuantileLosses' - An array of weighted quantile losses. Quantiles divide a probability+-- distribution into regions of equal probability. The distribution in this+-- case is the loss function.+newMetrics ::+  Metrics+newMetrics =+  Metrics'+    { averageWeightedQuantileLoss =+        Prelude.Nothing,+      errorMetrics = Prelude.Nothing,+      rmse = Prelude.Nothing,+      weightedQuantileLosses = Prelude.Nothing+    }++-- | The average value of all weighted quantile losses.+metrics_averageWeightedQuantileLoss :: Lens.Lens' Metrics (Prelude.Maybe Prelude.Double)+metrics_averageWeightedQuantileLoss = Lens.lens (\Metrics' {averageWeightedQuantileLoss} -> averageWeightedQuantileLoss) (\s@Metrics' {} a -> s {averageWeightedQuantileLoss = a} :: Metrics)++-- | Provides detailed error metrics for each forecast type. Metrics include+-- root-mean square-error (RMSE), mean absolute percentage error (MAPE),+-- mean absolute scaled error (MASE), and weighted average percentage error+-- (WAPE).+metrics_errorMetrics :: Lens.Lens' Metrics (Prelude.Maybe [ErrorMetric])+metrics_errorMetrics = Lens.lens (\Metrics' {errorMetrics} -> errorMetrics) (\s@Metrics' {} a -> s {errorMetrics = a} :: Metrics) Prelude.. Lens.mapping Lens.coerced++-- | The root-mean-square error (RMSE).+metrics_rmse :: Lens.Lens' Metrics (Prelude.Maybe Prelude.Double)+metrics_rmse = Lens.lens (\Metrics' {rmse} -> rmse) (\s@Metrics' {} a -> s {rmse = a} :: Metrics)++-- | An array of weighted quantile losses. Quantiles divide a probability+-- distribution into regions of equal probability. The distribution in this+-- case is the loss function.+metrics_weightedQuantileLosses :: Lens.Lens' Metrics (Prelude.Maybe [WeightedQuantileLoss])+metrics_weightedQuantileLosses = Lens.lens (\Metrics' {weightedQuantileLosses} -> weightedQuantileLosses) (\s@Metrics' {} a -> s {weightedQuantileLosses = a} :: Metrics) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Metrics where+  parseJSON =+    Data.withObject+      "Metrics"+      ( \x ->+          Metrics'+            Prelude.<$> (x Data..:? "AverageWeightedQuantileLoss")+            Prelude.<*> (x Data..:? "ErrorMetrics" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "RMSE")+            Prelude.<*> ( x+                            Data..:? "WeightedQuantileLosses"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable Metrics where+  hashWithSalt _salt Metrics' {..} =+    _salt+      `Prelude.hashWithSalt` averageWeightedQuantileLoss+      `Prelude.hashWithSalt` errorMetrics+      `Prelude.hashWithSalt` rmse+      `Prelude.hashWithSalt` weightedQuantileLosses++instance Prelude.NFData Metrics where+  rnf Metrics' {..} =+    Prelude.rnf averageWeightedQuantileLoss+      `Prelude.seq` Prelude.rnf errorMetrics+      `Prelude.seq` Prelude.rnf rmse+      `Prelude.seq` Prelude.rnf weightedQuantileLosses
+ gen/Amazonka/Forecast/Types/MonitorConfig.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.Types.MonitorConfig+-- 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.Forecast.Types.MonitorConfig 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 configuration details for the predictor monitor.+--+-- /See:/ 'newMonitorConfig' smart constructor.+data MonitorConfig = MonitorConfig'+  { -- | The name of the monitor resource.+    monitorName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonitorConfig' 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:+--+-- 'monitorName', 'monitorConfig_monitorName' - The name of the monitor resource.+newMonitorConfig ::+  -- | 'monitorName'+  Prelude.Text ->+  MonitorConfig+newMonitorConfig pMonitorName_ =+  MonitorConfig' {monitorName = pMonitorName_}++-- | The name of the monitor resource.+monitorConfig_monitorName :: Lens.Lens' MonitorConfig Prelude.Text+monitorConfig_monitorName = Lens.lens (\MonitorConfig' {monitorName} -> monitorName) (\s@MonitorConfig' {} a -> s {monitorName = a} :: MonitorConfig)++instance Prelude.Hashable MonitorConfig where+  hashWithSalt _salt MonitorConfig' {..} =+    _salt `Prelude.hashWithSalt` monitorName++instance Prelude.NFData MonitorConfig where+  rnf MonitorConfig' {..} = Prelude.rnf monitorName++instance Data.ToJSON MonitorConfig where+  toJSON MonitorConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MonitorName" Data..= monitorName)]+      )
+ gen/Amazonka/Forecast/Types/MonitorDataSource.hs view
@@ -0,0 +1,106 @@+{-# 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.Forecast.Types.MonitorDataSource+-- 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.Forecast.Types.MonitorDataSource 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 source of the data the monitor used during the evaluation.+--+-- /See:/ 'newMonitorDataSource' smart constructor.+data MonitorDataSource = MonitorDataSource'+  { -- | The Amazon Resource Name (ARN) of the dataset import job used to import+    -- the data that initiated the monitor evaluation.+    datasetImportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the forecast the monitor used during+    -- the evaluation.+    forecastArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor resource you are+    -- monitoring.+    predictorArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonitorDataSource' 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:+--+-- 'datasetImportJobArn', 'monitorDataSource_datasetImportJobArn' - The Amazon Resource Name (ARN) of the dataset import job used to import+-- the data that initiated the monitor evaluation.+--+-- 'forecastArn', 'monitorDataSource_forecastArn' - The Amazon Resource Name (ARN) of the forecast the monitor used during+-- the evaluation.+--+-- 'predictorArn', 'monitorDataSource_predictorArn' - The Amazon Resource Name (ARN) of the predictor resource you are+-- monitoring.+newMonitorDataSource ::+  MonitorDataSource+newMonitorDataSource =+  MonitorDataSource'+    { datasetImportJobArn =+        Prelude.Nothing,+      forecastArn = Prelude.Nothing,+      predictorArn = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the dataset import job used to import+-- the data that initiated the monitor evaluation.+monitorDataSource_datasetImportJobArn :: Lens.Lens' MonitorDataSource (Prelude.Maybe Prelude.Text)+monitorDataSource_datasetImportJobArn = Lens.lens (\MonitorDataSource' {datasetImportJobArn} -> datasetImportJobArn) (\s@MonitorDataSource' {} a -> s {datasetImportJobArn = a} :: MonitorDataSource)++-- | The Amazon Resource Name (ARN) of the forecast the monitor used during+-- the evaluation.+monitorDataSource_forecastArn :: Lens.Lens' MonitorDataSource (Prelude.Maybe Prelude.Text)+monitorDataSource_forecastArn = Lens.lens (\MonitorDataSource' {forecastArn} -> forecastArn) (\s@MonitorDataSource' {} a -> s {forecastArn = a} :: MonitorDataSource)++-- | The Amazon Resource Name (ARN) of the predictor resource you are+-- monitoring.+monitorDataSource_predictorArn :: Lens.Lens' MonitorDataSource (Prelude.Maybe Prelude.Text)+monitorDataSource_predictorArn = Lens.lens (\MonitorDataSource' {predictorArn} -> predictorArn) (\s@MonitorDataSource' {} a -> s {predictorArn = a} :: MonitorDataSource)++instance Data.FromJSON MonitorDataSource where+  parseJSON =+    Data.withObject+      "MonitorDataSource"+      ( \x ->+          MonitorDataSource'+            Prelude.<$> (x Data..:? "DatasetImportJobArn")+            Prelude.<*> (x Data..:? "ForecastArn")+            Prelude.<*> (x Data..:? "PredictorArn")+      )++instance Prelude.Hashable MonitorDataSource where+  hashWithSalt _salt MonitorDataSource' {..} =+    _salt+      `Prelude.hashWithSalt` datasetImportJobArn+      `Prelude.hashWithSalt` forecastArn+      `Prelude.hashWithSalt` predictorArn++instance Prelude.NFData MonitorDataSource where+  rnf MonitorDataSource' {..} =+    Prelude.rnf datasetImportJobArn+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf predictorArn
+ gen/Amazonka/Forecast/Types/MonitorInfo.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.Forecast.Types.MonitorInfo+-- 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.Forecast.Types.MonitorInfo 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++-- | Provides information about the monitor resource.+--+-- /See:/ 'newMonitorInfo' smart constructor.+data MonitorInfo = MonitorInfo'+  { -- | The Amazon Resource Name (ARN) of the monitor resource.+    monitorArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the monitor. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @ACTIVE_STOPPING@, @ACTIVE_STOPPED@+    --+    -- -   @UPDATE_IN_PROGRESS@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonitorInfo' 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:+--+-- 'monitorArn', 'monitorInfo_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource.+--+-- 'status', 'monitorInfo_status' - The status of the monitor. States include:+--+-- -   @ACTIVE@+--+-- -   @ACTIVE_STOPPING@, @ACTIVE_STOPPED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+newMonitorInfo ::+  MonitorInfo+newMonitorInfo =+  MonitorInfo'+    { monitorArn = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the monitor resource.+monitorInfo_monitorArn :: Lens.Lens' MonitorInfo (Prelude.Maybe Prelude.Text)+monitorInfo_monitorArn = Lens.lens (\MonitorInfo' {monitorArn} -> monitorArn) (\s@MonitorInfo' {} a -> s {monitorArn = a} :: MonitorInfo)++-- | The status of the monitor. States include:+--+-- -   @ACTIVE@+--+-- -   @ACTIVE_STOPPING@, @ACTIVE_STOPPED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+monitorInfo_status :: Lens.Lens' MonitorInfo (Prelude.Maybe Prelude.Text)+monitorInfo_status = Lens.lens (\MonitorInfo' {status} -> status) (\s@MonitorInfo' {} a -> s {status = a} :: MonitorInfo)++instance Data.FromJSON MonitorInfo where+  parseJSON =+    Data.withObject+      "MonitorInfo"+      ( \x ->+          MonitorInfo'+            Prelude.<$> (x Data..:? "MonitorArn")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable MonitorInfo where+  hashWithSalt _salt MonitorInfo' {..} =+    _salt+      `Prelude.hashWithSalt` monitorArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData MonitorInfo where+  rnf MonitorInfo' {..} =+    Prelude.rnf monitorArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/MonitorSummary.hs view
@@ -0,0 +1,194 @@+{-# 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.Forecast.Types.MonitorSummary+-- 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.Forecast.Types.MonitorSummary 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++-- | Provides a summary of the monitor properties used in the ListMonitors+-- operation. To get a complete set of properties, call the DescribeMonitor+-- operation, and provide the listed @MonitorArn@.+--+-- /See:/ 'newMonitorSummary' smart constructor.+data MonitorSummary = MonitorSummary'+  { -- | When the monitor resource was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The last time the monitor resource was modified. The timestamp depends+    -- on the status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @STOPPED@ - When the resource stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the monitor creation finished or+    --     failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the monitor resource.+    monitorArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the monitor resource.+    monitorName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor being monitored.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the monitor. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @ACTIVE_STOPPING@, @ACTIVE_STOPPED@+    --+    -- -   @UPDATE_IN_PROGRESS@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonitorSummary' 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:+--+-- 'creationTime', 'monitorSummary_creationTime' - When the monitor resource was created.+--+-- 'lastModificationTime', 'monitorSummary_lastModificationTime' - The last time the monitor resource was modified. The timestamp depends+-- on the status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @STOPPED@ - When the resource stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the monitor creation finished or+--     failed.+--+-- 'monitorArn', 'monitorSummary_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource.+--+-- 'monitorName', 'monitorSummary_monitorName' - The name of the monitor resource.+--+-- 'resourceArn', 'monitorSummary_resourceArn' - The Amazon Resource Name (ARN) of the predictor being monitored.+--+-- 'status', 'monitorSummary_status' - The status of the monitor. States include:+--+-- -   @ACTIVE@+--+-- -   @ACTIVE_STOPPING@, @ACTIVE_STOPPED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+newMonitorSummary ::+  MonitorSummary+newMonitorSummary =+  MonitorSummary'+    { creationTime = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      monitorArn = Prelude.Nothing,+      monitorName = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the monitor resource was created.+monitorSummary_creationTime :: Lens.Lens' MonitorSummary (Prelude.Maybe Prelude.UTCTime)+monitorSummary_creationTime = Lens.lens (\MonitorSummary' {creationTime} -> creationTime) (\s@MonitorSummary' {} a -> s {creationTime = a} :: MonitorSummary) Prelude.. Lens.mapping Data._Time++-- | The last time the monitor resource was modified. The timestamp depends+-- on the status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @STOPPED@ - When the resource stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the monitor creation finished or+--     failed.+monitorSummary_lastModificationTime :: Lens.Lens' MonitorSummary (Prelude.Maybe Prelude.UTCTime)+monitorSummary_lastModificationTime = Lens.lens (\MonitorSummary' {lastModificationTime} -> lastModificationTime) (\s@MonitorSummary' {} a -> s {lastModificationTime = a} :: MonitorSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the monitor resource.+monitorSummary_monitorArn :: Lens.Lens' MonitorSummary (Prelude.Maybe Prelude.Text)+monitorSummary_monitorArn = Lens.lens (\MonitorSummary' {monitorArn} -> monitorArn) (\s@MonitorSummary' {} a -> s {monitorArn = a} :: MonitorSummary)++-- | The name of the monitor resource.+monitorSummary_monitorName :: Lens.Lens' MonitorSummary (Prelude.Maybe Prelude.Text)+monitorSummary_monitorName = Lens.lens (\MonitorSummary' {monitorName} -> monitorName) (\s@MonitorSummary' {} a -> s {monitorName = a} :: MonitorSummary)++-- | The Amazon Resource Name (ARN) of the predictor being monitored.+monitorSummary_resourceArn :: Lens.Lens' MonitorSummary (Prelude.Maybe Prelude.Text)+monitorSummary_resourceArn = Lens.lens (\MonitorSummary' {resourceArn} -> resourceArn) (\s@MonitorSummary' {} a -> s {resourceArn = a} :: MonitorSummary)++-- | The status of the monitor. States include:+--+-- -   @ACTIVE@+--+-- -   @ACTIVE_STOPPING@, @ACTIVE_STOPPED@+--+-- -   @UPDATE_IN_PROGRESS@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+monitorSummary_status :: Lens.Lens' MonitorSummary (Prelude.Maybe Prelude.Text)+monitorSummary_status = Lens.lens (\MonitorSummary' {status} -> status) (\s@MonitorSummary' {} a -> s {status = a} :: MonitorSummary)++instance Data.FromJSON MonitorSummary where+  parseJSON =+    Data.withObject+      "MonitorSummary"+      ( \x ->+          MonitorSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "MonitorArn")+            Prelude.<*> (x Data..:? "MonitorName")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable MonitorSummary where+  hashWithSalt _salt MonitorSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` monitorArn+      `Prelude.hashWithSalt` monitorName+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` status++instance Prelude.NFData MonitorSummary where+  rnf MonitorSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf monitorArn+      `Prelude.seq` Prelude.rnf monitorName+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/Month.hs view
@@ -0,0 +1,118 @@+{-# 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.Forecast.Types.Month+-- 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.Forecast.Types.Month+  ( Month+      ( ..,+        Month_APRIL,+        Month_AUGUST,+        Month_DECEMBER,+        Month_FEBRUARY,+        Month_JANUARY,+        Month_JULY,+        Month_JUNE,+        Month_MARCH,+        Month_MAY,+        Month_NOVEMBER,+        Month_OCTOBER,+        Month_SEPTEMBER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Month = Month' {fromMonth :: 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 Month_APRIL :: Month+pattern Month_APRIL = Month' "APRIL"++pattern Month_AUGUST :: Month+pattern Month_AUGUST = Month' "AUGUST"++pattern Month_DECEMBER :: Month+pattern Month_DECEMBER = Month' "DECEMBER"++pattern Month_FEBRUARY :: Month+pattern Month_FEBRUARY = Month' "FEBRUARY"++pattern Month_JANUARY :: Month+pattern Month_JANUARY = Month' "JANUARY"++pattern Month_JULY :: Month+pattern Month_JULY = Month' "JULY"++pattern Month_JUNE :: Month+pattern Month_JUNE = Month' "JUNE"++pattern Month_MARCH :: Month+pattern Month_MARCH = Month' "MARCH"++pattern Month_MAY :: Month+pattern Month_MAY = Month' "MAY"++pattern Month_NOVEMBER :: Month+pattern Month_NOVEMBER = Month' "NOVEMBER"++pattern Month_OCTOBER :: Month+pattern Month_OCTOBER = Month' "OCTOBER"++pattern Month_SEPTEMBER :: Month+pattern Month_SEPTEMBER = Month' "SEPTEMBER"++{-# COMPLETE+  Month_APRIL,+  Month_AUGUST,+  Month_DECEMBER,+  Month_FEBRUARY,+  Month_JANUARY,+  Month_JULY,+  Month_JUNE,+  Month_MARCH,+  Month_MAY,+  Month_NOVEMBER,+  Month_OCTOBER,+  Month_SEPTEMBER,+  Month'+  #-}
+ gen/Amazonka/Forecast/Types/Operation.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.Forecast.Types.Operation+-- 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.Forecast.Types.Operation+  ( Operation+      ( ..,+        Operation_ADD,+        Operation_DIVIDE,+        Operation_MULTIPLY,+        Operation_SUBTRACT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Operation = Operation'+  { fromOperation ::+      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 Operation_ADD :: Operation+pattern Operation_ADD = Operation' "ADD"++pattern Operation_DIVIDE :: Operation+pattern Operation_DIVIDE = Operation' "DIVIDE"++pattern Operation_MULTIPLY :: Operation+pattern Operation_MULTIPLY = Operation' "MULTIPLY"++pattern Operation_SUBTRACT :: Operation+pattern Operation_SUBTRACT = Operation' "SUBTRACT"++{-# COMPLETE+  Operation_ADD,+  Operation_DIVIDE,+  Operation_MULTIPLY,+  Operation_SUBTRACT,+  Operation'+  #-}
+ gen/Amazonka/Forecast/Types/OptimizationMetric.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.Forecast.Types.OptimizationMetric+-- 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.Forecast.Types.OptimizationMetric+  ( OptimizationMetric+      ( ..,+        OptimizationMetric_AverageWeightedQuantileLoss,+        OptimizationMetric_MAPE,+        OptimizationMetric_MASE,+        OptimizationMetric_RMSE,+        OptimizationMetric_WAPE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OptimizationMetric = OptimizationMetric'+  { fromOptimizationMetric ::+      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 OptimizationMetric_AverageWeightedQuantileLoss :: OptimizationMetric+pattern OptimizationMetric_AverageWeightedQuantileLoss = OptimizationMetric' "AverageWeightedQuantileLoss"++pattern OptimizationMetric_MAPE :: OptimizationMetric+pattern OptimizationMetric_MAPE = OptimizationMetric' "MAPE"++pattern OptimizationMetric_MASE :: OptimizationMetric+pattern OptimizationMetric_MASE = OptimizationMetric' "MASE"++pattern OptimizationMetric_RMSE :: OptimizationMetric+pattern OptimizationMetric_RMSE = OptimizationMetric' "RMSE"++pattern OptimizationMetric_WAPE :: OptimizationMetric+pattern OptimizationMetric_WAPE = OptimizationMetric' "WAPE"++{-# COMPLETE+  OptimizationMetric_AverageWeightedQuantileLoss,+  OptimizationMetric_MAPE,+  OptimizationMetric_MASE,+  OptimizationMetric_RMSE,+  OptimizationMetric_WAPE,+  OptimizationMetric'+  #-}
+ gen/Amazonka/Forecast/Types/ParameterRanges.hs view
@@ -0,0 +1,117 @@+{-# 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.Forecast.Types.ParameterRanges+-- 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.Forecast.Types.ParameterRanges where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.CategoricalParameterRange+import Amazonka.Forecast.Types.ContinuousParameterRange+import Amazonka.Forecast.Types.IntegerParameterRange+import qualified Amazonka.Prelude as Prelude++-- | Specifies the categorical, continuous, and integer hyperparameters, and+-- their ranges of tunable values. The range of tunable values determines+-- which values that a hyperparameter tuning job can choose for the+-- specified hyperparameter. This object is part of the+-- HyperParameterTuningJobConfig object.+--+-- /See:/ 'newParameterRanges' smart constructor.+data ParameterRanges = ParameterRanges'+  { -- | Specifies the tunable range for each categorical hyperparameter.+    categoricalParameterRanges :: Prelude.Maybe (Prelude.NonEmpty CategoricalParameterRange),+    -- | Specifies the tunable range for each continuous hyperparameter.+    continuousParameterRanges :: Prelude.Maybe (Prelude.NonEmpty ContinuousParameterRange),+    -- | Specifies the tunable range for each integer hyperparameter.+    integerParameterRanges :: Prelude.Maybe (Prelude.NonEmpty IntegerParameterRange)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParameterRanges' 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:+--+-- 'categoricalParameterRanges', 'parameterRanges_categoricalParameterRanges' - Specifies the tunable range for each categorical hyperparameter.+--+-- 'continuousParameterRanges', 'parameterRanges_continuousParameterRanges' - Specifies the tunable range for each continuous hyperparameter.+--+-- 'integerParameterRanges', 'parameterRanges_integerParameterRanges' - Specifies the tunable range for each integer hyperparameter.+newParameterRanges ::+  ParameterRanges+newParameterRanges =+  ParameterRanges'+    { categoricalParameterRanges =+        Prelude.Nothing,+      continuousParameterRanges = Prelude.Nothing,+      integerParameterRanges = Prelude.Nothing+    }++-- | Specifies the tunable range for each categorical hyperparameter.+parameterRanges_categoricalParameterRanges :: Lens.Lens' ParameterRanges (Prelude.Maybe (Prelude.NonEmpty CategoricalParameterRange))+parameterRanges_categoricalParameterRanges = Lens.lens (\ParameterRanges' {categoricalParameterRanges} -> categoricalParameterRanges) (\s@ParameterRanges' {} a -> s {categoricalParameterRanges = a} :: ParameterRanges) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the tunable range for each continuous hyperparameter.+parameterRanges_continuousParameterRanges :: Lens.Lens' ParameterRanges (Prelude.Maybe (Prelude.NonEmpty ContinuousParameterRange))+parameterRanges_continuousParameterRanges = Lens.lens (\ParameterRanges' {continuousParameterRanges} -> continuousParameterRanges) (\s@ParameterRanges' {} a -> s {continuousParameterRanges = a} :: ParameterRanges) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the tunable range for each integer hyperparameter.+parameterRanges_integerParameterRanges :: Lens.Lens' ParameterRanges (Prelude.Maybe (Prelude.NonEmpty IntegerParameterRange))+parameterRanges_integerParameterRanges = Lens.lens (\ParameterRanges' {integerParameterRanges} -> integerParameterRanges) (\s@ParameterRanges' {} a -> s {integerParameterRanges = a} :: ParameterRanges) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ParameterRanges where+  parseJSON =+    Data.withObject+      "ParameterRanges"+      ( \x ->+          ParameterRanges'+            Prelude.<$> (x Data..:? "CategoricalParameterRanges")+            Prelude.<*> (x Data..:? "ContinuousParameterRanges")+            Prelude.<*> (x Data..:? "IntegerParameterRanges")+      )++instance Prelude.Hashable ParameterRanges where+  hashWithSalt _salt ParameterRanges' {..} =+    _salt+      `Prelude.hashWithSalt` categoricalParameterRanges+      `Prelude.hashWithSalt` continuousParameterRanges+      `Prelude.hashWithSalt` integerParameterRanges++instance Prelude.NFData ParameterRanges where+  rnf ParameterRanges' {..} =+    Prelude.rnf categoricalParameterRanges+      `Prelude.seq` Prelude.rnf continuousParameterRanges+      `Prelude.seq` Prelude.rnf integerParameterRanges++instance Data.ToJSON ParameterRanges where+  toJSON ParameterRanges' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CategoricalParameterRanges" Data..=)+              Prelude.<$> categoricalParameterRanges,+            ("ContinuousParameterRanges" Data..=)+              Prelude.<$> continuousParameterRanges,+            ("IntegerParameterRanges" Data..=)+              Prelude.<$> integerParameterRanges+          ]+      )
+ gen/Amazonka/Forecast/Types/PredictorBacktestExportJobSummary.hs view
@@ -0,0 +1,221 @@+{-# 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.Forecast.Types.PredictorBacktestExportJobSummary+-- 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.Forecast.Types.PredictorBacktestExportJobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DataDestination+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the predictor backtest export job properties used+-- in the ListPredictorBacktestExportJobs operation. To get a complete set+-- of properties, call the DescribePredictorBacktestExportJob operation,+-- and provide the listed @PredictorBacktestExportJobArn@.+--+-- /See:/ 'newPredictorBacktestExportJobSummary' smart constructor.+data PredictorBacktestExportJobSummary = PredictorBacktestExportJobSummary'+  { -- | When the predictor backtest export job was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    destination :: Prelude.Maybe DataDestination,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about any errors that may have occurred during the backtest+    -- export.+    message :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the predictor backtest export job.+    predictorBacktestExportJobArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the predictor backtest export job.+    predictorBacktestExportJobName :: Prelude.Maybe Prelude.Text,+    -- | The status of the predictor backtest export job. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorBacktestExportJobSummary' 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:+--+-- 'creationTime', 'predictorBacktestExportJobSummary_creationTime' - When the predictor backtest export job was created.+--+-- 'destination', 'predictorBacktestExportJobSummary_destination' - Undocumented member.+--+-- 'lastModificationTime', 'predictorBacktestExportJobSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'predictorBacktestExportJobSummary_message' - Information about any errors that may have occurred during the backtest+-- export.+--+-- 'predictorBacktestExportJobArn', 'predictorBacktestExportJobSummary_predictorBacktestExportJobArn' - The Amazon Resource Name (ARN) of the predictor backtest export job.+--+-- 'predictorBacktestExportJobName', 'predictorBacktestExportJobSummary_predictorBacktestExportJobName' - The name of the predictor backtest export job.+--+-- 'status', 'predictorBacktestExportJobSummary_status' - The status of the predictor backtest export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+newPredictorBacktestExportJobSummary ::+  PredictorBacktestExportJobSummary+newPredictorBacktestExportJobSummary =+  PredictorBacktestExportJobSummary'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      predictorBacktestExportJobArn =+        Prelude.Nothing,+      predictorBacktestExportJobName =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the predictor backtest export job was created.+predictorBacktestExportJobSummary_creationTime :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe Prelude.UTCTime)+predictorBacktestExportJobSummary_creationTime = Lens.lens (\PredictorBacktestExportJobSummary' {creationTime} -> creationTime) (\s@PredictorBacktestExportJobSummary' {} a -> s {creationTime = a} :: PredictorBacktestExportJobSummary) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+predictorBacktestExportJobSummary_destination :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe DataDestination)+predictorBacktestExportJobSummary_destination = Lens.lens (\PredictorBacktestExportJobSummary' {destination} -> destination) (\s@PredictorBacktestExportJobSummary' {} a -> s {destination = a} :: PredictorBacktestExportJobSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+predictorBacktestExportJobSummary_lastModificationTime :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe Prelude.UTCTime)+predictorBacktestExportJobSummary_lastModificationTime = Lens.lens (\PredictorBacktestExportJobSummary' {lastModificationTime} -> lastModificationTime) (\s@PredictorBacktestExportJobSummary' {} a -> s {lastModificationTime = a} :: PredictorBacktestExportJobSummary) Prelude.. Lens.mapping Data._Time++-- | Information about any errors that may have occurred during the backtest+-- export.+predictorBacktestExportJobSummary_message :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe Prelude.Text)+predictorBacktestExportJobSummary_message = Lens.lens (\PredictorBacktestExportJobSummary' {message} -> message) (\s@PredictorBacktestExportJobSummary' {} a -> s {message = a} :: PredictorBacktestExportJobSummary)++-- | The Amazon Resource Name (ARN) of the predictor backtest export job.+predictorBacktestExportJobSummary_predictorBacktestExportJobArn :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe Prelude.Text)+predictorBacktestExportJobSummary_predictorBacktestExportJobArn = Lens.lens (\PredictorBacktestExportJobSummary' {predictorBacktestExportJobArn} -> predictorBacktestExportJobArn) (\s@PredictorBacktestExportJobSummary' {} a -> s {predictorBacktestExportJobArn = a} :: PredictorBacktestExportJobSummary)++-- | The name of the predictor backtest export job.+predictorBacktestExportJobSummary_predictorBacktestExportJobName :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe Prelude.Text)+predictorBacktestExportJobSummary_predictorBacktestExportJobName = Lens.lens (\PredictorBacktestExportJobSummary' {predictorBacktestExportJobName} -> predictorBacktestExportJobName) (\s@PredictorBacktestExportJobSummary' {} a -> s {predictorBacktestExportJobName = a} :: PredictorBacktestExportJobSummary)++-- | The status of the predictor backtest export job. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+predictorBacktestExportJobSummary_status :: Lens.Lens' PredictorBacktestExportJobSummary (Prelude.Maybe Prelude.Text)+predictorBacktestExportJobSummary_status = Lens.lens (\PredictorBacktestExportJobSummary' {status} -> status) (\s@PredictorBacktestExportJobSummary' {} a -> s {status = a} :: PredictorBacktestExportJobSummary)++instance+  Data.FromJSON+    PredictorBacktestExportJobSummary+  where+  parseJSON =+    Data.withObject+      "PredictorBacktestExportJobSummary"+      ( \x ->+          PredictorBacktestExportJobSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "Destination")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "PredictorBacktestExportJobArn")+            Prelude.<*> (x Data..:? "PredictorBacktestExportJobName")+            Prelude.<*> (x Data..:? "Status")+      )++instance+  Prelude.Hashable+    PredictorBacktestExportJobSummary+  where+  hashWithSalt+    _salt+    PredictorBacktestExportJobSummary' {..} =+      _salt+        `Prelude.hashWithSalt` creationTime+        `Prelude.hashWithSalt` destination+        `Prelude.hashWithSalt` lastModificationTime+        `Prelude.hashWithSalt` message+        `Prelude.hashWithSalt` predictorBacktestExportJobArn+        `Prelude.hashWithSalt` predictorBacktestExportJobName+        `Prelude.hashWithSalt` status++instance+  Prelude.NFData+    PredictorBacktestExportJobSummary+  where+  rnf PredictorBacktestExportJobSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf predictorBacktestExportJobArn+      `Prelude.seq` Prelude.rnf predictorBacktestExportJobName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/PredictorBaseline.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.Forecast.Types.PredictorBaseline+-- 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.Forecast.Types.PredictorBaseline where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.BaselineMetric+import qualified Amazonka.Prelude as Prelude++-- | Metrics you can use as a baseline for comparison purposes. Use these+-- metrics when you interpret monitoring results for an auto predictor.+--+-- /See:/ 'newPredictorBaseline' smart constructor.+data PredictorBaseline = PredictorBaseline'+  { -- | The initial+    -- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html accuracy metrics>+    -- for the predictor. Use these metrics as a baseline for comparison+    -- purposes as you use your predictor and the metrics change.+    baselineMetrics :: Prelude.Maybe [BaselineMetric]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorBaseline' 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:+--+-- 'baselineMetrics', 'predictorBaseline_baselineMetrics' - The initial+-- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html accuracy metrics>+-- for the predictor. Use these metrics as a baseline for comparison+-- purposes as you use your predictor and the metrics change.+newPredictorBaseline ::+  PredictorBaseline+newPredictorBaseline =+  PredictorBaseline'+    { baselineMetrics =+        Prelude.Nothing+    }++-- | The initial+-- <https://docs.aws.amazon.com/forecast/latest/dg/metrics.html accuracy metrics>+-- for the predictor. Use these metrics as a baseline for comparison+-- purposes as you use your predictor and the metrics change.+predictorBaseline_baselineMetrics :: Lens.Lens' PredictorBaseline (Prelude.Maybe [BaselineMetric])+predictorBaseline_baselineMetrics = Lens.lens (\PredictorBaseline' {baselineMetrics} -> baselineMetrics) (\s@PredictorBaseline' {} a -> s {baselineMetrics = a} :: PredictorBaseline) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PredictorBaseline where+  parseJSON =+    Data.withObject+      "PredictorBaseline"+      ( \x ->+          PredictorBaseline'+            Prelude.<$> ( x+                            Data..:? "BaselineMetrics"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable PredictorBaseline where+  hashWithSalt _salt PredictorBaseline' {..} =+    _salt `Prelude.hashWithSalt` baselineMetrics++instance Prelude.NFData PredictorBaseline where+  rnf PredictorBaseline' {..} =+    Prelude.rnf baselineMetrics
+ gen/Amazonka/Forecast/Types/PredictorEvent.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.Forecast.Types.PredictorEvent+-- 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.Forecast.Types.PredictorEvent 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++-- | Provides details about a predictor event, such as a retraining.+--+-- /See:/ 'newPredictorEvent' smart constructor.+data PredictorEvent = PredictorEvent'+  { -- | The timestamp for when the event occurred.+    datetime :: Prelude.Maybe Data.POSIX,+    -- | The type of event. For example, @Retrain@. A retraining event denotes+    -- the timepoint when a predictor was retrained. Any monitor results from+    -- before the @Datetime@ are from the previous predictor. Any new metrics+    -- are for the newly retrained predictor.+    detail :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorEvent' 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:+--+-- 'datetime', 'predictorEvent_datetime' - The timestamp for when the event occurred.+--+-- 'detail', 'predictorEvent_detail' - The type of event. For example, @Retrain@. A retraining event denotes+-- the timepoint when a predictor was retrained. Any monitor results from+-- before the @Datetime@ are from the previous predictor. Any new metrics+-- are for the newly retrained predictor.+newPredictorEvent ::+  PredictorEvent+newPredictorEvent =+  PredictorEvent'+    { datetime = Prelude.Nothing,+      detail = Prelude.Nothing+    }++-- | The timestamp for when the event occurred.+predictorEvent_datetime :: Lens.Lens' PredictorEvent (Prelude.Maybe Prelude.UTCTime)+predictorEvent_datetime = Lens.lens (\PredictorEvent' {datetime} -> datetime) (\s@PredictorEvent' {} a -> s {datetime = a} :: PredictorEvent) Prelude.. Lens.mapping Data._Time++-- | The type of event. For example, @Retrain@. A retraining event denotes+-- the timepoint when a predictor was retrained. Any monitor results from+-- before the @Datetime@ are from the previous predictor. Any new metrics+-- are for the newly retrained predictor.+predictorEvent_detail :: Lens.Lens' PredictorEvent (Prelude.Maybe Prelude.Text)+predictorEvent_detail = Lens.lens (\PredictorEvent' {detail} -> detail) (\s@PredictorEvent' {} a -> s {detail = a} :: PredictorEvent)++instance Data.FromJSON PredictorEvent where+  parseJSON =+    Data.withObject+      "PredictorEvent"+      ( \x ->+          PredictorEvent'+            Prelude.<$> (x Data..:? "Datetime")+            Prelude.<*> (x Data..:? "Detail")+      )++instance Prelude.Hashable PredictorEvent where+  hashWithSalt _salt PredictorEvent' {..} =+    _salt+      `Prelude.hashWithSalt` datetime+      `Prelude.hashWithSalt` detail++instance Prelude.NFData PredictorEvent where+  rnf PredictorEvent' {..} =+    Prelude.rnf datetime+      `Prelude.seq` Prelude.rnf detail
+ gen/Amazonka/Forecast/Types/PredictorExecution.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.Forecast.Types.PredictorExecution+-- 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.Forecast.Types.PredictorExecution where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.TestWindowSummary+import qualified Amazonka.Prelude as Prelude++-- | The algorithm used to perform a backtest and the status of those tests.+--+-- /See:/ 'newPredictorExecution' smart constructor.+data PredictorExecution = PredictorExecution'+  { -- | The ARN of the algorithm used to test the predictor.+    algorithmArn :: Prelude.Maybe Prelude.Text,+    -- | An array of test windows used to evaluate the algorithm. The+    -- @NumberOfBacktestWindows@ from the object determines the number of+    -- windows in the array.+    testWindows :: Prelude.Maybe [TestWindowSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorExecution' 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:+--+-- 'algorithmArn', 'predictorExecution_algorithmArn' - The ARN of the algorithm used to test the predictor.+--+-- 'testWindows', 'predictorExecution_testWindows' - An array of test windows used to evaluate the algorithm. The+-- @NumberOfBacktestWindows@ from the object determines the number of+-- windows in the array.+newPredictorExecution ::+  PredictorExecution+newPredictorExecution =+  PredictorExecution'+    { algorithmArn = Prelude.Nothing,+      testWindows = Prelude.Nothing+    }++-- | The ARN of the algorithm used to test the predictor.+predictorExecution_algorithmArn :: Lens.Lens' PredictorExecution (Prelude.Maybe Prelude.Text)+predictorExecution_algorithmArn = Lens.lens (\PredictorExecution' {algorithmArn} -> algorithmArn) (\s@PredictorExecution' {} a -> s {algorithmArn = a} :: PredictorExecution)++-- | An array of test windows used to evaluate the algorithm. The+-- @NumberOfBacktestWindows@ from the object determines the number of+-- windows in the array.+predictorExecution_testWindows :: Lens.Lens' PredictorExecution (Prelude.Maybe [TestWindowSummary])+predictorExecution_testWindows = Lens.lens (\PredictorExecution' {testWindows} -> testWindows) (\s@PredictorExecution' {} a -> s {testWindows = a} :: PredictorExecution) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PredictorExecution where+  parseJSON =+    Data.withObject+      "PredictorExecution"+      ( \x ->+          PredictorExecution'+            Prelude.<$> (x Data..:? "AlgorithmArn")+            Prelude.<*> (x Data..:? "TestWindows" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PredictorExecution where+  hashWithSalt _salt PredictorExecution' {..} =+    _salt+      `Prelude.hashWithSalt` algorithmArn+      `Prelude.hashWithSalt` testWindows++instance Prelude.NFData PredictorExecution where+  rnf PredictorExecution' {..} =+    Prelude.rnf algorithmArn+      `Prelude.seq` Prelude.rnf testWindows
+ gen/Amazonka/Forecast/Types/PredictorExecutionDetails.hs view
@@ -0,0 +1,82 @@+{-# 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.Forecast.Types.PredictorExecutionDetails+-- 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.Forecast.Types.PredictorExecutionDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.PredictorExecution+import qualified Amazonka.Prelude as Prelude++-- | Contains details on the backtests performed to evaluate the accuracy of+-- the predictor. The tests are returned in descending order of accuracy,+-- with the most accurate backtest appearing first. You specify the number+-- of backtests to perform when you call the operation.+--+-- /See:/ 'newPredictorExecutionDetails' smart constructor.+data PredictorExecutionDetails = PredictorExecutionDetails'+  { -- | An array of the backtests performed to evaluate the accuracy of the+    -- predictor against a particular algorithm. The @NumberOfBacktestWindows@+    -- from the object determines the number of windows in the array.+    predictorExecutions :: Prelude.Maybe (Prelude.NonEmpty PredictorExecution)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorExecutionDetails' 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:+--+-- 'predictorExecutions', 'predictorExecutionDetails_predictorExecutions' - An array of the backtests performed to evaluate the accuracy of the+-- predictor against a particular algorithm. The @NumberOfBacktestWindows@+-- from the object determines the number of windows in the array.+newPredictorExecutionDetails ::+  PredictorExecutionDetails+newPredictorExecutionDetails =+  PredictorExecutionDetails'+    { predictorExecutions =+        Prelude.Nothing+    }++-- | An array of the backtests performed to evaluate the accuracy of the+-- predictor against a particular algorithm. The @NumberOfBacktestWindows@+-- from the object determines the number of windows in the array.+predictorExecutionDetails_predictorExecutions :: Lens.Lens' PredictorExecutionDetails (Prelude.Maybe (Prelude.NonEmpty PredictorExecution))+predictorExecutionDetails_predictorExecutions = Lens.lens (\PredictorExecutionDetails' {predictorExecutions} -> predictorExecutions) (\s@PredictorExecutionDetails' {} a -> s {predictorExecutions = a} :: PredictorExecutionDetails) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PredictorExecutionDetails where+  parseJSON =+    Data.withObject+      "PredictorExecutionDetails"+      ( \x ->+          PredictorExecutionDetails'+            Prelude.<$> (x Data..:? "PredictorExecutions")+      )++instance Prelude.Hashable PredictorExecutionDetails where+  hashWithSalt _salt PredictorExecutionDetails' {..} =+    _salt `Prelude.hashWithSalt` predictorExecutions++instance Prelude.NFData PredictorExecutionDetails where+  rnf PredictorExecutionDetails' {..} =+    Prelude.rnf predictorExecutions
+ gen/Amazonka/Forecast/Types/PredictorMonitorEvaluation.hs view
@@ -0,0 +1,214 @@+{-# 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.Forecast.Types.PredictorMonitorEvaluation+-- 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.Forecast.Types.PredictorMonitorEvaluation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.MetricResult+import Amazonka.Forecast.Types.MonitorDataSource+import Amazonka.Forecast.Types.PredictorEvent+import qualified Amazonka.Prelude as Prelude++-- | Describes the results of a monitor evaluation.+--+-- /See:/ 'newPredictorMonitorEvaluation' smart constructor.+data PredictorMonitorEvaluation = PredictorMonitorEvaluation'+  { -- | The status of the monitor evaluation. The state can be @SUCCESS@ or+    -- @FAILURE@.+    evaluationState :: Prelude.Maybe Prelude.Text,+    -- | The timestamp that indicates when the monitor evaluation was started.+    evaluationTime :: Prelude.Maybe Data.POSIX,+    -- | Information about any errors that may have occurred during the monitor+    -- evaluation.+    message :: Prelude.Maybe Prelude.Text,+    -- | A list of metrics Forecast calculated when monitoring a predictor. You+    -- can compare the value for each metric in the list to the metric\'s value+    -- in the Baseline to see how your predictor\'s performance is changing.+    metricResults :: Prelude.Maybe [MetricResult],+    -- | The Amazon Resource Name (ARN) of the monitor resource.+    monitorArn :: Prelude.Maybe Prelude.Text,+    -- | The source of the data the monitor resource used during the evaluation.+    monitorDataSource :: Prelude.Maybe MonitorDataSource,+    -- | The number of items considered during the evaluation.+    numItemsEvaluated :: Prelude.Maybe Prelude.Integer,+    -- | Provides details about a predictor event, such as a retraining.+    predictorEvent :: Prelude.Maybe PredictorEvent,+    -- | The Amazon Resource Name (ARN) of the resource to monitor.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The timestamp that indicates the end of the window that is used for+    -- monitor evaluation.+    windowEndDatetime :: Prelude.Maybe Data.POSIX,+    -- | The timestamp that indicates the start of the window that is used for+    -- monitor evaluation.+    windowStartDatetime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorMonitorEvaluation' 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:+--+-- 'evaluationState', 'predictorMonitorEvaluation_evaluationState' - The status of the monitor evaluation. The state can be @SUCCESS@ or+-- @FAILURE@.+--+-- 'evaluationTime', 'predictorMonitorEvaluation_evaluationTime' - The timestamp that indicates when the monitor evaluation was started.+--+-- 'message', 'predictorMonitorEvaluation_message' - Information about any errors that may have occurred during the monitor+-- evaluation.+--+-- 'metricResults', 'predictorMonitorEvaluation_metricResults' - A list of metrics Forecast calculated when monitoring a predictor. You+-- can compare the value for each metric in the list to the metric\'s value+-- in the Baseline to see how your predictor\'s performance is changing.+--+-- 'monitorArn', 'predictorMonitorEvaluation_monitorArn' - The Amazon Resource Name (ARN) of the monitor resource.+--+-- 'monitorDataSource', 'predictorMonitorEvaluation_monitorDataSource' - The source of the data the monitor resource used during the evaluation.+--+-- 'numItemsEvaluated', 'predictorMonitorEvaluation_numItemsEvaluated' - The number of items considered during the evaluation.+--+-- 'predictorEvent', 'predictorMonitorEvaluation_predictorEvent' - Provides details about a predictor event, such as a retraining.+--+-- 'resourceArn', 'predictorMonitorEvaluation_resourceArn' - The Amazon Resource Name (ARN) of the resource to monitor.+--+-- 'windowEndDatetime', 'predictorMonitorEvaluation_windowEndDatetime' - The timestamp that indicates the end of the window that is used for+-- monitor evaluation.+--+-- 'windowStartDatetime', 'predictorMonitorEvaluation_windowStartDatetime' - The timestamp that indicates the start of the window that is used for+-- monitor evaluation.+newPredictorMonitorEvaluation ::+  PredictorMonitorEvaluation+newPredictorMonitorEvaluation =+  PredictorMonitorEvaluation'+    { evaluationState =+        Prelude.Nothing,+      evaluationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      metricResults = Prelude.Nothing,+      monitorArn = Prelude.Nothing,+      monitorDataSource = Prelude.Nothing,+      numItemsEvaluated = Prelude.Nothing,+      predictorEvent = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      windowEndDatetime = Prelude.Nothing,+      windowStartDatetime = Prelude.Nothing+    }++-- | The status of the monitor evaluation. The state can be @SUCCESS@ or+-- @FAILURE@.+predictorMonitorEvaluation_evaluationState :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.Text)+predictorMonitorEvaluation_evaluationState = Lens.lens (\PredictorMonitorEvaluation' {evaluationState} -> evaluationState) (\s@PredictorMonitorEvaluation' {} a -> s {evaluationState = a} :: PredictorMonitorEvaluation)++-- | The timestamp that indicates when the monitor evaluation was started.+predictorMonitorEvaluation_evaluationTime :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.UTCTime)+predictorMonitorEvaluation_evaluationTime = Lens.lens (\PredictorMonitorEvaluation' {evaluationTime} -> evaluationTime) (\s@PredictorMonitorEvaluation' {} a -> s {evaluationTime = a} :: PredictorMonitorEvaluation) Prelude.. Lens.mapping Data._Time++-- | Information about any errors that may have occurred during the monitor+-- evaluation.+predictorMonitorEvaluation_message :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.Text)+predictorMonitorEvaluation_message = Lens.lens (\PredictorMonitorEvaluation' {message} -> message) (\s@PredictorMonitorEvaluation' {} a -> s {message = a} :: PredictorMonitorEvaluation)++-- | A list of metrics Forecast calculated when monitoring a predictor. You+-- can compare the value for each metric in the list to the metric\'s value+-- in the Baseline to see how your predictor\'s performance is changing.+predictorMonitorEvaluation_metricResults :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe [MetricResult])+predictorMonitorEvaluation_metricResults = Lens.lens (\PredictorMonitorEvaluation' {metricResults} -> metricResults) (\s@PredictorMonitorEvaluation' {} a -> s {metricResults = a} :: PredictorMonitorEvaluation) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the monitor resource.+predictorMonitorEvaluation_monitorArn :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.Text)+predictorMonitorEvaluation_monitorArn = Lens.lens (\PredictorMonitorEvaluation' {monitorArn} -> monitorArn) (\s@PredictorMonitorEvaluation' {} a -> s {monitorArn = a} :: PredictorMonitorEvaluation)++-- | The source of the data the monitor resource used during the evaluation.+predictorMonitorEvaluation_monitorDataSource :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe MonitorDataSource)+predictorMonitorEvaluation_monitorDataSource = Lens.lens (\PredictorMonitorEvaluation' {monitorDataSource} -> monitorDataSource) (\s@PredictorMonitorEvaluation' {} a -> s {monitorDataSource = a} :: PredictorMonitorEvaluation)++-- | The number of items considered during the evaluation.+predictorMonitorEvaluation_numItemsEvaluated :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.Integer)+predictorMonitorEvaluation_numItemsEvaluated = Lens.lens (\PredictorMonitorEvaluation' {numItemsEvaluated} -> numItemsEvaluated) (\s@PredictorMonitorEvaluation' {} a -> s {numItemsEvaluated = a} :: PredictorMonitorEvaluation)++-- | Provides details about a predictor event, such as a retraining.+predictorMonitorEvaluation_predictorEvent :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe PredictorEvent)+predictorMonitorEvaluation_predictorEvent = Lens.lens (\PredictorMonitorEvaluation' {predictorEvent} -> predictorEvent) (\s@PredictorMonitorEvaluation' {} a -> s {predictorEvent = a} :: PredictorMonitorEvaluation)++-- | The Amazon Resource Name (ARN) of the resource to monitor.+predictorMonitorEvaluation_resourceArn :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.Text)+predictorMonitorEvaluation_resourceArn = Lens.lens (\PredictorMonitorEvaluation' {resourceArn} -> resourceArn) (\s@PredictorMonitorEvaluation' {} a -> s {resourceArn = a} :: PredictorMonitorEvaluation)++-- | The timestamp that indicates the end of the window that is used for+-- monitor evaluation.+predictorMonitorEvaluation_windowEndDatetime :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.UTCTime)+predictorMonitorEvaluation_windowEndDatetime = Lens.lens (\PredictorMonitorEvaluation' {windowEndDatetime} -> windowEndDatetime) (\s@PredictorMonitorEvaluation' {} a -> s {windowEndDatetime = a} :: PredictorMonitorEvaluation) Prelude.. Lens.mapping Data._Time++-- | The timestamp that indicates the start of the window that is used for+-- monitor evaluation.+predictorMonitorEvaluation_windowStartDatetime :: Lens.Lens' PredictorMonitorEvaluation (Prelude.Maybe Prelude.UTCTime)+predictorMonitorEvaluation_windowStartDatetime = Lens.lens (\PredictorMonitorEvaluation' {windowStartDatetime} -> windowStartDatetime) (\s@PredictorMonitorEvaluation' {} a -> s {windowStartDatetime = a} :: PredictorMonitorEvaluation) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON PredictorMonitorEvaluation where+  parseJSON =+    Data.withObject+      "PredictorMonitorEvaluation"+      ( \x ->+          PredictorMonitorEvaluation'+            Prelude.<$> (x Data..:? "EvaluationState")+            Prelude.<*> (x Data..:? "EvaluationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "MetricResults" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "MonitorArn")+            Prelude.<*> (x Data..:? "MonitorDataSource")+            Prelude.<*> (x Data..:? "NumItemsEvaluated")+            Prelude.<*> (x Data..:? "PredictorEvent")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "WindowEndDatetime")+            Prelude.<*> (x Data..:? "WindowStartDatetime")+      )++instance Prelude.Hashable PredictorMonitorEvaluation where+  hashWithSalt _salt PredictorMonitorEvaluation' {..} =+    _salt+      `Prelude.hashWithSalt` evaluationState+      `Prelude.hashWithSalt` evaluationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` metricResults+      `Prelude.hashWithSalt` monitorArn+      `Prelude.hashWithSalt` monitorDataSource+      `Prelude.hashWithSalt` numItemsEvaluated+      `Prelude.hashWithSalt` predictorEvent+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` windowEndDatetime+      `Prelude.hashWithSalt` windowStartDatetime++instance Prelude.NFData PredictorMonitorEvaluation where+  rnf PredictorMonitorEvaluation' {..} =+    Prelude.rnf evaluationState+      `Prelude.seq` Prelude.rnf evaluationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf metricResults+      `Prelude.seq` Prelude.rnf monitorArn+      `Prelude.seq` Prelude.rnf monitorDataSource+      `Prelude.seq` Prelude.rnf numItemsEvaluated+      `Prelude.seq` Prelude.rnf predictorEvent+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf windowEndDatetime+      `Prelude.seq` Prelude.rnf windowStartDatetime
+ gen/Amazonka/Forecast/Types/PredictorSummary.hs view
@@ -0,0 +1,243 @@+{-# 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.Forecast.Types.PredictorSummary+-- 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.Forecast.Types.PredictorSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.ReferencePredictorSummary+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the predictor properties that are used in the+-- ListPredictors operation. To get the complete set of properties, call+-- the DescribePredictor operation, and provide the listed @PredictorArn@.+--+-- /See:/ 'newPredictorSummary' smart constructor.+data PredictorSummary = PredictorSummary'+  { -- | When the model training task was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the dataset group that contains the+    -- data used to train the predictor.+    datasetGroupArn :: Prelude.Maybe Prelude.Text,+    -- | Whether AutoPredictor was used to create the predictor.+    isAutoPredictor :: Prelude.Maybe Prelude.Bool,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the predictor.+    predictorArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the predictor.+    predictorName :: Prelude.Maybe Prelude.Text,+    -- | A summary of the reference predictor used if the predictor was retrained+    -- or upgraded.+    referencePredictorSummary :: Prelude.Maybe ReferencePredictorSummary,+    -- | The status of the predictor. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- The @Status@ of the predictor must be @ACTIVE@ before you can use the+    -- predictor to create a forecast.+    status :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PredictorSummary' 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:+--+-- 'creationTime', 'predictorSummary_creationTime' - When the model training task was created.+--+-- 'datasetGroupArn', 'predictorSummary_datasetGroupArn' - The Amazon Resource Name (ARN) of the dataset group that contains the+-- data used to train the predictor.+--+-- 'isAutoPredictor', 'predictorSummary_isAutoPredictor' - Whether AutoPredictor was used to create the predictor.+--+-- 'lastModificationTime', 'predictorSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'predictorSummary_message' - If an error occurred, an informational message about the error.+--+-- 'predictorArn', 'predictorSummary_predictorArn' - The ARN of the predictor.+--+-- 'predictorName', 'predictorSummary_predictorName' - The name of the predictor.+--+-- 'referencePredictorSummary', 'predictorSummary_referencePredictorSummary' - A summary of the reference predictor used if the predictor was retrained+-- or upgraded.+--+-- 'status', 'predictorSummary_status' - The status of the predictor. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- The @Status@ of the predictor must be @ACTIVE@ before you can use the+-- predictor to create a forecast.+newPredictorSummary ::+  PredictorSummary+newPredictorSummary =+  PredictorSummary'+    { creationTime = Prelude.Nothing,+      datasetGroupArn = Prelude.Nothing,+      isAutoPredictor = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      predictorArn = Prelude.Nothing,+      predictorName = Prelude.Nothing,+      referencePredictorSummary = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | When the model training task was created.+predictorSummary_creationTime :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.UTCTime)+predictorSummary_creationTime = Lens.lens (\PredictorSummary' {creationTime} -> creationTime) (\s@PredictorSummary' {} a -> s {creationTime = a} :: PredictorSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the dataset group that contains the+-- data used to train the predictor.+predictorSummary_datasetGroupArn :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.Text)+predictorSummary_datasetGroupArn = Lens.lens (\PredictorSummary' {datasetGroupArn} -> datasetGroupArn) (\s@PredictorSummary' {} a -> s {datasetGroupArn = a} :: PredictorSummary)++-- | Whether AutoPredictor was used to create the predictor.+predictorSummary_isAutoPredictor :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.Bool)+predictorSummary_isAutoPredictor = Lens.lens (\PredictorSummary' {isAutoPredictor} -> isAutoPredictor) (\s@PredictorSummary' {} a -> s {isAutoPredictor = a} :: PredictorSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+predictorSummary_lastModificationTime :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.UTCTime)+predictorSummary_lastModificationTime = Lens.lens (\PredictorSummary' {lastModificationTime} -> lastModificationTime) (\s@PredictorSummary' {} a -> s {lastModificationTime = a} :: PredictorSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+predictorSummary_message :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.Text)+predictorSummary_message = Lens.lens (\PredictorSummary' {message} -> message) (\s@PredictorSummary' {} a -> s {message = a} :: PredictorSummary)++-- | The ARN of the predictor.+predictorSummary_predictorArn :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.Text)+predictorSummary_predictorArn = Lens.lens (\PredictorSummary' {predictorArn} -> predictorArn) (\s@PredictorSummary' {} a -> s {predictorArn = a} :: PredictorSummary)++-- | The name of the predictor.+predictorSummary_predictorName :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.Text)+predictorSummary_predictorName = Lens.lens (\PredictorSummary' {predictorName} -> predictorName) (\s@PredictorSummary' {} a -> s {predictorName = a} :: PredictorSummary)++-- | A summary of the reference predictor used if the predictor was retrained+-- or upgraded.+predictorSummary_referencePredictorSummary :: Lens.Lens' PredictorSummary (Prelude.Maybe ReferencePredictorSummary)+predictorSummary_referencePredictorSummary = Lens.lens (\PredictorSummary' {referencePredictorSummary} -> referencePredictorSummary) (\s@PredictorSummary' {} a -> s {referencePredictorSummary = a} :: PredictorSummary)++-- | The status of the predictor. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- The @Status@ of the predictor must be @ACTIVE@ before you can use the+-- predictor to create a forecast.+predictorSummary_status :: Lens.Lens' PredictorSummary (Prelude.Maybe Prelude.Text)+predictorSummary_status = Lens.lens (\PredictorSummary' {status} -> status) (\s@PredictorSummary' {} a -> s {status = a} :: PredictorSummary)++instance Data.FromJSON PredictorSummary where+  parseJSON =+    Data.withObject+      "PredictorSummary"+      ( \x ->+          PredictorSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "DatasetGroupArn")+            Prelude.<*> (x Data..:? "IsAutoPredictor")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "PredictorArn")+            Prelude.<*> (x Data..:? "PredictorName")+            Prelude.<*> (x Data..:? "ReferencePredictorSummary")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable PredictorSummary where+  hashWithSalt _salt PredictorSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` datasetGroupArn+      `Prelude.hashWithSalt` isAutoPredictor+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` predictorArn+      `Prelude.hashWithSalt` predictorName+      `Prelude.hashWithSalt` referencePredictorSummary+      `Prelude.hashWithSalt` status++instance Prelude.NFData PredictorSummary where+  rnf PredictorSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf isAutoPredictor+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf predictorArn+      `Prelude.seq` Prelude.rnf predictorName+      `Prelude.seq` Prelude.rnf referencePredictorSummary+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Forecast/Types/ReferencePredictorSummary.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.Forecast.Types.ReferencePredictorSummary+-- 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.Forecast.Types.ReferencePredictorSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.State+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the reference predictor used when retraining or+-- upgrading a predictor.+--+-- /See:/ 'newReferencePredictorSummary' smart constructor.+data ReferencePredictorSummary = ReferencePredictorSummary'+  { -- | The ARN of the reference predictor.+    arn :: Prelude.Maybe Prelude.Text,+    -- | Whether the reference predictor is @Active@ or @Deleted@.+    state :: Prelude.Maybe State+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReferencePredictorSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'referencePredictorSummary_arn' - The ARN of the reference predictor.+--+-- 'state', 'referencePredictorSummary_state' - Whether the reference predictor is @Active@ or @Deleted@.+newReferencePredictorSummary ::+  ReferencePredictorSummary+newReferencePredictorSummary =+  ReferencePredictorSummary'+    { arn = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The ARN of the reference predictor.+referencePredictorSummary_arn :: Lens.Lens' ReferencePredictorSummary (Prelude.Maybe Prelude.Text)+referencePredictorSummary_arn = Lens.lens (\ReferencePredictorSummary' {arn} -> arn) (\s@ReferencePredictorSummary' {} a -> s {arn = a} :: ReferencePredictorSummary)++-- | Whether the reference predictor is @Active@ or @Deleted@.+referencePredictorSummary_state :: Lens.Lens' ReferencePredictorSummary (Prelude.Maybe State)+referencePredictorSummary_state = Lens.lens (\ReferencePredictorSummary' {state} -> state) (\s@ReferencePredictorSummary' {} a -> s {state = a} :: ReferencePredictorSummary)++instance Data.FromJSON ReferencePredictorSummary where+  parseJSON =+    Data.withObject+      "ReferencePredictorSummary"+      ( \x ->+          ReferencePredictorSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "State")+      )++instance Prelude.Hashable ReferencePredictorSummary where+  hashWithSalt _salt ReferencePredictorSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` state++instance Prelude.NFData ReferencePredictorSummary where+  rnf ReferencePredictorSummary' {..} =+    Prelude.rnf arn `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/Forecast/Types/S3Config.hs view
@@ -0,0 +1,139 @@+{-# 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.Forecast.Types.S3Config+-- 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.Forecast.Types.S3Config 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 path to the file(s) in an Amazon Simple Storage Service (Amazon S3)+-- bucket, and an AWS Identity and Access Management (IAM) role that Amazon+-- Forecast can assume to access the file(s). Optionally, includes an AWS+-- Key Management Service (KMS) key. This object is part of the DataSource+-- object that is submitted in the CreateDatasetImportJob request, and part+-- of the DataDestination object.+--+-- /See:/ 'newS3Config' smart constructor.+data S3Config = S3Config'+  { -- | The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS)+    -- key.+    kmsKeyArn :: Prelude.Maybe Prelude.Text,+    -- | The path to an Amazon Simple Storage Service (Amazon S3) bucket or+    -- file(s) in an Amazon S3 bucket.+    path :: Prelude.Text,+    -- | The ARN of the AWS Identity and Access Management (IAM) role that Amazon+    -- Forecast can assume to access the Amazon S3 bucket or files. If you+    -- provide a value for the @KMSKeyArn@ key, the role must allow access to+    -- the key.+    --+    -- Passing a role across AWS accounts is not allowed. If you pass a role+    -- that isn\'t in your account, you get an @InvalidInputException@ error.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Config' 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:+--+-- 'kmsKeyArn', 's3Config_kmsKeyArn' - The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS)+-- key.+--+-- 'path', 's3Config_path' - The path to an Amazon Simple Storage Service (Amazon S3) bucket or+-- file(s) in an Amazon S3 bucket.+--+-- 'roleArn', 's3Config_roleArn' - The ARN of the AWS Identity and Access Management (IAM) role that Amazon+-- Forecast can assume to access the Amazon S3 bucket or files. If you+-- provide a value for the @KMSKeyArn@ key, the role must allow access to+-- the key.+--+-- Passing a role across AWS accounts is not allowed. If you pass a role+-- that isn\'t in your account, you get an @InvalidInputException@ error.+newS3Config ::+  -- | 'path'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  S3Config+newS3Config pPath_ pRoleArn_ =+  S3Config'+    { kmsKeyArn = Prelude.Nothing,+      path = pPath_,+      roleArn = pRoleArn_+    }++-- | The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS)+-- key.+s3Config_kmsKeyArn :: Lens.Lens' S3Config (Prelude.Maybe Prelude.Text)+s3Config_kmsKeyArn = Lens.lens (\S3Config' {kmsKeyArn} -> kmsKeyArn) (\s@S3Config' {} a -> s {kmsKeyArn = a} :: S3Config)++-- | The path to an Amazon Simple Storage Service (Amazon S3) bucket or+-- file(s) in an Amazon S3 bucket.+s3Config_path :: Lens.Lens' S3Config Prelude.Text+s3Config_path = Lens.lens (\S3Config' {path} -> path) (\s@S3Config' {} a -> s {path = a} :: S3Config)++-- | The ARN of the AWS Identity and Access Management (IAM) role that Amazon+-- Forecast can assume to access the Amazon S3 bucket or files. If you+-- provide a value for the @KMSKeyArn@ key, the role must allow access to+-- the key.+--+-- Passing a role across AWS accounts is not allowed. If you pass a role+-- that isn\'t in your account, you get an @InvalidInputException@ error.+s3Config_roleArn :: Lens.Lens' S3Config Prelude.Text+s3Config_roleArn = Lens.lens (\S3Config' {roleArn} -> roleArn) (\s@S3Config' {} a -> s {roleArn = a} :: S3Config)++instance Data.FromJSON S3Config where+  parseJSON =+    Data.withObject+      "S3Config"+      ( \x ->+          S3Config'+            Prelude.<$> (x Data..:? "KMSKeyArn")+            Prelude.<*> (x Data..: "Path")+            Prelude.<*> (x Data..: "RoleArn")+      )++instance Prelude.Hashable S3Config where+  hashWithSalt _salt S3Config' {..} =+    _salt+      `Prelude.hashWithSalt` kmsKeyArn+      `Prelude.hashWithSalt` path+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData S3Config where+  rnf S3Config' {..} =+    Prelude.rnf kmsKeyArn+      `Prelude.seq` Prelude.rnf path+      `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON S3Config where+  toJSON S3Config' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("KMSKeyArn" Data..=) Prelude.<$> kmsKeyArn,+            Prelude.Just ("Path" Data..= path),+            Prelude.Just ("RoleArn" Data..= roleArn)+          ]+      )
+ gen/Amazonka/Forecast/Types/ScalingType.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.Forecast.Types.ScalingType+-- 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.Forecast.Types.ScalingType+  ( ScalingType+      ( ..,+        ScalingType_Auto,+        ScalingType_Linear,+        ScalingType_Logarithmic,+        ScalingType_ReverseLogarithmic+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ScalingType = ScalingType'+  { fromScalingType ::+      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 ScalingType_Auto :: ScalingType+pattern ScalingType_Auto = ScalingType' "Auto"++pattern ScalingType_Linear :: ScalingType+pattern ScalingType_Linear = ScalingType' "Linear"++pattern ScalingType_Logarithmic :: ScalingType+pattern ScalingType_Logarithmic = ScalingType' "Logarithmic"++pattern ScalingType_ReverseLogarithmic :: ScalingType+pattern ScalingType_ReverseLogarithmic = ScalingType' "ReverseLogarithmic"++{-# COMPLETE+  ScalingType_Auto,+  ScalingType_Linear,+  ScalingType_Logarithmic,+  ScalingType_ReverseLogarithmic,+  ScalingType'+  #-}
+ gen/Amazonka/Forecast/Types/Schema.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.Forecast.Types.Schema+-- 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.Forecast.Types.Schema where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.SchemaAttribute+import qualified Amazonka.Prelude as Prelude++-- | Defines the fields of a dataset.+--+-- /See:/ 'newSchema' smart constructor.+data Schema = Schema'+  { -- | An array of attributes specifying the name and type of each field in a+    -- dataset.+    attributes :: Prelude.Maybe (Prelude.NonEmpty SchemaAttribute)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Schema' 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:+--+-- 'attributes', 'schema_attributes' - An array of attributes specifying the name and type of each field in a+-- dataset.+newSchema ::+  Schema+newSchema = Schema' {attributes = Prelude.Nothing}++-- | An array of attributes specifying the name and type of each field in a+-- dataset.+schema_attributes :: Lens.Lens' Schema (Prelude.Maybe (Prelude.NonEmpty SchemaAttribute))+schema_attributes = Lens.lens (\Schema' {attributes} -> attributes) (\s@Schema' {} a -> s {attributes = a} :: Schema) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Schema where+  parseJSON =+    Data.withObject+      "Schema"+      ( \x ->+          Schema' Prelude.<$> (x Data..:? "Attributes")+      )++instance Prelude.Hashable Schema where+  hashWithSalt _salt Schema' {..} =+    _salt `Prelude.hashWithSalt` attributes++instance Prelude.NFData Schema where+  rnf Schema' {..} = Prelude.rnf attributes++instance Data.ToJSON Schema where+  toJSON Schema' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Attributes" Data..=) Prelude.<$> attributes]+      )
+ gen/Amazonka/Forecast/Types/SchemaAttribute.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.Types.SchemaAttribute+-- 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.Forecast.Types.SchemaAttribute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.AttributeType+import qualified Amazonka.Prelude as Prelude++-- | An attribute of a schema, which defines a dataset field. A schema+-- attribute is required for every field in a dataset. The+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_Schema.html Schema>+-- object contains an array of @SchemaAttribute@ objects.+--+-- /See:/ 'newSchemaAttribute' smart constructor.+data SchemaAttribute = SchemaAttribute'+  { -- | The name of the dataset field.+    attributeName :: Prelude.Maybe Prelude.Text,+    -- | The data type of the field.+    --+    -- For a related time series dataset, other than date, item_id, and+    -- forecast dimensions attributes, all attributes should be of numerical+    -- type (integer\/float).+    attributeType :: Prelude.Maybe AttributeType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SchemaAttribute' 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:+--+-- 'attributeName', 'schemaAttribute_attributeName' - The name of the dataset field.+--+-- 'attributeType', 'schemaAttribute_attributeType' - The data type of the field.+--+-- For a related time series dataset, other than date, item_id, and+-- forecast dimensions attributes, all attributes should be of numerical+-- type (integer\/float).+newSchemaAttribute ::+  SchemaAttribute+newSchemaAttribute =+  SchemaAttribute'+    { attributeName = Prelude.Nothing,+      attributeType = Prelude.Nothing+    }++-- | The name of the dataset field.+schemaAttribute_attributeName :: Lens.Lens' SchemaAttribute (Prelude.Maybe Prelude.Text)+schemaAttribute_attributeName = Lens.lens (\SchemaAttribute' {attributeName} -> attributeName) (\s@SchemaAttribute' {} a -> s {attributeName = a} :: SchemaAttribute)++-- | The data type of the field.+--+-- For a related time series dataset, other than date, item_id, and+-- forecast dimensions attributes, all attributes should be of numerical+-- type (integer\/float).+schemaAttribute_attributeType :: Lens.Lens' SchemaAttribute (Prelude.Maybe AttributeType)+schemaAttribute_attributeType = Lens.lens (\SchemaAttribute' {attributeType} -> attributeType) (\s@SchemaAttribute' {} a -> s {attributeType = a} :: SchemaAttribute)++instance Data.FromJSON SchemaAttribute where+  parseJSON =+    Data.withObject+      "SchemaAttribute"+      ( \x ->+          SchemaAttribute'+            Prelude.<$> (x Data..:? "AttributeName")+            Prelude.<*> (x Data..:? "AttributeType")+      )++instance Prelude.Hashable SchemaAttribute where+  hashWithSalt _salt SchemaAttribute' {..} =+    _salt+      `Prelude.hashWithSalt` attributeName+      `Prelude.hashWithSalt` attributeType++instance Prelude.NFData SchemaAttribute where+  rnf SchemaAttribute' {..} =+    Prelude.rnf attributeName+      `Prelude.seq` Prelude.rnf attributeType++instance Data.ToJSON SchemaAttribute where+  toJSON SchemaAttribute' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AttributeName" Data..=) Prelude.<$> attributeName,+            ("AttributeType" Data..=) Prelude.<$> attributeType+          ]+      )
+ gen/Amazonka/Forecast/Types/State.hs view
@@ -0,0 +1,68 @@+{-# 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.Forecast.Types.State+-- 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.Forecast.Types.State+  ( State+      ( ..,+        State_Active,+        State_Deleted+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype State = State' {fromState :: 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 State_Active :: State+pattern State_Active = State' "Active"++pattern State_Deleted :: State+pattern State_Deleted = State' "Deleted"++{-# COMPLETE+  State_Active,+  State_Deleted,+  State'+  #-}
+ gen/Amazonka/Forecast/Types/Statistics.hs view
@@ -0,0 +1,231 @@+{-# 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.Forecast.Types.Statistics+-- 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.Forecast.Types.Statistics 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++-- | Provides statistics for each data field imported into to an Amazon+-- Forecast dataset with the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDatasetImportJob.html CreateDatasetImportJob>+-- operation.+--+-- /See:/ 'newStatistics' smart constructor.+data Statistics = Statistics'+  { -- | For a numeric field, the average value in the field.+    avg :: Prelude.Maybe Prelude.Double,+    -- | The number of values in the field. If the response value is -1, refer to+    -- @CountLong@.+    count :: Prelude.Maybe Prelude.Int,+    -- | The number of distinct values in the field. If the response value is -1,+    -- refer to @CountDistinctLong@.+    countDistinct :: Prelude.Maybe Prelude.Int,+    -- | The number of distinct values in the field. @CountDistinctLong@ is used+    -- instead of @CountDistinct@ if the value is greater than 2,147,483,647.+    countDistinctLong :: Prelude.Maybe Prelude.Integer,+    -- | The number of values in the field. @CountLong@ is used instead of+    -- @Count@ if the value is greater than 2,147,483,647.+    countLong :: Prelude.Maybe Prelude.Integer,+    -- | The number of NAN (not a number) values in the field. If the response+    -- value is -1, refer to @CountNanLong@.+    countNan :: Prelude.Maybe Prelude.Int,+    -- | The number of NAN (not a number) values in the field. @CountNanLong@ is+    -- used instead of @CountNan@ if the value is greater than 2,147,483,647.+    countNanLong :: Prelude.Maybe Prelude.Integer,+    -- | The number of null values in the field. If the response value is -1,+    -- refer to @CountNullLong@.+    countNull :: Prelude.Maybe Prelude.Int,+    -- | The number of null values in the field. @CountNullLong@ is used instead+    -- of @CountNull@ if the value is greater than 2,147,483,647.+    countNullLong :: Prelude.Maybe Prelude.Integer,+    -- | For a numeric field, the maximum value in the field.+    max :: Prelude.Maybe Prelude.Text,+    -- | For a numeric field, the minimum value in the field.+    min :: Prelude.Maybe Prelude.Text,+    -- | For a numeric field, the standard deviation.+    stddev :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Statistics' 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:+--+-- 'avg', 'statistics_avg' - For a numeric field, the average value in the field.+--+-- 'count', 'statistics_count' - The number of values in the field. If the response value is -1, refer to+-- @CountLong@.+--+-- 'countDistinct', 'statistics_countDistinct' - The number of distinct values in the field. If the response value is -1,+-- refer to @CountDistinctLong@.+--+-- 'countDistinctLong', 'statistics_countDistinctLong' - The number of distinct values in the field. @CountDistinctLong@ is used+-- instead of @CountDistinct@ if the value is greater than 2,147,483,647.+--+-- 'countLong', 'statistics_countLong' - The number of values in the field. @CountLong@ is used instead of+-- @Count@ if the value is greater than 2,147,483,647.+--+-- 'countNan', 'statistics_countNan' - The number of NAN (not a number) values in the field. If the response+-- value is -1, refer to @CountNanLong@.+--+-- 'countNanLong', 'statistics_countNanLong' - The number of NAN (not a number) values in the field. @CountNanLong@ is+-- used instead of @CountNan@ if the value is greater than 2,147,483,647.+--+-- 'countNull', 'statistics_countNull' - The number of null values in the field. If the response value is -1,+-- refer to @CountNullLong@.+--+-- 'countNullLong', 'statistics_countNullLong' - The number of null values in the field. @CountNullLong@ is used instead+-- of @CountNull@ if the value is greater than 2,147,483,647.+--+-- 'max', 'statistics_max' - For a numeric field, the maximum value in the field.+--+-- 'min', 'statistics_min' - For a numeric field, the minimum value in the field.+--+-- 'stddev', 'statistics_stddev' - For a numeric field, the standard deviation.+newStatistics ::+  Statistics+newStatistics =+  Statistics'+    { avg = Prelude.Nothing,+      count = Prelude.Nothing,+      countDistinct = Prelude.Nothing,+      countDistinctLong = Prelude.Nothing,+      countLong = Prelude.Nothing,+      countNan = Prelude.Nothing,+      countNanLong = Prelude.Nothing,+      countNull = Prelude.Nothing,+      countNullLong = Prelude.Nothing,+      max = Prelude.Nothing,+      min = Prelude.Nothing,+      stddev = Prelude.Nothing+    }++-- | For a numeric field, the average value in the field.+statistics_avg :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Double)+statistics_avg = Lens.lens (\Statistics' {avg} -> avg) (\s@Statistics' {} a -> s {avg = a} :: Statistics)++-- | The number of values in the field. If the response value is -1, refer to+-- @CountLong@.+statistics_count :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Int)+statistics_count = Lens.lens (\Statistics' {count} -> count) (\s@Statistics' {} a -> s {count = a} :: Statistics)++-- | The number of distinct values in the field. If the response value is -1,+-- refer to @CountDistinctLong@.+statistics_countDistinct :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Int)+statistics_countDistinct = Lens.lens (\Statistics' {countDistinct} -> countDistinct) (\s@Statistics' {} a -> s {countDistinct = a} :: Statistics)++-- | The number of distinct values in the field. @CountDistinctLong@ is used+-- instead of @CountDistinct@ if the value is greater than 2,147,483,647.+statistics_countDistinctLong :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Integer)+statistics_countDistinctLong = Lens.lens (\Statistics' {countDistinctLong} -> countDistinctLong) (\s@Statistics' {} a -> s {countDistinctLong = a} :: Statistics)++-- | The number of values in the field. @CountLong@ is used instead of+-- @Count@ if the value is greater than 2,147,483,647.+statistics_countLong :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Integer)+statistics_countLong = Lens.lens (\Statistics' {countLong} -> countLong) (\s@Statistics' {} a -> s {countLong = a} :: Statistics)++-- | The number of NAN (not a number) values in the field. If the response+-- value is -1, refer to @CountNanLong@.+statistics_countNan :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Int)+statistics_countNan = Lens.lens (\Statistics' {countNan} -> countNan) (\s@Statistics' {} a -> s {countNan = a} :: Statistics)++-- | The number of NAN (not a number) values in the field. @CountNanLong@ is+-- used instead of @CountNan@ if the value is greater than 2,147,483,647.+statistics_countNanLong :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Integer)+statistics_countNanLong = Lens.lens (\Statistics' {countNanLong} -> countNanLong) (\s@Statistics' {} a -> s {countNanLong = a} :: Statistics)++-- | The number of null values in the field. If the response value is -1,+-- refer to @CountNullLong@.+statistics_countNull :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Int)+statistics_countNull = Lens.lens (\Statistics' {countNull} -> countNull) (\s@Statistics' {} a -> s {countNull = a} :: Statistics)++-- | The number of null values in the field. @CountNullLong@ is used instead+-- of @CountNull@ if the value is greater than 2,147,483,647.+statistics_countNullLong :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Integer)+statistics_countNullLong = Lens.lens (\Statistics' {countNullLong} -> countNullLong) (\s@Statistics' {} a -> s {countNullLong = a} :: Statistics)++-- | For a numeric field, the maximum value in the field.+statistics_max :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Text)+statistics_max = Lens.lens (\Statistics' {max} -> max) (\s@Statistics' {} a -> s {max = a} :: Statistics)++-- | For a numeric field, the minimum value in the field.+statistics_min :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Text)+statistics_min = Lens.lens (\Statistics' {min} -> min) (\s@Statistics' {} a -> s {min = a} :: Statistics)++-- | For a numeric field, the standard deviation.+statistics_stddev :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Double)+statistics_stddev = Lens.lens (\Statistics' {stddev} -> stddev) (\s@Statistics' {} a -> s {stddev = a} :: Statistics)++instance Data.FromJSON Statistics where+  parseJSON =+    Data.withObject+      "Statistics"+      ( \x ->+          Statistics'+            Prelude.<$> (x Data..:? "Avg")+            Prelude.<*> (x Data..:? "Count")+            Prelude.<*> (x Data..:? "CountDistinct")+            Prelude.<*> (x Data..:? "CountDistinctLong")+            Prelude.<*> (x Data..:? "CountLong")+            Prelude.<*> (x Data..:? "CountNan")+            Prelude.<*> (x Data..:? "CountNanLong")+            Prelude.<*> (x Data..:? "CountNull")+            Prelude.<*> (x Data..:? "CountNullLong")+            Prelude.<*> (x Data..:? "Max")+            Prelude.<*> (x Data..:? "Min")+            Prelude.<*> (x Data..:? "Stddev")+      )++instance Prelude.Hashable Statistics where+  hashWithSalt _salt Statistics' {..} =+    _salt+      `Prelude.hashWithSalt` avg+      `Prelude.hashWithSalt` count+      `Prelude.hashWithSalt` countDistinct+      `Prelude.hashWithSalt` countDistinctLong+      `Prelude.hashWithSalt` countLong+      `Prelude.hashWithSalt` countNan+      `Prelude.hashWithSalt` countNanLong+      `Prelude.hashWithSalt` countNull+      `Prelude.hashWithSalt` countNullLong+      `Prelude.hashWithSalt` max+      `Prelude.hashWithSalt` min+      `Prelude.hashWithSalt` stddev++instance Prelude.NFData Statistics where+  rnf Statistics' {..} =+    Prelude.rnf avg+      `Prelude.seq` Prelude.rnf count+      `Prelude.seq` Prelude.rnf countDistinct+      `Prelude.seq` Prelude.rnf countDistinctLong+      `Prelude.seq` Prelude.rnf countLong+      `Prelude.seq` Prelude.rnf countNan+      `Prelude.seq` Prelude.rnf countNanLong+      `Prelude.seq` Prelude.rnf countNull+      `Prelude.seq` Prelude.rnf countNullLong+      `Prelude.seq` Prelude.rnf max+      `Prelude.seq` Prelude.rnf min+      `Prelude.seq` Prelude.rnf stddev
+ gen/Amazonka/Forecast/Types/SupplementaryFeature.hs view
@@ -0,0 +1,537 @@+{-# 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.Forecast.Types.SupplementaryFeature+-- 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.Forecast.Types.SupplementaryFeature 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++-- | This object belongs to the CreatePredictor operation. If you created+-- your predictor with CreateAutoPredictor, see AdditionalDataset.+--+-- Describes a supplementary feature of a dataset group. This object is+-- part of the InputDataConfig object. Forecast supports the Weather Index+-- and Holidays built-in featurizations.+--+-- __Weather Index__+--+-- The Amazon Forecast Weather Index is a built-in featurization that+-- incorporates historical and projected weather information into your+-- model. The Weather Index supplements your datasets with over two years+-- of historical weather data and up to 14 days of projected weather data.+-- For more information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/weather.html Amazon Forecast Weather Index>.+--+-- __Holidays__+--+-- Holidays is a built-in featurization that incorporates a+-- feature-engineered dataset of national holiday information into your+-- model. It provides native support for the holiday calendars of 66+-- countries. To view the holiday calendars, refer to the+-- <http://jollyday.sourceforge.net/data.html Jollyday> library. For more+-- information, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/holidays.html Holidays Featurization>.+--+-- /See:/ 'newSupplementaryFeature' smart constructor.+data SupplementaryFeature = SupplementaryFeature'+  { -- | The name of the feature. Valid values: @\"holiday\"@ and @\"weather\"@.+    name :: Prelude.Text,+    -- | __Weather Index__+    --+    -- To enable the Weather Index, set the value to @\"true\"@+    --+    -- __Holidays__+    --+    -- To enable Holidays, specify a country with one of the following+    -- two-letter country codes:+    --+    -- -   \"AL\" - ALBANIA+    --+    -- -   \"AR\" - ARGENTINA+    --+    -- -   \"AT\" - AUSTRIA+    --+    -- -   \"AU\" - AUSTRALIA+    --+    -- -   \"BA\" - BOSNIA HERZEGOVINA+    --+    -- -   \"BE\" - BELGIUM+    --+    -- -   \"BG\" - BULGARIA+    --+    -- -   \"BO\" - BOLIVIA+    --+    -- -   \"BR\" - BRAZIL+    --+    -- -   \"BY\" - BELARUS+    --+    -- -   \"CA\" - CANADA+    --+    -- -   \"CL\" - CHILE+    --+    -- -   \"CO\" - COLOMBIA+    --+    -- -   \"CR\" - COSTA RICA+    --+    -- -   \"HR\" - CROATIA+    --+    -- -   \"CZ\" - CZECH REPUBLIC+    --+    -- -   \"DK\" - DENMARK+    --+    -- -   \"EC\" - ECUADOR+    --+    -- -   \"EE\" - ESTONIA+    --+    -- -   \"ET\" - ETHIOPIA+    --+    -- -   \"FI\" - FINLAND+    --+    -- -   \"FR\" - FRANCE+    --+    -- -   \"DE\" - GERMANY+    --+    -- -   \"GR\" - GREECE+    --+    -- -   \"HU\" - HUNGARY+    --+    -- -   \"IS\" - ICELAND+    --+    -- -   \"IN\" - INDIA+    --+    -- -   \"IE\" - IRELAND+    --+    -- -   \"IT\" - ITALY+    --+    -- -   \"JP\" - JAPAN+    --+    -- -   \"KZ\" - KAZAKHSTAN+    --+    -- -   \"KR\" - KOREA+    --+    -- -   \"LV\" - LATVIA+    --+    -- -   \"LI\" - LIECHTENSTEIN+    --+    -- -   \"LT\" - LITHUANIA+    --+    -- -   \"LU\" - LUXEMBOURG+    --+    -- -   \"MK\" - MACEDONIA+    --+    -- -   \"MT\" - MALTA+    --+    -- -   \"MX\" - MEXICO+    --+    -- -   \"MD\" - MOLDOVA+    --+    -- -   \"ME\" - MONTENEGRO+    --+    -- -   \"NL\" - NETHERLANDS+    --+    -- -   \"NZ\" - NEW ZEALAND+    --+    -- -   \"NI\" - NICARAGUA+    --+    -- -   \"NG\" - NIGERIA+    --+    -- -   \"NO\" - NORWAY+    --+    -- -   \"PA\" - PANAMA+    --+    -- -   \"PY\" - PARAGUAY+    --+    -- -   \"PE\" - PERU+    --+    -- -   \"PL\" - POLAND+    --+    -- -   \"PT\" - PORTUGAL+    --+    -- -   \"RO\" - ROMANIA+    --+    -- -   \"RU\" - RUSSIA+    --+    -- -   \"RS\" - SERBIA+    --+    -- -   \"SK\" - SLOVAKIA+    --+    -- -   \"SI\" - SLOVENIA+    --+    -- -   \"ZA\" - SOUTH AFRICA+    --+    -- -   \"ES\" - SPAIN+    --+    -- -   \"SE\" - SWEDEN+    --+    -- -   \"CH\" - SWITZERLAND+    --+    -- -   \"UA\" - UKRAINE+    --+    -- -   \"AE\" - UNITED ARAB EMIRATES+    --+    -- -   \"US\" - UNITED STATES+    --+    -- -   \"UK\" - UNITED KINGDOM+    --+    -- -   \"UY\" - URUGUAY+    --+    -- -   \"VE\" - VENEZUELA+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SupplementaryFeature' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'supplementaryFeature_name' - The name of the feature. Valid values: @\"holiday\"@ and @\"weather\"@.+--+-- 'value', 'supplementaryFeature_value' - __Weather Index__+--+-- To enable the Weather Index, set the value to @\"true\"@+--+-- __Holidays__+--+-- To enable Holidays, specify a country with one of the following+-- two-letter country codes:+--+-- -   \"AL\" - ALBANIA+--+-- -   \"AR\" - ARGENTINA+--+-- -   \"AT\" - AUSTRIA+--+-- -   \"AU\" - AUSTRALIA+--+-- -   \"BA\" - BOSNIA HERZEGOVINA+--+-- -   \"BE\" - BELGIUM+--+-- -   \"BG\" - BULGARIA+--+-- -   \"BO\" - BOLIVIA+--+-- -   \"BR\" - BRAZIL+--+-- -   \"BY\" - BELARUS+--+-- -   \"CA\" - CANADA+--+-- -   \"CL\" - CHILE+--+-- -   \"CO\" - COLOMBIA+--+-- -   \"CR\" - COSTA RICA+--+-- -   \"HR\" - CROATIA+--+-- -   \"CZ\" - CZECH REPUBLIC+--+-- -   \"DK\" - DENMARK+--+-- -   \"EC\" - ECUADOR+--+-- -   \"EE\" - ESTONIA+--+-- -   \"ET\" - ETHIOPIA+--+-- -   \"FI\" - FINLAND+--+-- -   \"FR\" - FRANCE+--+-- -   \"DE\" - GERMANY+--+-- -   \"GR\" - GREECE+--+-- -   \"HU\" - HUNGARY+--+-- -   \"IS\" - ICELAND+--+-- -   \"IN\" - INDIA+--+-- -   \"IE\" - IRELAND+--+-- -   \"IT\" - ITALY+--+-- -   \"JP\" - JAPAN+--+-- -   \"KZ\" - KAZAKHSTAN+--+-- -   \"KR\" - KOREA+--+-- -   \"LV\" - LATVIA+--+-- -   \"LI\" - LIECHTENSTEIN+--+-- -   \"LT\" - LITHUANIA+--+-- -   \"LU\" - LUXEMBOURG+--+-- -   \"MK\" - MACEDONIA+--+-- -   \"MT\" - MALTA+--+-- -   \"MX\" - MEXICO+--+-- -   \"MD\" - MOLDOVA+--+-- -   \"ME\" - MONTENEGRO+--+-- -   \"NL\" - NETHERLANDS+--+-- -   \"NZ\" - NEW ZEALAND+--+-- -   \"NI\" - NICARAGUA+--+-- -   \"NG\" - NIGERIA+--+-- -   \"NO\" - NORWAY+--+-- -   \"PA\" - PANAMA+--+-- -   \"PY\" - PARAGUAY+--+-- -   \"PE\" - PERU+--+-- -   \"PL\" - POLAND+--+-- -   \"PT\" - PORTUGAL+--+-- -   \"RO\" - ROMANIA+--+-- -   \"RU\" - RUSSIA+--+-- -   \"RS\" - SERBIA+--+-- -   \"SK\" - SLOVAKIA+--+-- -   \"SI\" - SLOVENIA+--+-- -   \"ZA\" - SOUTH AFRICA+--+-- -   \"ES\" - SPAIN+--+-- -   \"SE\" - SWEDEN+--+-- -   \"CH\" - SWITZERLAND+--+-- -   \"UA\" - UKRAINE+--+-- -   \"AE\" - UNITED ARAB EMIRATES+--+-- -   \"US\" - UNITED STATES+--+-- -   \"UK\" - UNITED KINGDOM+--+-- -   \"UY\" - URUGUAY+--+-- -   \"VE\" - VENEZUELA+newSupplementaryFeature ::+  -- | 'name'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  SupplementaryFeature+newSupplementaryFeature pName_ pValue_ =+  SupplementaryFeature'+    { name = pName_,+      value = pValue_+    }++-- | The name of the feature. Valid values: @\"holiday\"@ and @\"weather\"@.+supplementaryFeature_name :: Lens.Lens' SupplementaryFeature Prelude.Text+supplementaryFeature_name = Lens.lens (\SupplementaryFeature' {name} -> name) (\s@SupplementaryFeature' {} a -> s {name = a} :: SupplementaryFeature)++-- | __Weather Index__+--+-- To enable the Weather Index, set the value to @\"true\"@+--+-- __Holidays__+--+-- To enable Holidays, specify a country with one of the following+-- two-letter country codes:+--+-- -   \"AL\" - ALBANIA+--+-- -   \"AR\" - ARGENTINA+--+-- -   \"AT\" - AUSTRIA+--+-- -   \"AU\" - AUSTRALIA+--+-- -   \"BA\" - BOSNIA HERZEGOVINA+--+-- -   \"BE\" - BELGIUM+--+-- -   \"BG\" - BULGARIA+--+-- -   \"BO\" - BOLIVIA+--+-- -   \"BR\" - BRAZIL+--+-- -   \"BY\" - BELARUS+--+-- -   \"CA\" - CANADA+--+-- -   \"CL\" - CHILE+--+-- -   \"CO\" - COLOMBIA+--+-- -   \"CR\" - COSTA RICA+--+-- -   \"HR\" - CROATIA+--+-- -   \"CZ\" - CZECH REPUBLIC+--+-- -   \"DK\" - DENMARK+--+-- -   \"EC\" - ECUADOR+--+-- -   \"EE\" - ESTONIA+--+-- -   \"ET\" - ETHIOPIA+--+-- -   \"FI\" - FINLAND+--+-- -   \"FR\" - FRANCE+--+-- -   \"DE\" - GERMANY+--+-- -   \"GR\" - GREECE+--+-- -   \"HU\" - HUNGARY+--+-- -   \"IS\" - ICELAND+--+-- -   \"IN\" - INDIA+--+-- -   \"IE\" - IRELAND+--+-- -   \"IT\" - ITALY+--+-- -   \"JP\" - JAPAN+--+-- -   \"KZ\" - KAZAKHSTAN+--+-- -   \"KR\" - KOREA+--+-- -   \"LV\" - LATVIA+--+-- -   \"LI\" - LIECHTENSTEIN+--+-- -   \"LT\" - LITHUANIA+--+-- -   \"LU\" - LUXEMBOURG+--+-- -   \"MK\" - MACEDONIA+--+-- -   \"MT\" - MALTA+--+-- -   \"MX\" - MEXICO+--+-- -   \"MD\" - MOLDOVA+--+-- -   \"ME\" - MONTENEGRO+--+-- -   \"NL\" - NETHERLANDS+--+-- -   \"NZ\" - NEW ZEALAND+--+-- -   \"NI\" - NICARAGUA+--+-- -   \"NG\" - NIGERIA+--+-- -   \"NO\" - NORWAY+--+-- -   \"PA\" - PANAMA+--+-- -   \"PY\" - PARAGUAY+--+-- -   \"PE\" - PERU+--+-- -   \"PL\" - POLAND+--+-- -   \"PT\" - PORTUGAL+--+-- -   \"RO\" - ROMANIA+--+-- -   \"RU\" - RUSSIA+--+-- -   \"RS\" - SERBIA+--+-- -   \"SK\" - SLOVAKIA+--+-- -   \"SI\" - SLOVENIA+--+-- -   \"ZA\" - SOUTH AFRICA+--+-- -   \"ES\" - SPAIN+--+-- -   \"SE\" - SWEDEN+--+-- -   \"CH\" - SWITZERLAND+--+-- -   \"UA\" - UKRAINE+--+-- -   \"AE\" - UNITED ARAB EMIRATES+--+-- -   \"US\" - UNITED STATES+--+-- -   \"UK\" - UNITED KINGDOM+--+-- -   \"UY\" - URUGUAY+--+-- -   \"VE\" - VENEZUELA+supplementaryFeature_value :: Lens.Lens' SupplementaryFeature Prelude.Text+supplementaryFeature_value = Lens.lens (\SupplementaryFeature' {value} -> value) (\s@SupplementaryFeature' {} a -> s {value = a} :: SupplementaryFeature)++instance Data.FromJSON SupplementaryFeature where+  parseJSON =+    Data.withObject+      "SupplementaryFeature"+      ( \x ->+          SupplementaryFeature'+            Prelude.<$> (x Data..: "Name")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable SupplementaryFeature where+  hashWithSalt _salt SupplementaryFeature' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData SupplementaryFeature where+  rnf SupplementaryFeature' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SupplementaryFeature where+  toJSON SupplementaryFeature' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Forecast/Types/Tag.hs view
@@ -0,0 +1,131 @@+{-# 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.Forecast.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Forecast.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The optional metadata that you apply to a resource to help you+-- categorize and organize them. Each tag consists of a key and an optional+-- value, both of which you define.+--+-- The following basic restrictions apply to tags:+--+-- -   Maximum number of tags per resource - 50.+--+-- -   For each resource, each tag key must be unique, and each tag key can+--     have only one value.+--+-- -   Maximum key length - 128 Unicode characters in UTF-8.+--+-- -   Maximum value length - 256 Unicode characters in UTF-8.+--+-- -   If your tagging schema is used across multiple services and+--     resources, remember that other services may have restrictions on+--     allowed characters. Generally allowed characters are: letters,+--     numbers, and spaces representable in UTF-8, and the following+--     characters: + - = . _ : \/ \@.+--+-- -   Tag keys and values are case sensitive.+--+-- -   Do not use @aws:@, @AWS:@, or any upper or lowercase combination of+--     such as a prefix for keys as it is reserved for AWS use. You cannot+--     edit or delete tag keys with this prefix. Values can have this+--     prefix. If a tag value has @aws@ as its prefix but the key does not,+--     then Forecast considers it to be a user tag and will count against+--     the limit of 50 tags. Tags with only the key prefix of @aws@ do not+--     count against your tags per resource limit.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | One part of a key-value pair that makes up a tag. A @key@ is a general+    -- label that acts like a category for more specific tag values.+    key :: Data.Sensitive Prelude.Text,+    -- | The optional part of a key-value pair that makes up a tag. A @value@+    -- acts as a descriptor within a tag category (key).+    value :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - One part of a key-value pair that makes up a tag. A @key@ is a general+-- label that acts like a category for more specific tag values.+--+-- 'value', 'tag_value' - The optional part of a key-value pair that makes up a tag. A @value@+-- acts as a descriptor within a tag category (key).+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag'+    { key = Data._Sensitive Lens.# pKey_,+      value = Data._Sensitive Lens.# pValue_+    }++-- | One part of a key-value pair that makes up a tag. A @key@ is a general+-- label that acts like a category for more specific tag values.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag) Prelude.. Data._Sensitive++-- | The optional part of a key-value pair that makes up a tag. A @value@+-- acts as a descriptor within a tag category (key).+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag) Prelude.. Data._Sensitive++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/Forecast/Types/TestWindowSummary.hs view
@@ -0,0 +1,127 @@+{-# 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.Forecast.Types.TestWindowSummary+-- 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.Forecast.Types.TestWindowSummary 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 status, start time, and end time of a backtest, as well as a failure+-- reason if applicable.+--+-- /See:/ 'newTestWindowSummary' smart constructor.+data TestWindowSummary = TestWindowSummary'+  { -- | If the test failed, the reason why it failed.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the test. Possible status values are:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_IN_PROGRESS@+    --+    -- -   @CREATE_FAILED@+    status :: Prelude.Maybe Prelude.Text,+    -- | The time at which the test ended.+    testWindowEnd :: Prelude.Maybe Data.POSIX,+    -- | The time at which the test began.+    testWindowStart :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TestWindowSummary' 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:+--+-- 'message', 'testWindowSummary_message' - If the test failed, the reason why it failed.+--+-- 'status', 'testWindowSummary_status' - The status of the test. Possible status values are:+--+-- -   @ACTIVE@+--+-- -   @CREATE_IN_PROGRESS@+--+-- -   @CREATE_FAILED@+--+-- 'testWindowEnd', 'testWindowSummary_testWindowEnd' - The time at which the test ended.+--+-- 'testWindowStart', 'testWindowSummary_testWindowStart' - The time at which the test began.+newTestWindowSummary ::+  TestWindowSummary+newTestWindowSummary =+  TestWindowSummary'+    { message = Prelude.Nothing,+      status = Prelude.Nothing,+      testWindowEnd = Prelude.Nothing,+      testWindowStart = Prelude.Nothing+    }++-- | If the test failed, the reason why it failed.+testWindowSummary_message :: Lens.Lens' TestWindowSummary (Prelude.Maybe Prelude.Text)+testWindowSummary_message = Lens.lens (\TestWindowSummary' {message} -> message) (\s@TestWindowSummary' {} a -> s {message = a} :: TestWindowSummary)++-- | The status of the test. Possible status values are:+--+-- -   @ACTIVE@+--+-- -   @CREATE_IN_PROGRESS@+--+-- -   @CREATE_FAILED@+testWindowSummary_status :: Lens.Lens' TestWindowSummary (Prelude.Maybe Prelude.Text)+testWindowSummary_status = Lens.lens (\TestWindowSummary' {status} -> status) (\s@TestWindowSummary' {} a -> s {status = a} :: TestWindowSummary)++-- | The time at which the test ended.+testWindowSummary_testWindowEnd :: Lens.Lens' TestWindowSummary (Prelude.Maybe Prelude.UTCTime)+testWindowSummary_testWindowEnd = Lens.lens (\TestWindowSummary' {testWindowEnd} -> testWindowEnd) (\s@TestWindowSummary' {} a -> s {testWindowEnd = a} :: TestWindowSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which the test began.+testWindowSummary_testWindowStart :: Lens.Lens' TestWindowSummary (Prelude.Maybe Prelude.UTCTime)+testWindowSummary_testWindowStart = Lens.lens (\TestWindowSummary' {testWindowStart} -> testWindowStart) (\s@TestWindowSummary' {} a -> s {testWindowStart = a} :: TestWindowSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON TestWindowSummary where+  parseJSON =+    Data.withObject+      "TestWindowSummary"+      ( \x ->+          TestWindowSummary'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TestWindowEnd")+            Prelude.<*> (x Data..:? "TestWindowStart")+      )++instance Prelude.Hashable TestWindowSummary where+  hashWithSalt _salt TestWindowSummary' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` testWindowEnd+      `Prelude.hashWithSalt` testWindowStart++instance Prelude.NFData TestWindowSummary where+  rnf TestWindowSummary' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf testWindowEnd+      `Prelude.seq` Prelude.rnf testWindowStart
+ gen/Amazonka/Forecast/Types/TimeAlignmentBoundary.hs view
@@ -0,0 +1,137 @@+{-# 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.Forecast.Types.TimeAlignmentBoundary+-- 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.Forecast.Types.TimeAlignmentBoundary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DayOfWeek+import Amazonka.Forecast.Types.Month+import qualified Amazonka.Prelude as Prelude++-- | The time boundary Forecast uses to align and aggregate your data to+-- match your forecast frequency. Provide the unit of time and the time+-- boundary as a key value pair. If you don\'t provide a time boundary,+-- Forecast uses a set of+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#default-time-boundaries Default Time Boundaries>.+--+-- For more information about aggregation, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html Data Aggregation for Different Forecast Frequencies>.+-- For more information setting a custom time boundary, see+-- <https://docs.aws.amazon.com/forecast/latest/dg/data-aggregation.html#specifying-time-boundary Specifying a Time Boundary>.+--+-- /See:/ 'newTimeAlignmentBoundary' smart constructor.+data TimeAlignmentBoundary = TimeAlignmentBoundary'+  { -- | The day of the month to use for time alignment during aggregation.+    dayOfMonth :: Prelude.Maybe Prelude.Natural,+    -- | The day of week to use for time alignment during aggregation. The day+    -- must be in uppercase.+    dayOfWeek :: Prelude.Maybe DayOfWeek,+    -- | The hour of day to use for time alignment during aggregation.+    hour :: Prelude.Maybe Prelude.Natural,+    -- | The month to use for time alignment during aggregation. The month must+    -- be in uppercase.+    month :: Prelude.Maybe Month+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeAlignmentBoundary' 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:+--+-- 'dayOfMonth', 'timeAlignmentBoundary_dayOfMonth' - The day of the month to use for time alignment during aggregation.+--+-- 'dayOfWeek', 'timeAlignmentBoundary_dayOfWeek' - The day of week to use for time alignment during aggregation. The day+-- must be in uppercase.+--+-- 'hour', 'timeAlignmentBoundary_hour' - The hour of day to use for time alignment during aggregation.+--+-- 'month', 'timeAlignmentBoundary_month' - The month to use for time alignment during aggregation. The month must+-- be in uppercase.+newTimeAlignmentBoundary ::+  TimeAlignmentBoundary+newTimeAlignmentBoundary =+  TimeAlignmentBoundary'+    { dayOfMonth =+        Prelude.Nothing,+      dayOfWeek = Prelude.Nothing,+      hour = Prelude.Nothing,+      month = Prelude.Nothing+    }++-- | The day of the month to use for time alignment during aggregation.+timeAlignmentBoundary_dayOfMonth :: Lens.Lens' TimeAlignmentBoundary (Prelude.Maybe Prelude.Natural)+timeAlignmentBoundary_dayOfMonth = Lens.lens (\TimeAlignmentBoundary' {dayOfMonth} -> dayOfMonth) (\s@TimeAlignmentBoundary' {} a -> s {dayOfMonth = a} :: TimeAlignmentBoundary)++-- | The day of week to use for time alignment during aggregation. The day+-- must be in uppercase.+timeAlignmentBoundary_dayOfWeek :: Lens.Lens' TimeAlignmentBoundary (Prelude.Maybe DayOfWeek)+timeAlignmentBoundary_dayOfWeek = Lens.lens (\TimeAlignmentBoundary' {dayOfWeek} -> dayOfWeek) (\s@TimeAlignmentBoundary' {} a -> s {dayOfWeek = a} :: TimeAlignmentBoundary)++-- | The hour of day to use for time alignment during aggregation.+timeAlignmentBoundary_hour :: Lens.Lens' TimeAlignmentBoundary (Prelude.Maybe Prelude.Natural)+timeAlignmentBoundary_hour = Lens.lens (\TimeAlignmentBoundary' {hour} -> hour) (\s@TimeAlignmentBoundary' {} a -> s {hour = a} :: TimeAlignmentBoundary)++-- | The month to use for time alignment during aggregation. The month must+-- be in uppercase.+timeAlignmentBoundary_month :: Lens.Lens' TimeAlignmentBoundary (Prelude.Maybe Month)+timeAlignmentBoundary_month = Lens.lens (\TimeAlignmentBoundary' {month} -> month) (\s@TimeAlignmentBoundary' {} a -> s {month = a} :: TimeAlignmentBoundary)++instance Data.FromJSON TimeAlignmentBoundary where+  parseJSON =+    Data.withObject+      "TimeAlignmentBoundary"+      ( \x ->+          TimeAlignmentBoundary'+            Prelude.<$> (x Data..:? "DayOfMonth")+            Prelude.<*> (x Data..:? "DayOfWeek")+            Prelude.<*> (x Data..:? "Hour")+            Prelude.<*> (x Data..:? "Month")+      )++instance Prelude.Hashable TimeAlignmentBoundary where+  hashWithSalt _salt TimeAlignmentBoundary' {..} =+    _salt+      `Prelude.hashWithSalt` dayOfMonth+      `Prelude.hashWithSalt` dayOfWeek+      `Prelude.hashWithSalt` hour+      `Prelude.hashWithSalt` month++instance Prelude.NFData TimeAlignmentBoundary where+  rnf TimeAlignmentBoundary' {..} =+    Prelude.rnf dayOfMonth+      `Prelude.seq` Prelude.rnf dayOfWeek+      `Prelude.seq` Prelude.rnf hour+      `Prelude.seq` Prelude.rnf month++instance Data.ToJSON TimeAlignmentBoundary where+  toJSON TimeAlignmentBoundary' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DayOfMonth" Data..=) Prelude.<$> dayOfMonth,+            ("DayOfWeek" Data..=) Prelude.<$> dayOfWeek,+            ("Hour" Data..=) Prelude.<$> hour,+            ("Month" Data..=) Prelude.<$> month+          ]+      )
+ gen/Amazonka/Forecast/Types/TimePointGranularity.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.Forecast.Types.TimePointGranularity+-- 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.Forecast.Types.TimePointGranularity+  ( TimePointGranularity+      ( ..,+        TimePointGranularity_ALL,+        TimePointGranularity_SPECIFIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TimePointGranularity = TimePointGranularity'+  { fromTimePointGranularity ::+      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 TimePointGranularity_ALL :: TimePointGranularity+pattern TimePointGranularity_ALL = TimePointGranularity' "ALL"++pattern TimePointGranularity_SPECIFIC :: TimePointGranularity+pattern TimePointGranularity_SPECIFIC = TimePointGranularity' "SPECIFIC"++{-# COMPLETE+  TimePointGranularity_ALL,+  TimePointGranularity_SPECIFIC,+  TimePointGranularity'+  #-}
+ gen/Amazonka/Forecast/Types/TimeSeriesCondition.hs view
@@ -0,0 +1,131 @@+{-# 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.Forecast.Types.TimeSeriesCondition+-- 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.Forecast.Types.TimeSeriesCondition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.Condition+import qualified Amazonka.Prelude as Prelude++-- | Creates a subset of items within an attribute that are modified. For+-- example, you can use this operation to create a subset of items that+-- cost $5 or less. To do this, you specify @\"AttributeName\": \"price\"@,+-- @\"AttributeValue\": \"5\"@, and @\"Condition\": \"LESS_THAN\"@. Pair+-- this operation with the Action operation within the+-- CreateWhatIfForecastRequest$TimeSeriesTransformations operation to+-- define how the attribute is modified.+--+-- /See:/ 'newTimeSeriesCondition' smart constructor.+data TimeSeriesCondition = TimeSeriesCondition'+  { -- | The item_id, dimension name, IM name, or timestamp that you are+    -- modifying.+    attributeName :: Prelude.Text,+    -- | The value that is applied for the chosen @Condition@.+    attributeValue :: Prelude.Text,+    -- | The condition to apply. Valid values are @EQUALS@, @NOT_EQUALS@,+    -- @LESS_THAN@ and @GREATER_THAN@.+    condition :: Condition+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesCondition' 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:+--+-- 'attributeName', 'timeSeriesCondition_attributeName' - The item_id, dimension name, IM name, or timestamp that you are+-- modifying.+--+-- 'attributeValue', 'timeSeriesCondition_attributeValue' - The value that is applied for the chosen @Condition@.+--+-- 'condition', 'timeSeriesCondition_condition' - The condition to apply. Valid values are @EQUALS@, @NOT_EQUALS@,+-- @LESS_THAN@ and @GREATER_THAN@.+newTimeSeriesCondition ::+  -- | 'attributeName'+  Prelude.Text ->+  -- | 'attributeValue'+  Prelude.Text ->+  -- | 'condition'+  Condition ->+  TimeSeriesCondition+newTimeSeriesCondition+  pAttributeName_+  pAttributeValue_+  pCondition_ =+    TimeSeriesCondition'+      { attributeName =+          pAttributeName_,+        attributeValue = pAttributeValue_,+        condition = pCondition_+      }++-- | The item_id, dimension name, IM name, or timestamp that you are+-- modifying.+timeSeriesCondition_attributeName :: Lens.Lens' TimeSeriesCondition Prelude.Text+timeSeriesCondition_attributeName = Lens.lens (\TimeSeriesCondition' {attributeName} -> attributeName) (\s@TimeSeriesCondition' {} a -> s {attributeName = a} :: TimeSeriesCondition)++-- | The value that is applied for the chosen @Condition@.+timeSeriesCondition_attributeValue :: Lens.Lens' TimeSeriesCondition Prelude.Text+timeSeriesCondition_attributeValue = Lens.lens (\TimeSeriesCondition' {attributeValue} -> attributeValue) (\s@TimeSeriesCondition' {} a -> s {attributeValue = a} :: TimeSeriesCondition)++-- | The condition to apply. Valid values are @EQUALS@, @NOT_EQUALS@,+-- @LESS_THAN@ and @GREATER_THAN@.+timeSeriesCondition_condition :: Lens.Lens' TimeSeriesCondition Condition+timeSeriesCondition_condition = Lens.lens (\TimeSeriesCondition' {condition} -> condition) (\s@TimeSeriesCondition' {} a -> s {condition = a} :: TimeSeriesCondition)++instance Data.FromJSON TimeSeriesCondition where+  parseJSON =+    Data.withObject+      "TimeSeriesCondition"+      ( \x ->+          TimeSeriesCondition'+            Prelude.<$> (x Data..: "AttributeName")+            Prelude.<*> (x Data..: "AttributeValue")+            Prelude.<*> (x Data..: "Condition")+      )++instance Prelude.Hashable TimeSeriesCondition where+  hashWithSalt _salt TimeSeriesCondition' {..} =+    _salt+      `Prelude.hashWithSalt` attributeName+      `Prelude.hashWithSalt` attributeValue+      `Prelude.hashWithSalt` condition++instance Prelude.NFData TimeSeriesCondition where+  rnf TimeSeriesCondition' {..} =+    Prelude.rnf attributeName+      `Prelude.seq` Prelude.rnf attributeValue+      `Prelude.seq` Prelude.rnf condition++instance Data.ToJSON TimeSeriesCondition where+  toJSON TimeSeriesCondition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("AttributeName" Data..= attributeName),+            Prelude.Just+              ("AttributeValue" Data..= attributeValue),+            Prelude.Just ("Condition" Data..= condition)+          ]+      )
+ gen/Amazonka/Forecast/Types/TimeSeriesGranularity.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.Forecast.Types.TimeSeriesGranularity+-- 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.Forecast.Types.TimeSeriesGranularity+  ( TimeSeriesGranularity+      ( ..,+        TimeSeriesGranularity_ALL,+        TimeSeriesGranularity_SPECIFIC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TimeSeriesGranularity = TimeSeriesGranularity'+  { fromTimeSeriesGranularity ::+      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 TimeSeriesGranularity_ALL :: TimeSeriesGranularity+pattern TimeSeriesGranularity_ALL = TimeSeriesGranularity' "ALL"++pattern TimeSeriesGranularity_SPECIFIC :: TimeSeriesGranularity+pattern TimeSeriesGranularity_SPECIFIC = TimeSeriesGranularity' "SPECIFIC"++{-# COMPLETE+  TimeSeriesGranularity_ALL,+  TimeSeriesGranularity_SPECIFIC,+  TimeSeriesGranularity'+  #-}
+ gen/Amazonka/Forecast/Types/TimeSeriesIdentifiers.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Forecast.Types.TimeSeriesIdentifiers+-- 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.Forecast.Types.TimeSeriesIdentifiers where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DataSource+import Amazonka.Forecast.Types.Schema+import qualified Amazonka.Prelude as Prelude++-- | Details about the import file that contains the time series for which+-- you want to create forecasts.+--+-- /See:/ 'newTimeSeriesIdentifiers' smart constructor.+data TimeSeriesIdentifiers = TimeSeriesIdentifiers'+  { dataSource :: Prelude.Maybe DataSource,+    -- | The format of the data, either CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    schema :: Prelude.Maybe Schema+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesIdentifiers' 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:+--+-- 'dataSource', 'timeSeriesIdentifiers_dataSource' - Undocumented member.+--+-- 'format', 'timeSeriesIdentifiers_format' - The format of the data, either CSV or PARQUET.+--+-- 'schema', 'timeSeriesIdentifiers_schema' - Undocumented member.+newTimeSeriesIdentifiers ::+  TimeSeriesIdentifiers+newTimeSeriesIdentifiers =+  TimeSeriesIdentifiers'+    { dataSource =+        Prelude.Nothing,+      format = Prelude.Nothing,+      schema = Prelude.Nothing+    }++-- | Undocumented member.+timeSeriesIdentifiers_dataSource :: Lens.Lens' TimeSeriesIdentifiers (Prelude.Maybe DataSource)+timeSeriesIdentifiers_dataSource = Lens.lens (\TimeSeriesIdentifiers' {dataSource} -> dataSource) (\s@TimeSeriesIdentifiers' {} a -> s {dataSource = a} :: TimeSeriesIdentifiers)++-- | The format of the data, either CSV or PARQUET.+timeSeriesIdentifiers_format :: Lens.Lens' TimeSeriesIdentifiers (Prelude.Maybe Prelude.Text)+timeSeriesIdentifiers_format = Lens.lens (\TimeSeriesIdentifiers' {format} -> format) (\s@TimeSeriesIdentifiers' {} a -> s {format = a} :: TimeSeriesIdentifiers)++-- | Undocumented member.+timeSeriesIdentifiers_schema :: Lens.Lens' TimeSeriesIdentifiers (Prelude.Maybe Schema)+timeSeriesIdentifiers_schema = Lens.lens (\TimeSeriesIdentifiers' {schema} -> schema) (\s@TimeSeriesIdentifiers' {} a -> s {schema = a} :: TimeSeriesIdentifiers)++instance Data.FromJSON TimeSeriesIdentifiers where+  parseJSON =+    Data.withObject+      "TimeSeriesIdentifiers"+      ( \x ->+          TimeSeriesIdentifiers'+            Prelude.<$> (x Data..:? "DataSource")+            Prelude.<*> (x Data..:? "Format")+            Prelude.<*> (x Data..:? "Schema")+      )++instance Prelude.Hashable TimeSeriesIdentifiers where+  hashWithSalt _salt TimeSeriesIdentifiers' {..} =+    _salt+      `Prelude.hashWithSalt` dataSource+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` schema++instance Prelude.NFData TimeSeriesIdentifiers where+  rnf TimeSeriesIdentifiers' {..} =+    Prelude.rnf dataSource+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf schema++instance Data.ToJSON TimeSeriesIdentifiers where+  toJSON TimeSeriesIdentifiers' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataSource" Data..=) Prelude.<$> dataSource,+            ("Format" Data..=) Prelude.<$> format,+            ("Schema" Data..=) Prelude.<$> schema+          ]+      )
+ gen/Amazonka/Forecast/Types/TimeSeriesReplacementsDataSource.hs view
@@ -0,0 +1,144 @@+{-# 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.Forecast.Types.TimeSeriesReplacementsDataSource+-- 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.Forecast.Types.TimeSeriesReplacementsDataSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.S3Config+import Amazonka.Forecast.Types.Schema+import qualified Amazonka.Prelude as Prelude++-- | A replacement dataset is a modified version of the baseline related time+-- series that contains only the values that you want to include in a+-- what-if forecast. The replacement dataset must contain the forecast+-- dimensions and item identifiers in the baseline related time series as+-- well as at least 1 changed time series. This dataset is merged with the+-- baseline related time series to create a transformed dataset that is+-- used for the what-if forecast.+--+-- /See:/ 'newTimeSeriesReplacementsDataSource' smart constructor.+data TimeSeriesReplacementsDataSource = TimeSeriesReplacementsDataSource'+  { -- | The format of the replacement data, CSV or PARQUET.+    format :: Prelude.Maybe Prelude.Text,+    -- | The timestamp format of the replacement data.+    timestampFormat :: Prelude.Maybe Prelude.Text,+    s3Config :: S3Config,+    schema :: Schema+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesReplacementsDataSource' 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:+--+-- 'format', 'timeSeriesReplacementsDataSource_format' - The format of the replacement data, CSV or PARQUET.+--+-- 'timestampFormat', 'timeSeriesReplacementsDataSource_timestampFormat' - The timestamp format of the replacement data.+--+-- 's3Config', 'timeSeriesReplacementsDataSource_s3Config' - Undocumented member.+--+-- 'schema', 'timeSeriesReplacementsDataSource_schema' - Undocumented member.+newTimeSeriesReplacementsDataSource ::+  -- | 's3Config'+  S3Config ->+  -- | 'schema'+  Schema ->+  TimeSeriesReplacementsDataSource+newTimeSeriesReplacementsDataSource+  pS3Config_+  pSchema_ =+    TimeSeriesReplacementsDataSource'+      { format =+          Prelude.Nothing,+        timestampFormat = Prelude.Nothing,+        s3Config = pS3Config_,+        schema = pSchema_+      }++-- | The format of the replacement data, CSV or PARQUET.+timeSeriesReplacementsDataSource_format :: Lens.Lens' TimeSeriesReplacementsDataSource (Prelude.Maybe Prelude.Text)+timeSeriesReplacementsDataSource_format = Lens.lens (\TimeSeriesReplacementsDataSource' {format} -> format) (\s@TimeSeriesReplacementsDataSource' {} a -> s {format = a} :: TimeSeriesReplacementsDataSource)++-- | The timestamp format of the replacement data.+timeSeriesReplacementsDataSource_timestampFormat :: Lens.Lens' TimeSeriesReplacementsDataSource (Prelude.Maybe Prelude.Text)+timeSeriesReplacementsDataSource_timestampFormat = Lens.lens (\TimeSeriesReplacementsDataSource' {timestampFormat} -> timestampFormat) (\s@TimeSeriesReplacementsDataSource' {} a -> s {timestampFormat = a} :: TimeSeriesReplacementsDataSource)++-- | Undocumented member.+timeSeriesReplacementsDataSource_s3Config :: Lens.Lens' TimeSeriesReplacementsDataSource S3Config+timeSeriesReplacementsDataSource_s3Config = Lens.lens (\TimeSeriesReplacementsDataSource' {s3Config} -> s3Config) (\s@TimeSeriesReplacementsDataSource' {} a -> s {s3Config = a} :: TimeSeriesReplacementsDataSource)++-- | Undocumented member.+timeSeriesReplacementsDataSource_schema :: Lens.Lens' TimeSeriesReplacementsDataSource Schema+timeSeriesReplacementsDataSource_schema = Lens.lens (\TimeSeriesReplacementsDataSource' {schema} -> schema) (\s@TimeSeriesReplacementsDataSource' {} a -> s {schema = a} :: TimeSeriesReplacementsDataSource)++instance+  Data.FromJSON+    TimeSeriesReplacementsDataSource+  where+  parseJSON =+    Data.withObject+      "TimeSeriesReplacementsDataSource"+      ( \x ->+          TimeSeriesReplacementsDataSource'+            Prelude.<$> (x Data..:? "Format")+            Prelude.<*> (x Data..:? "TimestampFormat")+            Prelude.<*> (x Data..: "S3Config")+            Prelude.<*> (x Data..: "Schema")+      )++instance+  Prelude.Hashable+    TimeSeriesReplacementsDataSource+  where+  hashWithSalt+    _salt+    TimeSeriesReplacementsDataSource' {..} =+      _salt+        `Prelude.hashWithSalt` format+        `Prelude.hashWithSalt` timestampFormat+        `Prelude.hashWithSalt` s3Config+        `Prelude.hashWithSalt` schema++instance+  Prelude.NFData+    TimeSeriesReplacementsDataSource+  where+  rnf TimeSeriesReplacementsDataSource' {..} =+    Prelude.rnf format+      `Prelude.seq` Prelude.rnf timestampFormat+      `Prelude.seq` Prelude.rnf s3Config+      `Prelude.seq` Prelude.rnf schema++instance Data.ToJSON TimeSeriesReplacementsDataSource where+  toJSON TimeSeriesReplacementsDataSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Format" Data..=) Prelude.<$> format,+            ("TimestampFormat" Data..=)+              Prelude.<$> timestampFormat,+            Prelude.Just ("S3Config" Data..= s3Config),+            Prelude.Just ("Schema" Data..= schema)+          ]+      )
+ gen/Amazonka/Forecast/Types/TimeSeriesSelector.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.Forecast.Types.TimeSeriesSelector+-- 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.Forecast.Types.TimeSeriesSelector where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.TimeSeriesIdentifiers+import qualified Amazonka.Prelude as Prelude++-- | Defines the set of time series that are used to create the forecasts in+-- a @TimeSeriesIdentifiers@ object.+--+-- The @TimeSeriesIdentifiers@ object needs the following information:+--+-- -   @DataSource@+--+-- -   @Format@+--+-- -   @Schema@+--+-- /See:/ 'newTimeSeriesSelector' smart constructor.+data TimeSeriesSelector = TimeSeriesSelector'+  { -- | Details about the import file that contains the time series for which+    -- you want to create forecasts.+    timeSeriesIdentifiers :: Prelude.Maybe TimeSeriesIdentifiers+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesSelector' 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:+--+-- 'timeSeriesIdentifiers', 'timeSeriesSelector_timeSeriesIdentifiers' - Details about the import file that contains the time series for which+-- you want to create forecasts.+newTimeSeriesSelector ::+  TimeSeriesSelector+newTimeSeriesSelector =+  TimeSeriesSelector'+    { timeSeriesIdentifiers =+        Prelude.Nothing+    }++-- | Details about the import file that contains the time series for which+-- you want to create forecasts.+timeSeriesSelector_timeSeriesIdentifiers :: Lens.Lens' TimeSeriesSelector (Prelude.Maybe TimeSeriesIdentifiers)+timeSeriesSelector_timeSeriesIdentifiers = Lens.lens (\TimeSeriesSelector' {timeSeriesIdentifiers} -> timeSeriesIdentifiers) (\s@TimeSeriesSelector' {} a -> s {timeSeriesIdentifiers = a} :: TimeSeriesSelector)++instance Data.FromJSON TimeSeriesSelector where+  parseJSON =+    Data.withObject+      "TimeSeriesSelector"+      ( \x ->+          TimeSeriesSelector'+            Prelude.<$> (x Data..:? "TimeSeriesIdentifiers")+      )++instance Prelude.Hashable TimeSeriesSelector where+  hashWithSalt _salt TimeSeriesSelector' {..} =+    _salt `Prelude.hashWithSalt` timeSeriesIdentifiers++instance Prelude.NFData TimeSeriesSelector where+  rnf TimeSeriesSelector' {..} =+    Prelude.rnf timeSeriesIdentifiers++instance Data.ToJSON TimeSeriesSelector where+  toJSON TimeSeriesSelector' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TimeSeriesIdentifiers" Data..=)+              Prelude.<$> timeSeriesIdentifiers+          ]+      )
+ gen/Amazonka/Forecast/Types/TimeSeriesTransformation.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.Forecast.Types.TimeSeriesTransformation+-- 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.Forecast.Types.TimeSeriesTransformation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.Action+import Amazonka.Forecast.Types.TimeSeriesCondition+import qualified Amazonka.Prelude as Prelude++-- | A transformation function is a pair of operations that select and modify+-- the rows in a related time series. You select the rows that you want+-- with a condition operation and you modify the rows with a transformation+-- operation. All conditions are joined with an AND operation, meaning that+-- all conditions must be true for the transformation to be applied.+-- Transformations are applied in the order that they are listed.+--+-- /See:/ 'newTimeSeriesTransformation' smart constructor.+data TimeSeriesTransformation = TimeSeriesTransformation'+  { -- | An array of actions that define a time series and how it is transformed.+    -- These transformations create a new time series that is used for the+    -- what-if analysis.+    action :: Prelude.Maybe Action,+    -- | An array of conditions that define which members of the related time+    -- series are transformed.+    timeSeriesConditions :: Prelude.Maybe [TimeSeriesCondition]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSeriesTransformation' 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', 'timeSeriesTransformation_action' - An array of actions that define a time series and how it is transformed.+-- These transformations create a new time series that is used for the+-- what-if analysis.+--+-- 'timeSeriesConditions', 'timeSeriesTransformation_timeSeriesConditions' - An array of conditions that define which members of the related time+-- series are transformed.+newTimeSeriesTransformation ::+  TimeSeriesTransformation+newTimeSeriesTransformation =+  TimeSeriesTransformation'+    { action = Prelude.Nothing,+      timeSeriesConditions = Prelude.Nothing+    }++-- | An array of actions that define a time series and how it is transformed.+-- These transformations create a new time series that is used for the+-- what-if analysis.+timeSeriesTransformation_action :: Lens.Lens' TimeSeriesTransformation (Prelude.Maybe Action)+timeSeriesTransformation_action = Lens.lens (\TimeSeriesTransformation' {action} -> action) (\s@TimeSeriesTransformation' {} a -> s {action = a} :: TimeSeriesTransformation)++-- | An array of conditions that define which members of the related time+-- series are transformed.+timeSeriesTransformation_timeSeriesConditions :: Lens.Lens' TimeSeriesTransformation (Prelude.Maybe [TimeSeriesCondition])+timeSeriesTransformation_timeSeriesConditions = Lens.lens (\TimeSeriesTransformation' {timeSeriesConditions} -> timeSeriesConditions) (\s@TimeSeriesTransformation' {} a -> s {timeSeriesConditions = a} :: TimeSeriesTransformation) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TimeSeriesTransformation where+  parseJSON =+    Data.withObject+      "TimeSeriesTransformation"+      ( \x ->+          TimeSeriesTransformation'+            Prelude.<$> (x Data..:? "Action")+            Prelude.<*> ( x+                            Data..:? "TimeSeriesConditions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable TimeSeriesTransformation where+  hashWithSalt _salt TimeSeriesTransformation' {..} =+    _salt+      `Prelude.hashWithSalt` action+      `Prelude.hashWithSalt` timeSeriesConditions++instance Prelude.NFData TimeSeriesTransformation where+  rnf TimeSeriesTransformation' {..} =+    Prelude.rnf action+      `Prelude.seq` Prelude.rnf timeSeriesConditions++instance Data.ToJSON TimeSeriesTransformation where+  toJSON TimeSeriesTransformation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Action" Data..=) Prelude.<$> action,+            ("TimeSeriesConditions" Data..=)+              Prelude.<$> timeSeriesConditions+          ]+      )
+ gen/Amazonka/Forecast/Types/WeightedQuantileLoss.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.Forecast.Types.WeightedQuantileLoss+-- 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.Forecast.Types.WeightedQuantileLoss 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 weighted loss value for a quantile. This object is part of the+-- Metrics object.+--+-- /See:/ 'newWeightedQuantileLoss' smart constructor.+data WeightedQuantileLoss = WeightedQuantileLoss'+  { -- | The difference between the predicted value and the actual value over the+    -- quantile, weighted (normalized) by dividing by the sum over all+    -- quantiles.+    lossValue :: Prelude.Maybe Prelude.Double,+    -- | The quantile. Quantiles divide a probability distribution into regions+    -- of equal probability. For example, if the distribution was divided into+    -- 5 regions of equal probability, the quantiles would be 0.2, 0.4, 0.6,+    -- and 0.8.+    quantile :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WeightedQuantileLoss' 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:+--+-- 'lossValue', 'weightedQuantileLoss_lossValue' - The difference between the predicted value and the actual value over the+-- quantile, weighted (normalized) by dividing by the sum over all+-- quantiles.+--+-- 'quantile', 'weightedQuantileLoss_quantile' - The quantile. Quantiles divide a probability distribution into regions+-- of equal probability. For example, if the distribution was divided into+-- 5 regions of equal probability, the quantiles would be 0.2, 0.4, 0.6,+-- and 0.8.+newWeightedQuantileLoss ::+  WeightedQuantileLoss+newWeightedQuantileLoss =+  WeightedQuantileLoss'+    { lossValue = Prelude.Nothing,+      quantile = Prelude.Nothing+    }++-- | The difference between the predicted value and the actual value over the+-- quantile, weighted (normalized) by dividing by the sum over all+-- quantiles.+weightedQuantileLoss_lossValue :: Lens.Lens' WeightedQuantileLoss (Prelude.Maybe Prelude.Double)+weightedQuantileLoss_lossValue = Lens.lens (\WeightedQuantileLoss' {lossValue} -> lossValue) (\s@WeightedQuantileLoss' {} a -> s {lossValue = a} :: WeightedQuantileLoss)++-- | The quantile. Quantiles divide a probability distribution into regions+-- of equal probability. For example, if the distribution was divided into+-- 5 regions of equal probability, the quantiles would be 0.2, 0.4, 0.6,+-- and 0.8.+weightedQuantileLoss_quantile :: Lens.Lens' WeightedQuantileLoss (Prelude.Maybe Prelude.Double)+weightedQuantileLoss_quantile = Lens.lens (\WeightedQuantileLoss' {quantile} -> quantile) (\s@WeightedQuantileLoss' {} a -> s {quantile = a} :: WeightedQuantileLoss)++instance Data.FromJSON WeightedQuantileLoss where+  parseJSON =+    Data.withObject+      "WeightedQuantileLoss"+      ( \x ->+          WeightedQuantileLoss'+            Prelude.<$> (x Data..:? "LossValue")+            Prelude.<*> (x Data..:? "Quantile")+      )++instance Prelude.Hashable WeightedQuantileLoss where+  hashWithSalt _salt WeightedQuantileLoss' {..} =+    _salt+      `Prelude.hashWithSalt` lossValue+      `Prelude.hashWithSalt` quantile++instance Prelude.NFData WeightedQuantileLoss where+  rnf WeightedQuantileLoss' {..} =+    Prelude.rnf lossValue+      `Prelude.seq` Prelude.rnf quantile
+ gen/Amazonka/Forecast/Types/WhatIfAnalysisSummary.hs view
@@ -0,0 +1,217 @@+{-# 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.Forecast.Types.WhatIfAnalysisSummary+-- 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.Forecast.Types.WhatIfAnalysisSummary 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++-- | Provides a summary of the what-if analysis properties used in the+-- ListWhatIfAnalyses operation. To get the complete set of properties,+-- call the DescribeWhatIfAnalysis operation, and provide the+-- @WhatIfAnalysisArn@ that is listed in the summary.+--+-- /See:/ 'newWhatIfAnalysisSummary' smart constructor.+data WhatIfAnalysisSummary = WhatIfAnalysisSummary'+  { -- | When the what-if analysis was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the baseline forecast that is being+    -- used in this what-if analysis.+    forecastArn :: Prelude.Maybe Prelude.Text,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the what-if analysis. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+    -- access the analysis.+    status :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the what-if analysis.+    whatIfAnalysisArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the what-if analysis.+    whatIfAnalysisName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WhatIfAnalysisSummary' 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:+--+-- 'creationTime', 'whatIfAnalysisSummary_creationTime' - When the what-if analysis was created.+--+-- 'forecastArn', 'whatIfAnalysisSummary_forecastArn' - The Amazon Resource Name (ARN) of the baseline forecast that is being+-- used in this what-if analysis.+--+-- 'lastModificationTime', 'whatIfAnalysisSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'whatIfAnalysisSummary_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'whatIfAnalysisSummary_status' - The status of the what-if analysis. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+--+-- 'whatIfAnalysisArn', 'whatIfAnalysisSummary_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis.+--+-- 'whatIfAnalysisName', 'whatIfAnalysisSummary_whatIfAnalysisName' - The name of the what-if analysis.+newWhatIfAnalysisSummary ::+  WhatIfAnalysisSummary+newWhatIfAnalysisSummary =+  WhatIfAnalysisSummary'+    { creationTime =+        Prelude.Nothing,+      forecastArn = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      whatIfAnalysisArn = Prelude.Nothing,+      whatIfAnalysisName = Prelude.Nothing+    }++-- | When the what-if analysis was created.+whatIfAnalysisSummary_creationTime :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.UTCTime)+whatIfAnalysisSummary_creationTime = Lens.lens (\WhatIfAnalysisSummary' {creationTime} -> creationTime) (\s@WhatIfAnalysisSummary' {} a -> s {creationTime = a} :: WhatIfAnalysisSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the baseline forecast that is being+-- used in this what-if analysis.+whatIfAnalysisSummary_forecastArn :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.Text)+whatIfAnalysisSummary_forecastArn = Lens.lens (\WhatIfAnalysisSummary' {forecastArn} -> forecastArn) (\s@WhatIfAnalysisSummary' {} a -> s {forecastArn = a} :: WhatIfAnalysisSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+whatIfAnalysisSummary_lastModificationTime :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.UTCTime)+whatIfAnalysisSummary_lastModificationTime = Lens.lens (\WhatIfAnalysisSummary' {lastModificationTime} -> lastModificationTime) (\s@WhatIfAnalysisSummary' {} a -> s {lastModificationTime = a} :: WhatIfAnalysisSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+whatIfAnalysisSummary_message :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.Text)+whatIfAnalysisSummary_message = Lens.lens (\WhatIfAnalysisSummary' {message} -> message) (\s@WhatIfAnalysisSummary' {} a -> s {message = a} :: WhatIfAnalysisSummary)++-- | The status of the what-if analysis. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+whatIfAnalysisSummary_status :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.Text)+whatIfAnalysisSummary_status = Lens.lens (\WhatIfAnalysisSummary' {status} -> status) (\s@WhatIfAnalysisSummary' {} a -> s {status = a} :: WhatIfAnalysisSummary)++-- | The Amazon Resource Name (ARN) of the what-if analysis.+whatIfAnalysisSummary_whatIfAnalysisArn :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.Text)+whatIfAnalysisSummary_whatIfAnalysisArn = Lens.lens (\WhatIfAnalysisSummary' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@WhatIfAnalysisSummary' {} a -> s {whatIfAnalysisArn = a} :: WhatIfAnalysisSummary)++-- | The name of the what-if analysis.+whatIfAnalysisSummary_whatIfAnalysisName :: Lens.Lens' WhatIfAnalysisSummary (Prelude.Maybe Prelude.Text)+whatIfAnalysisSummary_whatIfAnalysisName = Lens.lens (\WhatIfAnalysisSummary' {whatIfAnalysisName} -> whatIfAnalysisName) (\s@WhatIfAnalysisSummary' {} a -> s {whatIfAnalysisName = a} :: WhatIfAnalysisSummary)++instance Data.FromJSON WhatIfAnalysisSummary where+  parseJSON =+    Data.withObject+      "WhatIfAnalysisSummary"+      ( \x ->+          WhatIfAnalysisSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "ForecastArn")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "WhatIfAnalysisArn")+            Prelude.<*> (x Data..:? "WhatIfAnalysisName")+      )++instance Prelude.Hashable WhatIfAnalysisSummary where+  hashWithSalt _salt WhatIfAnalysisSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` forecastArn+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` whatIfAnalysisArn+      `Prelude.hashWithSalt` whatIfAnalysisName++instance Prelude.NFData WhatIfAnalysisSummary where+  rnf WhatIfAnalysisSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf forecastArn+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf whatIfAnalysisArn+      `Prelude.seq` Prelude.rnf whatIfAnalysisName
+ gen/Amazonka/Forecast/Types/WhatIfForecastExportSummary.hs view
@@ -0,0 +1,233 @@+{-# 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.Forecast.Types.WhatIfForecastExportSummary+-- 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.Forecast.Types.WhatIfForecastExportSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.DataDestination+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of the what-if forecast export properties used in the+-- ListWhatIfForecastExports operation. To get the complete set of+-- properties, call the DescribeWhatIfForecastExport operation, and provide+-- the @WhatIfForecastExportArn@ that is listed in the summary.+--+-- /See:/ 'newWhatIfForecastExportSummary' smart constructor.+data WhatIfForecastExportSummary = WhatIfForecastExportSummary'+  { -- | When the what-if forecast export was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The path to the Amazon Simple Storage Service (Amazon S3) bucket where+    -- the forecast is exported.+    destination :: Prelude.Maybe DataDestination,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the what-if forecast export. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+    -- access the analysis.+    status :: Prelude.Maybe Prelude.Text,+    -- | An array of Amazon Resource Names (ARNs) that define the what-if+    -- forecasts included in the export.+    whatIfForecastArns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the what-if forecast export.+    whatIfForecastExportArn :: Prelude.Maybe Prelude.Text,+    -- | The what-if forecast export name.+    whatIfForecastExportName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WhatIfForecastExportSummary' 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:+--+-- 'creationTime', 'whatIfForecastExportSummary_creationTime' - When the what-if forecast export was created.+--+-- 'destination', 'whatIfForecastExportSummary_destination' - The path to the Amazon Simple Storage Service (Amazon S3) bucket where+-- the forecast is exported.+--+-- 'lastModificationTime', 'whatIfForecastExportSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'whatIfForecastExportSummary_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'whatIfForecastExportSummary_status' - The status of the what-if forecast export. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+--+-- 'whatIfForecastArns', 'whatIfForecastExportSummary_whatIfForecastArns' - An array of Amazon Resource Names (ARNs) that define the what-if+-- forecasts included in the export.+--+-- 'whatIfForecastExportArn', 'whatIfForecastExportSummary_whatIfForecastExportArn' - The Amazon Resource Name (ARN) of the what-if forecast export.+--+-- 'whatIfForecastExportName', 'whatIfForecastExportSummary_whatIfForecastExportName' - The what-if forecast export name.+newWhatIfForecastExportSummary ::+  WhatIfForecastExportSummary+newWhatIfForecastExportSummary =+  WhatIfForecastExportSummary'+    { creationTime =+        Prelude.Nothing,+      destination = Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      whatIfForecastArns = Prelude.Nothing,+      whatIfForecastExportArn = Prelude.Nothing,+      whatIfForecastExportName = Prelude.Nothing+    }++-- | When the what-if forecast export was created.+whatIfForecastExportSummary_creationTime :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe Prelude.UTCTime)+whatIfForecastExportSummary_creationTime = Lens.lens (\WhatIfForecastExportSummary' {creationTime} -> creationTime) (\s@WhatIfForecastExportSummary' {} a -> s {creationTime = a} :: WhatIfForecastExportSummary) Prelude.. Lens.mapping Data._Time++-- | The path to the Amazon Simple Storage Service (Amazon S3) bucket where+-- the forecast is exported.+whatIfForecastExportSummary_destination :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe DataDestination)+whatIfForecastExportSummary_destination = Lens.lens (\WhatIfForecastExportSummary' {destination} -> destination) (\s@WhatIfForecastExportSummary' {} a -> s {destination = a} :: WhatIfForecastExportSummary)++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+whatIfForecastExportSummary_lastModificationTime :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe Prelude.UTCTime)+whatIfForecastExportSummary_lastModificationTime = Lens.lens (\WhatIfForecastExportSummary' {lastModificationTime} -> lastModificationTime) (\s@WhatIfForecastExportSummary' {} a -> s {lastModificationTime = a} :: WhatIfForecastExportSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+whatIfForecastExportSummary_message :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe Prelude.Text)+whatIfForecastExportSummary_message = Lens.lens (\WhatIfForecastExportSummary' {message} -> message) (\s@WhatIfForecastExportSummary' {} a -> s {message = a} :: WhatIfForecastExportSummary)++-- | The status of the what-if forecast export. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+whatIfForecastExportSummary_status :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe Prelude.Text)+whatIfForecastExportSummary_status = Lens.lens (\WhatIfForecastExportSummary' {status} -> status) (\s@WhatIfForecastExportSummary' {} a -> s {status = a} :: WhatIfForecastExportSummary)++-- | An array of Amazon Resource Names (ARNs) that define the what-if+-- forecasts included in the export.+whatIfForecastExportSummary_whatIfForecastArns :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+whatIfForecastExportSummary_whatIfForecastArns = Lens.lens (\WhatIfForecastExportSummary' {whatIfForecastArns} -> whatIfForecastArns) (\s@WhatIfForecastExportSummary' {} a -> s {whatIfForecastArns = a} :: WhatIfForecastExportSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the what-if forecast export.+whatIfForecastExportSummary_whatIfForecastExportArn :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe Prelude.Text)+whatIfForecastExportSummary_whatIfForecastExportArn = Lens.lens (\WhatIfForecastExportSummary' {whatIfForecastExportArn} -> whatIfForecastExportArn) (\s@WhatIfForecastExportSummary' {} a -> s {whatIfForecastExportArn = a} :: WhatIfForecastExportSummary)++-- | The what-if forecast export name.+whatIfForecastExportSummary_whatIfForecastExportName :: Lens.Lens' WhatIfForecastExportSummary (Prelude.Maybe Prelude.Text)+whatIfForecastExportSummary_whatIfForecastExportName = Lens.lens (\WhatIfForecastExportSummary' {whatIfForecastExportName} -> whatIfForecastExportName) (\s@WhatIfForecastExportSummary' {} a -> s {whatIfForecastExportName = a} :: WhatIfForecastExportSummary)++instance Data.FromJSON WhatIfForecastExportSummary where+  parseJSON =+    Data.withObject+      "WhatIfForecastExportSummary"+      ( \x ->+          WhatIfForecastExportSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "Destination")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "WhatIfForecastArns")+            Prelude.<*> (x Data..:? "WhatIfForecastExportArn")+            Prelude.<*> (x Data..:? "WhatIfForecastExportName")+      )++instance Prelude.Hashable WhatIfForecastExportSummary where+  hashWithSalt _salt WhatIfForecastExportSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` whatIfForecastArns+      `Prelude.hashWithSalt` whatIfForecastExportArn+      `Prelude.hashWithSalt` whatIfForecastExportName++instance Prelude.NFData WhatIfForecastExportSummary where+  rnf WhatIfForecastExportSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf whatIfForecastArns+      `Prelude.seq` Prelude.rnf whatIfForecastExportArn+      `Prelude.seq` Prelude.rnf whatIfForecastExportName
+ gen/Amazonka/Forecast/Types/WhatIfForecastSummary.hs view
@@ -0,0 +1,217 @@+{-# 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.Forecast.Types.WhatIfForecastSummary+-- 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.Forecast.Types.WhatIfForecastSummary 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++-- | Provides a summary of the what-if forecast properties used in the+-- ListWhatIfForecasts operation. To get the complete set of properties,+-- call the DescribeWhatIfForecast operation, and provide the+-- @WhatIfForecastArn@ that is listed in the summary.+--+-- /See:/ 'newWhatIfForecastSummary' smart constructor.+data WhatIfForecastSummary = WhatIfForecastSummary'+  { -- | When the what-if forecast was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The last time the resource was modified. The timestamp depends on the+    -- status of the job:+    --+    -- -   @CREATE_PENDING@ - The @CreationTime@.+    --+    -- -   @CREATE_IN_PROGRESS@ - The current timestamp.+    --+    -- -   @CREATE_STOPPING@ - The current timestamp.+    --+    -- -   @CREATE_STOPPED@ - When the job stopped.+    --+    -- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+    lastModificationTime :: Prelude.Maybe Data.POSIX,+    -- | If an error occurred, an informational message about the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The status of the what-if forecast. States include:+    --+    -- -   @ACTIVE@+    --+    -- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+    --+    -- -   @CREATE_STOPPING@, @CREATE_STOPPED@+    --+    -- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+    --+    -- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+    -- access the analysis.+    status :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the what-if analysis that contains+    -- this what-if forecast.+    whatIfAnalysisArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the what-if forecast.+    whatIfForecastArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the what-if forecast.+    whatIfForecastName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WhatIfForecastSummary' 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:+--+-- 'creationTime', 'whatIfForecastSummary_creationTime' - When the what-if forecast was created.+--+-- 'lastModificationTime', 'whatIfForecastSummary_lastModificationTime' - The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+--+-- 'message', 'whatIfForecastSummary_message' - If an error occurred, an informational message about the error.+--+-- 'status', 'whatIfForecastSummary_status' - The status of the what-if forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+--+-- 'whatIfAnalysisArn', 'whatIfForecastSummary_whatIfAnalysisArn' - The Amazon Resource Name (ARN) of the what-if analysis that contains+-- this what-if forecast.+--+-- 'whatIfForecastArn', 'whatIfForecastSummary_whatIfForecastArn' - The Amazon Resource Name (ARN) of the what-if forecast.+--+-- 'whatIfForecastName', 'whatIfForecastSummary_whatIfForecastName' - The name of the what-if forecast.+newWhatIfForecastSummary ::+  WhatIfForecastSummary+newWhatIfForecastSummary =+  WhatIfForecastSummary'+    { creationTime =+        Prelude.Nothing,+      lastModificationTime = Prelude.Nothing,+      message = Prelude.Nothing,+      status = Prelude.Nothing,+      whatIfAnalysisArn = Prelude.Nothing,+      whatIfForecastArn = Prelude.Nothing,+      whatIfForecastName = Prelude.Nothing+    }++-- | When the what-if forecast was created.+whatIfForecastSummary_creationTime :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.UTCTime)+whatIfForecastSummary_creationTime = Lens.lens (\WhatIfForecastSummary' {creationTime} -> creationTime) (\s@WhatIfForecastSummary' {} a -> s {creationTime = a} :: WhatIfForecastSummary) Prelude.. Lens.mapping Data._Time++-- | The last time the resource was modified. The timestamp depends on the+-- status of the job:+--+-- -   @CREATE_PENDING@ - The @CreationTime@.+--+-- -   @CREATE_IN_PROGRESS@ - The current timestamp.+--+-- -   @CREATE_STOPPING@ - The current timestamp.+--+-- -   @CREATE_STOPPED@ - When the job stopped.+--+-- -   @ACTIVE@ or @CREATE_FAILED@ - When the job finished or failed.+whatIfForecastSummary_lastModificationTime :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.UTCTime)+whatIfForecastSummary_lastModificationTime = Lens.lens (\WhatIfForecastSummary' {lastModificationTime} -> lastModificationTime) (\s@WhatIfForecastSummary' {} a -> s {lastModificationTime = a} :: WhatIfForecastSummary) Prelude.. Lens.mapping Data._Time++-- | If an error occurred, an informational message about the error.+whatIfForecastSummary_message :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.Text)+whatIfForecastSummary_message = Lens.lens (\WhatIfForecastSummary' {message} -> message) (\s@WhatIfForecastSummary' {} a -> s {message = a} :: WhatIfForecastSummary)++-- | The status of the what-if forecast. States include:+--+-- -   @ACTIVE@+--+-- -   @CREATE_PENDING@, @CREATE_IN_PROGRESS@, @CREATE_FAILED@+--+-- -   @CREATE_STOPPING@, @CREATE_STOPPED@+--+-- -   @DELETE_PENDING@, @DELETE_IN_PROGRESS@, @DELETE_FAILED@+--+-- The @Status@ of the what-if analysis must be @ACTIVE@ before you can+-- access the analysis.+whatIfForecastSummary_status :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.Text)+whatIfForecastSummary_status = Lens.lens (\WhatIfForecastSummary' {status} -> status) (\s@WhatIfForecastSummary' {} a -> s {status = a} :: WhatIfForecastSummary)++-- | The Amazon Resource Name (ARN) of the what-if analysis that contains+-- this what-if forecast.+whatIfForecastSummary_whatIfAnalysisArn :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.Text)+whatIfForecastSummary_whatIfAnalysisArn = Lens.lens (\WhatIfForecastSummary' {whatIfAnalysisArn} -> whatIfAnalysisArn) (\s@WhatIfForecastSummary' {} a -> s {whatIfAnalysisArn = a} :: WhatIfForecastSummary)++-- | The Amazon Resource Name (ARN) of the what-if forecast.+whatIfForecastSummary_whatIfForecastArn :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.Text)+whatIfForecastSummary_whatIfForecastArn = Lens.lens (\WhatIfForecastSummary' {whatIfForecastArn} -> whatIfForecastArn) (\s@WhatIfForecastSummary' {} a -> s {whatIfForecastArn = a} :: WhatIfForecastSummary)++-- | The name of the what-if forecast.+whatIfForecastSummary_whatIfForecastName :: Lens.Lens' WhatIfForecastSummary (Prelude.Maybe Prelude.Text)+whatIfForecastSummary_whatIfForecastName = Lens.lens (\WhatIfForecastSummary' {whatIfForecastName} -> whatIfForecastName) (\s@WhatIfForecastSummary' {} a -> s {whatIfForecastName = a} :: WhatIfForecastSummary)++instance Data.FromJSON WhatIfForecastSummary where+  parseJSON =+    Data.withObject+      "WhatIfForecastSummary"+      ( \x ->+          WhatIfForecastSummary'+            Prelude.<$> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "LastModificationTime")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "WhatIfAnalysisArn")+            Prelude.<*> (x Data..:? "WhatIfForecastArn")+            Prelude.<*> (x Data..:? "WhatIfForecastName")+      )++instance Prelude.Hashable WhatIfForecastSummary where+  hashWithSalt _salt WhatIfForecastSummary' {..} =+    _salt+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` lastModificationTime+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` whatIfAnalysisArn+      `Prelude.hashWithSalt` whatIfForecastArn+      `Prelude.hashWithSalt` whatIfForecastName++instance Prelude.NFData WhatIfForecastSummary where+  rnf WhatIfForecastSummary' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf lastModificationTime+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf whatIfAnalysisArn+      `Prelude.seq` Prelude.rnf whatIfForecastArn+      `Prelude.seq` Prelude.rnf whatIfForecastName
+ gen/Amazonka/Forecast/Types/WindowSummary.hs view
@@ -0,0 +1,138 @@+{-# 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.Forecast.Types.WindowSummary+-- 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.Forecast.Types.WindowSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types.EvaluationType+import Amazonka.Forecast.Types.Metrics+import qualified Amazonka.Prelude as Prelude++-- | The metrics for a time range within the evaluation portion of a dataset.+-- This object is part of the EvaluationResult object.+--+-- The @TestWindowStart@ and @TestWindowEnd@ parameters are determined by+-- the @BackTestWindowOffset@ parameter of the EvaluationParameters object.+--+-- /See:/ 'newWindowSummary' smart constructor.+data WindowSummary = WindowSummary'+  { -- | The type of evaluation.+    --+    -- -   @SUMMARY@ - The average metrics across all windows.+    --+    -- -   @COMPUTED@ - The metrics for the specified window.+    evaluationType :: Prelude.Maybe EvaluationType,+    -- | The number of data points within the window.+    itemCount :: Prelude.Maybe Prelude.Int,+    -- | Provides metrics used to evaluate the performance of a predictor.+    metrics :: Prelude.Maybe Metrics,+    -- | The timestamp that defines the end of the window.+    testWindowEnd :: Prelude.Maybe Data.POSIX,+    -- | The timestamp that defines the start of the window.+    testWindowStart :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WindowSummary' 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:+--+-- 'evaluationType', 'windowSummary_evaluationType' - The type of evaluation.+--+-- -   @SUMMARY@ - The average metrics across all windows.+--+-- -   @COMPUTED@ - The metrics for the specified window.+--+-- 'itemCount', 'windowSummary_itemCount' - The number of data points within the window.+--+-- 'metrics', 'windowSummary_metrics' - Provides metrics used to evaluate the performance of a predictor.+--+-- 'testWindowEnd', 'windowSummary_testWindowEnd' - The timestamp that defines the end of the window.+--+-- 'testWindowStart', 'windowSummary_testWindowStart' - The timestamp that defines the start of the window.+newWindowSummary ::+  WindowSummary+newWindowSummary =+  WindowSummary'+    { evaluationType = Prelude.Nothing,+      itemCount = Prelude.Nothing,+      metrics = Prelude.Nothing,+      testWindowEnd = Prelude.Nothing,+      testWindowStart = Prelude.Nothing+    }++-- | The type of evaluation.+--+-- -   @SUMMARY@ - The average metrics across all windows.+--+-- -   @COMPUTED@ - The metrics for the specified window.+windowSummary_evaluationType :: Lens.Lens' WindowSummary (Prelude.Maybe EvaluationType)+windowSummary_evaluationType = Lens.lens (\WindowSummary' {evaluationType} -> evaluationType) (\s@WindowSummary' {} a -> s {evaluationType = a} :: WindowSummary)++-- | The number of data points within the window.+windowSummary_itemCount :: Lens.Lens' WindowSummary (Prelude.Maybe Prelude.Int)+windowSummary_itemCount = Lens.lens (\WindowSummary' {itemCount} -> itemCount) (\s@WindowSummary' {} a -> s {itemCount = a} :: WindowSummary)++-- | Provides metrics used to evaluate the performance of a predictor.+windowSummary_metrics :: Lens.Lens' WindowSummary (Prelude.Maybe Metrics)+windowSummary_metrics = Lens.lens (\WindowSummary' {metrics} -> metrics) (\s@WindowSummary' {} a -> s {metrics = a} :: WindowSummary)++-- | The timestamp that defines the end of the window.+windowSummary_testWindowEnd :: Lens.Lens' WindowSummary (Prelude.Maybe Prelude.UTCTime)+windowSummary_testWindowEnd = Lens.lens (\WindowSummary' {testWindowEnd} -> testWindowEnd) (\s@WindowSummary' {} a -> s {testWindowEnd = a} :: WindowSummary) Prelude.. Lens.mapping Data._Time++-- | The timestamp that defines the start of the window.+windowSummary_testWindowStart :: Lens.Lens' WindowSummary (Prelude.Maybe Prelude.UTCTime)+windowSummary_testWindowStart = Lens.lens (\WindowSummary' {testWindowStart} -> testWindowStart) (\s@WindowSummary' {} a -> s {testWindowStart = a} :: WindowSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON WindowSummary where+  parseJSON =+    Data.withObject+      "WindowSummary"+      ( \x ->+          WindowSummary'+            Prelude.<$> (x Data..:? "EvaluationType")+            Prelude.<*> (x Data..:? "ItemCount")+            Prelude.<*> (x Data..:? "Metrics")+            Prelude.<*> (x Data..:? "TestWindowEnd")+            Prelude.<*> (x Data..:? "TestWindowStart")+      )++instance Prelude.Hashable WindowSummary where+  hashWithSalt _salt WindowSummary' {..} =+    _salt+      `Prelude.hashWithSalt` evaluationType+      `Prelude.hashWithSalt` itemCount+      `Prelude.hashWithSalt` metrics+      `Prelude.hashWithSalt` testWindowEnd+      `Prelude.hashWithSalt` testWindowStart++instance Prelude.NFData WindowSummary where+  rnf WindowSummary' {..} =+    Prelude.rnf evaluationType+      `Prelude.seq` Prelude.rnf itemCount+      `Prelude.seq` Prelude.rnf metrics+      `Prelude.seq` Prelude.rnf testWindowEnd+      `Prelude.seq` Prelude.rnf testWindowStart
+ gen/Amazonka/Forecast/UntagResource.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.Forecast.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)+--+-- Deletes the specified tags from a resource.+module Amazonka.Forecast.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.Forecast.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 Amazon Resource Name (ARN) that identifies the resource for which to+    -- list the tags.+    resourceArn :: Prelude.Text,+    -- | The keys of the tags to be removed.+    tagKeys :: [Data.Sensitive Prelude.Text]+  }+  deriving (Prelude.Eq, 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 Amazon Resource Name (ARN) that identifies the resource for which to+-- list the tags.+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys of the tags to be removed.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) that identifies the resource for which to+-- list the tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The keys of the tags to be removed.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.UntagResource" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceArn" Data..= resourceArn),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/UpdateDatasetGroup.hs view
@@ -0,0 +1,184 @@+{-# 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.Forecast.UpdateDatasetGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Replaces the datasets in a dataset group with the specified datasets.+--+-- The @Status@ of the dataset group must be @ACTIVE@ before you can use+-- the dataset group to create a predictor. Use the+-- <https://docs.aws.amazon.com/forecast/latest/dg/API_DescribeDatasetGroup.html DescribeDatasetGroup>+-- operation to get the status.+module Amazonka.Forecast.UpdateDatasetGroup+  ( -- * Creating a Request+    UpdateDatasetGroup (..),+    newUpdateDatasetGroup,++    -- * Request Lenses+    updateDatasetGroup_datasetGroupArn,+    updateDatasetGroup_datasetArns,++    -- * Destructuring the Response+    UpdateDatasetGroupResponse (..),+    newUpdateDatasetGroupResponse,++    -- * Response Lenses+    updateDatasetGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDatasetGroup' smart constructor.+data UpdateDatasetGroup = UpdateDatasetGroup'+  { -- | The ARN of the dataset group.+    datasetGroupArn :: Prelude.Text,+    -- | An array of the Amazon Resource Names (ARNs) of the datasets to add to+    -- the dataset group.+    datasetArns :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatasetGroup' 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:+--+-- 'datasetGroupArn', 'updateDatasetGroup_datasetGroupArn' - The ARN of the dataset group.+--+-- 'datasetArns', 'updateDatasetGroup_datasetArns' - An array of the Amazon Resource Names (ARNs) of the datasets to add to+-- the dataset group.+newUpdateDatasetGroup ::+  -- | 'datasetGroupArn'+  Prelude.Text ->+  UpdateDatasetGroup+newUpdateDatasetGroup pDatasetGroupArn_ =+  UpdateDatasetGroup'+    { datasetGroupArn =+        pDatasetGroupArn_,+      datasetArns = Prelude.mempty+    }++-- | The ARN of the dataset group.+updateDatasetGroup_datasetGroupArn :: Lens.Lens' UpdateDatasetGroup Prelude.Text+updateDatasetGroup_datasetGroupArn = Lens.lens (\UpdateDatasetGroup' {datasetGroupArn} -> datasetGroupArn) (\s@UpdateDatasetGroup' {} a -> s {datasetGroupArn = a} :: UpdateDatasetGroup)++-- | An array of the Amazon Resource Names (ARNs) of the datasets to add to+-- the dataset group.+updateDatasetGroup_datasetArns :: Lens.Lens' UpdateDatasetGroup [Prelude.Text]+updateDatasetGroup_datasetArns = Lens.lens (\UpdateDatasetGroup' {datasetArns} -> datasetArns) (\s@UpdateDatasetGroup' {} a -> s {datasetArns = a} :: UpdateDatasetGroup) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateDatasetGroup where+  type+    AWSResponse UpdateDatasetGroup =+      UpdateDatasetGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateDatasetGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDatasetGroup where+  hashWithSalt _salt UpdateDatasetGroup' {..} =+    _salt+      `Prelude.hashWithSalt` datasetGroupArn+      `Prelude.hashWithSalt` datasetArns++instance Prelude.NFData UpdateDatasetGroup where+  rnf UpdateDatasetGroup' {..} =+    Prelude.rnf datasetGroupArn+      `Prelude.seq` Prelude.rnf datasetArns++instance Data.ToHeaders UpdateDatasetGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AmazonForecast.UpdateDatasetGroup" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDatasetGroup where+  toJSON UpdateDatasetGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DatasetGroupArn" Data..= datasetGroupArn),+            Prelude.Just ("DatasetArns" Data..= datasetArns)+          ]+      )++instance Data.ToPath UpdateDatasetGroup where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateDatasetGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDatasetGroupResponse' smart constructor.+data UpdateDatasetGroupResponse = UpdateDatasetGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatasetGroupResponse' 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', 'updateDatasetGroupResponse_httpStatus' - The response's http status code.+newUpdateDatasetGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDatasetGroupResponse+newUpdateDatasetGroupResponse pHttpStatus_ =+  UpdateDatasetGroupResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateDatasetGroupResponse_httpStatus :: Lens.Lens' UpdateDatasetGroupResponse Prelude.Int+updateDatasetGroupResponse_httpStatus = Lens.lens (\UpdateDatasetGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateDatasetGroupResponse' {} a -> s {httpStatus = a} :: UpdateDatasetGroupResponse)++instance Prelude.NFData UpdateDatasetGroupResponse where+  rnf UpdateDatasetGroupResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Forecast/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.Forecast.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.Forecast.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Forecast.Lens+import Amazonka.Forecast.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.Forecast+import Test.Amazonka.Forecast.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Forecast"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Forecast.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Forecast+-- 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.Forecast+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Forecast/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Forecast.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.Forecast.Internal where
+ test/Test/Amazonka/Gen/Forecast.hs view
@@ -0,0 +1,1298 @@+{-# 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.Forecast+-- 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.Forecast where++import Amazonka.Forecast+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Forecast.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"+--         [ requestCreateAutoPredictor $+--             newCreateAutoPredictor+--+--         , requestCreateDataset $+--             newCreateDataset+--+--         , requestCreateDatasetGroup $+--             newCreateDatasetGroup+--+--         , requestCreateDatasetImportJob $+--             newCreateDatasetImportJob+--+--         , requestCreateExplainability $+--             newCreateExplainability+--+--         , requestCreateExplainabilityExport $+--             newCreateExplainabilityExport+--+--         , requestCreateForecast $+--             newCreateForecast+--+--         , requestCreateForecastExportJob $+--             newCreateForecastExportJob+--+--         , requestCreateMonitor $+--             newCreateMonitor+--+--         , requestCreatePredictor $+--             newCreatePredictor+--+--         , requestCreatePredictorBacktestExportJob $+--             newCreatePredictorBacktestExportJob+--+--         , requestCreateWhatIfAnalysis $+--             newCreateWhatIfAnalysis+--+--         , requestCreateWhatIfForecast $+--             newCreateWhatIfForecast+--+--         , requestCreateWhatIfForecastExport $+--             newCreateWhatIfForecastExport+--+--         , requestDeleteDataset $+--             newDeleteDataset+--+--         , requestDeleteDatasetGroup $+--             newDeleteDatasetGroup+--+--         , requestDeleteDatasetImportJob $+--             newDeleteDatasetImportJob+--+--         , requestDeleteExplainability $+--             newDeleteExplainability+--+--         , requestDeleteExplainabilityExport $+--             newDeleteExplainabilityExport+--+--         , requestDeleteForecast $+--             newDeleteForecast+--+--         , requestDeleteForecastExportJob $+--             newDeleteForecastExportJob+--+--         , requestDeleteMonitor $+--             newDeleteMonitor+--+--         , requestDeletePredictor $+--             newDeletePredictor+--+--         , requestDeletePredictorBacktestExportJob $+--             newDeletePredictorBacktestExportJob+--+--         , requestDeleteResourceTree $+--             newDeleteResourceTree+--+--         , requestDeleteWhatIfAnalysis $+--             newDeleteWhatIfAnalysis+--+--         , requestDeleteWhatIfForecast $+--             newDeleteWhatIfForecast+--+--         , requestDeleteWhatIfForecastExport $+--             newDeleteWhatIfForecastExport+--+--         , requestDescribeAutoPredictor $+--             newDescribeAutoPredictor+--+--         , requestDescribeDataset $+--             newDescribeDataset+--+--         , requestDescribeDatasetGroup $+--             newDescribeDatasetGroup+--+--         , requestDescribeDatasetImportJob $+--             newDescribeDatasetImportJob+--+--         , requestDescribeExplainability $+--             newDescribeExplainability+--+--         , requestDescribeExplainabilityExport $+--             newDescribeExplainabilityExport+--+--         , requestDescribeForecast $+--             newDescribeForecast+--+--         , requestDescribeForecastExportJob $+--             newDescribeForecastExportJob+--+--         , requestDescribeMonitor $+--             newDescribeMonitor+--+--         , requestDescribePredictor $+--             newDescribePredictor+--+--         , requestDescribePredictorBacktestExportJob $+--             newDescribePredictorBacktestExportJob+--+--         , requestDescribeWhatIfAnalysis $+--             newDescribeWhatIfAnalysis+--+--         , requestDescribeWhatIfForecast $+--             newDescribeWhatIfForecast+--+--         , requestDescribeWhatIfForecastExport $+--             newDescribeWhatIfForecastExport+--+--         , requestGetAccuracyMetrics $+--             newGetAccuracyMetrics+--+--         , requestListDatasetGroups $+--             newListDatasetGroups+--+--         , requestListDatasetImportJobs $+--             newListDatasetImportJobs+--+--         , requestListDatasets $+--             newListDatasets+--+--         , requestListExplainabilities $+--             newListExplainabilities+--+--         , requestListExplainabilityExports $+--             newListExplainabilityExports+--+--         , requestListForecastExportJobs $+--             newListForecastExportJobs+--+--         , requestListForecasts $+--             newListForecasts+--+--         , requestListMonitorEvaluations $+--             newListMonitorEvaluations+--+--         , requestListMonitors $+--             newListMonitors+--+--         , requestListPredictorBacktestExportJobs $+--             newListPredictorBacktestExportJobs+--+--         , requestListPredictors $+--             newListPredictors+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListWhatIfAnalyses $+--             newListWhatIfAnalyses+--+--         , requestListWhatIfForecastExports $+--             newListWhatIfForecastExports+--+--         , requestListWhatIfForecasts $+--             newListWhatIfForecasts+--+--         , requestResumeResource $+--             newResumeResource+--+--         , requestStopResource $+--             newStopResource+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateDatasetGroup $+--             newUpdateDatasetGroup+--+--           ]++--     , testGroup "response"+--         [ responseCreateAutoPredictor $+--             newCreateAutoPredictorResponse+--+--         , responseCreateDataset $+--             newCreateDatasetResponse+--+--         , responseCreateDatasetGroup $+--             newCreateDatasetGroupResponse+--+--         , responseCreateDatasetImportJob $+--             newCreateDatasetImportJobResponse+--+--         , responseCreateExplainability $+--             newCreateExplainabilityResponse+--+--         , responseCreateExplainabilityExport $+--             newCreateExplainabilityExportResponse+--+--         , responseCreateForecast $+--             newCreateForecastResponse+--+--         , responseCreateForecastExportJob $+--             newCreateForecastExportJobResponse+--+--         , responseCreateMonitor $+--             newCreateMonitorResponse+--+--         , responseCreatePredictor $+--             newCreatePredictorResponse+--+--         , responseCreatePredictorBacktestExportJob $+--             newCreatePredictorBacktestExportJobResponse+--+--         , responseCreateWhatIfAnalysis $+--             newCreateWhatIfAnalysisResponse+--+--         , responseCreateWhatIfForecast $+--             newCreateWhatIfForecastResponse+--+--         , responseCreateWhatIfForecastExport $+--             newCreateWhatIfForecastExportResponse+--+--         , responseDeleteDataset $+--             newDeleteDatasetResponse+--+--         , responseDeleteDatasetGroup $+--             newDeleteDatasetGroupResponse+--+--         , responseDeleteDatasetImportJob $+--             newDeleteDatasetImportJobResponse+--+--         , responseDeleteExplainability $+--             newDeleteExplainabilityResponse+--+--         , responseDeleteExplainabilityExport $+--             newDeleteExplainabilityExportResponse+--+--         , responseDeleteForecast $+--             newDeleteForecastResponse+--+--         , responseDeleteForecastExportJob $+--             newDeleteForecastExportJobResponse+--+--         , responseDeleteMonitor $+--             newDeleteMonitorResponse+--+--         , responseDeletePredictor $+--             newDeletePredictorResponse+--+--         , responseDeletePredictorBacktestExportJob $+--             newDeletePredictorBacktestExportJobResponse+--+--         , responseDeleteResourceTree $+--             newDeleteResourceTreeResponse+--+--         , responseDeleteWhatIfAnalysis $+--             newDeleteWhatIfAnalysisResponse+--+--         , responseDeleteWhatIfForecast $+--             newDeleteWhatIfForecastResponse+--+--         , responseDeleteWhatIfForecastExport $+--             newDeleteWhatIfForecastExportResponse+--+--         , responseDescribeAutoPredictor $+--             newDescribeAutoPredictorResponse+--+--         , responseDescribeDataset $+--             newDescribeDatasetResponse+--+--         , responseDescribeDatasetGroup $+--             newDescribeDatasetGroupResponse+--+--         , responseDescribeDatasetImportJob $+--             newDescribeDatasetImportJobResponse+--+--         , responseDescribeExplainability $+--             newDescribeExplainabilityResponse+--+--         , responseDescribeExplainabilityExport $+--             newDescribeExplainabilityExportResponse+--+--         , responseDescribeForecast $+--             newDescribeForecastResponse+--+--         , responseDescribeForecastExportJob $+--             newDescribeForecastExportJobResponse+--+--         , responseDescribeMonitor $+--             newDescribeMonitorResponse+--+--         , responseDescribePredictor $+--             newDescribePredictorResponse+--+--         , responseDescribePredictorBacktestExportJob $+--             newDescribePredictorBacktestExportJobResponse+--+--         , responseDescribeWhatIfAnalysis $+--             newDescribeWhatIfAnalysisResponse+--+--         , responseDescribeWhatIfForecast $+--             newDescribeWhatIfForecastResponse+--+--         , responseDescribeWhatIfForecastExport $+--             newDescribeWhatIfForecastExportResponse+--+--         , responseGetAccuracyMetrics $+--             newGetAccuracyMetricsResponse+--+--         , responseListDatasetGroups $+--             newListDatasetGroupsResponse+--+--         , responseListDatasetImportJobs $+--             newListDatasetImportJobsResponse+--+--         , responseListDatasets $+--             newListDatasetsResponse+--+--         , responseListExplainabilities $+--             newListExplainabilitiesResponse+--+--         , responseListExplainabilityExports $+--             newListExplainabilityExportsResponse+--+--         , responseListForecastExportJobs $+--             newListForecastExportJobsResponse+--+--         , responseListForecasts $+--             newListForecastsResponse+--+--         , responseListMonitorEvaluations $+--             newListMonitorEvaluationsResponse+--+--         , responseListMonitors $+--             newListMonitorsResponse+--+--         , responseListPredictorBacktestExportJobs $+--             newListPredictorBacktestExportJobsResponse+--+--         , responseListPredictors $+--             newListPredictorsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListWhatIfAnalyses $+--             newListWhatIfAnalysesResponse+--+--         , responseListWhatIfForecastExports $+--             newListWhatIfForecastExportsResponse+--+--         , responseListWhatIfForecasts $+--             newListWhatIfForecastsResponse+--+--         , responseResumeResource $+--             newResumeResourceResponse+--+--         , responseStopResource $+--             newStopResourceResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateDatasetGroup $+--             newUpdateDatasetGroupResponse+--+--           ]+--     ]++-- Requests++requestCreateAutoPredictor :: CreateAutoPredictor -> TestTree+requestCreateAutoPredictor =+  req+    "CreateAutoPredictor"+    "fixture/CreateAutoPredictor.yaml"++requestCreateDataset :: CreateDataset -> TestTree+requestCreateDataset =+  req+    "CreateDataset"+    "fixture/CreateDataset.yaml"++requestCreateDatasetGroup :: CreateDatasetGroup -> TestTree+requestCreateDatasetGroup =+  req+    "CreateDatasetGroup"+    "fixture/CreateDatasetGroup.yaml"++requestCreateDatasetImportJob :: CreateDatasetImportJob -> TestTree+requestCreateDatasetImportJob =+  req+    "CreateDatasetImportJob"+    "fixture/CreateDatasetImportJob.yaml"++requestCreateExplainability :: CreateExplainability -> TestTree+requestCreateExplainability =+  req+    "CreateExplainability"+    "fixture/CreateExplainability.yaml"++requestCreateExplainabilityExport :: CreateExplainabilityExport -> TestTree+requestCreateExplainabilityExport =+  req+    "CreateExplainabilityExport"+    "fixture/CreateExplainabilityExport.yaml"++requestCreateForecast :: CreateForecast -> TestTree+requestCreateForecast =+  req+    "CreateForecast"+    "fixture/CreateForecast.yaml"++requestCreateForecastExportJob :: CreateForecastExportJob -> TestTree+requestCreateForecastExportJob =+  req+    "CreateForecastExportJob"+    "fixture/CreateForecastExportJob.yaml"++requestCreateMonitor :: CreateMonitor -> TestTree+requestCreateMonitor =+  req+    "CreateMonitor"+    "fixture/CreateMonitor.yaml"++requestCreatePredictor :: CreatePredictor -> TestTree+requestCreatePredictor =+  req+    "CreatePredictor"+    "fixture/CreatePredictor.yaml"++requestCreatePredictorBacktestExportJob :: CreatePredictorBacktestExportJob -> TestTree+requestCreatePredictorBacktestExportJob =+  req+    "CreatePredictorBacktestExportJob"+    "fixture/CreatePredictorBacktestExportJob.yaml"++requestCreateWhatIfAnalysis :: CreateWhatIfAnalysis -> TestTree+requestCreateWhatIfAnalysis =+  req+    "CreateWhatIfAnalysis"+    "fixture/CreateWhatIfAnalysis.yaml"++requestCreateWhatIfForecast :: CreateWhatIfForecast -> TestTree+requestCreateWhatIfForecast =+  req+    "CreateWhatIfForecast"+    "fixture/CreateWhatIfForecast.yaml"++requestCreateWhatIfForecastExport :: CreateWhatIfForecastExport -> TestTree+requestCreateWhatIfForecastExport =+  req+    "CreateWhatIfForecastExport"+    "fixture/CreateWhatIfForecastExport.yaml"++requestDeleteDataset :: DeleteDataset -> TestTree+requestDeleteDataset =+  req+    "DeleteDataset"+    "fixture/DeleteDataset.yaml"++requestDeleteDatasetGroup :: DeleteDatasetGroup -> TestTree+requestDeleteDatasetGroup =+  req+    "DeleteDatasetGroup"+    "fixture/DeleteDatasetGroup.yaml"++requestDeleteDatasetImportJob :: DeleteDatasetImportJob -> TestTree+requestDeleteDatasetImportJob =+  req+    "DeleteDatasetImportJob"+    "fixture/DeleteDatasetImportJob.yaml"++requestDeleteExplainability :: DeleteExplainability -> TestTree+requestDeleteExplainability =+  req+    "DeleteExplainability"+    "fixture/DeleteExplainability.yaml"++requestDeleteExplainabilityExport :: DeleteExplainabilityExport -> TestTree+requestDeleteExplainabilityExport =+  req+    "DeleteExplainabilityExport"+    "fixture/DeleteExplainabilityExport.yaml"++requestDeleteForecast :: DeleteForecast -> TestTree+requestDeleteForecast =+  req+    "DeleteForecast"+    "fixture/DeleteForecast.yaml"++requestDeleteForecastExportJob :: DeleteForecastExportJob -> TestTree+requestDeleteForecastExportJob =+  req+    "DeleteForecastExportJob"+    "fixture/DeleteForecastExportJob.yaml"++requestDeleteMonitor :: DeleteMonitor -> TestTree+requestDeleteMonitor =+  req+    "DeleteMonitor"+    "fixture/DeleteMonitor.yaml"++requestDeletePredictor :: DeletePredictor -> TestTree+requestDeletePredictor =+  req+    "DeletePredictor"+    "fixture/DeletePredictor.yaml"++requestDeletePredictorBacktestExportJob :: DeletePredictorBacktestExportJob -> TestTree+requestDeletePredictorBacktestExportJob =+  req+    "DeletePredictorBacktestExportJob"+    "fixture/DeletePredictorBacktestExportJob.yaml"++requestDeleteResourceTree :: DeleteResourceTree -> TestTree+requestDeleteResourceTree =+  req+    "DeleteResourceTree"+    "fixture/DeleteResourceTree.yaml"++requestDeleteWhatIfAnalysis :: DeleteWhatIfAnalysis -> TestTree+requestDeleteWhatIfAnalysis =+  req+    "DeleteWhatIfAnalysis"+    "fixture/DeleteWhatIfAnalysis.yaml"++requestDeleteWhatIfForecast :: DeleteWhatIfForecast -> TestTree+requestDeleteWhatIfForecast =+  req+    "DeleteWhatIfForecast"+    "fixture/DeleteWhatIfForecast.yaml"++requestDeleteWhatIfForecastExport :: DeleteWhatIfForecastExport -> TestTree+requestDeleteWhatIfForecastExport =+  req+    "DeleteWhatIfForecastExport"+    "fixture/DeleteWhatIfForecastExport.yaml"++requestDescribeAutoPredictor :: DescribeAutoPredictor -> TestTree+requestDescribeAutoPredictor =+  req+    "DescribeAutoPredictor"+    "fixture/DescribeAutoPredictor.yaml"++requestDescribeDataset :: DescribeDataset -> TestTree+requestDescribeDataset =+  req+    "DescribeDataset"+    "fixture/DescribeDataset.yaml"++requestDescribeDatasetGroup :: DescribeDatasetGroup -> TestTree+requestDescribeDatasetGroup =+  req+    "DescribeDatasetGroup"+    "fixture/DescribeDatasetGroup.yaml"++requestDescribeDatasetImportJob :: DescribeDatasetImportJob -> TestTree+requestDescribeDatasetImportJob =+  req+    "DescribeDatasetImportJob"+    "fixture/DescribeDatasetImportJob.yaml"++requestDescribeExplainability :: DescribeExplainability -> TestTree+requestDescribeExplainability =+  req+    "DescribeExplainability"+    "fixture/DescribeExplainability.yaml"++requestDescribeExplainabilityExport :: DescribeExplainabilityExport -> TestTree+requestDescribeExplainabilityExport =+  req+    "DescribeExplainabilityExport"+    "fixture/DescribeExplainabilityExport.yaml"++requestDescribeForecast :: DescribeForecast -> TestTree+requestDescribeForecast =+  req+    "DescribeForecast"+    "fixture/DescribeForecast.yaml"++requestDescribeForecastExportJob :: DescribeForecastExportJob -> TestTree+requestDescribeForecastExportJob =+  req+    "DescribeForecastExportJob"+    "fixture/DescribeForecastExportJob.yaml"++requestDescribeMonitor :: DescribeMonitor -> TestTree+requestDescribeMonitor =+  req+    "DescribeMonitor"+    "fixture/DescribeMonitor.yaml"++requestDescribePredictor :: DescribePredictor -> TestTree+requestDescribePredictor =+  req+    "DescribePredictor"+    "fixture/DescribePredictor.yaml"++requestDescribePredictorBacktestExportJob :: DescribePredictorBacktestExportJob -> TestTree+requestDescribePredictorBacktestExportJob =+  req+    "DescribePredictorBacktestExportJob"+    "fixture/DescribePredictorBacktestExportJob.yaml"++requestDescribeWhatIfAnalysis :: DescribeWhatIfAnalysis -> TestTree+requestDescribeWhatIfAnalysis =+  req+    "DescribeWhatIfAnalysis"+    "fixture/DescribeWhatIfAnalysis.yaml"++requestDescribeWhatIfForecast :: DescribeWhatIfForecast -> TestTree+requestDescribeWhatIfForecast =+  req+    "DescribeWhatIfForecast"+    "fixture/DescribeWhatIfForecast.yaml"++requestDescribeWhatIfForecastExport :: DescribeWhatIfForecastExport -> TestTree+requestDescribeWhatIfForecastExport =+  req+    "DescribeWhatIfForecastExport"+    "fixture/DescribeWhatIfForecastExport.yaml"++requestGetAccuracyMetrics :: GetAccuracyMetrics -> TestTree+requestGetAccuracyMetrics =+  req+    "GetAccuracyMetrics"+    "fixture/GetAccuracyMetrics.yaml"++requestListDatasetGroups :: ListDatasetGroups -> TestTree+requestListDatasetGroups =+  req+    "ListDatasetGroups"+    "fixture/ListDatasetGroups.yaml"++requestListDatasetImportJobs :: ListDatasetImportJobs -> TestTree+requestListDatasetImportJobs =+  req+    "ListDatasetImportJobs"+    "fixture/ListDatasetImportJobs.yaml"++requestListDatasets :: ListDatasets -> TestTree+requestListDatasets =+  req+    "ListDatasets"+    "fixture/ListDatasets.yaml"++requestListExplainabilities :: ListExplainabilities -> TestTree+requestListExplainabilities =+  req+    "ListExplainabilities"+    "fixture/ListExplainabilities.yaml"++requestListExplainabilityExports :: ListExplainabilityExports -> TestTree+requestListExplainabilityExports =+  req+    "ListExplainabilityExports"+    "fixture/ListExplainabilityExports.yaml"++requestListForecastExportJobs :: ListForecastExportJobs -> TestTree+requestListForecastExportJobs =+  req+    "ListForecastExportJobs"+    "fixture/ListForecastExportJobs.yaml"++requestListForecasts :: ListForecasts -> TestTree+requestListForecasts =+  req+    "ListForecasts"+    "fixture/ListForecasts.yaml"++requestListMonitorEvaluations :: ListMonitorEvaluations -> TestTree+requestListMonitorEvaluations =+  req+    "ListMonitorEvaluations"+    "fixture/ListMonitorEvaluations.yaml"++requestListMonitors :: ListMonitors -> TestTree+requestListMonitors =+  req+    "ListMonitors"+    "fixture/ListMonitors.yaml"++requestListPredictorBacktestExportJobs :: ListPredictorBacktestExportJobs -> TestTree+requestListPredictorBacktestExportJobs =+  req+    "ListPredictorBacktestExportJobs"+    "fixture/ListPredictorBacktestExportJobs.yaml"++requestListPredictors :: ListPredictors -> TestTree+requestListPredictors =+  req+    "ListPredictors"+    "fixture/ListPredictors.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListWhatIfAnalyses :: ListWhatIfAnalyses -> TestTree+requestListWhatIfAnalyses =+  req+    "ListWhatIfAnalyses"+    "fixture/ListWhatIfAnalyses.yaml"++requestListWhatIfForecastExports :: ListWhatIfForecastExports -> TestTree+requestListWhatIfForecastExports =+  req+    "ListWhatIfForecastExports"+    "fixture/ListWhatIfForecastExports.yaml"++requestListWhatIfForecasts :: ListWhatIfForecasts -> TestTree+requestListWhatIfForecasts =+  req+    "ListWhatIfForecasts"+    "fixture/ListWhatIfForecasts.yaml"++requestResumeResource :: ResumeResource -> TestTree+requestResumeResource =+  req+    "ResumeResource"+    "fixture/ResumeResource.yaml"++requestStopResource :: StopResource -> TestTree+requestStopResource =+  req+    "StopResource"+    "fixture/StopResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateDatasetGroup :: UpdateDatasetGroup -> TestTree+requestUpdateDatasetGroup =+  req+    "UpdateDatasetGroup"+    "fixture/UpdateDatasetGroup.yaml"++-- Responses++responseCreateAutoPredictor :: CreateAutoPredictorResponse -> TestTree+responseCreateAutoPredictor =+  res+    "CreateAutoPredictorResponse"+    "fixture/CreateAutoPredictorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateAutoPredictor)++responseCreateDataset :: CreateDatasetResponse -> TestTree+responseCreateDataset =+  res+    "CreateDatasetResponse"+    "fixture/CreateDatasetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDataset)++responseCreateDatasetGroup :: CreateDatasetGroupResponse -> TestTree+responseCreateDatasetGroup =+  res+    "CreateDatasetGroupResponse"+    "fixture/CreateDatasetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDatasetGroup)++responseCreateDatasetImportJob :: CreateDatasetImportJobResponse -> TestTree+responseCreateDatasetImportJob =+  res+    "CreateDatasetImportJobResponse"+    "fixture/CreateDatasetImportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDatasetImportJob)++responseCreateExplainability :: CreateExplainabilityResponse -> TestTree+responseCreateExplainability =+  res+    "CreateExplainabilityResponse"+    "fixture/CreateExplainabilityResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateExplainability)++responseCreateExplainabilityExport :: CreateExplainabilityExportResponse -> TestTree+responseCreateExplainabilityExport =+  res+    "CreateExplainabilityExportResponse"+    "fixture/CreateExplainabilityExportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateExplainabilityExport)++responseCreateForecast :: CreateForecastResponse -> TestTree+responseCreateForecast =+  res+    "CreateForecastResponse"+    "fixture/CreateForecastResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateForecast)++responseCreateForecastExportJob :: CreateForecastExportJobResponse -> TestTree+responseCreateForecastExportJob =+  res+    "CreateForecastExportJobResponse"+    "fixture/CreateForecastExportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateForecastExportJob)++responseCreateMonitor :: CreateMonitorResponse -> TestTree+responseCreateMonitor =+  res+    "CreateMonitorResponse"+    "fixture/CreateMonitorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMonitor)++responseCreatePredictor :: CreatePredictorResponse -> TestTree+responseCreatePredictor =+  res+    "CreatePredictorResponse"+    "fixture/CreatePredictorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreatePredictor)++responseCreatePredictorBacktestExportJob :: CreatePredictorBacktestExportJobResponse -> TestTree+responseCreatePredictorBacktestExportJob =+  res+    "CreatePredictorBacktestExportJobResponse"+    "fixture/CreatePredictorBacktestExportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreatePredictorBacktestExportJob)++responseCreateWhatIfAnalysis :: CreateWhatIfAnalysisResponse -> TestTree+responseCreateWhatIfAnalysis =+  res+    "CreateWhatIfAnalysisResponse"+    "fixture/CreateWhatIfAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWhatIfAnalysis)++responseCreateWhatIfForecast :: CreateWhatIfForecastResponse -> TestTree+responseCreateWhatIfForecast =+  res+    "CreateWhatIfForecastResponse"+    "fixture/CreateWhatIfForecastResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWhatIfForecast)++responseCreateWhatIfForecastExport :: CreateWhatIfForecastExportResponse -> TestTree+responseCreateWhatIfForecastExport =+  res+    "CreateWhatIfForecastExportResponse"+    "fixture/CreateWhatIfForecastExportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWhatIfForecastExport)++responseDeleteDataset :: DeleteDatasetResponse -> TestTree+responseDeleteDataset =+  res+    "DeleteDatasetResponse"+    "fixture/DeleteDatasetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDataset)++responseDeleteDatasetGroup :: DeleteDatasetGroupResponse -> TestTree+responseDeleteDatasetGroup =+  res+    "DeleteDatasetGroupResponse"+    "fixture/DeleteDatasetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDatasetGroup)++responseDeleteDatasetImportJob :: DeleteDatasetImportJobResponse -> TestTree+responseDeleteDatasetImportJob =+  res+    "DeleteDatasetImportJobResponse"+    "fixture/DeleteDatasetImportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDatasetImportJob)++responseDeleteExplainability :: DeleteExplainabilityResponse -> TestTree+responseDeleteExplainability =+  res+    "DeleteExplainabilityResponse"+    "fixture/DeleteExplainabilityResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteExplainability)++responseDeleteExplainabilityExport :: DeleteExplainabilityExportResponse -> TestTree+responseDeleteExplainabilityExport =+  res+    "DeleteExplainabilityExportResponse"+    "fixture/DeleteExplainabilityExportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteExplainabilityExport)++responseDeleteForecast :: DeleteForecastResponse -> TestTree+responseDeleteForecast =+  res+    "DeleteForecastResponse"+    "fixture/DeleteForecastResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteForecast)++responseDeleteForecastExportJob :: DeleteForecastExportJobResponse -> TestTree+responseDeleteForecastExportJob =+  res+    "DeleteForecastExportJobResponse"+    "fixture/DeleteForecastExportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteForecastExportJob)++responseDeleteMonitor :: DeleteMonitorResponse -> TestTree+responseDeleteMonitor =+  res+    "DeleteMonitorResponse"+    "fixture/DeleteMonitorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMonitor)++responseDeletePredictor :: DeletePredictorResponse -> TestTree+responseDeletePredictor =+  res+    "DeletePredictorResponse"+    "fixture/DeletePredictorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePredictor)++responseDeletePredictorBacktestExportJob :: DeletePredictorBacktestExportJobResponse -> TestTree+responseDeletePredictorBacktestExportJob =+  res+    "DeletePredictorBacktestExportJobResponse"+    "fixture/DeletePredictorBacktestExportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePredictorBacktestExportJob)++responseDeleteResourceTree :: DeleteResourceTreeResponse -> TestTree+responseDeleteResourceTree =+  res+    "DeleteResourceTreeResponse"+    "fixture/DeleteResourceTreeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResourceTree)++responseDeleteWhatIfAnalysis :: DeleteWhatIfAnalysisResponse -> TestTree+responseDeleteWhatIfAnalysis =+  res+    "DeleteWhatIfAnalysisResponse"+    "fixture/DeleteWhatIfAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWhatIfAnalysis)++responseDeleteWhatIfForecast :: DeleteWhatIfForecastResponse -> TestTree+responseDeleteWhatIfForecast =+  res+    "DeleteWhatIfForecastResponse"+    "fixture/DeleteWhatIfForecastResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWhatIfForecast)++responseDeleteWhatIfForecastExport :: DeleteWhatIfForecastExportResponse -> TestTree+responseDeleteWhatIfForecastExport =+  res+    "DeleteWhatIfForecastExportResponse"+    "fixture/DeleteWhatIfForecastExportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWhatIfForecastExport)++responseDescribeAutoPredictor :: DescribeAutoPredictorResponse -> TestTree+responseDescribeAutoPredictor =+  res+    "DescribeAutoPredictorResponse"+    "fixture/DescribeAutoPredictorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeAutoPredictor)++responseDescribeDataset :: DescribeDatasetResponse -> TestTree+responseDescribeDataset =+  res+    "DescribeDatasetResponse"+    "fixture/DescribeDatasetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDataset)++responseDescribeDatasetGroup :: DescribeDatasetGroupResponse -> TestTree+responseDescribeDatasetGroup =+  res+    "DescribeDatasetGroupResponse"+    "fixture/DescribeDatasetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDatasetGroup)++responseDescribeDatasetImportJob :: DescribeDatasetImportJobResponse -> TestTree+responseDescribeDatasetImportJob =+  res+    "DescribeDatasetImportJobResponse"+    "fixture/DescribeDatasetImportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDatasetImportJob)++responseDescribeExplainability :: DescribeExplainabilityResponse -> TestTree+responseDescribeExplainability =+  res+    "DescribeExplainabilityResponse"+    "fixture/DescribeExplainabilityResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeExplainability)++responseDescribeExplainabilityExport :: DescribeExplainabilityExportResponse -> TestTree+responseDescribeExplainabilityExport =+  res+    "DescribeExplainabilityExportResponse"+    "fixture/DescribeExplainabilityExportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeExplainabilityExport)++responseDescribeForecast :: DescribeForecastResponse -> TestTree+responseDescribeForecast =+  res+    "DescribeForecastResponse"+    "fixture/DescribeForecastResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeForecast)++responseDescribeForecastExportJob :: DescribeForecastExportJobResponse -> TestTree+responseDescribeForecastExportJob =+  res+    "DescribeForecastExportJobResponse"+    "fixture/DescribeForecastExportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeForecastExportJob)++responseDescribeMonitor :: DescribeMonitorResponse -> TestTree+responseDescribeMonitor =+  res+    "DescribeMonitorResponse"+    "fixture/DescribeMonitorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeMonitor)++responseDescribePredictor :: DescribePredictorResponse -> TestTree+responseDescribePredictor =+  res+    "DescribePredictorResponse"+    "fixture/DescribePredictorResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePredictor)++responseDescribePredictorBacktestExportJob :: DescribePredictorBacktestExportJobResponse -> TestTree+responseDescribePredictorBacktestExportJob =+  res+    "DescribePredictorBacktestExportJobResponse"+    "fixture/DescribePredictorBacktestExportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePredictorBacktestExportJob)++responseDescribeWhatIfAnalysis :: DescribeWhatIfAnalysisResponse -> TestTree+responseDescribeWhatIfAnalysis =+  res+    "DescribeWhatIfAnalysisResponse"+    "fixture/DescribeWhatIfAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeWhatIfAnalysis)++responseDescribeWhatIfForecast :: DescribeWhatIfForecastResponse -> TestTree+responseDescribeWhatIfForecast =+  res+    "DescribeWhatIfForecastResponse"+    "fixture/DescribeWhatIfForecastResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeWhatIfForecast)++responseDescribeWhatIfForecastExport :: DescribeWhatIfForecastExportResponse -> TestTree+responseDescribeWhatIfForecastExport =+  res+    "DescribeWhatIfForecastExportResponse"+    "fixture/DescribeWhatIfForecastExportResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeWhatIfForecastExport)++responseGetAccuracyMetrics :: GetAccuracyMetricsResponse -> TestTree+responseGetAccuracyMetrics =+  res+    "GetAccuracyMetricsResponse"+    "fixture/GetAccuracyMetricsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetAccuracyMetrics)++responseListDatasetGroups :: ListDatasetGroupsResponse -> TestTree+responseListDatasetGroups =+  res+    "ListDatasetGroupsResponse"+    "fixture/ListDatasetGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDatasetGroups)++responseListDatasetImportJobs :: ListDatasetImportJobsResponse -> TestTree+responseListDatasetImportJobs =+  res+    "ListDatasetImportJobsResponse"+    "fixture/ListDatasetImportJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDatasetImportJobs)++responseListDatasets :: ListDatasetsResponse -> TestTree+responseListDatasets =+  res+    "ListDatasetsResponse"+    "fixture/ListDatasetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDatasets)++responseListExplainabilities :: ListExplainabilitiesResponse -> TestTree+responseListExplainabilities =+  res+    "ListExplainabilitiesResponse"+    "fixture/ListExplainabilitiesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListExplainabilities)++responseListExplainabilityExports :: ListExplainabilityExportsResponse -> TestTree+responseListExplainabilityExports =+  res+    "ListExplainabilityExportsResponse"+    "fixture/ListExplainabilityExportsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListExplainabilityExports)++responseListForecastExportJobs :: ListForecastExportJobsResponse -> TestTree+responseListForecastExportJobs =+  res+    "ListForecastExportJobsResponse"+    "fixture/ListForecastExportJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListForecastExportJobs)++responseListForecasts :: ListForecastsResponse -> TestTree+responseListForecasts =+  res+    "ListForecastsResponse"+    "fixture/ListForecastsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListForecasts)++responseListMonitorEvaluations :: ListMonitorEvaluationsResponse -> TestTree+responseListMonitorEvaluations =+  res+    "ListMonitorEvaluationsResponse"+    "fixture/ListMonitorEvaluationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMonitorEvaluations)++responseListMonitors :: ListMonitorsResponse -> TestTree+responseListMonitors =+  res+    "ListMonitorsResponse"+    "fixture/ListMonitorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMonitors)++responseListPredictorBacktestExportJobs :: ListPredictorBacktestExportJobsResponse -> TestTree+responseListPredictorBacktestExportJobs =+  res+    "ListPredictorBacktestExportJobsResponse"+    "fixture/ListPredictorBacktestExportJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPredictorBacktestExportJobs)++responseListPredictors :: ListPredictorsResponse -> TestTree+responseListPredictors =+  res+    "ListPredictorsResponse"+    "fixture/ListPredictorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPredictors)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListWhatIfAnalyses :: ListWhatIfAnalysesResponse -> TestTree+responseListWhatIfAnalyses =+  res+    "ListWhatIfAnalysesResponse"+    "fixture/ListWhatIfAnalysesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWhatIfAnalyses)++responseListWhatIfForecastExports :: ListWhatIfForecastExportsResponse -> TestTree+responseListWhatIfForecastExports =+  res+    "ListWhatIfForecastExportsResponse"+    "fixture/ListWhatIfForecastExportsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWhatIfForecastExports)++responseListWhatIfForecasts :: ListWhatIfForecastsResponse -> TestTree+responseListWhatIfForecasts =+  res+    "ListWhatIfForecastsResponse"+    "fixture/ListWhatIfForecastsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWhatIfForecasts)++responseResumeResource :: ResumeResourceResponse -> TestTree+responseResumeResource =+  res+    "ResumeResourceResponse"+    "fixture/ResumeResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResumeResource)++responseStopResource :: StopResourceResponse -> TestTree+responseStopResource =+  res+    "StopResourceResponse"+    "fixture/StopResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopResource)++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)++responseUpdateDatasetGroup :: UpdateDatasetGroupResponse -> TestTree+responseUpdateDatasetGroup =+  res+    "UpdateDatasetGroupResponse"+    "fixture/UpdateDatasetGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDatasetGroup)